Update maps

ticket: https://trello.com/c/hXFatrUP/188-make-maps-uniform-on-dlinfo
Changes made:

Made a new map component to be used across the whole site that enables better configuration of the map and easier reuse
Added JavaScript unit/integration tests for the map code (using vitest)
Made some visual/functional changes to the map:

New zoom control with removed arbitrary zoom level
use of pin in map layer selector to more clearly indicate a point
New button to allow tilting of map from 2D to 3D
New Scale indicator at the bottom of the map

Further tickets to make

Acceptance/e2e tests should be written in python playwright

For the map on the entity page and search page, we should have a map control that is "return to feature". so you can easily find the feature again if you pan away from it
@mdsmith-scottlogic do you think I should do this as part of this PR or another ticket?

getting
Error: Cannot style non-existing layer "local-authority-district-source-fill".
it doesn't seem to impact the execution of the map. but we should investigate why this is happening.

using the mouse wheel on a popup is scrolling the page instead of zooming in/out

(this existed prior to these changes. but perhaps we should fix this as part of this PR or make a new ticket)

For the map on the entity page and search page, we should have a map control that is "return to feature". so you can easily find the feature again if you pan away from it
@mdsmith-scottlogic do you think I should do this as part of this PR or another ticket?

Do it as another ticket please!

using the mouse wheel on a popup is scrolling the page instead of zooming in/out

(this existed prior to these changes. but perhaps we should fix this as part of this PR or make a new ticket)

New ticket!

Samantha spotted the content under the map has gone missing will add back in shortly


[Bug]

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Device information

Type: [e.g. iPhone6]
OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

25 Ara 2022 Pzr 23:02 tarihinde Nung2520 @.***> şunu
yazdı:

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Device information

Type: [e.g. iPhone6]
OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.
—
Reply to this email directly, view it on GitHub
https://github.com/skills/introduction-to-github/issues/206, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AZK6AEVWUJF4MXGK4V5QZHDWPCR5NANCNFSM6AAAAAATJEPONY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


perf(native-filters): Decrease number of unnecessary rerenders in native filters

SUMMARY
The goal of this PR is to remove redundant rerenders of key components that build FilterBar in order to enhance the performance of native filters.
Components refactored: FilterBar, FilterControls, FilterControl, FilterValue, CascadePopover.
The method was similar to the one used in PRs #16421, #16444, #16525, #16545.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
The number of redundant rerenders of key components the changes (measured by counting logs produced by whyDidYouRender library) - tested on Video Game Sales dashboard with 5 native filters added:
BEFORE

FilterBar - 182
FilterControls - 252
CascadePopover - 960
FilterControl - 985
FilterValue - 760

After

FilterBar - 0
FilterControls - 0
CascadePopover - 0
FilterControl - 0
FilterValue - 20

Loading time on large test dashboard (~80 charts, 15 native filters) - measured as time from opening the dashboard to all charts and native filters fully loaded:
BEFORE
~60 seconds
https://user-images.githubusercontent.com/15073128/137484637-f46d8baf-d5f5-4c48-a652-4a90b66b1a68.mov
AFTER
~45 seconda
https://user-images.githubusercontent.com/15073128/137484738-d7134c2d-8512-4d5c-b2b1-f2e298058dfd.mov
TESTING INSTRUCTIONS
Every feature related to native filters should work the same as before
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

CC @junlincc @rusackas

The difference in the number of renders is remarkable! Really cool work! 🚀

Thanks so much for the work! let's merge it into master and I will test it with our benchmark dashboards to see the improvement.


Refactor Installer Solution

Refactoring the installer solution to remove the nuget.config and use the root packages directory.

/azp run TransportPackage-Foundation-PR

/azp run TransportPackage-Foundation-PR


fix: strip ansi codes on report output

Context
I'm adding ansi colors on my assertion messages via colorama for better visual feedback:

These are then automatically captured in the HTML formatter. However, the ansi color codes aren't properly trimmed / escaped.

This PR strips ansi codes on report_utils.gather_errors before returning them.

PS
If the PR will be accepted, would appreciate if we can add hacktoberfest-accepted again please! thanks!

Thanks @iamkenos , this change is very useful and looks good.
We would appreciate if you can add a line into the CHANGES.rst file, indicating the fix you are providing.
Thanks!

thanks @hrcorval ! here we go! https://github.com/hrcorval/behavex/pull/167
also, i was looking to add some tests for the fix but i couldn't figure out how to run the tests. would be great if you can add a section in the README / getting started to run the tests under /tests/features.


Support token exchange in gatekeeper

What:
h3. What
Add support for token exchange to keycloak-gatekeeper (described [here|https://www.keycloak.org/docs/latest/securing_apps/index.html#_token-exchange]).
h3. Why
Currently gatekeeper rejects requests if the provided token does not contain the right audience. Since keycloak supports token exchange for changing/downgrading the current bearer token gatekeeper could try to change the token to the right audience. In this way gatekeeper could transparently support the described use cases of token exchange (for example internal token to internal token) for the requester.
If required the feature could be activated by configuration.
Reference:

KEYCLOAK-12171 - Support token exchange in gatekeeper

Is there an improvement on this feature?

@a1tan please check https://github.com/louketo/louketo-proxy/issues/683


СlickHouse SQL Sensor

@ne1ron please look through the tests.
It was a little bit tricky to patch the SqlSensor class in a proper way (especially speaking about attributes deletion, the clue was to patch the right import: clickhouse_sql_sensor.SqlSensor class instead of airflow.sensors.SqlSensor, short mention on StackOverflow), but I managed to test exactly what we wanted to test: attribute absence.
Also it is worth mentioning that instead of writing many tests for different versions of Airflow I decided to specify in README that we are currently only fully support Airflow 1.10.6. So it would be nice if you can run the tests on a later version of Airflow just for us to know how much does the behaviour differ from the one we are expecting in our tests now. I am speaking even not only about the unit tests but maybe to monitor the plugin behaviour in your production case. As soon as any information is available please write down to this PR even if it is already merged.
Please approve the PR and I will merge it and publish a new version.

@ne1r0n thank you for feedback, please see the new commit and test against 1.10.10.

@ne1r0n thank you for feedback, please see the new commit and test against 1.10.10.

now it works as expected👍

Huge thanks for you participation! А new version, 0.5.7, is published.

@ne1r0n we have totally forgotten about documentation for your SqlSensor 😆  I have updated the repo with a new post-release.


Tasks -> C++, Task Configuration

Task's are pretty opaque for users currently. They should be moved to C++ code so that it is clear to users how task rewards are calculated. It would also be nice to have some way that a user could configure task set up.

Fixed in BYU-PCCL/holodeck-engine#151


No Calculation action available

The documentation refers to the calculation action. On my version of D365 BC there is no calculation action, and there appears to be no way to have payment terms with installments as the article refers to

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

ID: 5f0109b5-e9f8-5537-d13d-5f3c6f9cb8cf
Version Independent ID: 669e2224-0f43-e744-d313-ff1d72d4fff2
Content: Setting Up Payment Terms - Business Central
Content Source: business-central/LocalFunctionality/Italy/how-to-set-up-payment-terms.md
Service: dynamics365-business-central
GitHub Login: @SorenGP
Microsoft Alias: sgroespe

Sorry for the delay in getting back to you on this! Are you using the Italian version of Business Central?


fix: installation bug due to missing domain files

Now the relevant files are included in the installation. Fixes #524

for some reason the last few lines of some of the files was duplicated. Can you remove those before merging, please.

Thanks for noticing, no clue about what happened. It's fixed now :)


Need add user button in roles page.

Is your feature request related to a problem? Please describe.
Currently, to assign roles to users, we need to assign if from the user page individually.
No provision to select multiple users.
Need add user button in roles page. Like for teams
Describe the solution you'd like
Add the add user button so multiple selections can be made.

Describe alternatives you've considered
NA
Additional context
NA

@Sachin-chaurasiya lets fix this

Closing this we have new a whole new UI.


Add the witness item count per witness stack

I don't know how I misread that yesterday, but obviously we need a witness item count per witness stack i.e. per input, not a single varint encoding the input count.
Thanks to @paultristanwagner for pointing out my midentification of the error source.

It comes out correctly for both cases pointed out by @paultristanwagner in https://github.com/jlopp/bitcoin-transaction-size-calculator/pull/6#issuecomment-1155390217 now.


Add EnableMultipleHttp2Connections to ProxyHttpClientOptions

Fixes https://github.com/microsoft/reverse-proxy/issues/675

Quick as usual, thanks 😁

@MihaZupan - can you rerun the h2 perf tests now this is incorporated.

Reran the tests and this was the reason for the h1 vs h2 difference.
Note: -single means without setting the EnableMultipleHttp2Connections

load
win-h2-https
win-h2-h2-single

win-h2-h2

Mean latency (us)
4.782
13.805
+188,71%
4.867
+1,79%

Requests
797.972
276.323
-65,37%
783.509
-1,81%

Requests/sec
54.362
18.717
-65,57%
52.339
-3,72%

Requests/sec (max)
63.942
27.504
-56,99%
72.236
+12,97%

Read throughput (MB/s)
13,72
4,76
-65,29%
13,47
-1,81%

load
lin-h2-https
lin-h2-h2-single

lin-h2-h2

Mean latency (us)
4.066
14.913
+266,81%
6.326
+55,59%

Requests/sec
62.974
17.165
-72,74%
40.487
-35,71%

Requests/sec (max)
70.212
31.087
-55,72%
54.874
-21,85%

Read throughput (MB/s)
15,36
4,21
-72,58%
9,89
-35,61%

While enabling EnableMultipleHttp2Connections for the benchmarks makes complete sense, should we just make multiple connections the default? @Tratcher @samsp-msft

EnableMultipleHttp2Connections wasn't enabled by default in HttpClient due to compatibility concerns, right? Is YARPs environment sufficiently different to avoid those?

I think that was because we didn't know whether the server(s) would support multiple connections from the same client - its quite likely that will be blocked when facing the internet, but not for server to server or proxy to server scenarios.
I think we can enable by default for YARP.

Based on the bolded below

load
lin-h2-https
lin-h2-h2-single

lin-h2-h2

Mean latency (us)
4.066
14.913
+266,81%
6.326
+55,59%

Requests
942.108
257.287
-72,69%
606.141
-35,66%

Requests/sec
62.974
17.165
-72,74%
40.487
-35,71%

Requests/sec (max)
70.212
31.087
-55,72%
54.874
-21,85%

Read throughput (MB/s)
15,36
4,21
-72,58%
9,89
-35,61%

It seems like there is still some discrepancy in the h2 implementation on Linux compared to https. This is not showing for the windows results. We should drill into this to find out why.

Afaik the concern originally was that it's technically against the spec to open more than 1 HTTP/2 connection (as the server should just allow more streams).

I recall there were specific servers brought up that were known to reject multiple connections as a protocol violation, but I don't see that recorded in the original issue or PR.
At this point we can opt-in by default and see what feedback we get. It will be harder to opt-in by default later.


Make custom solve_triangluar optional

The custom implementation of the solve_triangular function is only necessary if onnx export is needed but is a performance bottleneck.  We should make it optional to use the implementation in torch.linalg.

[x] Extend solve_triangular with another argument, e.g. backend.

Depending on the value of the new argument, the function should either use the building implementation or call the torch implementation.
Set the default backend to torch.

CSolved by #55


Let user pass additional arguments to php-fpm

Old code uses wrong way to transfer user arguments, I rewrite it to fit
bash way.
See #618

Thanks!


Add v2 examples for Vector

Add Vector examples for version 2 of GFTL. Also fix a typos in the documentation.
Fixes #238

That sounds like a good idea. I have added a basic README here: 9bbb883

Looks good.


Update json4s-native to 3.6.9

Updates org.json4s:json4s-native from 3.6.7 to 3.6.9.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.json4s", artifactId = "json4s-native" } ]

labels: library-update, semver-patch

Superseded by #93.


[BUG] [Vasil]- cnode[1580710]: Error: Switchboard's queue full, dropping log items!

Internal/External
External
Area
Other   Any other topic (Delegation, Ranking, ...).
Cardano-Node
Summary
Node reports error in syslog:
cnode[1580710]: Error: Switchboard's queue full, dropping log items!
Steps to reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
Does not drop log items
System info (please complete the following information):

OS Name: Ubuntu
OS Version: 20.04
Node version: cardano-node 1.35.3 - linux-x86_64 - ghc-8.10 git rev 9f1d7dc163ee66410d912e48509d6a2300cfa68a
CLI version: cardano-cli 1.35.3 - linux-x86_64 - ghc-8.10 git rev 9f1d7dc163ee66410d912e48509d6a2300cfa68a

If the git revision is reported to be<PHONE_NUMBER>000000000000000000000000000000, please use cabal build instead of cabal install to build the binaries because cabal install does not record the git revision in the binaries.
Screenshots and attachments

If applicable, add screenshots, config files and/or logs to help explain the problem.

Additional context
cnode[1580710]: Node configuration: NodeConfiguration {ncSocketConfig = SocketConfig {ncNodeIPv4Addr = Last {getLast = Just <IP_ADDRESS>}, ncNodeIPv6Addr = Last {getLast = Nothing}, ncNodePortNumber = Last {getLast = Just 4050}, ncSocketPath = Last {getLast = Just "/opt/cardano/cnode/sockets/node0.socket"}}, ncConfigFile = "/opt/cardano/cnode/files/pp-config.json", ncTopologyFile = "/opt/cardano/cnode/files/pp-topology.json", ncDatabaseFile = "/opt/cardano/cnode/db", ncProtocolFiles = ProtocolFilepaths {byronCertFile = Nothing, byronKeyFile = Nothing, shelleyKESFile = Nothing, shelleyVRFFile = Nothing, shelleyCertFile = Nothing, shelleyBulkCredsFile = Nothing}, ncValidateDB = False, ncShutdownConfig = ShutdownConfig {scIPC = Nothing, scOnSyncLimit = Just NoShutdown}, ncProtocolConfig = NodeProtocolConfigurationCardano (NodeByronProtocolConfiguration {npcByronGenesisFile = "/opt/cardano/cnode/files/byron-genesis.json", npcByronGenesisFileHash = Nothing, npcByronReqNetworkMagic = RequiresMagic, npcByronPbftSignatureThresh = Nothing, npcByronApplicationName = ApplicationName {unApplicationName = "cardano-sl"}, npcByronApplicationVersion = 0, npcByronSupportedProtocolVersionMajor = 2, npcByronSupportedProtocolVersionMinor = 0, npcByronSupportedProtocolVersionAlt = 0}) (NodeShelleyProtocolConfiguration {npcShelleyGenesisFile = "/opt/cardano/cnode/files/shelley-genesis.json", npcShelleyGenesisFileHash = Nothing}) (NodeAlonzoProtocolConfiguration {npcAlonzoGenesisFile = "/opt/cardano/cnode/files/alonzo-genesis.json", npcAlonzoGenesisFileHash = Nothing}) (NodeHardForkProtocolConfiguration {npcTestEnableDevelopmentHardForkEras = False, npcTestShelleyHardForkAtEpoch = Nothing, npcTestShelleyHardForkAtVersion = Nothing, npcTestAllegraHardForkAtEpoch = Nothing, npcTestAllegraHardForkAtVersion = Nothing, npcTestMaryHardForkAtEpoch = Nothing, npcTestMaryHardForkAtVersion = Nothing, npcTestAlonzoHardForkAtEpoch = Nothing, npcTestAlonzoHardForkAtVersion = Nothing, npcTestBabbageHardForkAtEpoch = Nothing, npcTestBabbageHardForkAtVersion = Nothing}), ncDiffusionMode = InitiatorAndResponderDiffusionMode, ncSnapshotInterval = DefaultSnapshotInterval, ncTestEnableDevelopmentNetworkProtocols = False, ncMaxConcurrencyBulkSync = Nothing, ncMaxConcurrencyDeadline = Nothing, ncLoggingSwitch = True, ncLogMetrics = True, ncTraceConfig = TracingOnLegacy (TraceSelection {traceVerbosity = NormalVerbosity, traceAcceptPolicy = OnOff {isOn = True}, traceBlockFetchClient = OnOff {isOn = False}, traceBlockFetchDecisions = OnOff {isOn = False}, traceBlockFetchProtocol = OnOff {isOn = False}, traceBlockFetchProtocolSerialised = OnOff {isOn = False}, traceBlockFetchServer = OnOff {isOn = False}, traceBlockchainTime = OnOff {isOn = False}, traceChainDB = OnOff {isOn = True}, traceChainSyncBlockServer = OnOff {isOn = False}, traceChainSyncClient = OnOff {isOn = False}, traceChainSyncHeaderServer = OnOff {isOn = False}, traceChainSyncProtocol = OnOff {isOn = False}, traceConnectionManager = OnOff {isOn = True}, traceConnectionManagerCounters = OnOff {isOn = True}, traceConnectionManagerTransitions = OnOff {isOn = False}, traceDebugPeerSelectionInitiatorTracer = OnOff {isOn = False}, traceDebugPeerSelectionInitiatorResponderTracer = OnOff {isOn = False}, traceDiffusionInitialization = OnOff {isOn = True}, traceDnsResolver = OnOff {isOn = False}, traceDnsSubscription = OnOff {isOn = True}, traceErrorPolicy = OnOff {isOn = True}, traceForge = OnOff {isOn = True}, traceForgeStateInfo = OnOff {isOn = True}, traceHandshake = OnOff {isOn = False}, traceInboundGovernor = OnOff {isOn = True}, traceInboundGovernorCounters = OnOff {isOn = True}, traceInboundGovernorTransitions = OnOff {isOn = True}, traceIpSubscription = OnOff {isOn = True}, traceKeepAliveClient = OnOff {isOn = False}, traceLedgerPeers = OnOff {isOn = True}, traceLocalChainSyncProtocol = OnOff {isOn = False}, traceLocalConnectionManager = OnOff {isOn = False}, traceLocalErrorPolicy = OnOff {isOn = True}, traceLocalHandshake = OnOff {isOn = False}, traceLocalInboundGovernor = OnOff {isOn = False}, traceLocalMux = OnOff {isOn = False}, traceLocalRootPeers = OnOff {isOn = True}, traceLocalServer = OnOff {isOn = False}, traceLocalStateQueryProtocol = OnOff {isOn = False}, traceLocalTxMonitorProtocol = OnOff {isOn = False}, traceLocalTxSubmissionProtocol = OnOff {isOn = False}, traceLocalTxSubmissionServer = OnOff {isOn = False}, traceMempool = OnOff {isOn = True}, traceMux = OnOff {isOn = False}, tracePeerSelection = OnOff {isOn = True}, tracePeerSelectionCounters = OnOff {isOn = True}, tracePeerSelectionActions = OnOff {isOn = True}, tracePublicRootPeers = OnOff {isOn = True}, traceServer = OnOff {isOn = True}, traceTxInbound = OnOff {isOn = False}, traceTxOutbound = OnOff {isOn = False}, traceTxSubmissionProtocol = OnOff {isOn = False}, traceTxSubmission2Protocol = OnOff {isOn = False}}), ncTraceForwardSocket = Nothing, ncMaybeMempoolCapacityOverride = Nothing, ncProtocolIdleTimeout = 5s, ncTimeWaitTimeout = 60s, ncAcceptedConnectionsLimit = AcceptedConnectionsLimit {acceptedConnectionsHardLimit = 512, acceptedConnectionsSoftLimit = 384, acceptedConnectionsDelay = 5s}, ncTargetNumberOfRootPeers = 100, ncTargetNumberOfKnownPeers = 100, ncTargetNumberOfEstablishedPeers = 50, ncTargetNumberOfActivePeers = 20, ncEnableP2P = EnabledP2PMode}

@adavault is this issue still relevant?

i saw it again a few days ago on the preview testnet with node 1.35.3


Make it easier to generate syscall descriptions for non-upstream kernels

Users may want to fuzz syscalls that are absent in the upstream tree. Right now the only option they have is to write a hermetic sys/subsystem.txt syscall description without includes (e.g. hard-code constants and manually calculate struct sizes), which is quite tricky.
Some of this information (e.g. struct sizes and layout) is already known to syzkaller, so we can substitute it automatically instead of letting the humans make mistakes.

Fixed


emba main dashboard

User story

As a user
I want / need a main dashboard
In order to view fancy graphs, charts and other analytics.

Acceptance criteria

Create the HTML and style sheets for the main dashboard.
Try out fancy UI elements to view on the dashboard
Make sure none of the sensitive data is visible in this dashboard

Definition of done

Code review from peers has been completed and passed

Code is fully implemented and commented
Adheres to coding guidelines
Commits are not squashed
Code is checked into the repository

Unit tests for backend have been written and are passing
Manual performance tests on the browser are passing
No critical bugs are open

This ticket was completed for the sprint on 23.06.2021, the additional part of this ticket was made into another ticket as a continuation. Refer to ticket #155


Only query logstorage for enterprise

Description

For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

Though it seems like there should probably be a watch for the LogStorage but I can't find one.

yeah maybe, that is outside the scope of what I'm trying to fix here though. @Brian-McM maybe interested in that comment.


[Model Request] Mixtral-8x22B-Instruct-v0.1 🙏

⚙  Request New Models

Link to an existing implementation (e.g. Hugging Face/Github):
https://huggingface.co/mistralai/Mixtral-8x22B-Instruct-v0.1
Is this model architecture supported by MLC-LLM? (the list of supported models)  Y E S

Additional context
This is of course a wildly large model. I doubt my setup can quantize it without reaching its limits and therein lies the problem! Of course, once it is quant. to q8, q4, etc. it'll be manageable for (maybe) a majority of users (or at least a significant minority haha)

Mixtral 8x7B was wildly popular so I imagine this'll be a good opportunity to acquaint more people with MLC

And/or WizardLM-8x22B-Instruct 🤪

I think it should have been supported. cc @vinx13

It’s supported. Are you requesting precompiled package?

@vinx13 Yep! I'd have already converted/compiled it myself if I could, but 141B and 300GB is a bit inaccessible for my prosumer setup

compile and convert does not require reading all data into RAM/VRAM. In other words, 500GB (original weight + converted weight) disk space is enough, no specific RAM or VRAM requirements.
However, at least 80GB VRAM is required if you'd like to run it :)

feel free to convert the model ourselves


Releases Page is not found

Hi everyone,
It looks like the change log page is not found. It was accessible with this link https://dbeaver.io/category/releases/ before.
Currently it displays Error 404.
Has the page been moved?

The page is back.


opentabletdriver: <IP_ADDRESS> -> <IP_ADDRESS>

Description of changes
Changelog: https://github.com/OpenTabletDriver/OpenTabletDriver/releases/tag/v<IP_ADDRESS>
Diff: https://github.com/OpenTabletDriver/OpenTabletDriver/compare/v<IP_ADDRESS>...v<IP_ADDRESS>

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

opentabletdriver

Pushed some fixes, it seems in my machine for some reason the hash was different (maybe they re-released, maybe GitHub changed the hashes silently like it does sometimes).
Also add a check in the test to increase reliability, since in my system the test would fail but in CI it is working.

Result of nixpkgs-review pr 276287 run on x86_64-linux 1

1 package built:

opentabletdriver

Pushed some fixes, it seems in my machine for some reason the hash was different (maybe they re-released, maybe GitHub changed the hashes silently like it does sometimes).

After removing leaveDotGit = true, I forgot to invalidate the hash. I feel like since I changed something in fetchFromGithub, it should've redownloaded the repo and told me the hashes don't match.

Pushed some fixes, it seems in my machine for some reason the hash was different (maybe they re-released, maybe GitHub changed the hashes silently like it does sometimes).

After removing leaveDotGit = true, I forgot to invalidate the hash. I feel like since I changed something in fetchFromGithub, it should've redownloaded the repo and told me the hashes don't match.

Sadly the fetchers are not really smart, so if you say "this is the hash" and there is something that matches this hash inside your Nix store, Nix will just believe in you.


AliasAnalysis: use a complexity limit for the isObjReleased function

We already use a complexity limit for other functions in AliasAnalysis. This is a workaround for quadratic complexity in ARCSequenceOpts.
Fixes a compile time problem
rdar://114352817

@swift-ci test

@swift-ci test


[Coverity CID :187079] Integer handling issues in /subsys/net/l2/ethernet/gptp/gptp.c

Static code scan issues seen in File: /subsys/net/l2/ethernet/gptp/gptp.c
Category: Integer handling issues
Function: gptp_set_time_itv
Component: Networking
CID: 187079
Please fix or provide comments to square it off in coverity in the link: https://scan9.coverity.com/reports.htm#v32951/p12996

The problem is detected again by latest coverity scan. Please have a look

What is the coverity scan id for this new issue? The original one 187079 points to code that is already fixed.

I wonder why coverity is reporting this now instead of immediately after the previous fix was reported. Anyway, investigating.


Issue133 delete scenario move to next instead of previous

Codecov Report

Merging #141 (8841792) into main (dcd49c2) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@           Coverage Diff           @@
##             main     #141   +/-   ##
=======================================
  Coverage   99.77%   99.77%
=======================================
  Files          98       99    +1
  Lines        5863     5905   +42
=======================================
+ Hits         5850     5892   +42
  Misses         13       13

Files
Coverage Δ

ScenarioGUI/gui_classes/gui_combine_window.py
100.00% <100.00%> (ø)

...test_main_window_functions/test_delete_scenario.py
100.00% <100.00%> (ø)


When updating, the »vendor«-folder is needed too.

When updating from Symphony ≤ 2.5 Contrary to the instructions still in the readme, the vendor-folder is needed too.

I do not see any instruction regarding the vendor folder in the readme... which line ?

That’s what I meant to say. It’s not mentioned, but the installation fails without the vendor-folder.

Oh ok. Then I think we should add it.

+1


Unable to find_package after a source build in custom location

Hi @Mizux
I am trying to follow the advice you gave me over on the other thread.
As indicated there, I have installed OR Tools on Windows Visual Studio 2022 using the steps mentioned on the website.
Now, I performed the steps exactly as mentioned on https://developers.google.com/optimization/install/cpp/source_windows
from my local drive: E:\ortools
Now, after all steps are run, the folder structure is E:\ortools\or-tools\ .git and other subfolders here such as bazel\ , binder\ , build\ , cmake\ , ortools\ etc.
I have my project folder elsewhere, say, C:\myproject\CMakeLists.txt
Within this CMakeLists.txt, the following find_package() line fails.
 set(ortools_loc_2 "E:\\ortools\\or-tools\\ortools")
 if(EXISTS "${ortools_loc_2}" AND IS_DIRECTORY "${ortools_loc_2}")
     message(STATUS "ortools exists on this machine")
     set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "E:\\ortools\\or-tools\\ortools") # should ideally go in presets file see https://www.reddit.com/r/cpp_questions/comments/17r5g6r/comment/k8imfvs/
     find_package(ortools CONFIG REQUIRED)
     set(ortoolsfound 1)

Could you please suggest how I can inform my project's CMakeLists.txt to find the source built ORTools of my custom location?
Thanks.

Just want to add that when I changed the location as follows:
set(ortools_loc_2 "E:\ortools\or-tools\build")
it "works" but fails subsequently with the following error:
1> [CMake] CMake Error at E:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
1> [CMake]   Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.11")
1> [CMake] Call Stack (most recent call first):
1> [CMake]   E:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
1> [CMake]   E:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/FindZLIB.cmake:200 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
1> [CMake]   E:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/CMakeFindDependencyMacro.cmake:76 (find_package)
1> [CMake]   E:/ortools/or-tools/build/ortoolsConfig.cmake:25 (find_dependency)
1> [CMake]   CMakeLists.txt:219 (find_package)

this template project automatically fetch and rebuild the or-tools project, it doesn't depend on any prebuilt.
see
https://github.com/or-tools/cmake_or-tools/blob/7bfb4a04518d377d88c342637c46bf6faad3c3a0/CMakeLists.txt#L87-L96
For your own issue trying to use the prebuilt please provide a minimal reproducible example.

Actually, I want to avoid usage of FetchContent because within each of my projects, it ends up creating almost 2 GB of stuff. I was hoping to use a single build in a custom location once and then access this from multiple projects all using different components of OR tools without having to FetchContent individually for each project. I don't have so much hard disk space.
On delving into this further, with the same CMakeLists.txt and opening the project in Linux, the build works fine.
I am able to see CMake output indicate that the ZLib version found was 1.2.13
On Windows, the ZLib version found is only 1.2.11 and it is failing in this step.
Is there a minimum requirement of ZLib within ortools?
Regarding minimum example, I am not sure what that would be -- all I did was I followed the steps in https://developers.google.com/optimization/install/cpp/source_windows this morning (so, the code is most recent) and built it as instructed on that site with -DBUILD_DEPS=ON
So, I would imagine the above built the latest zlib directory. However, the version picked on my Windows machine is still lower than what I found on my Linux machine. If you do have access to a Windows machine/VS2022, could you please let me know what ZLib version you find?
Thanks for the continued support and sorry for lack of a minimal example -- it is just that I am not sure what that would be in this case, perhaps I am stuck with an older Windows/VS Version and hence ZLib is not up to date?

strange ZLIB is build using
https://github.com/google/or-tools/blob/5f7eabb3ffa1de786c224a722f0e9561101c3ab2/cmake/dependencies/CMakeLists.txt#L60-L71


Removing table stylings from patient notes headers; implementing MM/D…

This pull request makes the following changes:
-Removed table styling from patient notes headers
-Added MM/DD/YYYY format for date
-Added padding to call list area
-Replaced "Remove" with glyph icon
-Improved widths
The notes page should look like this:

And the call list area should look like this:

Thanks @colinxfleming and let me know if anything needs a touch up!
Closes #795

Codecov Report

:exclamation: No coverage uploaded for pull request head (master@6008737).

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 8159956...6008737. Read the comment docs.

Whoa, CodeCov changed their report format!
Thanks a ton for getting this in @AlexandraCasser ! I'm running on fumes tonight but I promise I'll get to this in the next day or two. I think there's a way we can generalize some of the CSS that'll make this a little more maintainable, and tidy up the notes part of table content a little bit.

Also I should say I'm super stoked on this! Having a more pleasant call list has been on the todo list for awhile, and I really appreciate your taking it on -- going to result in a lot of happy case managers, I think!

@colinxfleming Take your time getting around to it and thanks so much for having a look.  I'm open to any and all suggestions.

@AlexandraCasser so sorry for the delay reviewing this again! I had a few points of feedback (which I'm happy to implement if you prefer), but after that I think we're ready to Smash That Merge Button if you're also feeling good about it! Let me know!

@colinxfleming Will implement this tomorrow.  Thanks!

@colinxfleming I think it would actually be easier if you implemented these, much as I hate to load more work on you.  Is that ok?

@AlexandraCasser copy that, will adjust to taste and implement!


[Bug Report] thumbnail generation FOREIGN KEY sqlite exception

Describe the bug
Starting thumbnail generation
Unhandled exception: FOREIGN KEY constraint failed (SQLite3::Exception)
  from Mango/lib/sqlite3/src/sqlite3/connection.cr:89:11 in 'close'
  from Mango/lib/db/src/db/pool.cr:52:21 in 'close'
  from Mango/lib/db/src/db.cr:126:7 in '->'
  from usr/share/crystal/src/primitives.cr:255:3 in 'start_and_block'
  from Mango/src/mango.cr:47:1 in '->'
  from usr/share/crystal/src/primitives.cr:255:3 in 'start_parse'
  from Mango/src/mango.cr:137:1 in '__crystal_main'
  from usr/share/crystal/src/crystal/main.cr:110:5 in 'main'
  from src/env/__libc_start_main.c:94:2 in 'libc_start_main_stage2'

To Reproduce
Steps to reproduce the behavior:

Thumbnail generation, either auto or via admin

Expected behavior
No crash when mango generate thumbnail
Environment :

OS: Debian via WSL
Mango Version : 0.24.0

Additional context
The funny thing is that I have three mango running and it seems only this one got that bug on thumbnail generation. Except the manga themselves, the three have pretty much the same setup (just on different port and folders).
Recreating the container didn't change a thing, I'm not sure if the problem is with the database being corrupted (I tried deleting it and recreating the containers and having a new db but the bug still persist) or some images having a problem.

This is weird. Did you somehow modified your DB file directly? We have ON UPDATE CASCADE and ON DELETE CASCADE on every foreign constraint in the DB, which should prevent something like this.

Not that I know of. I'm not sure when that appeared exactly but probably when I upgraded to last version. Like I said, that's the only instance that do that, every when deleting the database and recreating the container (so the new db is created and not touched).

I see. Is it possible for you to share your DB file so I can inspect and try to pinpoint the issue? You can do

Backup your existing DB file
Let Mango create a new DB file
Without logging in or creating new users, let Mango do a library scan to update the file
Send me the newly created DB file

The highlighted part in step 3 is important so I won't have access to the users table.
Feel free to DM me on gitter/discord if you prefer to share it privately.

@Nerothos I accidentally reproduced the issue when testing an unrelated PR #259. It can be reproduced as follows:

Run Mango as normal, and have it generate the library cache (library.yml.gz).
Delete the DB file (mango.db).
Rerun Mango. It creates a new DB file, but as soon as thumbnail generation starts it would crash with the foreign key error.

One quick workaround I found is to simply delete the library cache and have Mango do a full scan from scratch. Of course this is not ideal, but I will look into this.

@Leeingnyo I think this is caused by the inconsistency between the DB and the library cache. When a new DB file is created it doesn't contain the titles and entries in the cache file, and so it fails when generating the thumbnails. I think an easy fix is to compare the entries in DB with the entries in the cache file when we first load it, and if they are different, we delete the cache file and do a full scan. Do you think this would work? Or do you have a better solution?

Ah yeah sorry I forgot to send you my files and to report.
Yeah I fixed this by creating an entire new mango folder but keeping only my library. I thought about the library.yml.gz but that didn't do it.
Glad you found a way to reproduce it.


ALT-E doesn't open Edit Menu

VSCode Version: Code 1.15.1 (41abd21afdf7424c89319ee7cb0445cc6f376959, 2017-08-16T18:07:25.676Z)
OS Version: Windows_NT x64 6.1.7601
Extensions:

Extension
Author (truncated)
Version

html-snippets
abu
0.1.0

jslint
ajh
1.2.1

jshintrc-generator
ben
1.0.0

jshint
dba
0.10.15

vscode-eslint
dba
1.2.11

Angular1
joh
0.2.0

mssql
ms-
1.1.0

PowerShell
ms-
1.4.1

team
ms-
1.122.0

debugger-for-chrome
msj
3.2.1

debugger-for-ios-web
msj
0.1.2

html-css-class-completion
Zig
1.9.0

Steps to Reproduce:

Go to the code editor, and hit ALT-E
See that while you are holding ALT the E is underlined, but hitting E doesn't do anything
"window.enableMenuBarMnemonics": true,  is set

Reproduces without extensions: YES

Works for me.
Please try reproducing by installing the latest vscode inisder version https://code.visualstudio.com/insiders
Also check your keyboard shortcuts and try disalbling all extensions since some extension might overwrite that keybdinging.


click.launch(wait=True) does not appear to work

Expected Behavior
When calling click.launch(wait=True), if I interpret the documentation correctly, click.launch(wait=True) should wait (block) for the user to close the launched program.
From https://click.palletsprojects.com/en/7.x/api/#click.launch:

wait – waits for the program to stop.

In fact, whatever the value of wait, the behavior does not change.
What I'm trying to accomplish is to generate a temp file in my CLI app, let the user look at it using click.launch, then have the temp file deleted once the viewing program is closed.
# test.py
# Assume exisiting ./test.txt file

import click

@click.command()
def main():
    print('Entering main.')
    click.launch('./test.txt', wait=True)
    print('Leaving main.')

if __name__ == '__main__':
     main()

> python test.py
> Entering main.
(file opens in program)
(user closes program)
> Leaving main.

Actual Behavior
> python test.py
> Entering main.
> Leaving main.
(file opens in program)

Environment

Python version: 3.7.5 (default, Nov  7 2019, 10:50:52)
Click version: 7.1.2

Had a look in the source. I'm on linux, so xdg-open is being called, and that never blocks. click always returns 0 if wait == False, and the return code of xdg-open if wait == True.

There's nothing we can do for this. If xdg-open is non-blocking, then it sounds like the only thing wait can do is what it does: ignore the return if it's False, or get the return as soon as it's returned and pass that on if it's True.

Hmm, too bad, I was hoping there was a fix possible, if there was a blocking alternative to xdg-open.
One way would be to get the mimetype with xdg-mime filetype /path/to/file, then use xdg-query default <mimetype> to get the default application .desktop file name.
Find the file in XDG_DATA_DIRS (/applications subfolder). The .desktop file would then have to be parsed to find the command for the application, then launch a blocking subprocess with the application using the proper command.
But this is complicated, and I think it's probably not in click's scope.
Maybe a small change in the docs to clarify will do.


Generate views on the fly

A button to generate a default

browse.blade.php
edit-add.blade.php

Would already be cool to get yourself started.

Voyager already has a view fallback system, which will guarantee a matching view is found.  For example, if you create a new BREAD, you need not generate view files for it as it'll use the default views under vendor/tcg/voyager/resources/views/bread/*.blade.php.
In short, we see overriding views as an exception, not the rule.  Therefore I don't see the benefit of adding UI elements to generate these files.

But you (voyager) did it for the
-posts.
-users.
-roles.
These are manually written.
Yet i not figured out todo that for my own breads!

never mind, i think i got it...........
just copyed the edit-add.blade.php from
vendor/tcg/voyager/resources/views/bread/edit-add.blade.php.
to my own view.

Yes exactly. It's also in our docs: https://voyager.readme.io/docs/overriding-views

It is still to complicated building views.
I not expect anything from the voyager team in this.
I already found a bogus bread-template hook.
Keep in mind, you telling it is the missing admin.
What i ask/mention is all admin related.

Just make the generate button. (it is optional).
You know how to fetch/catch the generation.
Based on that.
A view could be made very quickly.
Just let it sink a little.

Make this tread a challenge instead of a "request"
perhaps someone can HOOK into this ;)
I wished i was more experienced in Laravel ( i just recently started).
But i have a little decades programming skills under the hood.

For one simple reason........... it makes sense.
Ask the main dev about this idea.


How to test React.Portal

react-testing-library: 2.1.1
node: 8.9.3
yarn: 1.6.0
import React from "react";
import { render, Simulate } from "react-testing-library";

import Button from "material-ui/Button";
import Dialog, {
  DialogActions,
  DialogContent,
  DialogTitle
} from "material-ui/Dialog";

export const CommonDialog = props => {
  const { body, children, hideModal, isVisible, title } = props;
  return (
    <Dialog open={isVisible}>
      <DialogTitle>{title}</DialogTitle>
      <DialogContent>
        {body}
        {children}
      </DialogContent>
      <DialogActions>
        <Button id="close" onClick={hideModal}>
          Close
        </Button>
      </DialogActions>
    </Dialog>
  );
};

test("render dialog", () => {
  const mockCallback = jest.fn();
  const { getByText, getByTestId, container } = render(
    <CommonDialog title="test" isVisible={true} hideModal={mockCallback} />
  );
  Simulate.click(getByText("Close"));
  expect(mockCallback).toBeCalled();
  expect(container).toMatchSnapshot();
});

in the snapshot, it is just a simple div, and the Close button could not be found.  It is not immediately not obvious what's went wrong here.
I was using enzyme and it is working fine.

checked source code, Dialog uses Portal so maybe thats why?

Glad you found a workaround 👍

Make sure to unmount at the end of your test to clean up the document.body

Hey, this solve my problem while test a Component using reactstrap modal. I am wondering if there is a way to supress warnings, though.

test("render dialog", () => { 	//  Disable Warning: render(): Rendering components directly into document.body is discouraged. 	const console = global.console; 	global.console = { error: jest.fn() }; 	const { container, unmount } = render(                  <Component />, 		{ container: document.body }, 	); 	unmount(); 	global.console = console; });

Thanks @bugzpodder. Worked!

I would not recommend that solution. That's just hiding the problem and it's kinda annoying boilerplate. Here's another example of how to test a portal: https://github.com/kentcdodds/react-testing-library-course/blob/master/src/tests/06.js
Rather than using render with the container as document.body, just use renderIntoDocument and it'll add a new div into the document.body which will avoid the error.

ahmmm...I can see now why I never got renderIntoDocument to work..
I was trying to do something like this:
...

const { getByTestId, unmount } = renderIntoDocument(<App /);

But, as I can see in your example, the getByTestId came from bindElementToQueries function:
import { bindElementToQueries } from 'dom-testing-library';

...

const { getByTestId } = bindElementToQueries(document.body);
const { unmount } = renderIntoDocument(<App /);
....
unmount();

This works as well.
Thanks

I struggle to find an accessible example on testing portals with react-testing-library.
Can you guys help me?
I have the following code:
let portalRoot = document.getElementById("portal")

export default class Modal extends React.Component {
  constructor(props) {
    super(props)
    this.el = document.createElement("div")
  }

  componentDidMount() {
    portalRoot.appendChild(this.el)
  }

  componentWillUnmount() {
    portalRoot.removeChild(this.el)
  }

  render() {
    let {children, toggle, on, modalBgClass = "", modalWindowClass = ""} = this.props
    return on && ReactDOM.createPortal(
      <Background modalBgClass={modalBgClass} toggle={toggle}>

          {children}

      </Background>
    , this.el)
  }
}

which breaks with TypeError: Cannot read property 'appendChild' of null on portalRoot.appendChild(this.el). What exactly should I mock to fix this?

The problem is that when the code let portalRoot = document.getElementById("portal") is run, there is no element in the document with the ID of portal so portalRoot is null.
You can create it with:
const portalRoot = document.createElement('div')
portalRoot.setAttribute('id, 'portal')
document.body.appendChild(portalRoot)

There are various ways you can do this (in a test setup file, or in a test beforeAll which would require a slight modification to your component to query for that element within the lifecycles).
What I would do personally that would solve this is in your component file, do this:
let portalRoot = document.getElementById("portal")
if (!portalRoot) {
  portalRoot = document.createElement('div')
  portalRoot.setAttribute('id, 'portal')
  document.body.appendChild(portalRoot)
}

This would also mean that you don't have to have the HTML in your app with the portal element ahead of time which reduces the chance of this error happening in production 👌
Good luck!

I would not recommend that solution. That's just hiding the problem and it's kinda annoying boilerplate. Here's another example of how to test a portal: https://github.com/kentcdodds/react-testing-library-course/blob/8069bf725dc0dd3774c39f7b8c5a3b226d2f06d0/src/tests/06.js

@kentcdodds Thank you very much for the link and sample code how 'createPortal' can be tested. I'd like to ask how we can test functional component which contains 'createPortal'. Thanks!!!

The test would be exactly the same. That's the beauty of react-testing-library being free of implementation details.

was able to workaround with { container: document.body } passed into render

For anyone curious: Specifically with material-ui, this fixed my problem.
For my working example:
const { container, getByText } = render(
      <I18nTestProvider>
        <LanguageSelect />
      </I18nTestProvider>,
      { container: document.body },
    );
    const selectComponent = container.querySelector('#select-language');

    act(() => {
      fireEvent.click(selectComponent);
    });

    await wait(() => getByText('French'));

    expect(container).toMatchSnapshot();

What is the recommended way to test portals now? Passing { container: document.body } to render options triggers a warning, and renderIntoDocument is deprecated.

I'm wondering the same as above.  I'm using material-ui v4 and the { container: document.body } does not appear to be working as expected.  To be more specific, I'm rendering a Popover component, and when it is open, I just get the following with root.debug():

Here's how I recommend writing/testing modals/portals: https://codesandbox.io/s/github/kentcdodds/react-testing-library-examples/tree/master/?fontsize=14&module=%2Fsrc%2F__tests__%2Fportals.js

Why do we render into document.body? To tell react-testing-library to give back document.body. IMHO it's easier to render wherever and then look for the portalled component in the body. Here's an example with a snapshot:

import { render } from 'react-testing-library';

import { MyPortalledComponent } from '..';

describe('MyPortalledComponent', () => {
  it('snapshot', () => {
    render(<MyPortalledComponent/>);
    expect(document.body.lastChild).toMatchSnapshot();
  });
});

Why do we render into document.body?

I'm guessing you're asking "why does React Testing Library append the container to the body?" And the answer is because otherwise React's event delegation system would not work and you wouldn't be able to fire DOM events at any of your elements.
You don't need to bother with telling React Testing Library where to find the element. All queries are pre-bound to document.body (because that's where the user is going to look for things) so you can query for stuff that's inside the portal just like you do anything else. There's basically no change with how you test things when you put stuff in a portal.

I was able to get this working the way I expected by snapshotting the baseElement rather than the container. By default only the trigger button appeared in the container snapshot, but I wanted the dialog's contents to be snapshotted too.
  // Note: You can't use expect(container).toMatchSnapshot() if you
  // wish to include the dialog's contents in your snapshot
  expect(baseElement).toMatchSnapshot()

Full example with working code sandbox:
https://codesandbox.io/s/react-testing-library-examples-pxmj7?fontsize=14&module=%2Fsrc%2F__tests__%2Fmaterial-dialog.js
import React from 'react'
import {
  Button,
  Dialog,
  DialogContent,
  DialogContentText,
  DialogActions,
} from '@material-ui/core'
import {render, fireEvent} from '@testing-library/react'
import '@testing-library/react/cleanup-after-each'
import 'jest-dom/extend-expect'

const MaterialDialog = () => {
  const [open, setOpen] = React.useState(false)

  function handleClickOpen() {
    setOpen(true)
  }

  function handleClose() {
    setOpen(false)
  }

  return (
    <React.Fragment>
      <Button
        variant="contained"
        color="primary"
        onClick={handleClickOpen}
        data-testid="open-dialog"
      >
        Open dialog
      </Button>
      <Dialog open={open} onClose={handleClose} fullWidth={true} maxWidth="md">
        <DialogContent>
          <DialogContentText data-testid="dialog-message">
            Hello from inside the dialog!
          </DialogContentText>
        </DialogContent>
        <DialogActions>
          <Button onClick={handleClose} color="primary" autoFocus>
            OK
          </Button>
        </DialogActions>
      </Dialog>
    </React.Fragment>
  )
}

test('material dialog button can be interacted with to show a message', () => {
  const {baseElement, getByTestId} = render(<MaterialDialog />)

  fireEvent.click(getByTestId('open-dialog'))

  // Asserting content within the dialog after being opened
  expect(getByTestId('dialog-message')).toHaveTextContent(
    'Hello from inside the dialog!',
  )

  // Note: You can't use expect(container).toMatchSnapshot() if you
  // wish to include the dialog's contents in your snapshot
  expect(baseElement).toMatchSnapshot()
})

@bugzpodder did you find a solution to this?

We had a wrapper over the Material Dialog that used withMobileDialog and that was the reason why  snapshots did't display custom dialog content

These questions are best answered on our spectrum.chat.
I think the Select + Dialog integration test and Dialog unit test on the Material-UI repository are some good ressources if you want a deep dive into Material-UI + testing-library testing
(Material-UI wrapper around render for reference). Except testing backdrop clicks only byRole queries are used in those tests.
I don't use snapshot testing for React trees or DOM trees anymore so I can't give any advice on that.

@ArtemAstakhov - thanks for that insight! Our team had the same problem that @aemc noted above, where debug was printing only an empty div inside body.
We spent a good amount of time researching why we weren't able to access content inside our Dialog components (built on top of the MUI Dialog and wrapped with withMobileDialog()) with Jest and RTL. Suggestions for testing React.Portals and such didn't help, but only after looking specifically into the MUI withMobileDialog issue did we find some solutions.
This issue lead us to this page in the MUI docs, and implementing that workaround allowed us to fully test our Dialogs.

What I would do personally that would solve this is in your component file, do this:
let portalRoot = document.getElementById("portal")
if (!portalRoot) {
  portalRoot = document.createElement('div')
  portalRoot.setAttribute('id, 'portal')
  document.body.appendChild(portalRoot)
}

Awww yeah this worked for me.

import React from 'react'
import { RenderResult, render, waitFor } from '@testing-library/react'
import ButtonBeAPartner from '~/components/ButtonBeAPartner'
import Design, { Modal } from '~/components/Design'

describe('components/ButtonBeAPartner', () => {
  let wrapper: RenderResult

  beforeEach(() => {
    wrapper = render(
      <Design>
        <ButtonBeAPartner />
        <Modal>
          Hi!
        </Modal>
      </Design>
    )

    waitFor(() => null)
  })

  describe('when rendering', () => {
    it('the modal does not exist in the document', () => {
      expect(wrapper.queryAllByTestId('modal')).toHaveLength(0)
    })

    describe('when click the button', () => {
      it('the modal appears', () => {
        wrapper.getByTestId('button-be-a-partner').click()

        expect(wrapper.getByTestId('modal')).toBeInTheDocument()
      })
    })
  })
})

I have found following solution:
const { baseElement } = render(<Modal />);

// Snapshot
expect(baseElement).toMatchSnapshot();

// Query element
const modal = getQueriesForElement(baseElement).queryByTestId('modal');
expect(modal.innerText).toBe('Modal content');

Resulting snapshot:

      Modal content

For people getting

For me, It had nothing to do with portal and everything to do with <Route />. Make sure you are on the url your component needs to render by passing initialEntries={['/route']} to <MemoryRouter />.

You can also access it via screen
import { screen } from '@testing-library/dom';

const modal = screen.getByTestId('test-modal');
expect(modal).toBeTruthy();

@eps1lon what do you think of this solution
import React from "react";
import {render, cleanup} from "@testing-library/react";
import {Dialog} from "@material-ui/core";

afterEach(cleanup);

describe("<Dialog />", () => {
  const container = document.createElement("div");
  document.body.append(container)

  it("renders component", () => {
    const {asFragment} = render(
      <Dialog open={true} container={container}/>,
      {container}
    );

    expect(asFragment()).toMatchSnapshot();
  });
});

The problem is that when the code let portalRoot = document.getElementById("portal") is run, there is no element in the document with the ID of portal so portalRoot is null.
You can create it with:
const portalRoot = document.createElement('div')
portalRoot.setAttribute('id, 'portal')
document.body.appendChild(portalRoot)

There are various ways you can do this (in a test setup file, or in a test beforeAll which would require a slight modification to your component to query for that element within the lifecycles).
What I would do personally that would solve this is in your component file, do this:
let portalRoot = document.getElementById("portal")
if (!portalRoot) {
  portalRoot = document.createElement('div')
  portalRoot.setAttribute('id, 'portal')
  document.body.appendChild(portalRoot)
}

This would also mean that you don't have to have the HTML in your app with the portal element ahead of time which reduces the chance of this error happening in production 👌
Good luck!

Thank you for this suggestion. This solved my issue. 🎸

This thread has helped me a lot 👍 I decided to:

compare the snapshot with baseElement (including the document.body was useful in the end)
access the dialog with screen.queryByRole('dialog') whenever needed

These questions are best answered on our spectrum.chat.

I disagree; that page is now a 404, and all of the questions and answers that were presumably there are gone, and not in Google's index. Apparently the new home is Discord, which faces a similar problem - this issue has solved my problem today pretty quickly, and presumably many other people's - but if it only existed in Discord or Slack or something else, it would be completely undiscoverable, and would take much longer for any given person to find their answer, and would require people to actively take time out to help.

In my case I solved it too more simple way:
Component:
ReactDOM.createPortal(<Modal />, document.body);
Spec:
render(<Modal opened />);
expect(document.body.lastElementChild).toMatchSnapshot();

One word: try document.body  in your test case ~~

I would not recommend that solution. That's just hiding the problem and it's kinda annoying boilerplate. Here's another example of how to test a portal: https://github.com/kentcdodds/react-testing-library-course/blob/8069bf725dc0dd3774c39f7b8c5a3b226d2f06d0/src/tests/06.js
Rather than using render with the container as document.body, just use renderIntoDocument and it'll add a new div into the document.body which will avoid the error.

Is this still recommended solution, because in another thread i saw this was deprecated.

Tried so many ways unfortunately Mui Dialog is not being rendered!

Here's how I managed to test portals:
import userEvent from '@testing-library/user-event';
import { render, waitFor } from '@testing-library/react';

it('shows hint on hover', () => {
	const children = 'children';
    const hintBody = 'hint body';

    const { getByText } = render(
      <Hint text={hintBody}>
        {children}
      </Hint>,
    )

	// get trigger element
	const hint = getByText('your text goes here');

	// use `waitFor` for simulating an action on the trigger
	await waitFor(() => userEvent.hover(hint));

	// use `waitFor` for looking for the added element
	await waitFor(() => getByText(hintBody));
})

P.S.
It's important you use waitFor for both simulating action and looking for the element otherwise this technique won't work.
I used userEvent for simulating action but I tested this technique with fireEvent and it works as well.
Hope it helps.

This worked for me and was the most simple way I could find:
import {
  getQueriesForElement,
  render,
  RenderResult,
  screen,
} from "@testing-library/react";

describe('tests', () => {
  let result: RenderResult;

  const base = async () => {
    const { baseElement } = result;

    return baseElement instanceof HTMLElement
      ? await getQueriesForElement(baseElement)
      : screen;
  };

  beforeEach(() => {
    result = render(...);
  });
});

then use (await base()) instead of screen

I ran into issues when trying to test the Chakra UI toast which uses a Portal.
I realized that I was missing the <ChakraProvider theme={theme}>...</ChakraProvider> arround my component.

code

// TestComponent.tsx
import { useEffect } from "react";
import { useToast } from "@chakra-ui/react";

interface Props {}

export const TestComponent: React.FC<Props> = () => {
  const toast = useToast();

  useEffect(() => {
    toast({
      title: "hello",
      duration: 3000,
      isClosable: true,
      status: "success",
      position: "top-right",
    });
  });

  return <></>;
};

test that works

// TestComponent.spec.tsx
import { render, screen } from "@testing-library/react";
import { SaveButton } from "./SaveButton";
import { ChakraProvider, theme } from "@chakra-ui/react";

it("should display toast", () => {
  render(
    <ChakraProvider theme={theme}>
      <TestComponent />
    </ChakraProvider>
  );
  screen.getByText("hello");
});

Here's how I recommend writing/testing modals/portals: codesandbox.io/s/github/kentcdodds/react-testing-library-examples/tree/master/?fontsize=14&module=%2Fsrc%2F__tests__%2Fportals.js

It looks like this CodeSandbox no longer exists :(
Anyone know what Kent C Dodds recommended for testing portals?

The thing that worked for us was to use this:
const { baseElement: container }  = render(<YourComponent/>)

You can now access container the same way you would normally, otherwise it tries to grab the first element which is an empty div in the case of a portal element.

The thing that worked for us was to use this:
const { baseElement: container }  = render(<YourComponent/>)

You can now access container the same way you would normally, otherwise it tries to grab the first element which is an empty div in the case of a portal element.

Thanks a lot, it worked in my case :)


UI Testing

Toolkit UI Testing
We can approach this from two ways:

Add a new app that contains a UI testing target

Pro: Better seperation of purpose
Con: More overhead with new app to manage

Add a UI testing target to the existing samples app

Con: We may need to introduce accessibility code into the examples that'll add extra complexity

We'll also need to amend the current test designs to include UI testing.

We'll also need to amend the current test designs to include UI testing.

Would that be adding a new UI test design spec for each component in the common toolkit repo?


🌐 Add French translation for docs/fr/docs/advanced/additional-status-code.md

Here is the PR to translate the advanced/additional-status-code.md
See the french translation tracking issue https://github.com/tiangolo/fastapi/issues/1972.
Thanks for the reviews

Hi @axel584, you also need to update the docs/fr/mkdocs.yml file to include the newly translated page

Le breaking change in the unit test will be resolve by this PR : https://github.com/tiangolo/fastapi/pull/5456

@JulianMaurin / @rjNemo : Does anyone know why my MR did not receive the "approved-2" label?

Thank you @axel584! :cake:
And thanks for the reviews @JulianMaurin, @emmrichard, @rjNemo :coffee:


Provide a way to configure the underlying netty channels created in BigtableSession.

Our service runs gRPC in the same process as other netty-consuming libraries (finagle).  A consequence of this is that we actually configure the gRPC netty channels to share the same event loop group as our other libraries.  We also use epoll, so I configure the netty channels for that as well.
I've done this by adding an overridable method in BigtableSession that I can override in my code and hook into the netty configuration.  This is a little hacky however, because there are two code paths, one for the public static BigtableSession.createChannelPool and one for the protected instance createChannelPool.  I'd be happy to submit a PR for this, but as I said my solution is a little hacky, and I think it might require some larger refactoring to remove the static methods here.

We use the static methods elsewhere, which is probably the wrong thing to do.  We should probably separate concerns and create some sort of ChannelBuilderFactory or something like that.

We should construct it via a ChannelBuilderFactoryBuilder as well ;)
On a serious note, I think thats a good idea, possibly set on BigtableOptions, with a default set that does what is already done now?

BigtableOptions sounds like a good place to put this.  The only catch is that BigtableOptions needs to be completely Serializable.  I'll think about this for a bit.

ack on Serializable, it should be fine though, most implementations should have no state and be trivially serializable.

I'm ok with putting this on BigtableOptions.   I don't know if there's a cleaner way to do it.

That'd be useful, the only issue there is that the current implementation uses some internal client interceptors when it creates the channel.
If I passed in a channel, would I also then be responsible for creating a pool?  We'd need to then expose that publicly as well.

The only interceptors that are per channel are the channel ids, which should be easy to replicate. All the over interceptors can be wrapped around the entire pool.
Yes, you'd be responsible for creating the pool. I thought you had your own implementation of channel pooling (that preemptively reconnected channels)?

My current thought is that customizing the behavior of the channel pool needs to happen very rarely. It is mostly requested by customers with pretty advanced usecases, in most cases the customer has a very indepth understanding of the pool and have very specific needs. I feel like introducing a callback (builder factory) adds another layer of indirection and makes it a lot harder to reason about the initialization of the client in the general case. My preference would be to error on a cleaner separation at the cost of a bit of code duplication.
In concrete terms it would mean that for the bigtable-client-core:

we would pull all of the interceptors up to BigtableSession
you would implement a ChannelFactory that creates configured channels
you would wrap the factory in a ChannelPool
you would pass the ChannelPool to BigtableSession

For google-cloud-java, it's a bit more  complicated and I need a bit more time to think it through

I think that makes a lot of sense, and would work for me!
wrt google-cloud-java, does that use gax-grpc?  I've done a similar thing for that already (and opened https://github.com/googleapis/gax-java/issues/573)

yep

fun times!

I'm going to close this.  Anything of this sort should be done in the new google-cloud-bigtable client.

As a side note, this has been implemented in the google-cloud-java client in
https://github.com/googleapis/gax-java/pull/629


Fix StreambufWSMsg prepare (RIPD-1144).

Return value was set incorrect in some cases.
The buffer was not being prepared.
Add websocket log support.

The changes in this commit are okay, but we really could use the improvements offered by @sublimator

Part of #1706

:+1:

Merged as 154e90b1cad9e9d62431af15b6f2bdd792bc1aca


Update node_id to use pub(crate)

#88

@manish7017 thanks for the PR

Looks like main is failing a test.  Unable to dig into what might be causing this.

I think it's the docs push step that isn't implemented correctly yet.


Can't start streaming on Fedora 30

Describe the bug
App starts but clicking "Start now" doesn't. It says "something unexpected happened", with error code R:0x7F
System

OS: Fedora
OS Version: 30
Environment: i3
Application: AppImage
Application Version: Launcher 4.4.19 | Client 2.5.0

Configuration

The user is in input group ? Yes
The environment uses Xorg ? Yes
VA API detects H264 ? And H265 ? Yes

To Reproduce
Steps to reproduce the behavior:

Go to the launcher
Click on 'Start now'
See error

I have the same error on Fedora 30. "R:0x7F".

Okay I found a solution and fixed it.
I installed a few missing dependencies and mesa-libGLES fixed it.

@davidjendreizak Thanks for the pointer! Can you list the other packages you installed? I tried installing mesa-libGLES and still have the same error. All I have is libva, libva-intel-driver (as per README instructions) and mesa-libGLES (from your suggestion). So I'm guessing another dep you installed is required.

I installed mesa-libGLES, openssl-devel, ubsan(libubsan), libbsd, nss-tools, libappindicator, gconf-editor(maybe not needed).

Thanks a lot! I'll try to install only the minimum out of it until it works so that we can have a list of what's required.

Alright, for me libbsd was the only one required, on top of libva and libva-intel-driver. I could even remove mesa-libGLES and still get it working.

So it solved your problem and libbsd is the missing dep? @chadrien

Yes, libbsd was the only thing missing for me. Still an issue an i3 as stated in the edit of my previous comment, but probably i3 related.

I'm having the same issue : R:0x7f
I wanted to give a try with Xubuntu 19.10 and I have libbsd installed, I tried all packages listed above, none of them made Shadow work on Xubuntu. It works well on Arch Linux with the same hardware. vainfo tells me I do have both x264 and x265. I'm running on an Intel UHD Graphics 600 and "va" for Intel is installed. Yet, I still have this issue. What could be missing this time ?

Hi @Adrien2002. I hope your problem is solved by now. If not, you may try this:
sudo apt install gconf2 libgles2-mesa libubsan0 libuv1 libva-glx2.
Download and check your Shadow.deb file and look for dependencies: dpkg -I ShadowBeta.deb
You will see a list of dependencies.


add WebsocketSyncProperties test case

Make sure that:

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #557 (f9ec924) into master (b0ed62d) will increase coverage by 0.19%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #557      +/-   ##
============================================
+ Coverage     21.95%   22.14%   +0.19%
- Complexity      364      368       +4
============================================
  Files           197      197
  Lines          4656     4656
  Branches        496      496
============================================
+ Hits           1022     1031       +9
+ Misses         3533     3524       -9
  Partials        101      101

Impacted Files
Coverage Δ
Complexity Δ

...g/dromara/soul/common/enums/DataEventTypeEnum.java
100.00% <0.00%> (+100.00%)
4.00% <0.00%> (+4.00%)

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 b0ed62d...f9ec924. Read the comment docs.


Improve tracing so it doesn't ignore opaque stuff when it shouldn't

Concretely, trace through functions, pointers, arrays, references, resolved type references, and template references, which are the types for which either:

There's no special meaning to be opaque, or
They're just placeholders that point to other types.

r? @fitzgen
Needs a test, but should be straight forward.

Dropped the inline namespace commit, and added a test.
@bors-servo r=fitzgen

:pushpin: Commit 66447ff has been approved by fitzgen

:hourglass: Testing commit 66447ff with merge 54aba18...

:sunny: Test successful - status-travis


Cannot find any files that matches the URI pattern /tmp/val.rec

[11:21:00] src/io/iter_image_recordio_2.cc:172: ImageRecordIOParser2: /tmp/val.rec, use 16 threads for decoding..
Traceback (most recent call last):
File "score.py", line 92, in
score(metrics = metrics, **vars(args))
File "score.py", line 40, in score
inter_method       = 2 # bicubic
File "/home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/io/io.py", line 960, in creator
ctypes.byref(iter_handle)))
File "/home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/base.py", line 253, in check_call
raise MXNetError(py_str(LIB.MXGetLastError()))
mxnet.base.MXNetError: [11:21:00] src/io/input_split_base.cc:173: Check failed: files.size() != 0U (0 vs. 0) : Cannot find any files that matches the URI pattern /tmp/val.rec
Stack trace:
[bt] (0) /home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x4958fb) [0x7efd27c718fb]
[bt] (1) /home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x2ed37a3) [0x7efd2a6af7a3]
[bt] (2) /home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x2ed3c4f) [0x7efd2a6afc4f]
[bt] (3) /home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x2e86f11) [0x7efd2a662f11]
[bt] (4) /home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x2e874ad) [0x7efd2a6634ad]
[bt] (5) /home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x26d63f9) [0x7efd29eb23f9]
[bt] (6) /home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x26d6ba3) [0x7efd29eb2ba3]
[bt] (7) /home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x26be189) [0x7efd29e9a189]
[bt] (8) /home/wutt/anaconda3/envs/mxnet/lib/python3.6/site-packages/mxnet/libmxnet.so(MXDataIterCreateIter+0x210) [0x7efd29cf8370]
when I ran run_val.sh of resnet200_w-glore, and I got this error. I found the file /tmp/val.rec was not there. Why I have this problem?

@nocashh  Check this: https://gluon-cv.mxnet.io/build/examples_datasets/recordio.html

Thank you so much! This problem has been solved.


stats aren't getting updated with call to refresh

despite calling netstack_refresh_stats(), subsequent calls to netstack_iface_stats() always return the same stats we got when we initialized.

watching strace(), it does seem that we fire off the RTM_GETLINK message and even get IFLA_STATS64 in response.  i bet the issue is that we drop messages for known ifaces, which would have all kinds of problems (won't pick up new MTU, etc.)

it looks like iface_create() just whips up a new iface for every NEW message it sees...seriously? indeed, the iface_count stat goes up by a constant amount each iteration. oy vey!

it looks like in iface_cb() we replace the existing entry in the nametrie, but we never remove the item from the iface_hash. we always insert the new iface at the head of the hash chain, so all lookups find the new one. we're of course holding a local reference to the netstack_iface. so i think what we need do is check for an existing item when we go to add into the name trie, and update that item rather than replacing it? and then free the new item.
we can't just replace the old with the new, because someone might have a handle on it. though how do we handle locking in that case?


PDSC conditions: circular dependencies not detected by PackChk

During packs prototyping (again) we've inserted unintended circular dependencies in our pdsc files.
PackChk does not seem to detect them or maybe this is not considered as an error ?
Nevertheless this does not seem to be a good practice and makes Conditions understanding quite hard to read and understand.
Any feedback about it ?

A basic example of such a circular dependency
    <condition id="STM32L5 HAL Common">
      <description>STMicroelectronics STM32L5 Device and HAL Common</description>
      <require condition="STM32L5 device"/>
      <require Cclass="CMSIS"  Cgroup="CORE"/>
      <require Cclass="Device" Cgroup="STM32 HAL" Csub="Common"/>
      <require Cclass="Device" Cgroup="STM32 HAL" Csub="Cortex"/>
      <require Cclass="Device" Cgroup="STM32 HAL" Csub="RCC"/>
      <require Cclass="Device" Cgroup="STM32 HAL" Csub="PWR"/>
    </condition>

    <component Cclass="Device" Cgroup="STM32 HAL" Csub="Common"    Cversion="0.0.1" condition="STM32U5 HAL Common">
      <description>Common HAL driver</description>
      <files>
        <file category="include" name="Inc/"/>
        <file category="include" name="Inc/Legacy/"/>
        <file category="header"  name="Inc/stm32u5xx_hal.h"/>
        <file category="source"  name="Src/stm32u5xx_hal.c"/>
      </files>
    </component>

I do appreciate that a component having a condition with a dependency on itself is not very useful, but in this case the effect is like an if (true) because the dependency is only evaluated if the component is already selected.
I think this becomes more problematic in case of , as you will never be able to resolve the dependency then if (false). If you describe a choice using  the user will never see the choice he should make because the dependency is immediately resolved.
Do you think the specification should spell out that this is an error, or do you think that PackChk should flag this as warning or even error? In the latter case, please raise an issue against PackChk in the devtools repository.

Well, on one hand I agree that a component requiring itself sees its dependency being satisfied "automatically" as the component is selected, this is true.
But, with the pdsc we describe "build" dependencies so at the end of the day inclusion rules I think.
So circular dependencies should not be allowed.
I think PackChk should detect it with a warning.
What is unclear to me is what the tool (like MDK-ARM) is going to do when the component is selected:

select the component A
MDK-ARM checks the condition and sees component A as a dependency : A is in the project so this is satisfied
But MDK-ARM is not going to follow the dependencies of A again ?

Something like:

I check A ==> it needs A and B
-I check what B needs : nothing. STOP.

I check what A needs => A needs A and B
- B needed => I check what B needs : nothing. STOP.
- A needed => I check what A needs => A needs A and B
...and so on...

Obviously MDK-ARM does not enter this kind of cyclic check.
So I guess you do something like:

I check A ==> it needs A and B
A needed => A is present : OK, do not check what A needs
B needed => B is present : OK, do not check what B needs
but I do not follow the dependencies now.
So when moving on:
I do not check A again.
I check B : OK

Is it how you avoid an infinite loop of checks ?

PackChk detects condition recursion and issues corresponding message:
{ "M384", { MsgLevel::LEVEL_ERROR,    CRLF_B, "Condition '%NAME%': Direct or indirect recursion detected. Skipping condition while searching for '%NAME2%'." } },
However the check is performed only on used conditions, so it starts with conditions referenced by components and files.

Recursion detection is performed inside RTE Model, therefore MDK-ARM is able to handle that situation as well.
In particular the following code is performed:
RteItem::ConditionResult RteCondition::Evaluate(RteConditionContext* context) {   if (IsEvaluating(context)) {     return R_ERROR; // recursion error   }   SetEvaluating(context, true);   RteItem::ConditionResult result = EvaluateCondition(context);   SetEvaluating(context, false);   return result; }
Each RteCondition keeps track if it is being evaluated or not  => can detect recursion

I did not see any further questions in this thread. Therefore I am closing this.

indeed thanks for your support !


Basic support for featuring and hiding listings

For the V1 launch, we need a primitive way to:

Feature listings on the browse page. Those listings should have a badge and show up at the top of the page (it's ok if it breaks pagination, e.g. if a larger than page size total number of listings are displayed on the first page due to featured listings being added on top).
Hide listings on browse and search page. This is to remove potentially offensive listings.
This could be as simple as the DApp fetching the listingIds to feature/hide from gist or a github file (see for example prior implementation)

Post V1, as part of fetching listings for the browse page via back-end rather than web3, we'll implement a more robust hiding/featuring solution in the backend.
Pull Request for this issue:

https://github.com/OriginProtocol/origin-dapp/pull/645
https://github.com/OriginProtocol/origin-dapp/pull/654

CC @micahalcorn @matthewliu

Solved via:

https://github.com/OriginProtocol/origin-dapp/pull/645
https://github.com/OriginProtocol/origin-dapp/pull/654

Nice work @sparrowDom !


Java Profiler

Add profiling plugin to repo, such that users can profile their Lambda code and download the profiles from IOpipe.

Work in progress repository is at https://github.com/XerTheSquirrel/iopipe-java in the feature-plugins branch. So far there is just one added method in the API which is not breaking, then the internal code (that the user will not be seeing) just spawns the method to execute in another thread so that way the profile has an easier time profiling it.

Okay, so I have been refactoring the connection system so that way it can better handle how the profiler would be pushing snapshots to the remote end. The changes should not affect any end user code unless they are doing advanced and custom things with their configuration. The refactoring makes the code much cleaner and definitely improves it (and has less duplicate code). I am very certain that refactoring the connection code would be much better in the long run.

The profiler is finished for the most part, it is currently waiting on a few things from the service end.

The pull request is in issue #39.

And pull request #39 was merged, so closing this issue.


Additional tf summaries

I couldn't figure out how to add more tensorboard summaries.
After I created my agent (agent = DQNAgent(config=config))  I have
self.winning_rate_node = tf.Variable(0.5)
 tf.summary.scalar('winning_rate', self.winning_rate_node)

later, during the training I try to update the summary by
self.winning_rate_node.assign(winning_rate).eval(session=self.agent.model.session)

but then I get RuntimeError: Graph is finalized and cannot be modified.
Have I missed something?
Thanks
J

Hi @jakeret,
can you try it again after pulling? I think it should work now -- I removed the graph finalize operation (which probably was kind of pointless anyway, but caused problems every now and then).

Sweet! Works like a charm
Just for completness I had to add:
self.winning_rate_node = tf.placeholder(tf.float32, name='winning-rate-placeholder')
self.winning_rate_summary = tf.summary.scalar('winning_rate', self.winning_rate_node)
...

session = self.agent.model.session
winning_rate_summary = session.run(self.winning_rate_summary,
    feed_dict={self.winning_rate_node: winning_rate})
self.agent.model.writer.add_summary(winning_rate_summary,
global_step=self.agent.model.timestep)

Glad it works! 👍


Create new app throws Error: Path to copy doesn't exist

What's going on?
**Create new app throws error **
Error: Path to copy doesn't exist : /Users/user/.npm/_npx/e31027f3785124a8/node_modules/ignite-cli/boilerplate/.gitignore
See below image as detailes:

npx ignite-cli doctor results:

Same issue here. Could be related to the latest version 7.4.0.
Creating a new app works when specifying the previous release works for me:
npx<EMAIL_ADDRESS>new ....

npx<EMAIL_ADDRESS>new ....
Worked for me.


Add OldDot's default output currency setting to NewDot

Problem
NewDot trial users have consistently run into an issue where they sign up in a certain country – for instance, Spain and EUR – but their employer uses a different currency and expects all reports to be submitted in that same currency. This not only creates confusion, but it's detrimental to our bottom-up conversation overall.
Solution
For consistency with OldDot and to increase our changes that bottom-up flows work without a hitch, let's add a Payment currency setting to NewDot. This is equivalent to the Report Currency setting in OldDot's personal type policy, and functions exactly the same – meaningly, this sets the currency all expenses on a report should be converted to.
In NewDot the setting will look like this.

@jamesdeanexpensify any feedback on the text on either of these screens?
Keeping internal until we align on the solution.

Thoughts on:
Select your currency for paying and getting paid back by friends.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Add OldDot's default output currency setting to NewDot
What is the root cause of that problem?
New feature
What changes do you think we should make in order to solve the problem?

The test branch here: https://github.com/mkzie2/App/tree/mkize2-issue/52769-temp

Add the payment currency item after the language item here. To get the current currency we can use getPersonalPolicy to get the personal policy and getting the currency from outputCurrency field. When clicking on this item we will navigate to the edit payment currency page

<MenuItemWithTopDescription
    shouldShowRightIcon
    title={`${paymentCurrency} - ${getCurrencySymbol(paymentCurrency)}`}
    description={translate('billingCurrency.paymentCurrency')}
    onPress={() => Navigation.navigate(ROUTES.SETTINGS_PAYMENT_CURRENCY)}
    wrapperStyle={styles.sectionMenuItemTopDescription}
/>

Create a PaymentCurrencyPage which is the page to edit the currency

To display the currency list we can use CurrencySelectionList
After selecting a currency, go back to the preference page
To update the currency we can call updateGeneralSettings with policyID as the personal policyID

What alternative solutions did you explore? (Optional)
NA
Result
https://github.com/user-attachments/assets/369353ac-6bd1-4ee1-abe0-5e1bc18b45bb

Still in planning

still in the queue

Same as above

Still not a priority


Impossible to interact with calendar in month view on android

I was trying the component when i found that the calendar in month view worked fine in ios but not in android.
I am able to press the event, change month by swiping etc. in ios, but none of these functions worked on android.

@SenseiKiritof did you find any solution for this?

I don't know...in the end i created it manually..

@SenseiKiritof working when wrapped with scrollview


bug: Lsp doesnot work

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.95
Operating system/version
windows
Describe the bug
Lsp doesnot show any command like LspInfo and other command but Mason work properly
Steps To Reproduce
Lsp doesnot show any commands while i type
Expected Behavior
Lsp doesnot work
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/LazyVim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

If you type :LspInfo, does it pop up a floating window with information?

It shows not an editor command and it doesnot show any command
On Wed, 31 Jan 2024 at 11:38 PM, Iordanis Petkakis @.***>
wrote:

If you type :LspInfo, does it pop up a floating window with information?
—
Reply to this email directly, view it on GitHub
https://github.com/LazyVim/LazyVim/issues/2474#issuecomment-1919641564,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQXKIM2CB5V4PLOKCMPCQQDYRKCCRAVCNFSM6AAAAABCTQCXBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZGY2DCNJWGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

It works when i open file
On Wed, 31 Jan 2024 at 11:44 PM, Zayn Koshyari @.***>
wrote:

It shows not an editor command and it doesnot show any command
On Wed, 31 Jan 2024 at 11:38 PM, Iordanis Petkakis <
@.***> wrote:

If you type :LspInfo, does it pop up a floating window with information?
—
Reply to this email directly, view it on GitHub
https://github.com/LazyVim/LazyVim/issues/2474#issuecomment-1919641564,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQXKIM2CB5V4PLOKCMPCQQDYRKCCRAVCNFSM6AAAAABCTQCXBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZGY2DCNJWGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Yes, the command :LspInfo only shows when you open a file. I still don't understand what your problem is. Can you clarify?

When i open nvim the dashboard , then i search for Lsp it doesnot show
anything
On Wed, 31 Jan 2024 at 11:52 PM, Iordanis Petkakis @.***>
wrote:

Yes, the command :LspInfo only shows when you open a file. I still don't
understand what your problem is. Can you clarify?
—
Reply to this email directly, view it on GitHub
https://github.com/LazyVim/LazyVim/issues/2474#issuecomment-1919677544,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQXKIMYHLPHSJGFVYFCSH5TYRKDWHAVCNFSM6AAAAABCTQCXBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZGY3TONJUGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

It's not supposed to show anything from dashboard, because no file has been opened yet. The LSP only attaches when you open a file in Neovim. This is expected behavior and not a bug. Kindly close the issue if that's your problem.

Thank you for the clarification.  I just want to ask one ques. When i open
the config the file in nvim and i search for LspInfo it shows me Ambigius
error ? Why
On Thu, 1 Feb 2024 at 12:04 AM, Iordanis Petkakis @.***>
wrote:

It's not supposed to show anything from dashboard, because no file has
been opened yet. The LSP only attaches when you open a file in Neovim. This
is expected behavior and not a bug. Kindly close the issue if that's your
problem.
—
Reply to this email directly, view it on GitHub
https://github.com/LazyVim/LazyVim/issues/2474#issuecomment-1919703106,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQXKIM72NZ5HR4S4CMXP22TYRKFBVAVCNFSM6AAAAABCTQCXBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZG4YDGMJQGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

What do you mean? Which config file are you opening with Neovim? Can you be more specific? If you open a file from your terminal with nvim init.lua for example, then the command LspInfo should work.

It works!  But it show me Ambiguous use of user command ...
On Thu, 1 Feb 2024 at 12:16 AM, Iordanis Petkakis @.***>
wrote:

What do you mean? Which config file are you opening with Neovim? Can you
be more specific? If you open a file from your terminal with nvim init.lua
for example, then the command LspInfo should work.
—
Reply to this email directly, view it on GitHub
https://github.com/LazyVim/LazyVim/issues/2474#issuecomment-1919720922,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQXKIM27UFJLPFNKKED4FRTYRKGO3AVCNFSM6AAAAABCTQCXBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZG4ZDAOJSGI
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

I want to ask you one thing related to web devlopment, in neovim how we
open browser in neovim when i run react project , i dont want to switch to
chrome and then come back can neovim open browser by splitting the window
On Thu, 1 Feb 2024 at 10:10 AM, Zayn Koshyari @.***>
wrote:

It works!  But it show me Ambiguous use of user command ...
On Thu, 1 Feb 2024 at 12:16 AM, Iordanis Petkakis <
@.***> wrote:

What do you mean? Which config file are you opening with Neovim? Can you
be more specific? If you open a file from your terminal with nvim
init.lua for example, then the command LspInfo should work.
—
Reply to this email directly, view it on GitHub
https://github.com/LazyVim/LazyVim/issues/2474#issuecomment-1919720922,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQXKIM27UFJLPFNKKED4FRTYRKGO3AVCNFSM6AAAAABCTQCXBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZG4ZDAOJSGI
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

No idea. I don't do web development, so am not familiar with the workflow.

Ok, thanks for the reply.
On Thu, 1 Feb 2024 at 9:14 PM, Iordanis Petkakis @.***>
wrote:

No idea. I don't do web development, so am not familiar with the workflow.
—
Reply to this email directly, view it on GitHub
https://github.com/LazyVim/LazyVim/issues/2474#issuecomment-1921625020,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQXKIMZ6DFI3Q5KT6YCT3DLYROZ7TAVCNFSM6AAAAABCTQCXBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRRGYZDKMBSGA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


No route to hast, texlive.combined.scheme-full

Issue description
Installing texlive.combined.scheme-full returns the the following snipp:
....
trying http://<IP_ADDRESS>/texlive-2016/cool.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0building path(s) ‘/nix/store/151zzr2scww5ycgbczd2b0hlsf50593m-coolstr-2.2’
100 10204  100 10204    0     0   148k      0 --:--:-- --:--:-- --:--:--  150k
building path(s) ‘/nix/store/xs38m6k1fg71i8k01903g8bpgwznr70h-coolthms-1.2’
100 2914k  100 2914k    0     0   233k      0  0:00:12  0:00:12 --:--:-- 77570

trying http://<IP_ADDRESS>/texlive-2016/coollist.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to <IP_ADDRESS> port 80: No route to host
error: cannot download coollist-1.4 from any mirror
builder for ‘/nix/store/08bydap0mbpwyxcvwjjrh4zfnn4dbjv5-coollist-1.4.drv’ failed with exit code 1
killing process 13561
killing process 13501
killing process 13525
killing process 12660
killing process 9840
cannot build derivation ‘/nix/store/iq6rllrl315zza08zbjhw464q8b8qk6z-texlive-combined-full-2016.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/asj9c7g7fjn8ikhija1r27jkfklr6qdz-system-path.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/hm8f99gdrpvn4i43jprzix8kqnzf15r9-nixos-system-rsoeldner-nixos-17.09.3076.38d7371dddd.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/hm8f99gdrpvn4i43jprzix8kqnzf15r9-nixos-system-rsoeldner-nixos-17.09.3076.38d7371dddd.drv’ failed

Steps to reproduce
 environment.systemPackages = with pkgs; [
   texlive.combined.scheme-full
  ];

Technical details
nix-shell -p nix-info --run "nix-info -m"                                                                                ~/work/generalStuff/test-task-master-serokell/doc
 - system: `"x86_64-linux"`
 - host os: `Linux 4.9.84, NixOS, 17.09.3076.38d7371dddd (Hummingbird)`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 1.11.16`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs`

Seems OK to me ATM.  Some transient error, probably?

@vcunat You are right, thank you - It was a problem with my ISP.
Thank you


An exception of type 'MtApi.MtExecutionException' occurred in MtApi.dll but was not handled in user code

hello;
i'm connected in my platform mt4 and mt5 but after start project 10 secend some error come like this plz check below and thank you.

20180305.log

Hello.
Can you provide full stack of the exception and what command (function) of MtApi was executed? It is difficult to understand what reason of the problem from your picture.
Also I want clarify that MtExecutionException is using to perform errors from MT side during execution MtApi functions.

ok my friend


📃: Add CodeEditor(HTML,CSS,JS)

:red_circle: Title : CodeEditor
:red_circle: Aim : I want to add code editor
:red_circle: Tech Stack Used : HTML,CSS,JS
Screenshots 📷

:white_check_mark: To be Mentioned while taking the issue :

Full name : MANKALA VAISHNAVI
What is your participant role? (Mention the Open Source Program name. Eg. GSSOC, SSOC, JWOC, etc.)gssoc

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

@VaishnaviMankala19 go ahead.