Use hass state for tests rather than direct object

Description:
This is an initial step to try to address comments in #29335 about using hass core state and functions to test platform behaviour. Instead of doing internal unit test, we do integration tests with hass core.
Related issue (if applicable): #29335
Checklist:

[X] The code change is tested and works locally.
[X] Local tests pass with tox. Your PR cannot be merged unless tests pass
[X] There is no commented out code in this PR.
[X] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[ ] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[X] Tests have been added to verify that the new code works.

@MartinHjelmare i've resolved the reading part of the object. Getting the core setup to work was messy. Was hard to get things mocked properly. I'll keep looking at thou. This might go in before if you think it looks alright.

Are you looking at how heos does it? Those tests are good.

This is a good step in the right direction. Might as well get this in first. I will look at changing it to actually setup the component later. With this it at least verifies proper Hass state instead of just internal unit.


la-go-live

Docs Build status updates of commit 7d39a02:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/TOC.yml
:white_check_mark:Succeeded
View

msteams-platform/bots/design/bots.md
:white_check_mark:Succeeded
View

msteams-platform/concepts/building-an-app.md
:white_check_mark:Succeeded
View

msteams-platform/index.yml
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
:white_check_mark:Succeeded
View

msteams-platform/tabs/how-to/create-tab-pages/content-page.md
:white_check_mark:Succeeded
View

msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


[For #3649] Add scenario test of RetryState

Which issue(s) this PR fixes:
This is about #3609.
Add scenario tests for #3649.
What this PR does / why we need it:
RetryStatement behavior is complicated, so scenario tests may be useful.
Docs Changes:
None.
Release Note:
None.

Thanks!


Lot's of promise not handled within 1 second when shutting down VS Code

I see a lot of these exceptions now when shutting down VS Code with a debugger attached to the extension host:
rejected promise not handled within 1 second: Canceled: Canceled
/home/dirkb/Projects/mseng/VSCode/vscode/out/bootstrap-fork.js:166
stack trace: Canceled: Canceled
	at Object.canceled (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/base/common/errors.js:109:23)
	at RPCProtocol._remoteCall (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/workbench/services/extensions/common/rpcProtocol.js:352:46)
	at Proxy.<anonymous> (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/workbench/services/extensions/common/rpcProtocol.js:150:41)
	at _.<anonymous> (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/workbench/api/common/extHostCommands.js:99:37)
	at _.dispose (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/workbench/api/common/extHostTypes.js:56:78)
	at Object.dispose (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/base/common/lifecycle.js:77:27)
	at ExtHostExtensionService._deactivate (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/workbench/api/common/extHostExtensionService.js:183:29)
	at /home/dirkb/Projects/mseng/VSCode/vscode/out/vs/workbench/api/common/extHostExtensionService.js:102:33
	at Array.map (<anonymous>)
	at ExtHostExtensionService.deactivateAll (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/workbench/api/common/extHostExtensionService.js:101:51)
	at ExtensionHostMain.terminate (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/workbench/services/extensions/common/extensionHostMain.js:82:66)
	at onTerminate (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/workbench/services/extensions/node/extensionHostProcessSetup.js:279:53)
	at Socket.<anonymous> (/home/dirkb/Projects/mseng/VSCode/vscode/out/vs/workbench/services/extensions/node/extensionHostProcessSetup.js:131:21)
	at Socket.emit (events.js:327:22)
	at Pipe.<anonymous> (net.js:673:12)
	at Pipe.callbackTrampoline (internal/async_hooks.js:131:14)

I debugged it a little and this happens since commands get un-registered during shutdown but the RPC communication to the renderer is already closed.

@dbaeumer I can't reproduce this anymore. Before heading out I saw a change about reducing logging of Cancellation errors, but I can't find it right now:


Word syntax color scheme

Like your favorite code editor - highlight different words with different colors depending on their meaning / type / structural part of a sentence.  Give users the ability to choose / tweak / share color schemes.

old repo - clearing issues


add screenshots of dashboard operations for docs of some plugins

NOTE: Please read the Contributing.md guidelines before submitting your patch:
https://github.com/iresty/apisix/blob/master/Contributing.md#how-to-add-a-new-feature-or-change-an-existing-one
Summary
add screenshots of dashboard operations for docs of some plugins

@fc13240 thx for your great job ^_^

@fc13240 please take a look above comments. thx

merged first, I'll fix some small problem later.


Allow module to be passed directly into plugins / bypass module hooks

Is your feature request related to a problem? Please describe

I use esbuild to create a JS bundle before deploying the bundle into a Docker container. This helps to keep build times and artifact sizes to a minimum. This results in no node_modules directory at the location where my nodejs process is running.
As a result, all instrumentations that use the (for example) new InstrumentationNodeModuleDefinition will not work, as there is no interaction with the module system at runtime.
I suspect that this will also be true for the new ESM support which is yet to land: https://github.com/open-telemetry/opentelemetry-js/pull/2640
Describe the solution you'd like to see

Allow the module to be passed directly into the plugin constructor, e.g.
new PgInstrumentation({
  moduleExports: require('pg')
})

Describe alternatives you've considered

Exclude all node_modules from bundling step, and install them inside the docker container, however this results in significantly higher artefact sizes due to the presence of node_modules
Additional context

I think its worth to be added within the base instrumentation class, moving to the core repo


Password on redis in z-nomp

How can I make password on redis in z-nomp
example:
   "host": "<IP_ADDRESS>",
    "port": 6379,
    "db": 0,
    "password": "password_db"

To connect multiple servers to a single database

There's no password support with redis, will be an new feature though


Move a copy of index.md to #openseeds

The content of the index.md will be probably different. So it is probably better to close the issue here and open one in the Open Seeds GitHub repo about the possible content of the index.md file there. What do you think?

No longer applies under the new single-website plan


word space fails if x and y properties are labelled differently

as reported by Emily
I see this in TopicWordSpaceContainer.js
<WordSpace
          words={words.slice(0, 50)}
          domId={WORD_SPACE_DOM_ID}
          **xProperty="w2v_x"** . this should be google_w2v_x according to the data fetched
          yProperty="w2v_y"
          noDataMsg={localMessages.noTopicW2VData}
        />

from rahul - the issue is in the back end - why data tagged with google properties is returned


make ruby gem.

I send pull request about #3  .

Looks good. But do you know any how to only work on Mac?

Oh... I don't know.
I think that check platform runtime used RUBY_PLATFORM.


pre-commit: PR114262

Link: https://github.com/llvm/llvm-project/pull/114262
Requested by: @michaelmaitland

/close


Highlight that this is for JSON:API spec only

The link was already there but I skipped over it on my first read.
This update makes the fact more prominent.
I was testing to see if we wanted to move from AM Serializers to
fast_jsonapi but our API is not written according to the JSON:API spec
so, after converting one serializer over, I learned that this would not work for me.
This update might save someone in my position the ~30 mins or so it
takes to bundle and write a serializer in the future. :)

I like this 👍 Much of the queries we get in Issues are related to this, because of unawareness.

I spent a lot of hours searching for a solution to migrate to using fast_jsonapi and keep response format like AMS. Thank you!


Delete .github/workflows/top-ranked-issues.yml

Currently, the GH actions also run on your forked version of pvlib. I've introduced an if statement to avoid this action running on forked versions in the future here: https://github.com/pvlib/pvlib-python/pull/2269
However, currently the action fails on your fork every 10 minutes and I get a nice email everytime that happens because I was the last person to push changes to that file 😄

@kurt-rhee please Kurt, for my sanity

@AdamRJensen ah that is hilarious.  I merged your changes.


Get the number of unsealed and unsealing file count

For controlling the rate of unsealing, we need an endpoint like below
http://<IP_ADDRESS>:5000/catalogue/count/?transfer_status=NOT_STARTED&sealed_State=unsealing
This should return the number of files that satisfy the filtering criteria.

Thanks, Dimuthu, we'll look into this...

@DImuthuUpe The endpoint needed is added to pushed into the feature/cold-storage-files-implementation branch


OOP school library: decorate a class

This pr consists of:

[ ] I created a class Nameable which Implements a method called correct_name that will raise a NotImplementedError.
[ ] Turned my Person class to Nameable
[ ] Prepared base Decorator
[ ] Prepared CapitalizeDecorator and TrimmerDecorator

Thank you for reviewing my Project

Hi @Irirwanirira
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that does not have a descriptive readme, Kindly use the updated version  of the microverse readme template for your readme
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification @prolajumokeoni.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


compute better filenames for returned rdf

As per issue https://github.com/idn-au/catalogue-data/issues/35 The
returned RDF files did not have appropriate filenames.
This PR adds a filename where possible to the returned RDF via the Content-Disposition header.

Looks fine - could you add minimal tests to check the header comes back as expected for an object + listing

Minimal tests added.


nslookup fails inside a container using the default DNS server

Describe the bug
nslookup fails inside a container.
To Reproduce
docker run -it --rm mcr.microsoft.com/windows/servercore:ltsc2022
Microsoft Windows [Version 10.0.20348.587]
(c) Microsoft Corporation. All rights reserved.

C:\>nslookup www.google.com
Server:  UnKnown
Address:  <IP_ADDRESS>

C:\>nslookup www.google.com <IP_ADDRESS>
Server:  dns.google
Address:  <IP_ADDRESS>

Non-authoritative answer:
Name:    www.google.com
Addresses:  2607:f8b0:4005:80e::2004
          <IP_ADDRESS>
*** UnKnown can't find www.google.com: Server failed

Expected behavior
nslookup should work against the default DNS server.
Configuration:

Edition: Windows 11 21H2
Base Image being used: mcr.microsoft.com/windows/servercore:ltsc2022
Container engine: docker
Container Engine version:

Client:
Cloud integration: v1.0.22
Version:           20.10.12
API version:       1.41
Go version:        go1.16.12
Git commit:        e91ed57
Built:             Mon Dec 13 11:44:07 2021
OS/Arch:           windows/amd64
Context:           default
Experimental:      true

Server: Docker Desktop 4.5.1 (74721)
Engine:
 Version:          20.10.12
 API version:      1.41 (minimum version 1.24)
 Go version:       go1.16.12
 Git commit:       459d0df
 Built:            Mon Dec 13 11:42:13 2021
 OS/Arch:          windows/amd64
 Experimental:     false

Additional context

Restarting the Docker daemon does not resolve the issue.

There are a few articles about how Windows nslookup fails if the primary DNS fails, even when the second DNS is working fine:
https://defaultroot.com/index.php/2019/10/08/nslookup-default-behaviour-during-failover-of-primary-dns/#:~:text=Windows nslookup will always use the primary DNS,in the nslookup command%3A So all is well!
https://social.technet.microsoft.com/Forums/en-US/b1977a50-c482-4daf-b113-63e87b9430d3/secondary-dns-does-not-resolve-160-the-nslookup-requests-windows-customer-160-when-the-primary
The second article notes that ping is a better basic test of DNS.
@doctorpangloss Just so that we can understand severity, is this a blocking issue for you or are you noting an unexpected behavior that is not blocking?   Thanks!

Sounds good if this is a general Windows issue...

I am reopening this because it seems people get burned by it literally all the time

I'm having this issue since the last Windows Update to 10.0.22621.1105.

does Resolve-DnsName work?  My understanding is that Resolve-DnsName is the preferred tool for DNS lookups according to the networking team due to a difference in resolvers between the two.  We call out using Resolve-DnsName in the kubernetes docs: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-windows

On Windows, there are multiple DNS resolvers that can be used. As these come with slightly different behaviors, using the Resolve-DNSName powershell cmdlet for name query resolutions is recommended.

unfortunately not

Just so that we can understand severity, is this a blocking issue for you or are you noting an unexpected behavior that is not blocking? Thanks!

It's really hard to say. There's a real issue here. For example would a golang application use the same mechanism as nslookup or Resolve-DNSName?

We've the same behaviour in our Kubernetes Environment with Windows Nodes.
nslookup doesn't work, Resolve-DnsName works without any problem.

We are also facing name-resolution issues since approximately one week ago. I think these two issues are all related to the same https://github.com/microsoft/Windows-Containers/issues/386 and https://github.com/microsoft/Windows-Containers/issues/420

The primary dns server is defaulting to the default gateway, by any chance did you intend to do that? However a work around that will allow this to work is:
Create a new docker nat network:
docker network create -d "nat" --subnet "<IP_ADDRESS>/24" -o com.docker.network.windowsshim.disable_gatewaydns=true natgw
docker run -it --rm --net=natgw mcr.microsoft.com/windows/servercore:ltsc2022
You could possibly try deleting the nat network and creating it with the options above as well. Let me know if this works!

Unfortunately the approach of disabling the default gateway resolves the issue with resolving DNS queries however it breaks the internal docker DNS that resolves the containers ip by the container name.

    : No

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  .   : Yes
   Autoconfiguration Enabled . . . .  : Disabled

Ping <IP_ADDRESS> => FAIL
Ping <IP_ADDRESS> => FAIL
Ping <IP_ADDRESS> => SUCCESS
nslookup using <IP_ADDRESS> => FAIL
nslookup using <IP_ADDRESS> => FAIL
nslookup using <IP_ADDRESS> => FAIL
I tried:

Reset docker desktop config
Reset docker desktop image cache
Prune docker desktop networks
Reset windows networking
Set dns to <IP_ADDRESS> in the dockerd config: https://docs.docker.com/engine/reference/commandline/dockerd/#on-windows => partially works, <IP_ADDRESS>  is replaced by <IP_ADDRESS> and some programs can do successful DNS lookups.

Facing the same issue, any updates here? I have no workaround and for me the issue appeared out of nowhere.

A lot of this is mentioned in bits and pieces above, but here is what's going on, which I confirmed in our lab:

The Windows implementation of nslookup uses its own internal implementation of the DNS protocol and will only query one DNS server.  By default this is the first DNS server in the list.  This differs from nslookup on Linux which will retry with other servers in the resolv.conf file.

For containers the first DNS server in the list and the one used by nslookup by default is the Docker DNS resolver.  This is required in order to resolve container IPs by their name.  Unfortunately due to the Docker DNS issue Zappa linked up above the Docker resolver does not currently forward requests to an external DNS server.  This is in the process of being fixed in the Moby repo.

Given the above, our general recommendation is to use the Resolve-DnsName cmdlet instead.  Resolve-DnsName uses the built-in DNS client for the OS which will retry with all of the available DNS servers and unlike nslookup also works with configurations that use newer DNS technologies such as DNSSEC, DNS-over-HTTP (DoH) and DNS-over-TLS (DoT).  This is the best way to determine if DNS is functioning within the container.  Any application that relies on Windows to do the DNS lookup will get the same behavior as Resolv-DNSName.
If you really want to use nslookup you can, but be aware of the above limitations.
You may also be having DNS connection issues outside of the container host. To narrow that down, use pktmon to trace the packet to see if it leaves the container host in the correct format.  In my environment <IP_ADDRESS> is blocked somewhere on the network.  I can confirm it is not an issue with the Windows Container host by doing the following:
On the container host:
   PS C:\> pktmon filter remove
   PS C:\> pktmon filter add -t tcp -p 53
   PS C:\> pktmon filter add -t udp -p 53
   PS C:\> pktmon start --capture

In the container:
   PS C:\> nslookup bing.com <IP_ADDRESS>
   DNS request timed out.
       timeout was 2 seconds.
   Server:  UnKnown
   Address:  <IP_ADDRESS>

   DNS request timed out.
       timeout was 2 seconds.
   DNS request timed out.
       timeout was 2 seconds.
   DNS request timed out.
       timeout was 2 seconds.
   DNS request timed out.
       timeout was 2 seconds.
   *** Request to UnKnown timed-out

Back on the container host:
   PS C:\> pktmon stop
   PS C:\> pktmon etl2txt PktMon.etl
   PS C:\> notepad pktmon.txt

In notepad I can look at the Appearance # to find the last appearance of the DNS request packet, check which component it was last seen on, and confirm that the packet looks correct:
   [02]0000.0000::2024-03-20 14:13:45.720095500 [Microsoft-Windows-PktMon] PktGroupId<PHONE_NUMBER>10677, PktNumber 1, Appearance 14, Direction Tx , Type Ethernet , Component 6, Edge 1, Filter 2, OriginalSize 80, LoggedSize 80
   	00-15-5D-C8-8E-16 > E8-B5-D0-2C-24-40, ethertype IPv4 (0x0800), length 80: <IP_ADDRESS>.59312 > <IP_ADDRESS>.53: 1+ PTR? <IP_ADDRESS>.in-addr.arpa. (38)

Further down in the file I can see that Component 6 is the ethernet adapter:
   [00]1D7C.0AFC::2024-03-20 14:13:59.067489700 [Microsoft-Windows-PktMon] Component 6, Type Miniport , Name netvsc.sys, Microsoft Hyper-V Network Adapter #2
   [00]1D7C.0AFC::2024-03-20 14:13:59.067489900 [Microsoft-Windows-PktMon] Property: Component 6, PhysAddress  = 0x00155DC88E16
   [00]1D7C.0AFC::2024-03-20 14:13:59.067490200 [Microsoft-Windows-PktMon] Property: Component 6, NdisMedium  = Ethernet

Whenever the last appearance is the ethernet adapter its safe to assume the packet left the machine.  I verified that the IP addresses are correct, and that the destination MAC address is the physical ethernet switch.  Since I never see a response in the pktmon log I know that I never received a reply on the container host.
I will leave this issue open for a few days longer, if anyone can show a pktmon log that suggests the container host dropped the packet incorrectly (not including the Moby issue above), I can look into that.  If not, I'll close this issue.

It makes sense to me if there were documentation somewhere that nslookup should simply not be used on Windows.

@doctorpangloss Thanks for the suggestion, I've submitted a PR to the container networking docs with this information.


serializer: updated subjects and affiliations links in dcat

:heart: Thank you for your contribution!
Description
Included subject identifiers in datacite schema to extract the URI
Partially fixes: https://github.com/inveniosoftware/invenio-rdm-records/issues/1889
Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:

[ ] I'm aware of the code of conduct.
[ ] I've created logical separate commits and followed the commit message format.
[ ] I've added relevant test cases.
[ ] I've added relevant documentation.
[ ] I've marked translation strings.
[ ] I've identified the copyright holder(s) and updated copyright headers for touched files (>15 lines contributions).
[ ] I've NOT included third-party code (copy/pasted source code or new dependencies).

If you have added third-party code (copy/pasted or new dependencies), please reach out to an architect.

Frontend

[ ] I've followed the CSS/JS and React guidelines.
[ ] I've followed the web accessibility guidelines.
[ ] I've followed the user interface guidelines.

Reminder
By using GitHub, you have already agreed to the GitHub’s Terms of Service including that:

You license your contribution under the same terms as the current repository’s license.
You agree that you have the right to license your contribution under the current repository’s license.

I think when https://github.com/inveniosoftware/invenio-vocabularies/pull/446 is merged and released, tests here will start failing. Can you have a look at running all the tests here locally with the vocabularies PR checked locally?


Error:  Cannot read properties of undefined reading getPortSelector

Snippet code to reproduce
Error
Render Error: Cannot read properties of undefined (reading 'getPortSelector')

This is a shitty error message when a port selector can't be found (in this case, USBC.GND was missing)


Update to latest SPIRV-Cross to fix MSL compilation failures on macOS…

… 10.14 Mojave Beta (https://github.com/KhronosGroup/SPIRV-Cross/issues/603).  Fixes Dota 2 on Mojave.
Also update MoltenVK to 1.0.11 so that VkPipelineCache UUID changes and shaders get regenerated by applications.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Dan Ginsburg seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


use queries from scholia as a testsuite

https://github.com/WDscholia/scholia/tree/master/scholia/app/templates contains 331 queries being used in the
https://scholia.toolforge.org/
project.
An example is
https://github.com/WDscholia/scholia/blob/master/scholia/app/templates/event-series_events.sparql
PREFIX target: <http://www.wikidata.org/entity/{{ q }}>

# title: List of event and proceedings for a specific event series
SELECT DISTINCT
  (SAMPLE(?years) AS ?year)
  (SAMPLE(?short_names) AS ?short_name)
  ?event ?eventLabel (CONCAT("/event/", SUBSTR(STR(?event), 32)) AS ?eventUrl)
  ?proceedings ?proceedingsLabel (CONCAT("/venue/", SUBSTR(STR(?proceedings), 32)) AS ?proceedingsUrl)
WHERE {
  {
    ?event wdt:P179 | wdt:P31 target: .
    OPTIONAL {
      ?event wdt:P585 | wdt:P580 ?datetime .
      BIND(YEAR(?datetime) AS ?years)
    }
    OPTIONAL {
      ?event wdt:P1813 ?short_names
    }
    OPTIONAL {
      ?proceedings wdt:P4745 ?event
    }
  }
  UNION
  {
    # proceedings even if the event is not there!!!
    ?proceedings ( wdt:P179 / wdt:P4745 ) target: .
    OPTIONAL {
      ?proceedings wdt:P577 ?datetime .
      BIND(YEAR(?datetime) AS ?years)
    }
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,da,de,es,fr,jp,nl,no,ru,sv,zh". }
  }
GROUP BY ?event ?year ?eventLabel ?proceedings ?proceedingsLabel
ORDER BY DESC(?year)

these examples use templating so to try them out a line such as PREFIX target: <http://www.wikidata.org/entity/{{ q }}> needs to
be filled with a concrete Q-Identifier of a fitting entity. In this case e.g. #858 has the filled example as:
https://www.wikidata.org/wiki/Q105698448
which has a scholia profile at:
https://scholia.toolforge.org/event-series/Q105698448
https://qlever.cs.uni-freiburg.de/wikidata/U8lVrR
doesn't work and it would be good to test systematically which other queries work and do not work.

Here are some more queries:

https://cr.bitplan.com/index.php/List_of_Queries

The "named query" yaml file that may be used with pyLodStorage is available at:
https://github.com/WolfgangFahl/pyCEURmake/blob/main/resources/queries.yaml


Feature request: Named snapshots

Snapshot tests are badass! I have been using them in end to end style tests where i trigger an action then call into a few different global jest mock functions and assert the call args using expect(...).toMatchSnapshot(). Now that i have a few of these with similar data in a single it it would be great to be able to differentiate them by some way other than the index.
I was wondering if we could add something like:
it('does foo and bar', () => {
  expect(foo).toMatchSnapshot('foo');
  expect(bar).toMatchSnapshot('bar');
});

// Snapshot output:
exports[`does foo and bar [foo]`] = `...`;
exports[`does foo and bar [bar]`] = `...`;

For now i have been doing:
it('does foo and bar', () => {
  expect({foo, bar}).toMatchSnapshot();
});

// Snapshot output:
exports[`does foo and bar 1`] = `Object {foo: ..., bar: ...}`;

This is fine for simple things but it's making it hard to refactor common expectations out into helpers while still understanding what should be in the snapshot output when i change something.
Thoughts?

I still haven't made up my mind about what toMatchSnapshot should take as an argument. @joesavona asked about custom formatters and that's what the argument could be used for as well.

An object maybe?  expect(foo).toMatchSnapshot({name: 'foo', formatter: () => ''});, I'm personally not concerned if it's verbose since i feel like the main times when would want this you would also be fine with writing a custom matcher: expect(cache).toMatchCacheSnapshot(). It seems like the same would be true with formatters, expect(query).toMatchQuerySnapshot(), they are not really one off usecases.

I'd really like this, because I like having many .toMatchSnapshot() calls in the same test. At the moment, the snapshot names aren't terribly descriptive (for tricky reasons, it would be awkward to use describe blocks, and even then, there'd be an unnecessary " 1" tacked on).
If I have time, I can write a PR for this, but would like to avoid doing work that's likely to be rejected. Lemme know, @cpojer! .toMatchSnapshot() has been really nice so far, aside from the lack of names and the lack of control over where to place the snapshot file (I'd love to have it be adjacent to the test file, but that's not as annoying as this issue is).

I'm interested very much in this too and i would be happy to help if needed

I'm happy to support both:
toMatchSnapshot("string-name");
toMatchSnapshot({name: "string-name"});

the simple case will be to name a snapshot and we'll have option value to add more fields as options in the future. Generally I'm not a big fan of accepting differently typed arguments but this seems like a special case where we should allow it :)
Feel free to send a PR including tests. We have snapshot integration tests in integration_tests as well.

Hi!  I did some digging and came across this thread to request the exact same thing, namely: toMatchSnapshot("string-name").
I'd imagine that this can be done in a BC manner.
I'm happy to take a stab at a PR if no one else minds :)

Haha, spoke too soon ;)
test('does not accept arguments', () => {
  const filename = 'does-not-accept-arguments-test.js';
  const template = makeTemplate(
    `test('does not accept arguments', () => {
      expect(true).toMatchSnapshot('foobar');
    });
    `,
  );

  {
    makeTests(TESTS_DIR, {[filename]: template()});
    const {stderr, status} = runJest(DIR, [filename]);
    expect(stderr).toMatch(
      'Matcher does not accept any arguments.',
    );
    expect(status).toBe(1);
  }
});

@ericclemmons I'm not working on a PR, so if you want to tackle it, go for it!

@jlfwong Almost got it!

Checkity check out #2094.  This is a new codebase to me, so :shrug: :)

This will be in the next Jest release thanks to @ericclemmons. We started with the most simple API of passing a string to toMatchSnapshot.


chore: symlink docs/CONTRIBUTING.md on repo root

Hi, I have added the CONTRIBUTING.md file to the root of the project. Solving the issue: #693

Could you please use a relative symlink instead of duplicating the docs/CONTRIBUTING.md file?
This will prevent these files from going outdated.

Hello @arboleya, I have a question, should I add the link in the same way that it is in the PR that you pointed out to me? Inside the packages/fuels/package.json and then in the files field?
Thank you.

No, I am referring to symlinks.
For example:
$ cd fuels-ts
$ ln -s ./docs/CONTRIBUTING.md ./CONTRIBUTING.md

Sidenote: Remember to add an empty changeset to your PR.

Hello, Here is the link, if there is something wrong, feel free to tell me!


Setting to conceal score and solution time

A user writes:

I enjoyed it very much until the time based scoring was added. This changed the game from a relaxing way to kill time and relieve stress. Now my stress level increases EVERY time I try to play.
Can we at least have the option to remove time as a factor in scoring?

Resolved in 064b20bbc567a3691da0e8fe616b02763c5b36f1.


Profile backup

Description of the new feature / enhancement
Personal settings backup and export
Scenario when this would be used?
when i use other pc
Supporting information
No response

/dup #3381


Implement Hydro Location

To support linking observations to a nexus, this should be done via a HydroLocation association realizing the abstract nexus.
The relevant HY Features concept is represented here.
The nexus itself should remain a conceptual, topological feature, and the connection to observation data is made via the hydro location.  This would invalidate the Observation_Point subclass of nexus, and migrate the functionality to a (most likely) sub type of hydro location.

I can make this change by making a Hydro_Location class subclass of Nexus. Are you saying to make nexus an abstract base class?

@jdmattern-noaa I'm working up this implementation now.


API tool is not invoked if neither build generated a Build Scan

If both builds fail without publishing a Build Scan, we should not call the API tool. Calling the API tool without Build Scan links generates an error message not relevant or actionable to the user and clutters the console.

Addressed by #353.
Closing this issue.


feat(string): implement string prefix and suffix assertion

Issue #153
Hi @gavv kindly help to review this PR and let me know if anything to be revised. Thank you

Coverage decreased (-0.2%) to 92.208% when pulling 7e6e500c0f13faee0205a649ea507773add7f356 on edwinwijaya94:f_edwin_string_prefix_suffix into f7e16e005c4254aff1b19d4a9ac8763a42ba0be7 on gavv:master.


enforce aliases field is empty when creating teams or services

Issues
When creating an opslevel_service or opslevel_team with aliases = ["value"] set, we have this problem:

A team is created and OpsLevel assigns the team a default alias

If users set aliases = [], aliases = null or omit this field, things work smoothly 👍
If users set aliases = ["my_alias"] and the default alias is not in included, the team is created, but the apply fails and an error explaining "default_alias" is missing is returned.

The user updates according to error: aliases = ["my_alias", "default_alias"], same thing happens but now they need to add "default_alias_2" and there is a duplicate team created.

Same applies to services

Solution: only add aliases during update operations
Changelog

[X] List your changes here
[X] Make a changie entry

Tophatting
With this Terraform config:
resource "opslevel_team" "example" {
  name    = "Test Team One"
  aliases = ["fancy_team"]

  member {
    email =<EMAIL_ADDRESS>    role  = "contributor"
  }
}

resource "opslevel_service" "example" {
  aliases = ["fancy_service"]
  name    = "Test Service One"
}

Try to create new team and service. Fails because aliases is set.
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # opslevel_service.example will be created
  + resource "opslevel_service" "example" {
      + aliases = [
          + "fancy_service",
        ]
      + id      = (known after apply)
      + name    = "Test Service One"
    }

  # opslevel_team.example will be created
  + resource "opslevel_team" "example" {
      + aliases = [
          + "fancy_team",
        ]
      + id      = (known after apply)
      + name    = "Test Team One"

      + member {
          + email =<EMAIL_ADDRESS>          + role  = "contributor"
        }
    }

Plan: 2 to add, 0 to change, 0 to destroy.
opslevel_team.example: Creating...
opslevel_service.example: Creating...
╷
│ Error: Config error
│
│   with opslevel_team.example,
│   on main.tf line 1, in resource "opslevel_team" "example":
│    1: resource "opslevel_team" "example" {
│
│ Setting 'aliases' field is only supported for existing teams. Please create team first, then update aliases on next 'terraform apply'
╵
╷
│ Error: Config error
│
│   with opslevel_service.example,
│   on main.tf line 11, in resource "opslevel_service" "example":
│   11: resource "opslevel_service" "example" {
│
│ Setting 'aliases' field is only supported for existing services. Please create service first, then update aliases on next 'terraform apply'

Update config, set aliases = [] for team and service
resource "opslevel_team" "example" {
  name    = "Test Team One"
  aliases = []

  member {
    email =<EMAIL_ADDRESS>    role  = "contributor"
  }
}

resource "opslevel_service" "example" {
  aliases = []
  name    = "Test Service One"
}

Create team and service, terraform apply
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # opslevel_service.example will be created
  + resource "opslevel_service" "example" {
      + aliases = []
      + id      = (known after apply)
      + name    = "Test Service One"
    }

  # opslevel_team.example will be created
  + resource "opslevel_team" "example" {
      + aliases = []
      + id      = (known after apply)
      + name    = "Test Team One"

      + member {
          + email =<EMAIL_ADDRESS>          + role  = "contributor"
        }
    }

Plan: 2 to add, 0 to change, 0 to destroy.
opslevel_team.example: Creating...
opslevel_service.example: Creating...
opslevel_team.example: Creation complete after 0s [id=Z2lkOi8vb3BzbGV2ZWwvVGVhbS8xOTU1NQ]
opslevel_service.example: Creation complete after 0s [id=Z2lkOi8vb3BzbGV2ZWwvU2VydmljZS8xMjU4MjM]

Apply complete! Resources: 2 added, 0 changed, 0 destroyed.

Update config, set values in aliases for team and service
resource "opslevel_team" "example" {
  name    = "Test Team One"
  aliases = ["fancy_team"]

  member {
    email =<EMAIL_ADDRESS>    role  = "contributor"
  }
}

resource "opslevel_service" "example" {
  aliases = ["fancy_service"]
  name    = "Test Service One"
}

Try update terraform apply. Fails because default aliases missing - displayed in error message
opslevel_team.example: Refreshing state... [id=Z2lkOi8vb3BzbGV2ZWwvVGVhbS8xOTU1NQ]
opslevel_service.example: Refreshing state... [id=Z2lkOi8vb3BzbGV2ZWwvU2VydmljZS8xMjU4MjM]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # opslevel_service.example will be updated in-place
  ~ resource "opslevel_service" "example" {
      ~ aliases = [
          + "fancy_service",
        ]
        id      = "Z2lkOi8vb3BzbGV2ZWwvU2VydmljZS8xMjU4MjM"
        name    = "Test Service One"
    }

  # opslevel_team.example will be updated in-place
  ~ resource "opslevel_team" "example" {
      ~ aliases = [
          + "fancy_team",
        ]
        id      = "Z2lkOi8vb3BzbGV2ZWwvVGVhbS8xOTU1NQ"
        name    = "Test Team One"

        # (1 unchanged block hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.
opslevel_team.example: Modifying... [id=Z2lkOi8vb3BzbGV2ZWwvVGVhbS8xOTU1NQ]
opslevel_service.example: Modifying... [id=Z2lkOi8vb3BzbGV2ZWwvU2VydmljZS8xMjU4MjM]
╷
│ Warning: opslevel client error
│
│   with opslevel_team.example,
│   on main.tf line 1, in resource "opslevel_team" "example":
│    1: resource "opslevel_team" "example" {
│
│ warning while reconciling team aliases: '[fancy_team]'
│ OpsLevel API Errors:
│       - 'alias' slug is locked, it cannot be deleted
│
│
│ (and one more similar warning elsewhere)
╵
╷
│ Error: Config error
│
│   with opslevel_team.example,
│   on main.tf line 1, in resource "opslevel_team" "example":
│    1: resource "opslevel_team" "example" {
│
│ default aliases from API need to be added to config: [test_team_one_2]
╵
╷
│ Error: Config error
│
│   with opslevel_service.example,
│   on main.tf line 11, in resource "opslevel_service" "example":
│   11: resource "opslevel_service" "example" {
│
│ default aliases from API need to be added to config: [test_service_one]

Update config, add default aliases to aliases for team and service
resource "opslevel_team" "example" {
  name    = "Test Team One"
  aliases = ["fancy_team", "test_team_one_2"]

  member {
    email =<EMAIL_ADDRESS>    role  = "contributor"
  }
}

resource "opslevel_service" "example" {
  aliases = ["fancy_service", "test_service_one"]
  name    = "Test Service One"
}

Update team and service aliases - with default aliases
opslevel_team.example: Refreshing state... [id=Z2lkOi8vb3BzbGV2ZWwvVGVhbS8xOTU1NQ]
opslevel_service.example: Refreshing state... [id=Z2lkOi8vb3BzbGV2ZWwvU2VydmljZS8xMjU4MjM]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # opslevel_service.example will be updated in-place
  ~ resource "opslevel_service" "example" {
      ~ aliases = [
          + "fancy_service",
          + "test_service_one",
        ]
        id      = "Z2lkOi8vb3BzbGV2ZWwvU2VydmljZS8xMjU4MjM"
        name    = "Test Service One"
    }

  # opslevel_team.example will be updated in-place
  ~ resource "opslevel_team" "example" {
      + aliases = [
          + "fancy_team",
          + "test_team_one_2",
        ]
        id      = "Z2lkOi8vb3BzbGV2ZWwvVGVhbS8xOTU1NQ"
        name    = "Test Team One"

      + member {
          + email =<EMAIL_ADDRESS>          + role  = "contributor"
        }
    }

Plan: 0 to add, 2 to change, 0 to destroy.
opslevel_service.example: Modifying... [id=Z2lkOi8vb3BzbGV2ZWwvU2VydmljZS8xMjU4MjM]
opslevel_team.example: Modifying... [id=Z2lkOi8vb3BzbGV2ZWwvVGVhbS8xOTU1NQ]
opslevel_team.example: Modifications complete after 0s [id=Z2lkOi8vb3BzbGV2ZWwvVGVhbS8xOTU1NQ]
opslevel_service.example: Modifications complete after 1s [id=Z2lkOi8vb3BzbGV2ZWwvU2VydmljZS8xMjU4MjM]

Apply complete! Resources: 0 added, 2 changed, 0 destroyed.

terraform destroy ✅

Better solution in this PR


Legacy protocol support in Istio- Diameter Radius etc

In the 4g and 5g collaboration, the legacy protocol support is missed in the istio, as per the Istio document
istio  supports following protocols :
-       http
- 	http2
- 	https
- 	tcp
- 	tls
- 	grpc
- 	grpc-web
- 	mongo
- 	mysql*
- 	redis*
- 	udp

but when in the actual telco vendors have both legacy and istio supported protocols (till now), if istio can identify the legacy protocols, (Diameter, radius)  vendors can use istio as a load balancer for both legacies and supported protocols.

Never heard of Diameter but it looks like it uses TCP. Any protocol that uses TCP is supported by Istio. It does look like radius uses UDP which is tracked in https://github.com/istio/istio/issues/1430

@howardjohn Thank you for the quick reply,
**RADIUS **
RADIUS stands for Remote Authentication Dial-In User Service, is a security protocol used in the AAA framework to provide centralized authentication for users who want to gain access to the network.
Features – Some of the features of RADIUS are:

Open standard protocol for AAA framework i.e it can use between any vendor device and Cisco ACS server.
It uses UDP as a transmission protocol.
It uses UDP port number 1812 for authentication and authorization and 1813 for accounting.
If the device and ACS server is using RADIUS then only the passwords of AAA packets are encrypted.
No explicit command authorization can be implemented.
It provides greater extensive accounting support than TACACS+.
In RADIUS, authentication and authorization are coupled together.

Diameter is a planned replacement of RADIUS. It is an AAA protocol for applications such as network access and IP mobility.
It is intended to work in both local and roaming AAA situations.

The diameter is just twice the predecessor protocol Radius.
It uses TCP or SCTP and not UDP.
It uses transport-level security (IPSEC or TLS).
It has a 32-bit identifier instead of 8 bit.
It supports stateless as well as stateful mode.
It supports application-layer acknowledgment, defines failover.
It offers better roaming support.
It uses AVPs.
Diameter allows the definition of new commands and attributes. It is easy to extend.

in simple words diameter support TLS/TCP and DTLS/SCTP

Istio should work with Diameter as it's tcp based and we support tcp. For udp support we have an existing issue you can follow.
For native support if these protocols beyond tcp level metrics and routing, please file an issue with envoy - that would be a prerequisite. Even then it would be a long ways to get support in Istio - more likely only supported via extensions like https://github.com/aeraki-framework/aeraki. Thanks


Enabling plugin disables horizontal scrolling with shift-mousewheel in Kanban boards

Hi,
thanks for developing Scroll Speed.
I've found a tiny problem,
enabling plugin disables horizontal scrolling with shift-mousewheel in Kanban boards.

Hi. This is a known issue. And it is something I will add soon. Thanks!

I will try to add this feature on the weekend. For now you can disable scroll animation in the plugin settings


[contribution] Create patterns contribution guidance plus MDX template

Teams across IBM need an easy way to create and contribute content to Carbon. This should take the form of clean, clear guidance and an MDX template that allows for simple copy-and-paste drafting.

Pattern contribution guidance: https://www.carbondesignsystem.com/contributions/pattern
MDX template: https://github.com/carbon-design-system/carbon-website/blob/master/docs/pattern-template.mdx


Get rid of langchain warning when trying to use chat models

Solution might be to create mappings between appropriate langchain llm class to import depending on which openai model is called

Already part of another issue.


Human pose detection and tracking (javascript) Error

Error after adding new functionality (models with complexity 0, 1, 2) to Human pose detection and tracking (javascript)
Full stack trace:
pose_solution_wasm_bin.js:9 Uncaught (in promise) RuntimeError: abort(No EM_ASM constant found at address 552800) at Error
at jsStackTrace (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:64180)
at stackTrace (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:64432)
at abort (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:37792)
at _emscripten_asm_const_int (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:177754)
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6969]:0x36b934
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6968]:0x36b72e
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6967]:0x36b570
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6435]:0x33da38
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6183]:0x32e7ee
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6180]:0x32cf38
at abort (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:37823)
at _emscripten_asm_const_int (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:177754)
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6969]:0x36b934
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6968]:0x36b72e
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6967]:0x36b570
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6435]:0x33da38
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6183]:0x32e7ee
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6180]:0x32cf38
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6178]:0x32cacb
at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[254]:0xc847

Hi @AlexeiKaplenko, Could you please provide the steps to reproduce the above error. Thanks!

Hello, our app is experiencing exactly the same issue.
No EM_ASM constant found at address 552800
Uncaught (in promise) RuntimeError: abort(No EM_ASM constant found at address 552800) at Error
    at jsStackTrace (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:64180)
    at stackTrace (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:64432)
    at abort (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:37792)
    at _emscripten_asm_const_int (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:177754)
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6969]:0x36b934
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6968]:0x36b72e
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6967]:0x36b570
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6435]:0x33da38
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6183]:0x32e7ee
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6180]:0x32cf38
    at abort (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:37823)
    at _emscripten_asm_const_int (https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.js:9:177754)
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6969]:0x36b934
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6968]:0x36b72e
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6967]:0x36b570
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6435]:0x33da38
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6183]:0x32e7ee
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6180]:0x32cf38
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6178]:0x32cacb
    at https://cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[254]:0xc847

I already figured out the solution. Correct version for cdn scripts should be specified
in .html

and .js files
const pose = new Pose({
locateFile: (file) => {
return https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>},

Glad to know your resolved. And also thanks for sharing your fix.

Hello,
Does using an older version instead of the latest can be considered as a solution?

@sgowroji @KristianDukov Hi, Sunil - we are experiencing the same problem and as Kristian said, the using of an older version as a solution is not really a solution.
Is there a chance to re-open the issue and get a fix for it?
Many thanks

We had a bug in a different part of our code, now it is all good and it is working for us.

Thank you for the update.


Support the hero block sent while playing during hero selection.

This fixes a crash in the previous iteration: Dota sends a hero block with only "id": -1 prior to selecting a hero. Since no name is included, Serde would fail to deserialize the block. (Tested with the latest Dota build 9646759.)

Thanks for your contribution! Getting back into maintaining after a few crazy weeks.


Review request before opensourcing AWS Adapter

Hi,
We want to release our AWS Adapter to Nirmata Open source. Preferably early this week, so that we can blog about it while the AWS reInvent conference this week is in progress.
Before that, wanted help reviewing the repo overall, ensure that it is in line with typical open-sourcing expectations. Could you please spend some time to review this? Especially folks in the Kyverno team?

This pull request is not supposed to be merged. Was open for review only.


Implement face rect detection

@KimDarren Please review implementation of “face rect detection”

Thanks for your contribution. I'll review your request asap..!
Give me a second 😄


can't use on raspberrypi:(

$ pip3 install systemd
error in systemd setup command: Invalid environment marker: python_version < "3.3"

$ pip3 --version
pip 1.5.6 from /usr/lib/python3/dist-packages (python 3.4)

@ranma1988 It looks like this is related to using an older version of python 2.7 (in my case, it was Python 2.7.9 with Virtualenv 15.1).  I jumped through some hoops to install a newer version of Setuptools and Pip, then installed Virtualenv 16.0 and got Python 2.7.13. Now systemd installs without issue.

@ranma1988 I guess virtualenv is excellent solution for this issue. It's looks like the setuptools is too old.


Add method to export collected incentives to a Google sheet.

This is the other half of Google Sheet <-> JSON conversion; a continuation of https://github.com/rewiringamerica/api.rewiringamerica.org/pull/373. They're largely independent, though they both rely on the authentication helper and the changes to the spreadsheet-registry.
This is the CollectedIncentives -> Google Sheet direction. It uses the Google Sheets API to create a new spreadsheet. Right now, we only have the incentives data itself, but as a follow-up, I'll create other worksheets like the data model and the standardized enum values so that it is more comparable to our existing sheets (plus add data validation).
Notable assumption: the first alias in the FIELD_MAPPINGS and VALUE_MAPPINGS in spreadsheet-mappings.ts is considered the canonical human-readable spreadsheet version. I think this is fine for now, though we may want clearer documentation of it at some point.
Testing: unit tests, and I tried this on Colorado. You can see the round-trip in this spreadsheet. This was running the Sheets -> CollectedIncentives version followed by CollectedIncentives -> Sheets, then copying over the original CO data and comparing. The green cells are where there's a difference (the new value is on top).
The cell values are the same, except in:

places where the original Colorado data used a different alias from the canonical alias
dates. The original sheet has these as numbers formatted as dates; the new version has them as strings. In keeping with Owen's direction for dates, I think we want them to be strings anyway.
columns missing from the Colorado spreadsheet - there are some, like Editorial Notes, that aren't in the original CO data, but in the interest of standardizing our spreadsheets, I think it's good to be adding them back in.
Cells that had hyperlinks (as expected)

That's a good point re: the formulas. There are some potential follow-ups since they're easy to detect, so we can at least warn the user that they're being dropped and/or converted to values.
With extra engineering effort, lots of these sorts of things can survive the spreadsheet-json border, but in general I think it's best to not support them unless they turn out to be must-haves.


Update Maven Wrapper

To update mvnw I used the following command:
mvn wrapper:wrapper -Dtype=bin

Many thanks!


Add test validating domain sockets are used for executor communication

High-level description
What features does this change enable? What bugs does this change fix?
Corresponding DC/OS tickets (required)

DCOS-61186 Write end-to-end test for domain socket support

Related tickets (optional)

DCOS-ID JIRA title / short description.

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain.
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

@mesosphere-mergebot changelog-not-required test-only changed

Can you please have a look at this @asekretenko?

@asekretenko, could you please similarly approve the trivial enterprise bump, https://github.com/mesosphere/dcos-enterprise/pull/7255?


Fix: PDFPasswordForm loads the PDF even when password validation fails

Details

Although the PDFPasswordForm has validation errors, it still tries to load the PDF. This PR fixes that.
Fixed Issues

$ https://github.com/Expensify/App/issues/23301
PROPOSAL: https://github.com/Expensify/App/issues/23301#issuecomment-1644908736
Tests

Login with any account
Go to any chat
Send a protected PDF file (i.e. PDF with password set)
Press that PDF and enter wrong password
Press Confirm
Verify that an error appears
Press the Confirm button several times.
Verify that the button does not show loading state

[x] Verify that no errors appear in the JS console

Offline tests

NA
QA Steps

Login with any account
Go to any chat
Send a protected PDF file (i.e. PDF with password set)
Press that PDF and enter wrong password
Press Confirm
Verify that an error appears
Press the Confirm button several times.
Verify that the button does not show loading state

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/113963320/8c0c9b08-f355-41bc-bd00-621b54905fd2

Mobile Web - Chrome

https://github.com/Expensify/App/assets/113963320/b313d14d-c05b-4880-ab78-29b58694e982

Mobile Web - Safari

https://github.com/Expensify/App/assets/113963320/391b7070-f61b-455b-86cb-0d9fc3a0c85b

Desktop

https://github.com/Expensify/App/assets/113963320/9f4aa2bf-1ae0-4902-bda7-e7412d5d06bc

iOS

https://github.com/Expensify/App/assets/113963320/8bb2d5f3-c4a1-4b24-b4a0-1faa53462bab

Android

https://github.com/Expensify/App/assets/113963320/3ea91685-3d24-47e8-b54d-8d3377742708

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/yuwenmemon in version: 1.3.46-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/yuwenmemon in version: 1.3.47-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/marcaaron in version: 1.3.46-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.47-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Gallery not working for inline and ajax lightbox when using data-attribute for url/target id

Hi,
maybe it's a bug, maybe I'm using it wrong.
I want to show an ajax gallery (quick view on an overview-page) without using anchor-tags/links but using the data-attributes data-featherlight and data-featherlight-type . But when using featherligt this way no gallery is recognized.
In the documentation is mentioned that "'data-featherlight' can also contain a link to an image, an ajax-url or even DOM code", so it may be a bug?
Another problem seems to be that if the ajax request returns no html tags but string only, it will break the navigation.
see fiddle here:
http://jsfiddle.net/JNsu6/171/
cheers,
Ralf

allright, got it working.
just don't use the default data-attribute "data-featherlight" for the url but a custom one to prevent featherlight from doing it all automatically:
<button class="featherlight-button" data-ajaxurl="/some/url?id=1" >click me</button>
$('.featherlight-button').featherlightGallery({
   variant: 'reference-featherlight-pop',
   targetAttr: 'data-ajaxurl',
    type: 'ajax',
   openSpeed: 300
});

right?


Message count on a topic is limited by the display limit config

The message count next to the topic should display number of total messages received since monitoring started.
Currently it displays correctly up to the display limit, for example: if 10 is the max number of message to display and store on client, it only display count up to 10.

Fixed in


Fix workerless shoot in local setup

How to categorize this PR?

/area testing
/kind bug
What this PR does / why we need it:
This PR fixes an issue that caused an validation error when workerless shoots were created in the local setup, see https://github.com/gardener/gardener/pull/10277#issuecomment-2338372391.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

An issue was fixed that rejected the creation of workerless shoots in the local setup.

/cc @istvanballok @vicwicker thanks for noticing.

/cherry-pick release-v1.103

/test pull-gardener-integration


add driver mongodb job batching

hello
please check my code and merge it.
db info
Build Info: {
    "version": "4.4.18",
    "gitVersion": "8ed32b5c2c68ebe7f8ae2ebe8d23f36037a17dea",
    "openSSLVersion": "OpenSSL 1.1.1  11 Sep 2018",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "ubuntu1804",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

I edit config file and add  in the config file. in the path     /etc/mongod.conf
replication:
   replSetName: rs0

then
systemctl restart mongod

then in the mongodb console run this
rs.initiate()

And to see the changes that happened in the config mongodb run this
rs.status()

I think this should be closed already been added, https://github.com/mongodb/laravel-mongodb/pull/2904


feat(rust): change claims to attributes

I propose the following name shuffle -

Schema to CredentialSchema
Attribute to AttributeSchema

This will make:
pub struct CredentialSchema {
  ...
  pub attributes: Buffer<AttributeSchema>,
}

and:
pub struct AttributeSchema {
  ...
  pub attribute_type: AttributeType,
}

AttributeData to Attribute

pub struct Credential {
    pub attributes: Buffer<Attribute>,
    pub signature: Signature,
}

Merged as https://github.com/ockam-network/ockam/pull/866


add 'xr_rasterize' and 'xr_vectorize' functions to dea_datahandling.py

This pull request addresses issue #494
Rasterizing shapefiles and vectorizing rasters are two very common spatial analysis techniques. These
two new functions will allow the simple conversion back and forth between xarray.dataarray objects and geopandas geodataframes.

@cbur24 We'll have to update the Rasterising/vectorising notebook now!

Thank you for the comments/feedback/improvements! I have one extra piece of functionality to add - allowing xr_rasterize to export geotiffs - after which I will merge

Ah yep, good plan


Don't call curl directly, use a wrapper.

This will use curl, or wget, or GET automatically and set needed flags.
It will also open possibility of automatically archiving all downloaded
data for reference and running tests, fixing broken scraper,
calling web.archive.org to do a snapshot on their side, etc.

./download.sh only works if you call the script from it's directory, i.e. calling the script from the root directory of the repo with scrapers/scrape_ar.sh will fail.
In run_scraper.sh I defined $DIR:
https://github.com/openZH/covid_19/blob/60fa566eb917fa7a6af457a46d4290aa85a2174b/scrapers/run_scraper.sh#L12
And then used $DIR instead of ./. WDYT?

./download.sh only works if you call the script from it's directory, i.e. calling the script from the root directory of the repo with scrapers/scrape_ar.sh will fail.
In run_scraper.sh I defined $DIR:
https://github.com/openZH/covid_19/blob/60fa566eb917fa7a6af457a46d4290aa85a2174b/scrapers/run_scraper.sh#L12
And then used $DIR instead of ./. WDYT?

Yes, that makes sense. I need to go sleep. I will fix it tomorrow.
I also have a modification for download.sh, that allows it to ask web.archive.org to do a snapshot of the source page. It works. :) Will be in a next PR.

Ok. I think this whole DIR business (a lot of redundancy) is a bit ugly, but it is done, and works.

Thank you! Maybe there is a better way, but I'm not proficient enough in shell programming to propose something else.
I'll try to get more scrapers up and running based on this wrapper.

Currently download.sh simply chooses curl, wget and GET based on being available in the path. How does this help with sites like GL or SZ that do not accept curl? Am I missing something?

Currently download.sh simply chooses curl, wget and GET based on being available in the path. How does this help with sites like GL or SZ that do not accept curl? Am I missing something?

We are setting user-agent to a fake one, so they don't know we are using curl.
The primary purpose of download.sh is to move this logic out of individual scripts,
but also enable automation (archiving, testing, logging of failures).

Perfect, thanks for explaining!


Move Terminal component to tab

Currently the terminal component is created by executing a command using a button on the container in the pod listing.
Move the terminal window to its own tab. defaulting the command to be executed to /bin/sh and having a drop down to select which container the terminal is open against.
This to consider when implementing this:

what is /bin/sh is not found?

currently users specify the command they want to run, is this going away?

how long does the terminal stay open after navigating away without explicitly exiting?
if a user explicitly exits a terminal, does clicking away and back to the tab restart the session?
does navigating away from the tab exit the terminal session?

if exiting does end the session automatically, should we save session scrollback for later retrieval?

I'll have to think about this some more but another option would be moving the command to the view heading next to the delete button:

This would be awesome!

My initial thought was that Terminal should not be in top right corner where we only have immediate actions, like Delete, etc.  But to @rossfenrick point, it is an action after all so that may be a right place for it.
As fo other questions, I think we should start with the reasonable defaults and add things like command to run to global settings.
@wwitzel3 thoughts?

There will be a Terminal tab.
The default command will be /bin/sh - w
When you click on the tab, if no session exists, a new terminal session will be created.
The session will remain active as long as you remain on the pod.
When you navigate away from the pod, the session will be closed.
If you exit an active session # exit the backlog will remain until you reconnect OR navigate away from the pod.

The changes above also mean:

No longer a need for  a terminals listing describer

Paired with @mklanjsek a bit on this today.

Since there is only one tab per pod, terminal manager should support a key value store of pod names and terminal ID per namespace.
We tried to handle creating terminal instance only on the backend. This will not work because backend does not track active tab.


Add global trace support

Motivation

Solution

PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Updated the changelog

Codecov Report

Merging #56 (5c980e4) into main (17b81c5) will increase coverage by 0.09%.
The diff coverage is 10.00%.

@@            Coverage Diff             @@
##             main      #56      +/-   ##
==========================================
+ Coverage   43.00%   43.10%   +0.09%
==========================================
  Files          18       17       -1
  Lines        5495     5473      -22
==========================================
- Hits         2363     2359       -4
+ Misses       3132     3114      -18

Flag
Coverage Δ

test
43.10% <10.00%> (+0.09%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/cli/main.rs
25.00% <0.00%> (-5.00%)
:arrow_down:

src/cli/logging.rs
43.63% <20.00%> (+7.63%)
:arrow_up:

src/cli/tokio_console.rs

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 17b81c5...5c980e4. Read the comment docs.


Fixes #2844: Hiding the product card on pressing the scan button

Description
In the barcode scanning activity if the product card/ bottom sheet is visible on the screen, it should hide if the scan button is pressed for the next scan.
#fixes {2844}
Screen-shots, if any

Thanks @sank20


docs(mint): remove mention of ATOMs in comments

Replace atom occurences with "coins"

actually more like docs if we just change comments


fixed setting a prefix without a suffix on the CompositeJsonLayout

parentheses were missing in the way the length of the message was computed when setting only a prefix or a suffix layout inside a CompositeJsonLayout.

Thanks!  Incorporated for 4.4


Update Cargo.toml

Hey
Updating this crate to 0.6 since the new release is out. There are no further changes required.

Builds failing on nightly due to irrelevant bug.

an extern crate loading macros must be at the crate root

@Dylan-DPC I think the changes in UUID are small enough to not affect us.
We could probaly get away with a pretty lenient version range accepting >= 0.4, < 0.7.

Thanks for the PR! Looks like this was taken care of in https://github.com/graphql-rust/juniper/commit/61f0c7d337894ebcae073bc54263568dcc7bd9cd already. Apologies for the response taking so long.


Update cdn-links.html

link to next article is wrong. It should be release-channels.html, not hello-world.html

@AreRex14 thanks!


Extracts the dir when creating temp files.

This avoids using path separators in temp file patterns.
Fixes https://github.com/rancher/dapper/issues/92

Friend ping? anyone?
Is this tool still alive? :)

@luthermonson PTAL


feat(esl-panel-group): extend esl-panel-group refresh strategies list with 'open' and 'close' strategy

:tada: This PR is included in version 4.0.0-beta.17 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Rh <> Rh Brep Bugs

Found one two issues :) Logging them here as it might be useful for later debugging.
1. Geometry exceptions on weird trim:

(top is received, bottom is original)
Attached file: BrepEdgecase.zip
2. Units conversions
When receving a brep in a file with a different unit system, (untrimmed) surfaces go through fine, but breps (&trimmed surfaces) don't seem to like it:

The stream in question is here: https://staging.speckle.dev/streams/5486aa9fc7 I've shared it with you; easiest to reproduce is just pull in the latest commit of the main branch in a new file in which units are not meters.

Uploading this to keep a log of whats going on with this bug.
First issue was related to us not keeping tabs of the trimmed domain for each BrepEdge. We now have a Domain prop in the BrepEdge that can be null if the edge represents the entire curve.
Fixing this issue also partially fixed the boat example. Although it still borks, it may be unrelated to the scaling, as I haven't found anything missing on that note. I opened the boat in 'mm' and everything seems to be "in place".

Fixed in #154! Forgot to link them


Axios

https://axios-http.com/assets/logo.svg
API

Added in e8d77487188e7c7a603f977e1a8cccc120d7be9a
Thanks


System slows down after some minutes open

At first it works fine but after 10 or so minutes my task manager shows >60% cpu usage and a flood of "swipl" processes under VSCode. If I don't restart the program my system hangs and I have to force shutdown. After disabling this extension and working normally this doesn't happen.
The file is less than 100 lines of code.
Specs:
Windows 10 pro 64 bit
8GB RAM
i7-6700HQ - battery powered, throttled by bios to 1.6GHz
I haven't tested this issue while plugged in and thus unthrottled by the BIOS. RAM usage seems normal.

Sure. I attached a screencap as well:

Possible steps to reproduce: consult the file with sicstus while editing in vscode. I was just randomly writing some text, and ran the function demo(nodo(a),P). in sicstus.
(change the extension back to .pl)
semana06-1.ple.BB.pl.txt

I'm so sorry that this extension only supports SWI-Prolog and eclipseclp(partial functions). As a personal project, I don't have enough time to support more dialects of prolog.

Hi, I was using SWI-Prolog to consult the file, I know in the comments it said something about sicstus but I was using the SWI-Prolog interpreter.

Then I will investigate what's wrong as soon as possible.

Any news on the subject at hand? This extension is life-saving!


IAxis: Don't expose Range

This PR significantly changes the existing API.
Resolve TODOs IAxis don't expose Range.
https://github.com/ScottPlot/ScottPlot/blob/575f320817c46349d8236d4a123b790f689bb73e/src/ScottPlot5/ScottPlot5/Interfaces/IAxis.cs#L14

Hi @CoderPM2011, thanks for this PR!

This PR significantly changes the existing API.

😅 😅 😅
I'm curious, what motivated this change?
I know there was a stray TODO about it, but that TODO may have been pretty old and maybe I should have added a TODO to remove that TODO 🤪

Files changed: 42

I want to review this very carefully before considering whether or not to merge it, so it may take me a little while to get to this one...

I'm curious, what motivated this change?

This PR was made while I was trying to fix issue #3597.
It actually has a follow-up commit, which is about the following TODOs.
https://github.com/ScottPlot/ScottPlot/blob/743c9427e63692d31920cc424a0e62b12d6eec4a/src/ScottPlot5/ScottPlot5/Primitives/CoordinateRangeMutable.cs#L3
CoordinateRange should help fix #3597.

I want to review this very carefully before considering whether or not to merge it, so it may take me a little while to get to this one...

Yes of course. 😀
If there's anything inappropriate, please let me know and I'll change my approach.😉


imgui version mismatch

After updating ArcDPS to the latest version there's a couple of arcdps addons that fail to load:
warning: failed to load "d3d9_arcdps_table.dll", reason: imgui version mismatch
warning: failed to load "d3d9_arcdps_mechanics.dll", reason: imgui version mismatch

(Boon table and mechanics respectively)
I've digged on the boon table, there's an issue on the original repo https://github.com/MarsEdge/GW2-ArcDPS-Boon-Table/issues/4 which points that the original repo is no longer mantained, and now has moved to https://github.com/knoxfighter/GW2-ArcDPS-Boon-Table/ which looks like it's in active development (so probably that one would work?)
However, it seems like Gw2-AoM is using another fork of the original repo which hasn't been updated for a while: https://github.com/gw2-addon-loader/GW2-ArcDPS-Boon-Table
Would it be posible to update those two addons to use the latest changes?

Same thing has been happening to me. I do believe this is due to the mentioned desynced forks.

As far as i know Addon manager uses the knoxfighter repo you mentioned. UOAM addons sources are located in https://github.com/gw2-addon-loader/Approved-Addons

As far as i know Addon manager uses the knoxfighter repo you mentioned. UOAM addons sources are located in https://github.com/gw2-addon-loader/Approved-Addons

Ah that's absolutely right - it was updated earlier this year on https://github.com/gw2-addon-loader/Approved-Addons/pull/8
But the latest release doesn't include these changes, right?
I'll try manually updating the .yaml file

I checked my local boontable YAML, and it seems to be pointing to the correct repo. Is there anything else I can check to see why that message is appearing? I was thinking of reinstalling the boontable addon, but not sure if that will help (like caching or something).

An UPDATE: I did a "Hard-reset" (clean-install + reinstall all addons) and it seems that the warning is gone. Is there a possibility something is getting cached somewhere?

An UPDATE: I did a "Hard-reset" (clean-install + reinstall all addons) and it seems that the warning is gone. Is there a possibility something is getting cached somewhere?

Yep, that did it too for me - Redownloaded v1.3.0, deleted previous AoM installation and replaced with the fresh new patch, reinstalled everything and it works fine 🎉
I didn't remove the old arcdps plugnis (just hit update) and it kept my config too. I'll close this issue, I think the clean reinstall fix is simple enough.


Dataset link

Hello, could you share this dataset for study goal? Thanks in advance! DM<EMAIL_ADDRESS>

Hello! May I ask if you have obtained this dataset and would like to share it with me.
Thank you!

Hi all, sorry but the dataset is not available to the public for privacy reasons. I've been trying to get approval for a while but I wouldn't hold my breath, it looks pretty unlikely at this stage.


Warnings-xcconfig

Warnings-xcconfig - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets.

@boredzo on what category do you think we can add it?

@lfarah Code Quality.

@boredzo thanks for helping us out!


LBFGSB Bounds error

Hello, I am trying to run the LBFGS model, but unfortunately something seems to be off with the "bounds" parameter. No matter how I tried to pass it, it always gives error:
TypeError: LBFGSB.init_state() got multiple values for argument 'bounds'

I get exactly the same result if I try to use jaxopt.ScipyMinimize(method = "l-bfgs-b",...)
Could someone please help me understand if I am doing something wrong?
At the moment my bounds are a tuple of 2 jnp arrays:
(Array([ 0.001,  0.001,  0.001,  0.001, -1.   ], dtype=float32),
 Array([ 5, 10,  1,  1,  1], dtype=int32))

Please see my code below:
   St = jnp.asarray(cs_day['Close_Price'])
    rates = jnp.asarray(cs_day['rf'].to_numpy('float'))
    strikes = jnp.asarray(cs_day['strike_price'].to_numpy('float'))
    maturities = jnp.asarray(cs_day['TTM_y'].to_numpy('float'))
    P = jnp.asarray(cs_day['CALL_PRICE'].to_numpy('float'))

    params = {"sigma": {"x0": 0.02, "lbub": [1e-3,5]},
              "kappa": {"x0": 0.2, "lbub": [1e-3,10]},
              "theta": {"x0": 0.5, "lbub": [1e-3,1]},
              "volvol": {"x0": 0.1, "lbub": [1e-3,1]},
              "rho": {"x0": 0.01, "lbub": [-1,1]},
              }

    sigma = 0.02
    kappa = 0.2
    theta = 0.5
    volvol = 0.1
    rho = 0.01

    x0 = jnp.asarray([param["x0"] for key, param in params.items()])
    lb = jnp.asarray([param["lbub"][0] for key, param in params.items()])
    ub = jnp.asarray([param["lbub"][1] for key, param in params.items()])
    bnds = (lb, ub)

    def MSE_loss(sigma, kappa, theta, volvol, rho):
      hest_price = priceHestonMid(St,
                            strikes,
                            rates,
                            maturities,

                            sigma,
                            kappa,
                            theta,
                            volvol,
                            rho)
      MSE = jnp.mean(jnp.square(hest_price - P) )

      return MSE

    LBFGSB_optimization = LBFGSB(fun=MSE_loss, tol = 1e-3, maxiter=5000)
    solution = LBFGSB_optimization.run(sigma, kappa, theta, volvol, rho, bounds = bnds)
    print(solution)

I also tried doing this, but it gives another error:
    solution = LBFGSB_optimization.run(init_params = x0, bounds = bnds,
                                       sigma = sigma, kappa = kappa, theta = theta,
                                       volvol = volvol, rho=rho)

[/usr/local/lib/python3.10/dist-packages/jaxopt/_src/base.py](https://aim7fvv6b9b-496ff2e9c6d22116-0-colab.googleusercontent.com/outputframe.html?vrz=colab-20230629-060050-RC00_544292008#) in fun_with_aux(*a, **kw)
     68 def _add_aux_to_fun(fun: Callable) -> Callable:
     69   def fun_with_aux(*a, **kw):
---> 70     return fun(*a, **kw), None
     71
     72   return fun_with_aux

TypeError: MSE_loss() got multiple values for argument 'sigma'

Your objective function is incorrectly set. The format is
def objective_function(variable_to_optimize, extra_arg1, extra_arg2): and then you should call solver.run(init_variable, bounds=bounds, extra_arg1=extra_arg1, extra_arg2=extra_arg2). So what is the variable you want to optimize and what are the extra arguments in your case?

Thank you for your prompt reply! I would like to optimize 5 parameters (sigma, kappa, theta, volvol, rho), that feed into function priceHestonMid, such that the MSE_loss is minimized.
Shall I then store there parameters as jnp array in a variable and pass it as a first argument to MSE_loss?

You can either store them in an array or store them in a dict (because JAXopt supports pytrees). The important thing is that all variables you optimize should be grouped in the first argument. And of course the shape / structure of variable_to_optimize and init_variable should match.

@mblondel Thank you so much!!


使用第三方输入法，无法在终端里输入中文标点符号。

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.80.1
OS Version: 13.4.1

Steps to Reproduce:
使用第三方输入法-搜狗输入法，无法在终端里输入中文的标点符号，比如：顿号，句号等

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.82.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

感谢您创建此问题！
然而，由于您没有使用英语，我们很难进行处理。如果可能，请您将此问题描述修改为英文。请您直接编辑此问题，不要提交回复或新问题。
请注意，机器翻译服务通常无法处理用于讨论软件问题所需的技术性语言，所以我们推荐您寻找一位熟悉相关技术的人来协助翻译。
如果您无法做到，没有关系。此问题已经被标记为需要翻译，等待社区成员志愿进行翻译。

Thanks for creating this issue!
Unfortunately, as the description is not in English, it's hard for us to work on. If possible, please edit the original issue to be in English.
In our experience, automatic translation services are not able to handle the technical language needed to effectively communicate about software issues, so we recommend finding a human translator who is familiar with our technology to help.
Otherwise, we have marked this as needing translation and a community member may be able to help out.

Using a third-party input method-Sogou input method, you cannot enter Chinese punctuation marks in the terminal, such as: A comma, period, etc.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.82.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

no effect


raw-window-handle 0.5 (tested only on linux)

I made this for using minifb with vulkano.
I'm not sure it will work correctly on platforms other than Linux with x11.

Thanks! I will test this some more after work and release a new version of the crate later today.

I now noticed there is a 0.6 version of the crate. Any specific reason you didn't use that version?

Most crates still use 0.5 as far as I know. Same vulkano or ash that I use. But ash has a pull request on this topic ash-window: Upgrade to raw-window-handle 0.6.0 #799 until recently, they were held up by a few other crates like winit.


Qesqution about batch_size

Hey, how nice work! But there are something confusing me. In the code I see that the batch_size is set 1,and during training model computation the input x only the zero dim are used, eg. x_embedding = self.node_embedding(x)[0]. and of the batch_size set another value like 256, it seems that the st_model can't deal with the rest of batches. Could you tell me more details or your consideration.  Thanks!!!

Thank you for your question! You are right that we always set the batch_size as 1 for data loaders here.
https://github.com/tedhuang96/gst/blob/ac300d34e17fa2d6639c1df329ac1e8f80bccaec/src/mgnn/utils.py#L84-L88
This is because each sample is allowed to have different number of agents. With different dimensions on the number of agents, there is no easy way to stack multiple samples to form a batch. Imagine a trajectory sample with dimensions (T, N1, 2) and (T, N2, 2), where the first has N1 pedestrians and the second has N2 pedestrians. We cannot directly create a batch of (2, T, N, 2) because N1 is not equal to N2. That is why in st_model we always assume we process a single batch.
To still allow mini batch training, we compute back-propagation for each single batch and accumulate the gradient until the batch count reaches the batch size we set (in your example 256), then we update the network
https://github.com/tedhuang96/gst/blob/main/scripts/train.py#L99-L104
This setup is essentially inherited from previous works Social STGCNN here.

Oh, I got it! Sorry for not seeing your reply in time. But I have another question.
Regarding the metrics mentioned in your paper (AOE/FOE), I think they are defined in a way that is consistent with the ADE/FDE mentioned in other previous papers (eg. Trajectron++). But the data you mention in your paper, e.g. TABLE I "Trajectron++ (P) 1.40±0.56 0.27±0.17 0.50±0.23 0.50±0.23 0.33±0.16 0.60±0.27" that I seem not to be able to find in the original Trajectron++ paper. What I would like to ask you is whether you have reproduced this algorithm in your own equipment or whether my understanding of the AOE/FOE is off.
ps:
Average Displacement Error (ADE): Mean L2 distance between the ground truth and predicted trajectories.
Final Displacement Error (FDE): L2 distance between the predicted final position and the ground truth final position at the prediction horizon T

Thank you for your question. We found that our model does not perform well using the leave-one-out setup for ETH-UCY, because we use fixed sparse hyperparameter in our algorithm. The performance of a sparsity configuration is dependent on scene properties such as average number of partially detected pedestrians, and the fixed hyperparameter would constrain generalization across the scenes. Thus, in our benchmark, we split each scene into train/val, and train model on each train/val set independently. We train the existing algorithms by ourselves on the same setup and report the results.

GOTIT!!! Thanks!


Find usages should be available for concepts

From @sguptatw on April 16, 2018 11:10
Proposed behavior
Usage statistics should be displayed for concepts. Clicking it should show where the concept is used
Current behavior
Concept does not have code lens displaying usage statistics
Version
Gauge version: 0.9.8.nightly-2018-04-11
Commit Hash: 4d314ef

Plugins
-------
html-report (4.0.4.nightly-2018-04-11)
java (0.6.7.nightly-2018-04-06)
js (2.2.0)
python (0.3.0.nightly-2018-04-13)
report-seed (0.0.1)
ruby (0.5.0.nightly-2018-04-11)
screenshot (0.0.1)

Copied from original issue: getgauge/gauge-vscode#233

should be available in nightly >= 30-5-18