New learnosm contributor's guide

Addresses need for expanded new contributor's guide in https://github.com/hotosm/learnosm/issues/329. This PR is taking cues from @Nick-Tallguy's guide in issues https://github.com/Nick-Tallguy/Testing_learnosm/issues/7  and https://github.com/Nick-Tallguy/Testing_learnosm/issues/8  as well as the discussion in https://github.com/hotosm/learnosm/issues/329.
Status: This PR still needs some work. :)

Hi Jessica @jmarlena ,
I've been working with @Nick-Tallguy and the Training Working Group, and had volunteered to help revise the LearnOSM Contributor's documentation. So you & I have done some work in parallel - I should have contributed here sooner but was slammed with other stuff. I'm fairly new to GitHub and LearnOSM development, so I think I can approach the documentation from a newbie’s perspective. I've reviewed all the existing documentation (contribute.md, your 'docs' files, Nick's repo pages, wiki, GitHub issues).
I like what you kicked off in the 'docs' folder, but building on #329 and other discussions, I think there are 2 key decisions to make before fully revising the Contributor's documentation:

Where should the documentation be hosted?
What content and how organized (outline)?

As to where to host it, that may be driven by @althio 's suggestion (and others) that it support translation into other languages. That seems a good goal to me. In that case, it probably makes sense to host it as another Guide on LearnOSM, with multiple modules (web pages), to take advantage of the existing translations workflow. Otherwise, a series of pages in "docs" would work fine, under a home page with the overall outliine/structure.
As for the content, I drafted an outline in a Google doc to make it easy for everyone to contribute. If you and others think this is a good way to organize the overall content, then feel free to add comments and edit the document. The audience would be both newbies and those familier with the technologies. I've tried to account for all existing documentation.
I'm curious to know what you think & how this fits with your vision, of course. Looking forward to collaborating.

Hi,
Just a quick note about translations - I can submit any of the guides
for translation - so any or all of the documents in this folder:
https://github.com/hotosm/learnosm/tree/gh-pages/docs
can be submitted to Transifex for translation. Without a little more
research, I'm not sure how they would be displayed on the site, but I
don't anticipate it would be any great problem.
Regards
Nick
On 29/03/16 16:14, Steve Bower wrote:

Hi Jessica @jmarlena https://github.com/jmarlena ,
I've been working with @Nick-Tallguy https://github.com/Nick-Tallguy
and the Training Working Group, and had volunteered to help revise the
LearnOSM Contributor's documentation. So you & I have done some work
in parallel - I should have contributed here sooner but was slammed
with other stuff. I'm fairly new to GitHub and LearnOSM development,
so I think I can approach the documentation from a newbie’s
perspective. I've reviewed all the existing documentation
(contribute.md, your 'docs' files, Nick's repo pages, wiki, GitHub
issues).
I like what you kicked off in the 'docs' folder, but building on #329
https://github.com/hotosm/learnosm/issues/329 and other discussions,
I think there are 2 key decisions to make before fully revising the
Contributor's documentation:

Where should the documentation be hosted?
What content and how organized (outline)?

As to where to host it, that may be driven by @althio
https://github.com/althio 's suggestion (and others) that it support
translation into other languages. That seems a good goal to me. In
that case, it probably makes sense to host it as another Guide on
LearnOSM, with multiple modules (web pages), to take advantage of the
existing translations workflow. Otherwise, a series of pages in "docs"
would work fine, under a home page with the overall outliine/structure.
As for the content, I drafted an outline in a Google doc
https://docs.google.com/document/d/1v8G4MwFqyjpZSUTaYn1OgPrfgJkoHdhJBmsorb7HY9E/edit?usp=sharing
to make it easy for everyone to contribute. If you and others think
this is a good way to organize the overall content, then feel free to
add comments and edit the document. The audience would be both newbies
and those familier with the technologies. I've tried to account for
all existing documentation.
I'm curious to know what you think & how this fits with your vision,
of course. Looking forward to collaborating.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/hotosm/learnosm/pull/494#issuecomment-202947747

--
Nick
Volunteer 'Tallguy' for
https://wiki.openstreetmap.org/wiki/Humanitarian_OSM_Team
http://www.openstreetmap.org/user/Tallguy

Hey Steve!

Where should the documentation be hosted?
I think you've made some great points! It totally makes sense to have the
contribution guide as a part of the site so that it can be translated
easily. I think putting it on LearnOSM in its own guide is an excellent
idea.

What content and how organized (outline)?

I added some comments to this outline.
Thanks for continuing the conversation here!
Best,
Jessica
On Tue, Mar 29, 2016 at 8:14 AM, Steve Bower<EMAIL_ADDRESS>wrote:

Hi Jessica @jmarlena https://github.com/jmarlena ,
I've been working with @Nick-Tallguy https://github.com/Nick-Tallguy
and the Training Working Group, and had volunteered to help revise the
LearnOSM Contributor's documentation. So you & I have done some work in
parallel - I should have contributed here sooner but was slammed with other
stuff. I'm fairly new to GitHub and LearnOSM development, so I think I can
approach the documentation from a newbie’s perspective. I've reviewed all
the existing documentation (contribute.md, your 'docs' files, Nick's repo
pages, wiki, GitHub issues).
I like what you kicked off in the 'docs' folder, but building on #329
https://github.com/hotosm/learnosm/issues/329 and other discussions, I
think there are 2 key decisions to make before fully revising the
Contributor's documentation:

Where should the documentation be hosted?
What content and how organized (outline)?

As to where to host it, that may be driven by @althio
https://github.com/althio 's suggestion (and others) that it support
translation into other languages. That seems a good goal to me. In that
case, it probably makes sense to host it as another Guide on LearnOSM, with
multiple modules (web pages), to take advantage of the existing
translations workflow. Otherwise, a series of pages in "docs" would work
fine, under a home page with the overall outliine/structure.
As for the content, I drafted an outline in a Google doc
https://docs.google.com/document/d/1v8G4MwFqyjpZSUTaYn1OgPrfgJkoHdhJBmsorb7HY9E/edit?usp=sharing
to make it easy for everyone to contribute. If you and others think this is
a good way to organize the overall content, then feel free to add comments
and edit the document. The audience would be both newbies and those
familier with the technologies. I've tried to account for all existing
documentation.
I'm curious to know what you think & how this fits with your vision, of
course. Looking forward to collaborating.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/hotosm/learnosm/pull/494#issuecomment-202947747

--
*Jessica M. Canepa *
@jmarlena_canepa https://twitter.com/jmarlena_canepa  |<PHONE_NUMBER>

Thanks Jessica. I tried to include everything relevant that I'm aware of in the outline. I'm not sure what all would go under "Advanced Architecture", because I don't know the details of LearnOSM's architecture. If you or others have any thoughts on what to include there, add them to the outline.
Once there's general agreement on the outline, we can decide how to divide it into separate pages (LearnOSM modules). Then create them and integrate what you've written so far (I've written some too) - if that all sounds good.
~~Steve

Hey Steve,
Maybe this outline can be reviewed at the next training working group
meeting and then we can break this up as needed.
I think I will do a little research on the learnosm' s current architecture
and try to share some of my findings by this upcoming Friday, 4/8/16.
-Jessica
On Sat, Apr 2, 2016 at 2:55 PM, Steve Bower<EMAIL_ADDRESS>wrote:

Thanks Jessica. I tried to include everything relevant that I'm aware of
in the outline
https://docs.google.com/document/d/1v8G4MwFqyjpZSUTaYn1OgPrfgJkoHdhJBmsorb7HY9E/edit.
I'm not sure what all would go under "Advanced Architecture", because I
don't know the details of LearnOSM's architecture. If you or others have
any thoughts on what to include there, add them to the outline.
Once there's general agreement on the outline, we can decide how to divide
it into separate pages (LearnOSM modules). Then create them and integrate
what you've written so far (I've written some too) - if that all sounds
good.
~~Steve
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/hotosm/learnosm/pull/494#issuecomment-204809081

--
*Jessica M. Canepa *
@jmarlena_canepa https://twitter.com/jmarlena_canepa  |<PHONE_NUMBER>

Hi Jessica - that sounds good. I would definitely like some feedback on it. I just added everything that would have helped me starting out.

@SteveBower I realize I am not sure what you mean by the site's architecture. Do you mean information architecture or the software used to run and build the site?
As far as how the site is created, it is powered by Jekyll and GitHub Pages. It looks like it's running on an older version of Jekyll still.
So looking at the site's source files it looks like there's a couple places that could use some updates, especially since GitHub Pages recently updated to Jekyll 3.0:

gemfile and gemfile.lock
possibly config.yml if there are some other breaking changes I couldn't find

I don't think that there should be any problems yet with Jekyll being slightly out of date.

@jmarlena - By 'architecture' I mean an overview of the main system/software components and how they interact. I guess it's limited to Jekyll and GitHub pages, but I don't know (and haven't researched), for example, how the LearnOSM home page and navigation panels are generated. Those are more advanced topics than simply updating the content of existing LearnOSM modules. So 'architecture' may not be the best term. But the topic of understanding how to contribute to those more advanced aspects of LearnOSM would be good to cover, at least at a high level.
Sorry for my delayed response. I'm subscribed to receive email notifications for this issue but do not receive them - I don't know why, I've double-checked my settings. Let me know if you have any hints on that.

Hi @jmarlena - I'd like to jumpstart this process of creating a new LearnOSM guide on "Contributing to LearnOSM". In April you suggested reviewing my draft outline in a Training Working Group meeting, then proceed from there - but that never happened. We have a Training Working Group meeting today,  1900 UTC (3:00pm US Eastern), if you want to participate. In any case, let me know if you'd still like to work on this. I think the outline is a good basis for creating a new LearnOSM guide - it just needs to be organized into modules (separate web pages). It would be great to collaborate on that - I would want at least a good review by you & Nick, since you know the tools & process better than me. Thanks.
(Again, I'm signed up to receive notifications for this issue, but do not receive them - so I'll keep an eye on it but forgive me if I don't respond right away.)


Server connection issue in legacy IIDX

In the legacy IIDX (exe format), there is a problem with the functionality to specify a connection server.
The issue affects communications other than those to services.eamuse.konami.fun or services. , resulting in the alteration of all results from the gethostbyname function.
Due to this design, there are situations where it is not possible to connect, depending on the server's implementation.
Additionally, for IIDX14-17, it is more rational to hook the ea3_boot function and modify the value of  /ea3/network/services.
Example
Assume the following IP addresses:

example.com: <IP_ADDRESS>
ea3.example.com: <IP_ADDRESS>
localhost: <IP_ADDRESS>

Configuration
eamuse.server=http://example.com:8080

services.get Response
<response>
  <services status="0" expire="10800" fault="0">
    <item name="cardmng" url="http://ea3.example.com:8080/ea3/+" />
    <item name="facility" url="http://ea3.example.com:8080/ea3/+" />
    <item name="message" url="http://ea3.example.com:8080/ea3/+" />
    <item name="package" url="http://ea3.example.com:8080/ea3/+" />
    <item name="pcbevent" url="http://ea3.example.com:8080/ea3/+" />
    <item name="pcbtracker" url="http://ea3.example.com:8080/ea3/+" />
    <item name="posevent" url="http://ea3.example.com:8080/ea3/+" />
    <item name="pkglist" url="http://ea3.example.com:8080/ea3/+" />
    <item name="local" url="http://ea3.example.com:8080/ea3/+" />
    <item name="system" url="http://ea3.example.com:8080/ea3/+" />
    <item name="ntp" url="ntp://time.google.com/" />
    <item name="keepalive" url="ping://localhost/?ga=localhost&ma=localhost&pa=localhost&ia=localhost&t1=2&t2=10" />
  </services>
</response>

Resulting logs
M:eamuse-hook: my_gethostbyname: 'ea3.example.com' to ip <IP_ADDRESS>:8080
M:eamuse-hook: my_gethostbyname: 'time.google.com' to ip <IP_ADDRESS>:8080
M:eamuse-hook: my_gethostbyname: 'localhost' to ip <IP_ADDRESS>:8080
M:eamuse-hook: my_gethostbyname: 'services.eamuse.konami.fun' to ip <IP_ADDRESS>:8080

Domains such as ea3.example.com, localhost, and time.google.com are incorrectly resolved to the IP address <IP_ADDRESS>.
In cases where services.get and other modules require different server IP addresses, connection becomes impossible.
Furthermore, in this example, specifying localhost for keepalive is intended to ping oneself.
If the server at <IP_ADDRESS> does not allow ICMP, the keepalive request fails, resulting in a connection error.

Thank you for putting effort into the detailed report and providing an example.
I suppose you are specifically referring to this part of the code which doesn't string compare to services.eamuse.konami.fun but always returns the address that's configured on bemanitools.
Noticing the comment there, it seems there is an issue on Windows10 (and newer?) that was addressed by always just returning the address. I agree that's not a great solution and might cause odd issues in use-cases like yours now.

Additionally, for IIDX14-17, it is more rational to hook the ea3_boot function and modify the value of /ea3/network/services.

Great suggestion for an improvement. Would improve the code at least for these four versions significantly. We already have other games doing that, iirc jubeat 1 and popn music. So these might be a good place to start copy-pasting the code from.
Triaging the issue with your inputs and some initial thoughts how to address this probably meaningfully:

Avoid hooking these functions on AVS games that have ea3_boot. This avoids duct-taping edge cases on these versions at least, see the win10 issue comment
This should reduce the footprint for older games 9-13, so my_inet_addr hook is probably not needed (needs testing though)
Make my_gethostbyname do proper filtering of services.eamuse.konami.fun again and debug/test what's up with the win10 issue there and how that materializes again. I am wondering why any IP address had to resolve to the eamuse server address. This sounds weird. Why not just return the IP address that's provided there?


Create application

Create a portfolio application which manages the communication between portfolio-workspace and portfolio-database.

The portfolio-application will contain both portfolio-workspace and portfolio-database. In the future, it'll represent the communication between them.


[R-package] lightgbm::lgb.model.dt.tree() error caused by lgb.dump() error with large models

Description
When models or data sets reach a certain level of complexity, the lgb.dump() will cause an error in R: Error: R character strings are limited to 2^31-1 bytes.

I do wish this had been posted in the existing discussion we were having on the exact same topic at #6288, to not split the conversation. But now that we have this issue with a reproducible example, I'll close that one and we can focus here.

dump the data directly to a temporary file

Interesting idea! I hope we can avoid touching the filesystem to support larger models, if possible, since that can introduce its own set of problems (permissions errors, space issues, files being left behind, etc.).
Some combination of that and these other ideas might help here:

not using JSON in the middle of this operation (it's quite costly memory-wise because the keys that become column headers are repeated many times)
providing an entrypoint in LightGBM's C API with an iterator over chunks of the data instead of trying to dump it into an R string all at once

similar to what you were hoping for in https://github.com/microsoft/LightGBM/issues/6288#issuecomment-1983592815

arranging the data into array format on the C/C++ side and creating an R data frame there

Are you interested in working on this? If not, no worries... we appreciate the thorough write-up and you can subscribe to this issue to be notified if / when someone addresses it.

@jameslamb Maybe we can dump/parse single trees (or m=NULL trees) instead of the full model.

Maybe we can dump/parse single trees (or m=NULL trees) instead of the full model.

Yep! This is one specific version of the more general statement I made, "an iterator over chunks of the data".
Looking through the C API... the underlying API for dumping to JSON actually already supports iterating over ranges of trees 😁
https://github.com/microsoft/LightGBM/blob/28536a0a5d0c46598fbc930a63cec72399a969e4/src/c_api.cpp#L2687-L2689
So I think we can probably do this with 0 API changes.

@jameslamb: Very neat! I can work on this after https://github.com/microsoft/LightGBM/pull/6364 is merged.

Great thank you! I'd like to merge #6364 soon, but we're blocked until I can get some help with https://github.com/microsoft/LightGBM/issues/6316#issuecomment-2026522322

Has there been any progress on this? Is there anything I can do to help move this along?

It's being worked on in #6397, you can subscribed there.

Note on the status:
We have finished https://github.com/microsoft/LightGBM/issues/6397, and I have started to draft a solution for this issue, but it is not yet in the state I want it to have.
@jameslamb Is there are robust way to find out the number of boosting rounds in a model? I see there is a current_iter() method, but I think this is not working when loading a model from disk. The alternative is a while loop that keeps adding iterations until finished:
Pseudo-code
m= 1
list_of_chunks = list()
while not finished {
  chunk = lgb.model.dt.tree(..., start_iteration = m, num_iteration = chunk_size)
  list_of_chunks.append(chunk)
  m+= chunk_size
  if len(chunk) < chunk_size:
    finished = True
}
all_iterations <- rbindlist(list_of_chunks)
calculate importance

Is there are robust way to find out the number of boosting rounds in a model?

I believe you could call these methods in the C API:
https://github.com/microsoft/LightGBM/blob/ad1237d90830d795f450f40a8697f8bc6faa4d1a/src/c_api.cpp#L2121
https://github.com/microsoft/LightGBM/blob/ad1237d90830d795f450f40a8697f8bc6faa4d1a/src/c_api.cpp#L2114
And the number of boosting rounds should be num_models / num_model_per_iteration. I know the terminology of "model" to mean "tree" there is different from much of LightGBM's R and Python APIs, but that what those methods mean:
https://github.com/microsoft/LightGBM/blob/ad1237d90830d795f450f40a8697f8bc6faa4d1a/src/boosting/gbdt.h#L545-L546

Ahh, actually, I once had a look at these functions in c_api.cpp!
We can add these and a num_iteration() method to the Booster class and use that to make clean chunks.
Would you make two PRs? One that brings these methods into the R package and then another one that closes the issue?

I think 2 PRs would be better, yes please.


Enable support for Veracode flaw_match data to be added to the SARIF output to prevent duplicate alerts

Need to add fingerprint data using the flaw_match data from the Pipeline scan results to prevent duplicate alerts
https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning#preventing-duplicate-alerts-using-fingerprints

This probably is the right value to use: https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012611

This has been addressed with a pull request that added partial fingerprints to the SARIF output

This has been addressed with a pull request that added partial fingerprints to the SARIF output


Shortcut for setting form a field applies to

I'd like to be able to set the form that a field applies to directly in the field configuration. This would allow me to define one array of fields and call addFields only once while controlling which form each field belongs to if needed.
Basically, this change allows me to do this:

        $fields = [
            [
                'name'  => 'name',
                'label' => 'Name',
                'type'  => 'text',
                'hint'  => 'Permission names cannot be changed.',
                'form'  => 'create',
            ],
            [
                'name'  => 'name',
                'label' => 'Name',
                'type'  => 'disabled',
                'hint'  => 'Permission names cannot be changed.',
                'form'  => 'update',
            ],
            [
                'name'  => 'description',
                'label' => 'Description',
                'type'  => 'text',
            ],
        ];
        $this->crud->addFields($fields);

Meh, on second thought, 'type'  => $this->crud->actionIs('create') ? 'text' : 'disabled', might be more straight forward....

Totally agree. Having the form both as a parameter to the addField() method, and inside the field definition would be confusing.
Thanks for the PR nonetheless.
Cheers!


Every Web Performance Test Tool

source: devto
devToUrl: "https://dev.to/swyx/every-web-performance-test-tool-naj"
devToReactions: 324
devToReadingTime: 4
devToPublishedAt: "2020-03-17T03:30:30.730Z"
devToViewsCount: 4575
title: Every Web Performance Test Tool
published: true
description: Check your site's speed quickly with a battery of tests
category: note
tags: Tech, Performance
slug: webperf-tests
displayed_publish_date: "2020-03-15"
canonical_url: https://www.swyx.io/writing/webperf-tests
Here is every Web Performance Test Tool I know of to help identify issues in your site/get you some key speed metrics. The idea is you think of a feature you want, e.g. "TTFB" or "locations" or "waterfall" and just Cmd + F on this page to find a tool that helps you with that thing.
Please let me know if you have other tools that belong here.
Simple Tools
Tools with simplicity as the appeal - great first checks.

TestMySite from Netlify - Netlify's tool which checks TTFB and HTTPS and gives a score out of 100
TestMySite from Google - mobile speed report from Google - lets you generate a report with recommendations for your team
Bytecheck.com - gives you a simple waterfall breaking down Redirects + DNS + Connect + SSL + Send + Wait + Receive
YellowLab.tools nice letter grades per section
Pingdom Tools - you pick a location, it gives you some load time/page size stats, improvement opportunities, and a waterfall with a nice filter
24x7 Page Analyzer - you pick a location, it shows you a waterfall of requests with a PageSpeed score
KeyCDN Speed Tool - gives you per-asset download breakdowns - a little TOO detailed to be useful
Butterfly - I havent looked into this too much - Unlimited Automated Page Speed Monitoring & Tracking, Security Tracking & Performance Timing - founder is Ciprian on Twitter
Lightest.app - Visualize web performance against competitors. Fast, simple, effective. strong recommend
Builder Performance Tool - run lighthouse/webperftest with and without optimizations

Comprehensive Tools
Tools that try to give you the whole kitchen sink including waterfalls

PageSpeed Insights - The original PageSpeed test from Google, aka Lighthouse run on the web - gives you FCP, FID, TTI, screenshots, opportunities, and Diagnostics. You can run this programmatically for free with Chrome's Crux API
WebPageTest - This seems the most highly regarded in the webperf circles I know about. You pick a location and a browser.  Pipe into Grafana like the cool kids
GTMetrix - Also super highly regarded. Gives you PageSpeed and YSlow recommendations, waterfall, historical graphs, and (for logged in users) filmstrips

Open Source, Self Hosted

Perfume.js
Falco - Open Source, self-hosted WebPageTest runner. automatically run audits & see the evolution of key performance metrics to easily spot regressions & audit the performance of individual URLs or entire user journeys
Sitespeed - also Open Source, self hosted with monitoring :)

Services with Paid offerings

PerfBeacon - runs Google Lighthouse/Pagespeed insights at a scheduled interval + when triggered by API calls. Price plans from 2.5k - 50k tests per month, 14 day free trial
PageSpeedPlus - Google PageSpeed Insights Monitoring, Lighthouse Data - Lab & Field, Web Vitals, URL History, Email & Slack Alerts, Competitor Comparison, Full Site Scans
Calibre - set performance budgets from various worldwide locations, receive regular reports, and get performance changes in Pull Requests. Price plans from 5k - 50k tests per month, 15 day free trial
Amazon Cloudwatch Synthetics
Simpleops.io
Debugbear Track site speed and website quality for your production site and in CI. Catch regressions and benchmark against your competitors.
Dareboost - looks simple, but actually does have filmstrip and waterfall and recommendations!! used to be free but now has a email signup wall
RequestMetrics - Get simplified performance metrics and actionable alerts to make your website go fast - for $10/month. They blog on devto.

More uptime monitoring: https://www.supermonitoring.com/blog/website-monitoring-tools-market-in-2020/
Improvement Recommendations
These offer improvements but didn't quite make my cut for "Comprehensive Tools" - but are still noteworthy, esp Geekflare's security tools.

Geekflare - Geekflare's set of 25 tools giving you everything from a Website Performance Audit to TTFB and Traceroute tests and other security related tests. The Audit gives a nice score and a lot of improvement recommendations.
Pingdom Tools - you pick a location, it gives you some load time/page size stats, improvement opportunities, and a waterfall with a nice filter
RequestMap from Webperf.Tools - Simon Hearnes' request map generator which focuses on visualizing Third Party Assets. Pick a location, and a device.
ReportURI Security Headers - quick and easy way to check if sites have security headers like CSP and HSTS enabled
Mozilla Observatory - teaching developers, system administrators, and security professionals how to configure their sites safely and securely.

Test Banks
Tools which ping your site from multiple locations to give you a global view.

Sucuri Performance - pings your site from 16 locations worldwide and gives you connection and TTFB times.
Website Speed Test from Dotcom Tools - ping 20+ locations and pick a browser, it shows you load times for first visit and repeat visit!
KeyCDN Perf Tools - pings your site from 14 locations worldwide and gives you DNS/Connect times
Latency.apex.sh - pings two URLs to compare latency from 13 locations. Good for comparing sites with and without a CDN.
🌟 Lighthouse Metrics - ping Lighthouse from multiple locations. Made by Chris.
FastOrSlow - FastOrSlow does actual browser simulations from around 12 locations around the world. When we first architected it, we wanted to provide as many locations as possible including places like South Africa. That meant in some cases we needed actual bare-metal servers. So we built it on bare metal in data centers around the world. (Source)

added https://www.builder.io/c/performance-insights today after listening to devtoolsfm podcast

would like to add https://unlighthouse.dev/ which scans every page on a site instead of 1 page


[ModuleMaps] C wrapper library requires custom module map in Swift 5.2 [SR-12758]

The problem here is actually that the logic in SwiftPM always creates a module map with either an umbrella header or an umbrella directory for every C target, even though the documentation says that a module map will only be created for a C target under particular conditions.  According to https://github.com/apple/swift-package-manager/blob/master/Documentation/Usage.md#creating-c-language-targets, here are the rules:

Swift Package Manager will automatically generate a modulemap for each
C language library target for these 3 cases:
• If “include/Foo/Foo.h” exists and “Foo” is the only directory under the
“include” directory, then “include/Foo/Foo.h” becomes the umbrella header.
• If “include/Foo.h” exists and “include” contains no other subdirectory then
“include/Foo.h” becomes the umbrella header.
• Otherwise, if the “include” directory only contains header files and no
other subdirectory, it becomes the umbrella directory.
In case of complicated include layouts, a custom module.modulemap can be
provided inside “include”.  SwiftPM will error out if it can not generate
a modulemap with respect to the above rules.

But the problem is that the third of those bullet points is not how the logic works.  Any header layout that doesn't match one of the first two cases automatically became an umbrella directory in the generated module map.
This bug was masked because module map files weren’t passed from one C target to another until https://bugs.swift.org/browse/SR-10707 was fixed, at which point this started breaking.  For C targets whose module maps were passed to Swift targets, it was always broken (but only surfaced as errors from the compiler as a result of trying to build a module from the non-modularized headers, not surfaced as errors from SwiftPM about an incorrect header layout).
We don’t want to undo the fix for SR-10707, nor is it right to tie this behavior to particular Swift tools versions, since that only postpones the problem.  It’s perfectly legitimate to want to wrap an unmodified C or C++ library (with non-modularized header layout) in an authored C wrapper target that then presents a Swift-friendly modular interface to Swift targets, so non-modular C-to-C target imports should continue to be supported.  The code also alludes to this, at BuildPlan.swift:409 in current main branch:

// FIXME: We should probably only warn if we're unable to generate the
// modulemap because the clang target is still a valid, it just can't be
// imported from Swift targets.

This is above the line that does a try that ends up passing on any errors if there’s a problem with the layout.
After having gone through the code, and discussing this in some detail, and trying a couple of different approaches, I think the right thing to do is:

Fix the logic to only create an umbrella directory module map in the cases that are spelled out in the third bullet of the documentation (i.e. match the documented behavior).

But emit a warning, not an error, suggesting that the target add a custom module map.  If we emitted an error as the documentation said, we would break a lot of packages.

Update the documentation to account for one other case that’s already being checked in the logic for case 1, which is that there are no headers next to the umbrella directory.

Instead of not generating a module map at all, we generate an empty module map (along with emitting the warning) in the cases in which an incorrect umbrella directory would previously have been generated into the module map.  This has the least impact on the downstream logic.

@swift-ci please smoke test

Does the documentation and/or the implementation need to account for C++ and/or ObjC++? IIRC, both do not support modules at all, but I think when we say "C language targets" in the docs, we actually mean C-family, right?

Does the documentation and/or the implementation need to account for C++ and/or ObjC++? IIRC, both do not support modules at all, but I think when we say "C language targets" in the docs, we actually mean C-family, right?

Yes, the documentation is a bit murky here.  Clang modules do not support C++ and Objective-C++, so we should clarify that in the documentation as well.  I considered whether checking for ".h" files is the right thing here, but decided that would be too risky and anyway an orthogonal change to make.  But the documentation should at least be changed.
Yes, Clang modules can include C, C++, Objective-C, Objective-C++, and Assembler source files.

After some more discussion, I think the first right thing to do is to add the warning but not change the behaviour, and to nominate that for Swift 5.3.  This will at least call out the solution of either making the headers conform to the documentation or to add a custom module map.  Then a later change (not nominated to Swift 5.3) would change the behaviour.  The concern is that we might otherwise end up breaking packages that don't fully conform to the documented semantics but that just happen to work today.

After discussion, I've opened a separate PR at https://github.com/apple/swift-package-manager/pull/2815 to add just the warning but keep the behaviour the same.  This would then be nominated for 5.3 to make the problem clearer without risking breaking existing packages.  Once that PR has landed I will rebase this one on it for changing the behavior.

@swift-ci please smoke test

Superseded by https://github.com/apple/swift-package-manager/pull/2815


Added get_crystals to retrieval client

Hi Evgeny,
let me know if you think this could be useful functionality to have in the API (see the test for an example).
Now a user can use .get_crystals() and use a query or phase ids to
retrieve crystal structures directly rather than going through
compile_crystal manually.

Hi Evgeny,
what do you think of this change?  It now returns None as before, unless no data row was supplied or it is not of the right length.  These both seem like 'error' cases.

Thanks a lot for your input, Martin, that's valuable. Code quality gets visibly higher.

My pleasure.
2017-11-22 13:54 GMT+01:00 Evgeny Blokhin<EMAIL_ADDRESS>
Thanks a lot for your input, Martin, that's valuable. Code quality gets
visibly higher.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mpds-io/python-api-client/pull/1#issuecomment-346341913,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABja616kVP4nLe-KgWlBKs19ATI_v0fJks5s5BlygaJpZM4Qgsk6
.


[Snyk] Upgrade dotenv from 16.4.5 to 16.4.7

Snyk has created this PR to upgrade dotenv from 16.4.5 to 16.4.7.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 2 versions ahead of your current version.

The recommended version was released a month ago.

Release notes

Package name: dotenv

16.4.7 - 2024-12-0316.4.7

16.4.6 - 2024-12-0316.4.6

16.4.5 - 2024-02-2016.4.5

    from dotenv GitHub release notes

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:

🧐 View latest project report
📜 Customise PR templates
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.19%. Comparing base (17ea0b4) to head (82fe46c).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #525   +/-   ##
=======================================
  Coverage   92.19%   92.19%
=======================================
  Files          18       18
  Lines         525      525
  Branches       97      104    +7
=======================================
  Hits          484      484
  Misses         40       40
  Partials        1        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Unbreak building with --no-default-features

Fixes #1586

Coverage increased (+0.006%) to 70.922% when pulling c7ddea89d036070f534c823b65a783f1abd74f35 on rust-av:fix1586 into 726bf22285ba511e074abbaf023a41fa3a7a83e1 on xiph:master.

lgtm


[1.6.2] Extracting items via Ctrl+LMB on mem.unit doesn't update the title with items quantity (due to spoilage?)

Reproduce steps:

Insert 2 spoilable items.
Wait until they spoil.
Click Ctrl+LMB on mem.unit.
Items extracted and...
Bug: ...items counter didn't update — it still shows 2.
Expected: ...items counter updated to 0 and disappeared.

Looks like MU shouldn't allow inserting spoilable items. If there's no way of "freezing" them (as if they really became digital and un-spoilable),

This is now fixed.


Readme rework

Below is the original README, rewrite for EasyMDE in progress.

Deal! :)
This is a rewrite the readme file.

add a summary;
merge the initial readme with the new one;
add some titles to improve visibility;
replace simpleMDE references with easyMDE when it's necessary;
line wraps at 80 characters;
fix some typos.

(note that you can merge those 2 commits into a single one)
Feedbacks are welcome, I can add more commits before merge if necessary.

Hi @roipoussiere, thank you for contributing!
I really appreciate the effort you have spent on the README, however a lot of the work was already done in the development branch of the project, pending a release. (https://github.com/Ionaru/easy-markdown-editor/tree/development)
If possible, could you base your changes on the development branch? I think that it could still benefit from some of the changes you've made, like the Quick access.
The line wraps I'm not sure is needed. GitHub and NPM automatically wrap long lines and 80 characters seems a bit short.


HTE: fix variance prediction

In the prediction step, the process variance was erroneously multiplied by dt instead of dt^2. The default values are adjusted accordingly to keep the same tuning for the default loop rate of 50Hz.

Good to go?

Good to go?
Small difference in SITL relative to master.

Let me double check that

@dagar I found out that I forgot to also change it in the "state variance bump" function, I pushed the change

Now I have the same behavior as in master


Switch to interface{} for Subscribe() return

Breaking change (subscriptions)
It's a lot easier to build graph-gophers/graphql-transport-ws around the interface{} type.
This PR is to make the changes in this other PR possible.

I really would prefer to return json.RawMessage but this library favours interface{} as far as I can tell. Thoughts?


Fix txs references and fix more tests

This:

Tries to stabilise tendermint glide dependencies
Fixes references to txs packages
Fixes various broken tests (by restoring references to config)

looks good to me, after correction on .json


Mediaelement Player 2.14.2

I was able to play MP4 Videos on Firefox. However, the browser was updated to version 34.0.5 and I can no longer play the video.   I'm using the  tag embedded on a web page.  On the Firefox browser console I see an error that says "Media resource ......   could not be decoded."
I can get to play the video using IE 11. The problem with IE 11 is that I can't click on Fullscreen.   The fullscreen feature does work on Firefox though.
Any help on this will be greatly appreciated.

@lesponce Is this still an issue?

@lesponce Closing old issues. If you'd like to reopen this, let us know. Thanks!


PROD-353 fixed image size

✅ Add Linear ID (e.g., PROD-123) to PR title to automatically link issue

Description
Link to the task https://linear.app/gator/issue/PROD-353/deck-page-image-dimensions-does-not-match-campaign-page
What are the steps to test that this code is working?
Screen shots or recordings for UI changes
[Before]

->
[After]

@marvinmarnold  I am not sure if there are any updates regarding tests. But my PR has not affected anything regarding tests.

We renamed campaigns -> stacks. This is causing old code to fail.


Added kot and oslabienie.

Still needs to fix Oslabienie (by extending equip with before/after applied)


chore: Update Makefile

Update makefile to release docs

Please provide the issue number

Issue number: #259
Summary
Update makefile release docs
Changes

Please provide a summary of what's being changed

User experience

Please share what the user experience looks like before and after this change

Checklist
Please leave checklist items unchecked if they do not apply to your change.

[x] Meets tenets criteria
[x] I have performed a self-review of this change
[x] Changes have been tested
[x] Changes are documented
[x] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Codecov Report
Patch coverage has no change and project coverage change: +0.05 :tada:

Comparison is base (95523fb) 60.17% compared to head (d156845) 60.22%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #260      +/-   ##
===========================================
+ Coverage    60.17%   60.22%   +0.05%
===========================================
  Files           42       42
  Lines         1853     1853
===========================================
+ Hits          1115     1116       +1
+ Misses         738      737       -1

Flag
Coverage Δ

unittests
60.22% <ø> (+0.05%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Closing it for now, need to see if this is needed or remove the workflow


Scalar type not found since 1.15

Describe the bug
When upgrading from 1.14 to 1.15, an error is thrown that types (which I know to be scalars) are not defined, when they are defined as scalar Date (example) at the top of the schema.
To Reproduce
Steps to reproduce the behavior:
Reproducing issue: https://codesandbox.io/s/stoic-silence-2r2k5?file=/package.json
Same code working with 1.14: https://codesandbox.io/s/frosty-ellis-5u03j?file=/package.json
It looks like this has to do with imports, where schema imports a component, and that component uses a scalar type defined in the schema. maybe that's a circular dependency, but it worked in 1.14.

@xdumaine Could you share a reproduction using CodeSandbox or as a GitHub repo?

@ardatan updated steps to reproduce with demos of 1.14 and 1.15

I'm actually getting a ton of errors about missing types that worked before (maybe implicitly as a bug) that no longer work. As I work through the ones from imports, I'm even getting some that don't involve imports. Ex:
type Palette {
  s50: String!
  s100: String!
  s200: String!
  s300: String!
  s400: String!
  s500: String!
  s600: String!
  s700: String!
  s800: String!
  s900: String!
  light: String!
  main: String!
  dark: String!
  contrastText: String!
}

type AccountBranding {
  # A URL pointing at a 24x24 icon for the account
  icon24: String
  # A URL pointing at a 120x120 icon for the account
  icon120: String
  primaryPalette: Palette
}

Throws an error Type "Palette" not found in document.         Error: Type "Palette" not found in document.

To fix that one ^ I had to change my codegen to include all required schema codegen files. Just having the root schema with imports wasn't sufficient.

Thank you very much for the reproduction! We'll take a look soon.

@xdumaine this seems like something that shouldn't work before.
You have the following structure:
- schema.graphql (declares Date)
   -  components/user.graphql (uses Date)

But, this should be:
- schema.graphql (import Use)
   - components/user.graphql (import Date)
   - components/date.graphql (declares Date)

@ardatan i tried to update the structure and move the scalar, but it still doesn't work, can you please take a look? https://codesandbox.io/s/dank-forest-ub86g?file=/schema.graphql

@dotansimha This should be fixed in latest GraphQL Tools.
@xdumaine Could you update your graphql codegen to the latest version and try again?


[Investigate]: Republish Hyak ClientRuntime and tools to target .Net Core (NetStandardLibrary 1.6.1)

Description
Locally rebuild and republish runtime packages and one Hyak library (HDInsight) to support .NetCore build.
Verify that these packages can be consumed in a NetCore VS2017 app.
If this works, publish the libraries and update the netcore libraries to match
Cost: 4

List of services to update:

Automation
HDInsight
SiteRecovery
Sql**
StreamAnalytics

** - maybe

Packages to update:

Hyak.Common

Azure/hyak-common
Latest version: 1.1.0

Microsoft.Azure.Common
-Azure/azure-sdk-for-net (master)

Latest version: 2.1.0

Changes merged into HyakNETCore branch and published to NuGet.


build-sys: fix gen.mk to abort when there are inconsistent packages

this should succeed on modules without .go files, but fail if a .go file has the wrong package entry


useActivate is being fired 3 times

Hi, I have implemented keepalive for tab switching and get this weird behavior when switching between tabs I get useUnactivate fired once and useActivate fired three times for each tab.
What is the reason for that?
Thanks in advance

Thanks for reply. In dev mode as it is running in strictmode seems this is default behaviour. Is there way to disable strictmode for webpack devserver?


Direct Messaging

Thanks for this awesomeness, the app looks and behaves great.
Couldn't miss the opportunity to open the first issue / feature request. It would be really great to be able to send and receive direct messages. A lot of Instagrammers/photographers use direct messages quite a lot.
Cheers from http://instagram.com/vhpoet

Thanks for the kind words.
I'll love to add features such as photo upload, stories and direct messaging.
However, I'm not sure Instagram allows that at the moment, since I have to reverse engineer the API.
I'm looking for a solution

@terkelg yea I think the only way would be to use their private API.


finding the VCS root of a vendored package

Context: https://github.com/Debian/dh-make-golang/issues/46
For packaging Go programs in Debian, we must separate Go libraries into individual Debian packages; vendoring is verboten as per Debian-wide policy.
The Debian tooling (specifically dh-make-golang) discovers all dependencies of a program by using vcs.RepoRootForImportPath. This doesn’t work when dependencies are vendored, as there is precisely one VCS repository into which all packages are copied.
Is there any way to programmatically determine the repo root for packages vendored using golang/dep? If not, could one be added? Recording the repo root in a JSON file would be sufficient, for example.

Hi, thanks for the issue! It's very helpful when folks bring in perspectives like these.
It seems like dep should meet your requirements just fine:

Really, vendoring is an implementation detail. The important thing is the lock.
At present, the name field of each project in the lock will correspond to a VCS repository root, because dep only works with repositories right now, and it is a requirement that "project == repo".
If searching the lock isn't sufficient, then given any import path, the method you'd use to deduce its project, and therefore repository root is gps.SourceManager.DeduceProjectRoot(). For correct (inter)-operation with dep, it's very important you use that function, and not any of the other ones that are out there, as some do differ subtly.

Is that enough info?

Thanks, that’s helpful. I’ll have a look later as to whether I can put the pieces together correctly.
One additional question: is there a tell-tale sign that a project uses dep as opposed to other vendoring tools? I assume we’d need to make this logic conditional on the vendoring tool which was used.

The indicator to look for would be the name and location of the files in the root directory - at minimum, a manifest.json, and possibly also a lock.json.
However, it's premature to design against such things. As the README notes, we're still in the experimental phase. We're actively planning on changing those file names - #168 - and there's a good chance they'll change again on full integration into the go toolchain.

I should note - for your purposes, creating a SourceManager just to do root deduction may be overkill. You'll have to determine whether or not that's the case, but if it is, I'd be open to creating a standalone function that does the same job as gps.SourceManager.DeduceProjectRoot().

For now, we have adopted a less involved fix on the Debian end, which is also compatible with other vendoring tools: https://github.com/Debian/dh-make-golang/commit/99a238019b5a2bdc0d3d2bad5f93b280a49eedcd
I’ll defer implementing dep-specific code until that becomes necessary/beneficial :). Let’s close the issue as there’s nothing left to be done. Thanks for your help!

Thanks for reaching out! Please do raise any other issues or questions as you run into them. Now's the time to make sure we consider things, and integration into system package management is not an area we've spent a ton of time on. And, clearly, such things are complicated 😄


Fix breadcrumb navigation to correct tabs for pipeline run and jobs details page

JIRA: https://issues.redhat.com/browse/RHOAIENG-7751
Description

When you are on a run details page and navigate back to the pipeline runs page or experiment runs page, it will navigate you back to the correct tab now based on whether the run is archived or is a schedule.
How Has This Been Tested?

Create a run
Archive a run
Go to the run details page from the pipeline version runs page
Click on the breadcrumb to go back to the pipeline version runs page
Make sure it lands on the archived tab
Go to the experiment runs page
Go to the same run details page
Click on the breadcrumb to go back to the experiment runs page
Make sure it lands on the archived tab
Create a schedule
Repeat step 3-9, but make sure it lands on the schedules page on each page

Test Impact

N/A, we don't have the breadcrumb test yet. Might need it from RHOAIENG-4324.
Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

For anyone who reviews this PR:
I created 2 commits in this PR. The first one can only make sure we fix the issue for the run/job details page under the pipeline version context. However, when it's under the experiment context, it's more complex because we need to make sure it also lands on the correct tab on the experiment runs page. The second commit is to solve that problem.
You can review 2 commits separately because the second one refactored the code a little bit. If it looks good I can squash both afterwards.


fix: declare file format error

Changes in PR:
The error below happens when building in production mode:

So, I fix this in this PR. Please review and release new version

Thank you! Your changes has been published in 2.3.1 version


James 1710 SetMailboxesMethod implementation

Created on https://github.com/linagora/james-project/pull/196


🐛 fix(types): Allow "target" attribute for DropdownItem

This will resolve #63, and also any other anticipatory type issues with $$restProps being applied to the various inner elements of DropdownItem.svelte.
Key Detail: $$restProps isn't spread on the <li> — so I've dropped that part of the props interface.

Thanks for submitting a PR @RoryDuncan! I think the change we need to make is:
import { SvelteComponent } from 'svelte';

import {
  HTMLButtonAttributes,
  HTMLLiAttributes
} from 'svelte/elements';

interface MixedElementProps
  extends Omit<HTMLButtonAttributes & HTMLLiAttributes, 'target'> {
  active?: boolean;
  disabled?: boolean;
  divider?: boolean;
  header?: boolean;
  href?: string;
  target?: any;
  toggle?: boolean;
}

export interface DropdownItemProps extends MixedElementProps {}

export interface DropdownItemEvents {
  click: WindowEventMap['click'];
}

export interface DropdownItemSlots {
  default: {};
}

export default class DropdownItem extends SvelteComponent<DropdownItemProps, DropdownItemEvents, DropdownItemSlots> {}

Can you try this and let me know if it solves your issue. If so, update your PR and I'll review.

Of course—updated!
It slightly differs to your suggestion.
We should align the props to tags in which the $$restProps is spread upon, no?
That is an h6, div, button, and a tag,

Yes, this is a better approach. Thank you for the PR


MongoId.converter() was deleted in trafaret

MongoId.converter() code was moved in trafaret into .check_and_return()

can you please rebase you PR?

Did it )


add termynal

This PR adds termynal as a replacement for screenshots!

If this looks good, I'll apply similar changes to moonbeam 🙂


/validate-username and /claims endpoints are not tenant qualified in the self registration flow

Describe the issue:
In the self-registration flow, the rest API calls from the UI that was made from the account recovery web app is not called the tenanted endpoints. Below are the identified endpoints.
/api/identity/user/v1.0/validate-username
/api/identity/recovery/v0.9/claims
How to reproduce:
Try the self-registration flow with an email username with the tenant domain.
Expected behavior:

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0, IS 5.9.0]
OS: [e.g., Windows, Linux, Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

Reopening the issue since the public fix was reverted


Update Kitura repos to Swift 3.1

Steps for each repo:

Update .swift-version file to 3.1
swift package pin --disable-autopin
Update .travis.yml with additional trusty build against 3.0.2 toolchain
Open PR, merge code, tag new release

In addition to disabling autopin, we also have to make sure no packages are already pinned by a prior swift command. The file contents should look like this:
{
  "autoPin": false,
  "pins": [],
  "version": 1
}


Adding documentation for the "ReportCompletion"

New configuration has been added as part of SF 8.0 release for the reportCompletion feature. This security configuration to allow propagation of the newly introduced message "ReportCompletion" within Service Fabric.

@msingiresu : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Browser Size Support

It would be really nice if you added support for us to set the size of the browser on launch
For example:
const agent = await new Agent({       browserSize: '400,800'     });

Hi @akavenus, is the viewport parameter what you're looking for?

Yes

In puppeteer you can set the viewport or browser size, the browser size actually changes the size of the brower instead of just the view port
here is how you would do it in puppeteer
var browser = await puppeteer.launch({               headless: false,                 args: [                   '--window-size=400,800',                   '--hide-scrollbars',                   --proxy-server=http://${split_proxy[0]}:${split_proxy[1]}                 ],               })

Can you tell me a bit more about what you're not able to do with this setup? I believe the render of the page is using the provided sizes, just as it does when you change the emulated viewport within the Chrome Devtools panel. This is the API being used: https://chromedevtools.github.io/devtools-protocol/tot/Emulation/#method-setDeviceMetricsOverride.

BTW, I do agree it's confusing and looks weird. Just making sure I understand what you're trying to do.

Well, i dont believe that this changes the browser size correctly. For example heres what the browser shows on this
const agent = await new Agent({       viewport: '400,800'     });

vs a puppeteer browser that shows the actually 400, 800 size browser on this
args: [                   '--window-size=400,800' ]
Was this ever added?  I feel like this would fix this issue

I believe I could be setting the viewport incorrectly. is it done like this?
viewport:  '400, 800'

I was just looking at the docs to see what we've listed and realized it doesn't have enough details for you to really do this easily without Typescript.
It's expecting this set of params. I'll update the docs.
{
  /** The page width in pixels. */
  width: number;
  /** The page height in pixels. */
  height: number;
  /**
   * Specify device scale factor (can be thought of as dpr).
   * @default 1
   */
  deviceScaleFactor?: number;
  /** The screen width in pixels. */
  screenWidth: number;
  /** The screen height in pixels. */
  screenHeight: number;
  /** Overriding view X position on screen in pixels (minimum 0, maximum 10000000). */
  positionX: number;
  /** Overriding view Y position on screen in pixels (minimum 0, maximum 10000000). */
  positionY: number;
}

This worked, but is there anyway to make it so the browser size is = to the viewport size?

const agent = await new Agent({       viewport: {         width: 400,         height: 800,         screenWidth: 400,         screenheight: 800       }     });

Not checked in yet ;) I'm fixing that now. It's just weird looking though, the actual webpage should not be able to detect it.

Alright thank you!


Use multiarch/qemu-user-static for QEMU 7.1

I think this works in CI because qemu-riscv64-static is in memory, but we can't use this for production.
https://stackoverflow.com/a/74051978


modern-cv:0.1.0

I am submitting

[x] a new package
[ ] an update for a package

modern-cv is a port of a populate latex CV (resume) template that I was previously using for my own personal resume. I have since moved to typst and wanted to share my ported template.
Description: This package makes it easy to create a beautiful, modern resume and cover letter.
I have read and followed the submission guidelines and, in particular, I

[x] selected a name that isn't the most obvious or canonical name for what the package does
[x] added a typst.toml file with all required keys
[x] added a README.md with documentation for my package
[x] have chosen a license and added a LICENSE file or linked one in my README.md
[x] tested my package locally on my system and it worked
[x] excluded PDFs or README images, if any, but not the LICENSE
[x] ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

@reknih Thanks for the thorough review! I think I've addressed all the items you brought up.

Thank you!


Wrong static method called

I have created and compiled the following Java classes:
A.java:
public class A {
    public static void hello(String message) {
        System.err.println("Hello "+message);
    }
}

B.java
public class B extends A {
    public static void hello(String message) {
        System.err.println("Ola "+message);
    }
}

I also have a Java test program that calls the static hello method of the B class:
public class Test {
    public static void main(String[] args) {
        B.hello("world");
    }
}

When I compile and run the Test class in the java environment, the result is
"Ola world"
If I issue the following in the Beanshell interpreter
B.hello("world");
the result is
"Hello world"
It looks like the interpreter is looking up the static method from the superclass, and not doing the same thing that Java would do in this case.
Reported by: *anonymous
Original Ticket: "beanshell/bugs/299":https://sourceforge.net/p/beanshell/bugs/299

And the good news is that if it was fixed on the BeanShell2 fork then it is fixed now on BeanShell as well.
public class A {
    public static void hello(String message) {
        System.err.println("Hello "+message);
    }
}
--> $2 = class A :Class
bsh % A.hello("BeanShell");
Hello BeanShell
--> void
public class B extends A {
    public static void hello(String message) {
        System.err.println("Ola "+message);
    }
}
--> $3 = class B :Class
bsh % B.hello("BeanShell");
Ola BeanShell

Closed: working


[Bug] Activating borderless window mode in fullscreen crashes gw

When you turn on tb borderless window mode while playing gw in Fullscreen, first of all nothing seems to happen, the mouse is still caught in gw and the close/minimize/window buttons in the top right corner wont disappear.
Now when you disable borderless window mode again, gw starts flashing ~5 times/sec on the screen obviously trying to switch between window mode and Fullscreen while taking focus all the time, so gw is effectively crashed (still running but you cant do anything in gw) and you have a hard time to regain control over your PC since you cant focus any windows or bring them to the front anymore. Only way to end it is close gw in the task bar with right click.
When you start gw again after closing it, screen resolution is reset to 800x600.
This bug is really annoying when you're almost done on a vanquish or doa run and you accidently turn on borderless window mode while you're in full screen (it works when you turn it on while in window mode).
If it takes too much time to make it work while in Fullscreen mode please at least check if we're in Fullscreen when turning on borderless window mode and display an error message in chat or simply do nothing - still better than crashing gw :)

Turning borderless while in fullscreen doesn't and won't work.
There is a check in place to see if the game is in fullscreen, but it's not too reliable. I'm not sure how to fix it. The proper fix would be to find fullscreen-enabled information in game memory, but we don't have that atm.
Unfortunately my advice is just to not enable borderless while in fullscreen, sorry.

Lol 3rd google hit on "c++ direct x check fullscreen of window" brought me to this stackoverflow post: https://stackoverflow.com/questions/7009080/detecting-full-screen-mode-in-windows
Heres a quick example how to reliably check if gw is running in Fullscreen (just tested, working really well):
bool isFullscreen(HWND window)
{
RECT a, b;
GetWindowRect(window, &a);
GetWindowRect(GetDesktopWindow(), &b);
return (a.left == b.left  &&
a.top == b.top   &&
a.right == b.right &&
a.bottom == b.bottom);
}
HWND FindGW()
{
return FindWindowA(NULL, "Guild Wars");
}
int main()
{
HWND gw = FindGW();
cout << "Handle: " << gw<<endl;
Sleep(20000);

cout << "IsFullscreen: " << isFullscreen(gw);
_getch();

}

The current check only relies on window style (https://github.com/HasKha/GWToolboxpp/blob/master/GWToolbox/GWToolbox/Modules/GameSettings.cpp#L230). Works for me, I wonder why it doesn't for you.
I don't think we can use the code you posted, it's only checking for gw to have the same resolution as the main desktop, which will be true under borderless window too.

Well for the Fullscreen or borderless problem there is a really simple solution: Your tb is the only program that causes gw to go into borderless mode so you have full control of it...
-When tb starts up youre in Fullscreen or window mode (when tb is closed you can go back to window if in borderless)
-first time the user clicks borderless (you cant already be in borderless!) check resolution, if its desktop size youre in Fullscreen, otherwise its in window mode... When switching to borderless (cause you were in window mode) simply set a flag that tells you youre in borderless now...
But it's indeed strange that this doesnt work for me it actually looks pretty decent... I'll debug this code part within next days cause im also interested in why it doesnt work for me and report back ;)

keep in mind that you can close and re-open toolbox with gw in borderless. This is intentional so people can quickly use tb to set borderless and don't have to keep it open.
The flag that you are talking about, rather than being stored in toolbox memory, is the WS_POPUP style that toolbox sets to the gw window.
We could check for it (e.g. if resolution = fullscreen and no popup style -> fullscreen), however, since the style check fails for you, I wonder if this would fail as well.

ok so we Need  to distinguish between window rect and client rect:
Window rect: https://msdn.microsoft.com/de-de/library/windows/desktop/ms633519(v=vs.85).aspx
Client rect: https://msdn.microsoft.com/de-de/library/windows/desktop/ms633503(v=vs.85).aspx
So we can clearly distinguish between window, Fullscreen and borderless:

if GetWindowRect(GW)==GetWindowRect(Desktop) its either Fullscreen or borderless

if GetClientRect(gw)!=GetWindowRect(gw) theres still a window border just moved out of sight (as you do for borderless) --> were in borderless

else were in Fullscreen

else were in window mode

Still untested but i guess it should work like that -- ill test it in the afternoon ;)

Ok just tested it and found a nice solution that has 100% hit rate (even in different screen resolutions) and can distinguish between window, Fullscreen and borderless :)
We need a combination of your check for WS_MAXIMIZEBOX-Style and screen resolution:

When gw resolution = desktop resolution were in Fullscreen or borderless

Full Screen removes WS_MAXIMIZEBOX, so if WS_MAXIMIZEBOX is no set its Fullscreen
else its borderless

else its window

Here's the code for the window/borderless/Fullscreen check:
RECT windowRect, desktopRect;
GetWindowRect(gw, &windowRect);
GetWindowRect(GetDesktopWindow(), &desktopRect);

	//fullscreen or borderless
	if (RectEquals(windowRect, desktopRect))
	{
		DWORD current_style = GetWindowLong(gw, GWL_STYLE);

		if ((current_style & WS_MAXIMIZEBOX) != 0)
		{
			cout << "Borderless\n";
		}
		else
		{
			cout << "Fullscreen\n";
		}
	}
	else
	{
		cout << "Window\n";
	}

While RectEquals just compares the bounds:
inline bool RectEquals(RECT a, RECT b) {return (a.left == b.left  && a.top == b.top   && a.right == b.right && a.bottom == b.bottom);}
And FindGw gets gw window handle:
inline HWND FindGW() { return FindWindowA(NULL, "Guild Wars");}
works like a charm, easy & safe way to distinguish between full screen and borderless ;)

Thanks. You essentially replaced the WS_POPUP check with the resolution-based one. Looks good, although I still wonder:

Why does WS_POPUP check not work?
This setup will fail in multi-monitor setups where the user resized the gw window after setting borderless (for example, for having gw spanning multiple monitors).
So overall we should probably have both checks (if RectEquals(..) || WS_POPUP style).

Also minor but it's better to use GW::MemoryMgr::GetGWWindowHandle() to get the window handle :)

•Why does WS_POPUP check not work?

There are a few interesting observations I made while experimenting with window styles in GW:

Fullscreen always has excactly WS_CLIPSIBLINGS | WS_VISIBLE for me no matter what combination of window / Fullscreen / borderless I did before and no matter if Toolbox is running or not --> this explains why WS_POPUP-Check fails: for Borderless you manually set WS_POPUP, but as soon as you change to Fullscreen by any combination it gets removed. (Win 10 Pro 64 bit, Version 1703 Build 15063.413)
-Whenever you do the combination "window -> Fullscreen -> window" WS_POPUP gets added to the window style (usually not in window style) - this means you definitely cant rely on WS_POPUP not being set in window mode! (when you use borderless -> window afterwards WS_POPUP is removed again since you explicitly set the style in tb code)

This setup will fail in multi-monitor setups where the user resized the gw window after setting borderless (for example, for having gw spanning multiple monitors).
So overall we should probably have both checks (if RectEquals(..) || WS_POPUP style).

At least in Win 10 I can't find a way a regular user could resize gw so that it spawns multiple monitors - when in window mode and i pull the border over to the other monitor it bounces back and in borderless mode i can't resize the window at all because toolbox removes the WS_THICKFRAME-Style which gives you the resize-cursor.
Of course with some programming skills I can resize the window with MoveWindow() while in borderless mode but i dont see a way how the average toolbox user should accomplish this...
Nevertheless if you have a way to make gw spawn 2 monitors in borderless mode the code above only needs a small extension, really easy to catch: If the window rect width or height is bigger than screen resoultion youre in borderless with multi-monitor gw (theres absolutely no way in win 10 to get gw to spawn multiple monitors in window mode, even with some coding skills like MoveWindow(), SetWindowLong(), just tested...)
So if you wanna support this scenario as well all we need is a little extension ;)
//fullscreen or borderless
		if (RectEquals(windowRect, desktopRect))
		{
			DWORD current_style = GetWindowLong(gw, GWL_STYLE);

			if ((current_style & WS_MAXIMIZEBOX) != 0)
			{
				cout << "Borderless\n";
			}
			else
			{
				cout << "Fullscreen\n";
			}
		}
		else if (RectMultiscreen(desktopRect, windowRect))
		{
			cout << "Borderless Multiscreen\n";
		}
		else
		{
			cout << "Window\n";
		}

No idea how the default user could get borderless mode to spawn multiple monitors without coding skills but its really easy to integrate it in the resolution-based check - now this scenario works as well (just tested it with manually making borderless mode multiscreen using MoveWindow() ;) )

Thanks for the thorough testing. The WS_POPUP behavior is surprising.
Yes, you need a simple program to resize gw while in borderless, but that can be achieved with a 1-line AutoIt script, which I suggested to a few people and it's easy to run and customize. I'm just making sure to not break anyone's workflow. Your last suggestion looks great and should handle this.
Feel free to make a PR if you want, otherwise I'll add it myself soon-ish. Again, we need to change the check at https://github.com/HasKha/GWToolboxpp/blob/master/GWToolbox/GWToolbox/Modules/GameSettings.cpp#L230 with the RectEquals-based check.

Ok found the last part of the puzzle as well :D
borderless has these styles:
WS_CLIPSIBLINGS | WS_GROUP | WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_POPUP | WS_TABSTOP | WS_VISIBLE
window those:
WS_BORDER | WS_CAPTION | WS_CLIPSIBLINGS | WS_DLGFRAME | WS_GROUP | WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_SIZEBOX | WS_TABSTOP | WS_THICKFRAME | WS_VISIBLE | (WS_POPUP)
so window has these styles borderless doesnt have:
WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_GROUP | WS_SIZEBOX | WS_THICKFRAME
I'd use WS_BORDER and WS_THICKFRAME since they will for sure not be used in borderless ;)
So the full code that can distinguish between all possible scenarios is this:
//fullscreen or borderless
		if (RectEquals(windowRect, desktopRect))
		{

			if ((current_style & WS_MAXIMIZEBOX) != 0)
			{
				cout << "Borderless\n";
			}
			else
			{
				cout << "Fullscreen\n";
			}
		}
		else if (RectMultiscreen(desktopRect, windowRect))
		{
			cout << "Borderless Multiscreen\n";
		}
		else if ((current_style & WS_BORDER) == 0 && (current_style & WS_THICKFRAME) == 0)
		{
			cout << "Borderless with window size smaller than Desktop\n";
		}
		else
		{
			cout << "Window\n";
		}

Now you really got all possible scenarios covered even if the user has some coding skills and resizes the gw window using WIn32-API ;)  (Although I still can't think of a way to regularly resize borderless mode...)

ok made a pull request with the updated code - now Fullscreen check should always work ;)
While debugging i noticed some strange behaviour: When starting Toolbox while gw is in windod mode, GameSettings::ApplyBorderless() gets called twice on tb startup with parameter false. Since this would trigger the info message I temporarily commented it out so users wont get confused by strange tb internal behaviour. Nevertheless we should check where these calls come from and possibly fix it - they dont really seem to make sense, I'll debug this tomorrow ;)

The reason for the double call is in GWToolbox.cpp, lines 283 and 287, where LoadModuleSettings is called twice. Loading settings twice should never be a problem, but I'm fixing it, to avoid confusion like this in the future and improve performance (although imperceptible).

Alright, thanks for merging :)
For the settings-load: of course loading twice should work (and in fact it does work, we only get a warning that we are already in window mode). I was just surprised that we don't check whether we're already in window mode and thus try to set window mode while we're already in window mode...
Actually we should check current game status and only apply settings if they are not equal to current game status - So we just put the window/borderless/Fullscreen check in a function and call that on settings load ;)
Maybe I'll implement it in a few days and make another PR - or we just silently ignore these warnings, then we should remove them all...
Btw just saw that i forgot to remove a debug message in https://github.com/HasKha/GWToolboxpp/blob/master/GWToolbox/GWToolbox/Modules/GameSettings.cpp#L239  - just delete it not to confuse tb users :)

well I changed it, it doesn't double load anymore.
The current behavior is what we want. ApplyBorderless is that function, it changes the state of the game to its parameter if possible, or prints a warning if not. It cannot be a simple toggle, since the user is allowed to /borderless on when already enabled.
I changed the debug message from a Log::Info to a Log::Log, so it doesn't appear in-game but is sent to console or log file, which is ok. I might remove it later after some testing.

ApplyBorderless is that function, it changes the state of the game to its parameter if possible, or prints a warning if not

Well I just thought the warning would confuse the user when he starts tb in window mode and gets the warning "Already in window mode" without doing anything, so I wouldn't print that warning if the mode change is a result of loading settings - but whatever if printing the warning anyway is the intended behaviour we don't need to change anything, finally its your decision...

closing, implemented in #124 (thanks again). I think the current notification behavior is ok, it always prints a message except when turning off when it's already off. I'm not a fan of having the exception, but it's no big deal.


Added a New Widget

Added Lanyard Profile Readme.
A tool to display your discord rich presence on github profile.
71 . lanyard-profile-readme
🏷 Utilize Lanyard to display your Discord Presence in your GitHub Profile.
📍 For example :

Added Lanyard Profile Readme. A tool to display your discord rich presence on github profile.
71 . lanyard-profile-readme
🏷 Utilize Lanyard to display your Discord Presence in your GitHub Profile.
📍 For example :

Thanks for adding good tool 🙏


[11.x] Add bindWhen to Container

When you want to add condition for binding you must follow like this:
if (! $this->app->isProduction()) {
    $this->app->bind(Implicit::class, function (Application $app) {
       return new ImplicitMain;
    });
}

But is not beautiful for Laravel framework!
We can use bindWhen:
$this->app->bindWhen(! $this->app->isProduction(), Implicit::class, function (Application $app) {
   return new ImplicitMain;
});

@driesvints
If merged, I will add bindWhen to Contract in separate PR.

I feel that framework is crowded with such alias/helper method everywhere.
These kind of PRs are distracting the Laravel core team from focusing on real world issues.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Add a Gitter chat badge to README.rst

geeknam/python-gcm now has a Chat Room on Gitter
@geeknam has just created a chat room. You can visit it here: https://gitter.im/geeknam/python-gcm.
This pull-request adds this badge to your README.rst:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

Coverage remained the same at 97.6% when pulling b41d555178a2e2cc0dbc212a670771d13d3065c4 on gitter-badger:gitter-badge into 810ebb1c338a0748dd71d73fa0160b8757efa18f on geeknam:master.


Publicize error codes

Applications currently have to redefine these error codes whenever they want to use them. It'd be nice to export them from Quiche so that they don't have to.

Also, needs to be rebased.


Would you please help to let me know how to get the Planned work item data in a iterations?

Hi team, we still need to get the planned work item to count in power bi ? Would you please help to provide any method or apis?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1a948662-d534-bb71-a6b8-ce6d884b0ebb
Version Independent ID: f065bef6-017a-2615-3292-4ca5787f8458
Content: View and configure team velocity - Azure DevOps
Content Source: docs/report/dashboards/team-velocity.md
Product: devops
Technology: devops-analytics
GitHub Login: @KathrynEE
Microsoft Alias: kaelli

The planned data is like in the veloctiy chart.

@boy29729 - Here is an example of the kind of OData info you can get. The WorkItemSnapshot entity type will aggregate the data based on the assignment made on the specified date - start of the iteration. The WorkItems entity type can aggregate values of the work items per state.
{"@odata.context":"https://analytics.dev.azure.com/mseng/677da0fb-b067-4f77-b89b-f32c12bb8617/_odata/v4.0-preview/$metadata#WorkItemSnapshot(IterationSK,AggregationResult)","value":[{"@odata.id":null,"IterationSK":"4933928f-3e08-4cf9-901a-13cc32201944","AggregationResult":71},{"@odata.id":null,"IterationSK":"5b25cc74-aeb3-4f13-8084-1e899d7383b5","AggregationResult":83},{"@odata.id":null,"IterationSK":"a9219cb0-21c0-48f4-8c88-83d0ae3187db","AggregationResult":84},{"@odata.id":null,"IterationSK":"4bbc15f7-51c5-49e8-ae9f-a3ef05d90558","AggregationResult":62},{"@odata.id":null,"IterationSK":"2c29f724-465d-42c8-87f8-e46416a868e0","AggregationResult":67},{"@odata.id":null,"IterationSK":"8668264f-465d-4d69-b2b5-f5de742447d4","AggregationResult":86}]}
--batchresponse_9862c81d-4eaa-4d54-bb1b-15d4739e0315--
{"@odata.context":"https://analytics.dev.azure.com/mseng/677da0fb-b067-4f77-b89b-f32c12bb8617/_odata/v4.0-preview/$metadata#WorkItems(StateCategory,IterationSK,AggregationResult)","value":[{"@odata.id":null,"IterationSK":"4933928f-3e08-4cf9-901a-13cc32201944","StateCategory":"Completed","AggregationResult":65},{"@odata.id":null,"IterationSK":"5b25cc74-aeb3-4f13-8084-1e899d7383b5","StateCategory":"Completed","AggregationResult":68},{"@odata.id":null,"IterationSK":"a9219cb0-21c0-48f4-8c88-83d0ae3187db","StateCategory":"Completed","AggregationResult":87},{"@odata.id":null,"IterationSK":"4bbc15f7-51c5-49e8-ae9f-a3ef05d90558","StateCategory":"Completed","AggregationResult":79},{"@odata.id":null,"IterationSK":"2c29f724-465d-42c8-87f8-e46416a868e0","StateCategory":"Completed","AggregationResult":67},{"@odata.id":null,"IterationSK":"8668264f-465d-4d69-b2b5-f5de742447d4","StateCategory":"Completed","AggregationResult":81},{"@odata.id":null,"IterationSK":"2c29f724-465d-42c8-87f8-e46416a868e0","StateCategory":"InProgress","AggregationResult":13},{"@odata.id":null,"IterationSK":"a9219cb0-21c0-48f4-8c88-83d0ae3187db","StateCategory":"Proposed","AggregationResult":1},{"@odata.id":null,"IterationSK":"2c29f724-465d-42c8-87f8-e46416a868e0","StateCategory":"Proposed","AggregationResult":4},{"@odata.id":null,"IterationSK":"8668264f-465d-4d69-b2b5-f5de742447d4","StateCategory":"Proposed","AggregationResult":3}]}
--batchresponse_bee03aed-00f1-4e40-a560-6dc0c9732225--

@KathrynEE  Many thanks. The info is very useful.


[HOLD for payment 2021-11-12] LHN: Hide the pencil icon when message is sent or draft is deleted and show the icon when user started to type

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Type a draft message in some chat.

The pencil icon for draft does not show up.

Switch to another chat to see the pencil icon appear and then move back to the chat with draft.
Sent or delete the message.

Expected Result:
The pencil icon should not be visible when there is no draft in the report.
Let's separate the pencil icon behaviour from the LHN reordering. Show the pencil icon whenever users creates the draft (immediately) and hide the pencil icon as soon as the draft is either deleted or message sent (also immediately). However, keep the LHN reordering same, we do not want the LHN to reorder while typing as that is very distracting.
Actual Result:
Observe that the pencil icon is still visible in the LHN even though we have no draft at the moment.
Workaround:
User can switch to different report or reload and the pencil icon will disappear.
Platform:

Where is this issue occurring?

Web
Desktop App

Version Number:
Reproducible in staging?:
Reproducible in production?:
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by: @AndrewGable
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1635195542084000
View all open jobs on GitHub

PR is in a review!

Close to being deployed.

@marktoman @SofiedeVreese There has been a regression detected which has been introduced in PR solving this issue. We need to resolve that. Link is slack: https://expensify.slack.com/archives/C01GTK53T8Q/p1636082766011900
BUG: Blank screen after logout

Looks like the regression's been fixed. I'm going to add a "hold for payment", 7 days from the original deploy.

@SofiedeVreese To our best knowledge, the only place where the reported error or any related issue could occur has indeed been fixed. Thank you for putting this forward.

@SofiedeVreese Confirming this job shoul dbe good to pay out on the 12th.

Paid and closed! Thanks for your patience @marktoman.

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.1.14-4 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/6084

If no regressions arise, payment will be issued on 2021-11-22. :confetti_ball:

Hmm that's weird ^ It was already deployed 🤷

This is because of the PR which fixed the regression. All good here.

Oh actually looking into this more, https://github.com/Expensify/App/pull/6084#issuecomment-969396532 the original PR has been deployed to production just now so the comment was correct after all, so we have paid out prematurately here. It got delayed because of the week when we have not deployed. Nothing to do about it here, just noting for future.

Ah darn it, ok that's good to know, thank you @mountiny !

@mountiny @SofiedeVreese Just a hopefully redundant FYI: In case of a regression, I will continue being around :)

@marktoman Let's hope it wont be needed 😊 but at the same time, I hope to see you working on new issues 🎉


Support for natural tabbing experience

This came up for me while testing ISSUE#1
Currently when you tab into the date picker, the entire picker is selected and you can start left-right-up-down navigating through dates but there is no visual clue that a user could start doing this. Then the tab moves to the year, and then month.
Proposal:
When you tab into the picker:

the year becomes active first - they can select the year with keyboard (up/down - spacebar to select)
next tab is the month (similar experience to date)
next tab is into the calendarDay section - the default day gets highlighted and they can tab/shift-tab forwards and backwards through the days (or use the arrow keys as current). In addition to clicking on the day, the user can use the spacebar to select the day (just like a checkbox or radio button)

I will throw together an experimental PR

The reason it's focusing the entire thing is because you can use the arrow keys to choose dates, and shift/alt + arrow keys to switch month/year, so really it's for switching everything. I wouldn't really want three tabs to get to that mode

If there is just one tab focus for the entire picker, then we should consider removing the month & year dropdowns from the tabIndex and have a single tab focus that relies on the keyboard controls that you've defined. Do you think users will intuit that they can use the shift key to change the month/year controls while in the day selection zone?
This is the alternative approach I am lobbying for, which gives each of those controls separate focus, with natural arrow key navigation (ditched the tabbing individual day idea in the original description)
https://github.com/probablykasper/date-picker-svelte/pull/11/files

I did consider that, and I really like the idea of having just one tabbable element, but no I don't think it's intuitive enough (though I'd love to be wrong)

Can you take a look at the draft PR when you have a chance - I added a tabIndexed div for the calendarDay section and left the shit-functionality in place for that area of the widget. here is the the happy path for tabbing:

tab into the month dropdown - use arrows to select a month, you cannot change the year or day value from this focus
tab into the year dropdown - use arrows to select the year, you cannot change the month or day value from this focus
tab into the calendar day grid - use arrows to select the calendar day, power users can use the shift functionality that you built to also change the month and year (up/down for year, left/right for month)

^-- this should provide intuitive keyboard support for users who haven't encountered the widget before.
https://github.com/probablykasper/date-picker-svelte/pull/11/files

Still not sure about this, but sure I'll check it out

Thoughts on an outline like this?

This could be a potential way to go about it too:

I think I'll keep it the way it is. The two ideas above get confusing when you end up tabbing to a previous element

I noticed Google Calendar actually doesn't tab into the calendar at all. Maybe that would be a good option?


assign authorization group during report creation

fix #6109
@mbtools: Your suggestion for data persistance was good and worked fine, additionally we need this.
Please have a look, this is my first ever PR.

All create. Thank you!
Welcome to abapGit as a contributor 🎉


Bumped golangci-lint from v1.56.2 to v1.61.0

Description
Bumped golangci-lint from v1.56.2 to v1.61.0
Dependencies

n/a
Checklist
Sorry, just fixing local build errors.

now there's a bunch of lint errors to fix 😊

I'm working on fixing the issues, will update soon

/approve

/lgtm


fix(bundle-editor): remove @wordpress/edit-post

closes #2919

there are 17,775 issue results for @wordpress/edit-post in the gutenberg repo. https://github.com/WordPress/gutenberg/search?q=%40wordpress%2Fedit-post+is%3Aissue&type=issues
When I first wrote this it was a requirement in order to load registerBlockStyle and unregisterBlockStyle. Almost impossible to review if that is no longer the case.
I'll check and make sure this doesn't break that and what workarounds we might have if it does.

Related issue: https://github.com/WordPress/gutenberg/issues/9757
May have been fixed for us in: https://github.com/WordPress/gutenberg/pull/34299

@kellymears registerBlockStyle and unregisterBlockStyle are both working as expected with this PR, is there any reason why this can't be merged?
tbh i'm not super interested in waiting on gutenberg fixes to work their way into wp core if we can merge and fix this now

no, its good to merge!


Add cxx example for vtkPointInterpolator

This example is created based on the following topic on VTK Discourse forum:
https://discourse.vtk.org/t/interpolate-on-stl-plotting-scalar-field-on-50-points-on-an-70000-points-stl-surface/450/7
I did not add test data:
src/Testing/Data/InterpolatingOnSTL_final.stl
srt/Testing/Data/points.txt

Thanks, I'll add the data.


ISPN-11704 Change from FileSystemBind to Docker Volume in Server Test Suite

https://issues.redhat.com/browse/ISPN-11704

I am going to investigate the failures

There are 4 errors in org.infinispan.server that I don't see how they can be related to this PR:

persistence.ManagedConnectionOperations.testPutGetRemove
persistence.ManagedConnectionOperations.testTwoCachesSameCacheStore
hotrod.HotRodMergeTest.createBeforeClass
hotrod.HotRodMergeTest.testNewTopologySentAfterOverlappingMerge[DIST_SYNC, ALLOW_READ_WRITES]

For the 4 errors mentioned above can we fix in a different PR?

Merged and backported to 10.1. Thanks


github workflows: Add go-mod-tidy action

Add go-tidy-check to github worklow.
It will improve the project integrity by blocking PRs that cause not-committed go module changes.
Signed-off-by: Or Mergi<EMAIL_ADDRESS>

It seems that vmlatency checkup modules are not tidy https://github.com/kiagnose/kiagnose/actions/runs/3455511751/jobs/5767585557, I've posted a PR to fix it #214.

rebased

rebased

The katexochen/go-tidy-check github action is a quite new and doesn't have a large user base. I suggest to implement its functionality in the two automation/make.sh scripts using go mod tidy and git diff for example.

@orelmisan how can you tell how many users a github action has?
The fact that it's not popular doesn't mean its not good.

The katexochen/go-tidy-check github action is a quite new and doesn't have a large user base. I suggest to implement its functionality in the two automation/make.sh scripts using go mod tidy and git diff for example.

@orelmisan how can you tell how many users a github action has? The fact that it's not popular doesn't mean its not good.

I haven't said it is not good.
I'm afraid that we use it and it won't be maintained for a long time.

I haven't said it is not good. I'm afraid that we use it and it won't be maintained for a long time.

Well, if it will breaks we can always use somthing else.
When I searched for go-mod-tidy action, this one seemed the most reliable it also tested.


docs(website): Add techharvesting to showcase

Adding to showcase
Added https://techharvesting.in to the docusaurus showcase.
Have you read the Contributing Guidelines on pull requests?
Yes
Files changed:
website/src/data/showcase/techharvesting.png [ Image for showcase ]
website/src/data/users.tsx [ Added site ]

Thanks 👍


DVC pull does not work; failed caches

Please see the screenshot below:

Migrated from google drive to google cloud. This should resolve the missing cache files issue


How to add a border-radius to card element

To the shadow, and the container simultaneously add border-radius

@userbq201 currently there is no any props to support this. But you can wrap the <Card/> in a View and set border to this View. You can also override the default margin provided to the <Card />
Sample code
import React, { Component } from "react";
import { Container, Header, Title, Content, Button, Icon, Card, CardItem, Text, Body, Left, Right, IconNB, View } from "native-base";
export default class App extends Component {
  render() {
    return (
      <Container>
        <Header>
          <Left>
            <Button transparent>
              <Icon name="arrow-back" />
            </Button>
          </Left>
          <Body>
            <Title>Header</Title>
          </Body>
          <Right />
        </Header>
        <Content padder>
          <View style={{ borderWidth: 1, borderColor: "grey" }}>
            <Card style={{ marginTop: 0, marginBottom: 0, marginLeft: 0, marginRight: 0 }}>
              <CardItem header bordered >
                <Text>NativeBase</Text>
              </CardItem>
              <CardItem bordered>
                <Body>
                  <Text>
                    NativeBase is a free and open source framework that enable
                    developers to build
                    high-quality mobile apps using React Native iOS and Android
                    apps
                    with a fusion of ES6.
                </Text>
                </Body>
              </CardItem>
              <CardItem bordered>
                <Body>
                  <Text>
                    NativeBase builds a layer on top of React Native that provides
                    you with
                    basic set of components for mobile application development.
                </Text>
                </Body>
              </CardItem>
              <CardItem bordered>
                <Body>
                  <Text>
                    Get on the mobile fast track with NativeBase, the
                    fastest-growing platform
                    and tool set for iOS and Android development.
                </Text>
                </Body>
              </CardItem>
              <CardItem footer bordered>
                <Text>GeekyAnts</Text>
              </CardItem>
            </Card>
          </View>
        </Content>
      </Container>
    );
  }
}

@akhil-geekyants border-radius

@userbq201 try setting borderRadius to both Card and the top borders of top cardItem and bottom borders of bottom CardItem
Code
import React, { Component } from "react";
import { Container, Header, Title, Content, Button, Icon, Card, CardItem, Text, Body, Left, Right, IconNB, View } from "native-base";
export default class App extends Component {
  render() {
    return (
      <Container>
        <Header>
          <Left>
            <Button transparent>
              <Icon name="arrow-back" />
            </Button>
          </Left>
          <Body>
            <Title>Header</Title>
          </Body>
          <Right />
        </Header>
        <Content padder>
          <Card style={{ borderRadius: 8 }}>
            <CardItem header bordered style={{ borderTopLeftRadius: 8, borderTopRightRadius: 8 }}>
              <Text>NativeBase</Text>
            </CardItem>
            <CardItem bordered>
              <Body>
                <Text>
                  NativeBase is a free and open source framework that enable
                  developers to build
                  high-quality mobile apps using React Native iOS and Android
                  apps
                  with a fusion of ES6.
                </Text>
              </Body>
            </CardItem>
            <CardItem bordered>
              <Body>
                <Text>
                  NativeBase builds a layer on top of React Native that provides
                  you with
                  basic set of components for mobile application development.
                </Text>
              </Body>
            </CardItem>
            <CardItem bordered>
              <Body>
                <Text>
                  Get on the mobile fast track with NativeBase, the
                  fastest-growing platform
                  and tool set for iOS and Android development.
                </Text>
              </Body>
            </CardItem>
            <CardItem footer bordered style={{ borderBottomLeftRadius: 8, borderBottomRightRadius: 8 }}>
              <Text>GeekyAnts</Text>
            </CardItem>
          </Card>
        </Content>
      </Container >
    );
  }
}

@akhil-geekyants that's a work-around, but it would still be nice to have an official property on Card that can override the default radius, propagating the values to sub-components. I would suggest reopening this ticket.

Released with v2.5.2

I have added the border radius as given below.

But did not work for me. I use version 2.6.0

@mirzavu The correct way is:
<Card borderRadius={5}>


Resolved the conflits issue2043

Related Issue
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]
Fixes:  #2043
Description
There were some conflicts in the index file I have resolved the issues and improved the navbar alignment
#2043
Type of PR

[x] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes. Make sure to attach before & after screenshots in your PR.]
Checklist:

[x] I have made this change from my own.
[x] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

@anuragverma108 kindly check this!!

please write in detail what are the issue you fixed and the change you made with a ss

@JagjeetChauhan  there are some merge conflicts in the following file first resolve those and push your code again.
assets/html/login.html
index.html