Guidance on deployment based on time zone

Our devices report back their time zone as an offset to UTC. We need to schedule our deployments for 12 AM in different time zones.
From what I can see we would need 25 different edge deployments, one for each 1 hour offset from UTC (perhaps more with daylight savings). The deployment would then need a target like --target-condition tags.utcOffset = '+04:00'.
Even with this approach, the deployment would take effect immediately, so we can only create them at the precise moment we need them, meaning we would need some kind of scheduling job elsewhere to look for devices with an offset tag and  then apply the schema when that offset is equal to midnight.
Is there any guidance on how to achieve this? Any built in support or any existing patterns?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9c2fa43c-0132-8f96-ab4f-e35292d64888
Version Independent ID: c3041c24-5b96-8ff4-757a-218ad1d34c55
Content: Automatic deployment for device groups - Azure IoT Edge
Content Source: articles/iot-edge/module-deployment-monitoring.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

Hello @jokarl
Thanks for the feedback! We are currently investigating and will update you shortly.

Hi @jokarl, Such deployment requirements are would need to be handled by custom cloud-side logic. We currently don't have any built-in support or recommended patterns for this. If possible, please create or upvote a suggestion around the functionality at https://aka.ms/iotedge-suggestion

Thanks for the feedback @veyalla. Before I close this, would you say my approach outlined above is something that would work?
I'm thinking just keep track of all the offsets, run something on a chron schedule hourly in a function and apply if the offset equals our desired time.

Hello @jokarl please let us know if you were able to post the suggestion at https://aka.ms/iotedge-suggestion.
Please let us know if we are good to close this thread.
Please also do visit Microsoft Q&A the home for technical questions and answers at Microsoft for further technical help in this matter.


Aggressive suggestion of words with apostrophe in Ukrainian

Hello!
When I type a word and want to add a comma after it AND the word happens to be sharing the same key combo as another word that has apostrophe in this place -- I get always suggested this word
This happens surprisingly often!
See video below
Suggested behavior:  suggest this apostrophe containing word only if next letter after apostrophe is inputted
In my example -- only after 3 or 9 is pressed (приб'є or приб'ю)
Meaning 56421 should produce "Осіб," (assuming my state of suggestions), 564213 should produce "Приб'є"
I hope I've explained is at least half understandable (:
Video:
https://github.com/user-attachments/assets/101ce488-4013-4b55-b17d-d3f3a344d54f

I understand the problem very well and I've been banging my head for months searching for a solution for typing words with apostrophes.
During the past year, only Ukrainian, but also French and likely Italian and Hebrew, have transitioned from "nearly unusable" to "almost there". There were many problems with English as well.
Now, as for your problem, you can get "осiб," but you need to scroll back, them forth the suggestion list, them hit 1-key to append the comma. Alternatively, always press OK to accept the current word, before typing the comma. These are the workarounds until I find a solution.
I believe the actual solution is to:

Always preserve the current suggestion before the next database search.
If there is no exact match for word+1, display the previous word+added punctuation.
Otherwise, display the exact match.

I do press ok in those cases, but I'm typing too fast to notice sometimes! (:
Your proposed solution seems like just what will fix our gripes, thank you!


Get-Command: -All switch stops returning all commands after command has been loaded

Steps to reproduce
First install 2 versions of a module, I am using PowerShellGet as an example (1 is the default module that comes with the installation and a user installed module (in this case the versions happen to be the same but the bug also happens when the versions differ). Get-Module returns me both Install-Module cmdlets when using the -All parameter by design. However, the -All switch stops working as expected once the command in question has been loaded
> Get-Command -all | where-object {$_.name -eq 'install-module'}

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Install-Module                                     2.0.4      PowerShellGet
Function        Install-Module                                     2.0.4      PowerShellGet

> Get-Command install-module

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Install-Module                                     2.0.4      PowerShellGet

> Get-Command -all | where-object {$_.name -eq 'install-module'}

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Install-Module                                     2.0.4      PowerShellGet

Expected behavior
The 3rd command should behave like the 1st one, the call to Get-Command Install-Module or invoking Install-Module, both of which causes the command to load, should not affect the behaviour of the -All parameter because its purpose is to always return ALL commands.
Actual behavior
The 3rd command does not return all commands any more
Environment data
This bug does not seem to be a regression as it is also present in Windows PowerShell 5.1
Name                           Value
----                           -----
PSVersion                      6.2.0-preview.4
PSEdition                      Core
GitCommitId                    6.2.0-preview.4
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

It looks like second case uses another code path like find loaded command and stop. Perhaps we could fix this with -Force if this doesn't still work.


Add --save-baseline and --baseline

Previously, Criterion.rs would store previous results in a single
directory, .../base. On every benchmark run, the base
directory would be overwritten. This behavior prevented comparison
to a known point while iterating on optimizations.
This change introduces the idea of baselines; a named directory
for results generated at some point in the past.  The default
behavior of using and overwriting the base directory is still
the same as before. However, these two new options allow the
user to explicitly name and compare to baselines.
--save-baseline creates and stores the results for that
benchmark run under a directory with the same name as that
baseline.
--baseline compares the results for the current run against
the baseline results. It loudly fails if the baseline is not
present for a specific benchmark.
Previous behavior is emulated using --save-baseline base when
no explicit baseline is named.
As discussed on #153
Closes #150 as a more flexible solution.

This does differ from what we discussed in that reports still live in the report directory rather than be namespaced under the baseline. Storing only the benchmark stats under the baseline simplifies the process of saving it. I can move the reports in a followup PR as this one is already rather heavy.
The verify methods in the tests have been factored out of test_output_files to make them available to the baseline tests.

Pull Request Test Coverage Report for Build 400

3 of 120 (2.5%)  changed or added relevant lines in 5 files are covered.
465 unchanged lines in 35 files lost coverage.
Overall coverage decreased (-2.4%) to 11.199%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/analysis/compare.rs
0
2
0.0%

src/fs.rs
0
2
0.0%

src/lib.rs
3
26
11.54%

src/analysis/mod.rs
0
34
0.0%

tests/criterion_tests.rs
0
56
0.0%

Files with Coverage Reduction
New Missed Lines
%

stats/src/bivariate/resamples.rs
1
95.45%

stats/src/lib.rs
1
34.78%

plot/src/key.rs
1
0.0%

stats/src/bivariate/regression.rs
1
71.15%

plot/src/grid.rs
1
0.0%

plot/src/map.rs
2
0.0%

src/program.rs
2
0.0%

plot/src/curve.rs
2
0.0%

plot/src/filledcurve.rs
2
0.0%

plot/src/display.rs
2
0.0%

Totals

Change from base Build 395:
-2.4%

Covered Lines:
367

Relevant Lines:
3277

💛  - Coveralls

The code is good and it works as expected. Well done, and thanks for the pull request!


how to use gpu with onnxruntime_go package?

hi i am using your onnxruntime_go package. Thank you very much for making the package and I have one question.
I use the package to inference, but I'm using the cpu, not the gpu. Is there any way to use the gpu?
The version I'm using is:
onnxruntime:1.15.1
cuda: 11.8
cudnn:8.6.0

Hi, How about using this library instead of Yalue's?
https://github.com/peer-ai-org/onnxruntime_go
It seems to be a fork of yalue/onnxruntime_go and has the NewSessionWithPathWithTypeWithCUDA function. So, you might be able to use a GPU.

Hi @WonhoiKim, thank you for the interest in the project.  Unfortunately, @topazape is correct.  I do not currently have GPU support in this version.  I may add it later, but do not have much time to work on the project.  The fork looks like a reasonable alternative for the time being.


Create 2021-12-13-Vulcan-Forged

/qualitycheck

address the relevant bot comments and add citations where applicable.

/payout


Modular routers placed the claimed chunk block and now I cannot access the chunk

Accidently shift clicked the block into modular router and now I cannot do anything within the chunk.
Got the routers to break the block by managing them outside the chunk, and the chunk is still claimed
Playing on a server so I cannot use op permissions, I sent a request to the server mods, but I was wondering if there was any other way around this.

Please provide the full name for claim chunk and modular router mods.

I'm not sure what names you need, but the attached image shows how it shows up in game.

Inside the game instance folder is a mods folder, then paste the file name for Claim chunk and modular router mods, like:
ClaimChunk-1.18-<IP_ADDRESS>.jar
modular-routers-1.18.2-9.1.1-93.jar

ClaimChunk-1.16.2-<IP_ADDRESS>
modular-routers-1.16.5-7.4.0-55
There we go.
I'm trying to recreate this in a single player world so that I can try to find a way to solve my issue. But the router in the single player world will not place the claim chunk block, so this is interesting....

Is there a reason you are using old version of Claim Chunk for 1.16.4+ of Minecraft (determined by modular routers mod)?
I believe that the newer one for 1.16.3+ should not let a fake player place claim blocks resulting in this happening, but I would have to try it again to be sure.

I was just using the version that the modpack Vault Hunters supported.
If I upgraded the client side should this fix my problem, or would I have to ask the mods to update the server side as well?

It would need to be on both sides, but they would still need to fix that existing chunk. I would have to duplicate it and then see what steps could fix it.

I'm thinking that they (operator) can issue /claims with the fake player uuid (in suggestion list) and remove option.

That would be nice. Just waiting until they respond then. Thank you.

The operators have resolved the issue. I may close this ticket as you mentioned updated versions limit the fake players being able to place claim blocks

It didn't place in single player world because your too close to spawn and it tries to that send message to the fake player.
You can either change the config or move spawn.
I tried the latest version on 1.16.5 and it blocks placing from the fake player.


Add support to gf180mcu-pdk

DFFRAM should be pdk generic to support gf180mcu-pdk.

What needs to be done in order to do this? Has any work been started?
I've started writing a block_definitions.v, but it's complicated somewhat by the different cells. For example, I need to add inverters in order to get DEC1x2 working. And diodes aren't quite the same. And because of the difference in cell composition, there are subtle changes that need to be made to various python bits.


[Identity[ BrokeredAuthentication adding SharedTokenCacheCredentialBrokerOptions

API change check for Azure.Identity
API changes are not detected in this pull request for Azure.Identity

API change check for Azure.Identity.BrokeredAuthentication
API changes have been detected in Azure.Identity.BrokeredAuthentication. You can review API changes here
API changes
+     public class SharedTokenCacheCredentialBrokerOptions : SharedTokenCacheCredentialOptions {
+         public SharedTokenCacheCredentialBrokerOptions();
+     }


Set default mode in ocm webhook volume

Issue: https://github.com/open-cluster-management/backlog/issues/13714
Signed-off-by: Jakob Gray<EMAIL_ADDRESS>

/lgtm


Fix warning on write group for ACL while setup lakeFS

Fix #5791

I am not sure you know what reservation means ;)


[Process Agent] Add check output to flare

What does this PR do?

Adds the output of the process and container checks to the flare. The output is put into process_check_output.json and container_check_output.json at the root of the flare.
Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Make sure that process_config.process_collection = true. Run both the core agent and the process agent. Give the agent some time to run a few checks and populate the cache. Next run, agent flare and check to see if process_check_output.json is in the flare.
Repeat with the container check.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

I really like this solution - it is simple, and accomplishes a lot of what we need. However one limitation - we will not be able to collect checks that are not running, maybe in the future we could fallback to explicitly initializing and running a check? This could be one of the future extensions to this PR (may require an additional flag in the flare command to specify which checks to run explicitly). What do you think?

I agree, I think that would be a very useful addition. I can go ahead and scope that work


magma: init 2.7.1; migrate to cudaPackages

Description of changes

Adds magma 2.7.1 and makes it the default.
AMD's HIP doesn't work on anything newer than 2.6.2 -- something causes a failure when trying to link libmagma.so -- so 2.6.2 remains the default for magma-hip.
Note that this PR includes a move to using a releases.json. This is done mostly to remove boilerplate from the Nix derivation and avoid clutter from supportedGpuTargets.
I've run into this problem elsewhere, but it's important that packages which target specific GPU architectures are aware of the architectures they support. The architectures available to this package via hip.gpuTargets, cudaFlags.cudaRealArchs, and the gpuTargets argument can cause frustrating build failures if they are not sanitized. Unfortunately, in this case that meant looking at Magma's CMakeLists.txt to find out which architectures are supported. For both CUDA and ROCm, I decided to use the SM and GFX names respectively, because Magma allows more granular support than when building for entire generations.
Following in the footsteps of @SomeoneSerge's work (https://github.com/NixOS/nixpkgs/pull/168745), migrate to cudaPackages.
Updated torch to reference the new passthru attribute cudaPackages instead of cudatoolkit.
 (See Nix manual)
[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.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

[ ] Fits CONTRIBUTING.md.

Failures
The below is kept for posterity; it was my attempt at troubleshooting AMD support prior to deciding to keep a copy of 2.6.2.

[ ] magma-hip

Fails at Linking CXX shared library lib/libmagma.so.
This is a problem with 2.7.0, not the derivation. Leaving the derivation the same but overriding the source with 2.6.2 works fine.
https://gist.github.com/ConnorBaker/0d29214a241afdbd5e0bff251f22aef4

[ ] python310Packages.torchWithRocm (depends on magma-hip)

And so we do a rough binary search through the commit history of Magma to find out when it broke :(
EDIT: What a headache. I'll split the package so CUDA gets 2.7.0 and HIP can stay on 2.6.2.

❌ 2023-02-10 revert api changes for the batch gemv routines that accept pointer arrays: https://bitbucket.org/icl/magma/commits/1814c2518a76b81d75e5987d35797305ef2c9f4d.
❌ 2022-10-28 update release note: https://bitbucket.org/icl/magma/commits/e96d4c97be78a8b19b273dbaa99955d6529e539a.
⁉ 2022-10-17 bug fix: https://bitbucket.org/icl/magma/src/001df2f69f8c25f4e722a6ff997a2aa69da0d4e0.

Same as unrelated error below.

⁉ 2022-10-11 unnecessary includes: https://bitbucket.org/icl/magma/commits/e8a673d27c7e927ec8eda0c2059b7a213baa6e4e.

Unrelated error: https://gist.github.com/ConnorBaker/2196817754d3caed907056a2bf28dc55.

⁉ 2022-06-26 update notes for next release: https://bitbucket.org/icl/magma/src/24410113e61fc72c2cbc039c2cef9aa7dc815a92.

Same unrelated error as above.

⁉ 2022-06-24 allow launch bounds for CUDA: https://bitbucket.org/icl/magma/src/849bf8e00e929da7699a02424466e127a883668f.

Same unrelated error as above.

⁉ 2022-06-23 Merged in master (pull request #21): https://bitbucket.org/icl/magma/src/9e0b130afaf3fe635441cba351555505c9d68e28.

Unrelated error: Makefile:357: magmablas_hip/Makefile.src: No such file or directory.

✅ 2022-05-24 call the new gemm prototype with version 2: https://bitbucket.org/icl/magma/src/ec35ab142120a1a067f1a77f5392b70f5367e8a9.
✅ 2022-05-24 minor: https://bitbucket.org/icl/magma/src/5eec59630f963a46bff59cbab6f39610fc9c610b.
✅ 2022-04-20 potential fix for failures at very large matrix sizes: https://bitbucket.org/icl/magma/commits/d998fcbb94d9046ec98ae93757010a1472902d54.

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

2 packages failed to build:

magma-hip
python310Packages.torchWithRocm

2 packages built:

magma (magma-cuda)
python310Packages.torchWithCuda

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

5 packages built:

magma (magma-cuda ,magma_2_7_0)
magma-hip
magma_2_6_2
python310Packages.torchWithCuda
python310Packages.torchWithRocm

cc @NixOS/cuda-maintainers

Rebased and now introducing 2.7.1.
Builds just fine on CUDA.
2.7.1, like 2.7.0, fails on ROCm -- and in the same way, when linking. 2.6.2 remains the default for ROCm.

Will rewrite releases.json in nix later tonight, time permitting.

Now with 50% more Nix!

Running nixpkgs-review again to verify still good

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

5 packages built:

magma (magma-cuda ,magma_2_7_1)
magma-hip
magma_2_6_2
python310Packages.torchWithCuda
python310Packages.torchWithRocm

And again after rebasing on master

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

5 packages built:

magma (magma-cuda ,magma_2_7_1)
magma-hip
magma_2_6_2
python310Packages.torchWithCuda
python310Packages.torchWithRocm

Wahoo no failures!

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

5 packages built:

magma (magma-cuda ,magma_2_7_1)
magma-hip
magma_2_6_2
python310Packages.torchWithCuda
python310Packages.torchWithRocm

LGTM thanks @ConnorBaker !

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/tweag-nix-dev-update-45/26397/1


Project installation/setup overview

is there a way to show/ inspect the whole installed setup/packages with versions (and hashes)
regrading

linux/OS packages
language packages for  python c++ js java (which could be related to a package as dependency)

Take a look at https://github.com/utdemir/nix-tree
Does this solve your problem?

(nice and ok for the moment :-)


net: lib: http: fix check for invalid body_start pointer

Recent commit fb7f6cfa972d ("net: lib: http: Fix invalid pointer
body_start") introduced logic to reset the response body_start pointer
when the response buffer was reused.
This check needs to be fixed so that it doesn't arbitrarily change
body_start when not needed.
The problem with the current check can be demonstrated by not setting
a response callback for request which generates a large response spanning
multiple packets.
In this case body_start is still valid (not reusing the response buffer
because there is no callback set), but it will be changed when the 2nd
packet is received and the "at" marker is located at the head of the new
packet (!= response_buffer).
Signed-off-by: Michael Scott<EMAIL_ADDRESS>

@miyatsu please review.

NOTE: This issue is currently breaking out master branch CI.  So it may also be affecting others.

Fixed patch description issue in SHIPPABLE.

I've review your commit, thank you for fix this mistake.
I'm a junior programmer and my english is not good. I don't understand what you mean by this sentence: "NOTE: This issue is currently breaking our master branch CI. So it may also be affecting others." ? Especially the word "CI" after word "branch".
Is that some thing badly damaged the master branch I've done ?

Hi @miyatsu
CI is an abbreviation for "continuous integration": https://en.m.wikipedia.org/wiki/Continuous_integration
My company runs tests on real hardware for every commit that goes into the master branch of Zephyr to make sure that our current Zephyr software can always be updated.
Everyone makes mistakes, nothing is badly damaged, though we try our very best to avoid regressions.  My comment regarding others being affected was just to warn maintainers of the regression.


Xplat build script (and regular build script) should pull in required dependencies

Specifically, the unit testing framework.  It would be really nice to keep this in line with the other dotnet OSS projects.

Definitely agree about this one.
Currently, I think the "biggest" hindrances to getting this done are:

The xplat build-script is perl-based, as opposed to being a regular shell-script used everywhere else in the world of dotnet.
The xplat-branch seems to be a long-living feature-branch.

First point means we need to get write and maintain dedicated code for this project only instead of just copying something proven which works everywhere. That's probably not a show-stopper though.
What might make it so is that the xplat-branch has an uncertain future. xplat and master is diverging and needs to get merged to ensure the long-term viability of code submitted to the xplat-branch.
I mean, who wants to submit patches only to have them end up in a dead, unmaintained branch?

@mmitche, i think this has been accomplished by @cdmihai via #501.
@josteink, not only Perl script is removed (#510), msbuild is now using sh script instead of bash! Ahead of all dotnet projects I must say (dotnet/home#29). :smile:

Sounds good to me

@jasonwilliams200OK Nice work. Good to see you're making progress :)


Inquiry about using yfinance in a non-profit open-source project

Dear [Yahoo Finance Team],
I am developing an open-source Python project aimed at simulating and developing conservative investment strategies. The goal is to create an educational, non-profit tool that will be freely available to users through Google Colaboratory and Google Drive.
To obtain the necessary data for the simulations, the project utilizes the yfinance API. I would like to confirm if the use of this API for academic and research purposes, without any commercial benefit, is compliant with your terms of service.
I appreciate your response and any guidance you can provide.
Sincerely,

Hello, we tried to solve the issue.
This is what we did:
Add a disclaimer at the beginning of the file to clarify the project's purpose and usage terms.
You can review changes in this commit: https://github.com/mark-addams001881/ranaroussi-yfinance-2195/commit/97de6e6dae7b7a1ba9c86b32d6e66f49a29956db.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

Latta AI seeks to solve problems in open source projects as part of its mission to support developers around the world. Learn more about our mission at https://latta.ai/ourmission . If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.

WE ARE NOT AFFILIATED WITH YAHOO


Build fails when building the dependency project of a composite build

Let's assume that project composite is a composite build, with the dependency on project dependency
Project structure is:
/composite/...
/composite/setting.gradle
/composite/dependency/...
/composite/dependency/setting.gradle.kts
Build is working as expected when building the whole composite build, i.e. launching the build from the composite folder.
But when we try to build just the dependency project, i.e. launching the build from composite/dependency folder, the build fails with
Project directory '...../composite/dependency' is not part of the build defined by settings file '...../composite/settings.gradle.kts'. If this is an unrelated build, it must have its own settings file

Disabling mirakle dependency project builds as expected.
From logs I see
Settings evaluated using settings file '.../composite/settings.gradle'.
It seems that the wrong setting file is taken into consideration

@Adambl4 do you have some ideas on where to look at for fixing it?

Hey @marcorighini, sorry for the long replay. It seems it is not about the settinga.gradle.kts.
It would be very helpful if you can provide a repo with that gradle structure where I can reproduce this issue.

https://github.com/marcorighini/KMM-Composite-Build
Executing ./gradlew assembleDebug inside sample-kmm (composite build dependency project) results in
Project directory '....../KMM-Composite-Build/sample-kmm' is not part of the build defined by settings file '...../KMM-Composite-Build/settings.gradle'. If this is an unrelated build, it must have its own settings file.

Thanks, will look into it

Thanks @Adambl4, let me know if you want me to test something

Could you try io.github.adambl4:mirakle:1.5.3-RC-1 and let me know does it work please.

Could you try to declare mirakle remote folder like this and try again:
mirakle {
    remoteFolder = "mirakle"
}

It seems fixed, thanks! Will start using 1.5.3 as soon as released.

Yay, glad to hear this. Could you also try mirakle 1.5.1 and 1.5.2 with remoteFolder = "mirakle" and let me know does it work in your environment

With remoteFolder = "mirakle" both 1.5.1 and 1.5.2 are working (no more No such file or directory error)


Difficulties sending a transaction immediately after a fresh account is funded

Issue Description
If you try to send a transaction from a brand-new account immediately after that account is funded, you sometimes get the wrong starting Sequence number, causing your transaction to be rejected by consensus. Often, the preliminary result from submit is tesSUCCESS, before the transaction eventually gets dropped with (presumably) a tefPAST_SEQ result.
In particular, the account_info response is weird before the funding transaction has been validated.
Previously this was not an issue because starting sequence numbers were deterministic, but thanks to deletable accounts this is not the case anymore.
Steps to Reproduce
This gist has the steps to reproduce. Save as an HTML file and open it in your browser. Optionally watch along in the Testnet Explorer. Note, ripple-lib's prepareTransaction() uses account_info to get the right sequence number.
Alternatively, you can do it by hand:

Open the Testnet Faucet page.
Open the WebSocket API tool, switch to the Testnet, and load the account_info request.
Generate Testnet credentials.
Quickly, copy-paste the newly-funded Address into the address field of the WebSocket tool and send the WS Tool request.

Expected Result
A transaction prepared with the Sequence number as reported in the current ledger account_info should succeed most of the time.
Actual Result
The transaction usually gets a tentative result of tesSUCCESS but almost always becomes invalid and never makes it into a consensus ledger. (Aside: This is harder to detect than it should be because of #3727 and #3750.)
Root Cause
With deletable accounts, your starting sequence number is based on the ledger index when your account was first funded. In other words, if the transaction funding your account has not been fully validated, you don't know for certain what your starting sequence number will be. A possible sequence of events is:

The transaction (F) funding your account is proposed for ledger index N.
You prepare and sign your first transaction (T) using Sequence N.
You submit your first transaction (T).
The funding transaction (F) "slips" into ledger index N+1 and is then validated.
Transaction T is now invalid because its Sequence number (N) is lower than your account's current (starting) Sequence number (N+1).

Note, it's not the same type of problem if transaction T is initially proposed for ledger index N and lands above transaction F in the canonical order. In this case, transaction T either gets bumped down later in the canonical order due to the retry rules, or it gets pushed out of ledger N but is still valid and can execute just fine in ledger N+1.
Related Weirdness
If you're fast enough query the account_info (or ledger_entry) very early, the response looks like this:
{
  "id": 2,
  "result": {
    "account_data": {
      "Account": "rpMWR4C6UWc5Smvf5pyPb1AFoXTJYHQa3N",
      "Balance": "1000000000",
      "Flags": 0,
      "LedgerEntryType": "AccountRoot",
      "OwnerCount": 0,
      "PreviousTxnID": "0000000000000000000000000000000000000000000000000000000000000000",
      "PreviousTxnLgrSeq": 0,
      "Sequence": 15702633,
      "index": "25AEBEB84377792DA278529C4E1B22016FEFFB3A6BF90C4536B5271FCD78A6C3"
    },
    "ledger_current_index": 15702633,
    "queue_data": {
      "txn_count": 0
    },
    "validated": false
  },
  "status": "success",
  "type": "response"
}

Notice that the PreviousTxnID and PreviousTxnLgrSeq values are placeholders. You can also see that the Sequence number matches the ledger_current_index, so at least in theory this the correct value for now. That's also borne out by the fact that the preliminary result of the submit is in fact, tesSUCCESS. It's only later that the funding transaction gets pushed back and fails.
Workarounds
The easiest workaround is to wait until the transaction funding your account is validated (usually just a few seconds). So for example:
  while (true) {
    try {
      await api.request("account_info", {account: address, ledger_index: "validated"})
      break
    } catch(e) {
      // you could sleep or something here, but that's awkward to do in JS
    }
  }

Another workaround is basically offline account setup as described in the Deletable Accounts Spec. You create no-op transactions for earlier possible sequence numbers to fill the gaps, then make your first "meaningful" transaction on the highest possible starting sequence number.
Conclusions
I don't think there's going to be a fix for the core problem of, "You don't know your starting Sequence number for sure until the funding transaction is validated."
We might want to look into the account_info response with the placeholders, and possibly return actNotFound instead in some cases.
It would be slightly dangerous to just "guess higher" on the starting Sequence number in account_info if we're not sure, because then the client has potentially created and submitted a transaction that becomes valid for retry after they realize their mistake. That would be OK if the user's response was, "Oh, OK, I'll send a no-op to use up the lower sequence number first," but it seems incredibly likely that people might think, "Oh, I guess I should use a lower Sequence number for this transaction" instead. And that's an express all-expenses-paid trip a "double send" (not the same as a "double spend").

Just brainstorming here, how about we handle the special case where the account creation hasn't been validated, we return Sequence: 0? We could potentially add a TentativeSequence outside of the account_data block along with a warning. It's invalid data, but it's already invalid data if the Sequence changes later.
OTOH, the offline account setup works pretty well for account creation. Someone creating a transaction that quickly will know that the account is new, and is already taking their chances by not waiting for the creation to be validated.


IOS custom Icon is not working.

Hello, Thanks for the nice component.
Material Community Icons works well Android but IOS is not.
I think because of the font name system on IOS.
In my case, the font filename is "materialcommunityicons.ttf" but the actual name is "Material Design Icons".
So I modified RNVectorHelper class at RNVectorHelper.js file.
And finally, it worked.
62: case "Material-Design-Icons":   // Added this line.
63: case "MaterialCommunityIcons":

After that, I changed my code to work on both platform Android and IOS.
thanks.

@prscX  I think react-native-vector-icons needs to be updated


Verify-owner endpoint returning 404 error now on mynearwallet and testnet.wallet.near.org

Using the verify-owner endpoint returns a 404 error from the wallet redirect...

To Reproduce
Steps to reproduce the behavior:

Use the wallet.verifyOwner method as per the API
See error

Expected behavior
There should be no 404 error.  It was working fine previously.
Screenshots

Device (please complete the following information):

OS: Windows
Browser Edge
Version Version 107.0.1418.35 (Official build) (64-bit)

This functionality was disabled in the mynearwallet/near-wallet fork on October 27 (it has never been enabled on any near.org domain): https://github.com/mynearwallet/near-wallet/blob/master/packages/frontend/src/app/App.js#L113
When they roll back this change the endpoint will be available again.

The MNW team is aware of the broken functionality and says they will have a solution "in the near future".


PlexonIO read error

I'm having trouble with some really simple code--I am trying to read from a .plx file and I keep getting the following error:
TypeError: 'numpy.float64' object cannot be interpreted as an integer
I have numpy and neo installed and imported into this program--does anyone have any idea what the problem could be? I've included my code below.
from neo import io
import numpy as np
PLXfile = 'MWA03FR01111215.plx'
reader = io.PlexonIO(filename=PLXfile)
seg = reader.read_segment(cascade=True, lazy=False)
Thanks!!!

Could you send the file please( with a file transfer service ) ?
I will try to have look.

First off, @samuelgarcia, thank you for writing PlexonIO and contributing to Neo!  This is immensely helpful.
Not sure if there has been any update to the original question @madeleinea posted, but here was my experience and solution.

Traceback (most recent call last):
File "neo_test2.py", line 5, in
seg = r.read_segment()
File "/Users/tlmassey/Library/Python/2.7/lib/python/site-packages/neo/io/plexonio.py", line 190, in read_segment
sigarrays[chan] = np.zeros(nb_samples[chan])
TypeError: 'numpy.float64' object cannot be interpreted as an index

PlexonIO line 190:
sigarrays[chan] = np.zeros(nb_samples[chan])
nb_samples[chan] returns 600806.0
type(nb_samples[chan]) returns <type 'numpy.float64'>
So the issue is that nb_samples is composed of floats rather than ints.
np.zeros expects an int as an argument.
Since nb_samples is initialized on line 141 as...
nb_samples = np.zeros(len(slowChannelHeaders))
... and the default data type of np.zeros is a float64 ...
(https://docs.scipy.org/doc/numpy/reference/generated/numpy.zeros.html)
... nb_samples[chan] is also going to be of type float64.
I think we also need to keep an eye on n2 (line 165) since it's added to nb_samples[chan] (line 181), but thankfully it's already an int.
**So long story short, we need to initialize nb_samples (and sample_positions on the following line, for the same reason) as type np.int:
nb_samples = np.zeros(len(slowChannelHeaders), dtype=np.int)
sample_positions = np.zeros(len(slowChannelHeaders), dtype=np.int)**
Separate error, but I'll throw it in here as long as we're talking about PlexonIO, I had to make a change to class HeaderReader().  The lines...
ival = ival.replace(str.encode('\x03'), str.encode(''))
ival = ival.replace(str.encode('\x00'), str.encode(''))
... should read ...
ival = ival.replace('\x03', '')
ival = ival.replace('\x00', '')
... since the values are already encoded as UTF-8 bytes.
With those minor changes, I was able to finish running the sample file without errors.
For reference, I'm running Python2.7 with the latest numpy, quantities, neo, etc.  I just set it all up this afternoon.  The file I ran my tests on is the example file from https://portal.g-node.org/neo/plexon/File_plexon_3.plx.

CLosed by #385.

Hello and thank you for all your work.
I'm having this very same issue reading plexon files.
Python 3, neo 0.5.1, latest numpy, scipy, quantities.
Does the bug remains in the master branch?

The actual release is neo 0.5.2. this fix some problem on plexonio.
Could you test it ?
In the master branch, this pelxon is a complete rewrite with plexonrawio.
Maybe, this also solve your problem.

I'm testing neo 0.5.2 now. Thus far, using neo.io.PlexonIO(), it doesn't
show the error, but haven't been able to actually read the file though.
Could read like cascade=False, but everything is empty.
cascade=True mode keeps forever running until crash.
On Oct 25, 2017 13:26, "Garcia Samuel"<EMAIL_ADDRESS>wrote:

The actual release is neo 0.5.2. this fix some problem on plexonio.
Could you test it ?
In the master branch, this pelxon is a complete rewrite with plexonrawio.
Maybe, this also solve your problem.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/NeuralEnsemble/python-neo/issues/347#issuecomment-339425358,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXhDx2ht4UslJco7NKMytxwh06kVs-R9ks5sv31SgaJpZM4OBcQZ
.

plx_file ='./CA3_290917b_merged_filtered-02.plx'
plx_reader = neo.io.PlexonIO(filename=plx_file)
seg = plx_reader.read_segment(lazy=False, cascade=True)

ZeroDivisionError                         Traceback (most recent call last)
 in ()
----> 1 seg = plx_reader.read_segment(lazy=False, cascade=True)
~/anaconda/envs/py3/lib/python3.5/site-packages/neo/io/plexonio.py in
read_segment(self, lazy, cascade, load_spike_waveform)
327                             .5 * 2. **
(global_header['BitsPerSpikeSample'])
*
328                             dspChannelHeaders[chan]['Gain'] *
--> 329                             global_header['SpikePreAmpGain'])
330                     waveforms = swfarrays[chan, unit] * gain * pq.mV
331                 else:
ZeroDivisionError: float division by zero
Here, an example of the new error in PlexonIO neo 0.5.2
Meanwhile, do you know if there's a working io to read plexon files? I mean
I could save to .nex
2017-10-25 13:55 GMT-05:00 Felipe Mendez<EMAIL_ADDRESS>
I'm testing neo 0.5.2 now. Thus far, using neo.io.PlexonIO(), it doesn't
show the error, but haven't been able to actually read the file though.
Could read like cascade=False, but everything is empty.
cascade=True mode keeps forever running until crash.
On Oct 25, 2017 13:26, "Garcia Samuel"<EMAIL_ADDRESS>wrote:

The actual release is neo 0.5.2. this fix some problem on plexonio.
Could you test it ?
In the master branch, this pelxon is a complete rewrite with plexonrawio.
Maybe, this also solve your problem.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/NeuralEnsemble/python-neo/issues/347#issuecomment-339425358,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXhDx2ht4UslJco7NKMytxwh06kVs-R9ks5sv31SgaJpZM4OBcQZ
.

I will have look.
Could you send me the file ?
Where does this file come from ? Is it directly from plexon acquisition system or is it exported by another program ?

I'm not sure I'm allowed to share the data, since it's actual experimental
data from our lab.
I made the spike sorting of a recording made in multichannel systems MEA
environment in plexon offline sorter v.3.
Plexon offline sorter allows exporting to .plx, .nex, as well as .mat and
spreadsheet like exports in plain text or Excel files.
Tried the aforementioned .plx neo.io, then exported in .nex and couldn't
read them with neo.NeuroExplorerIO either.
By the way, neuroexplorer people offers a python script to read their files
in python, but it didn't work.
Ended up exporting in plain text and now working on rebuilding spiketrains
from there.
.plx and .nex files do work just fine in plexon offline sorter and
neuroexplorer , so you can be sure they are not corrupted or something like
that.
I really like neo/elephant project , so I would like to be able to work
with them.
Thanks anyway
On Oct 26, 2017 02:17, "Garcia Samuel"<EMAIL_ADDRESS>wrote:

I will have look.
Could you send me the file ?
Where does this file come from ? Is it directly from plexon acquisition
system or is it exported by another program ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/NeuralEnsemble/python-neo/issues/347#issuecomment-339574510,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXhDxws7VYjB4m71xAGcY53lc_eEy5XSks5swDIXgaJpZM4OBcQZ
.

If you send a small anymomed file only to me, you can trust that I won't release this file as public nor to share this file with anybody. It is only for debbging purpose.
You can also send me a file when the material is pluged to nothing and only  recording noise as soon as the file also would trig the same bug. This is the only way I see to debug this.
If I anderstand correctly the same file made trig also a bug when exported with NeuroExplorerIO. If so, I would be also happy to have thies file.
Did you try the actual master with:
pip install https://github.com/NeuralEnemble/python-neo/archive/master.zip


created error page

What: added 404 error page.

Why: to enhance user experience.

How: using nunjucks.

Checklist:

[ ] Documentation
[x] Ready to be merged

[ ] Added myself to contributors table

Thank you for giving me a chance to contribute Please have a look.

So if I am not wrong, you want me to add layout, title and description to the commited   page and rename it to 404.md. Am I right?

@shoutoutloud Correct, rename the file you created to be 404.md and all the needs to be included is
---
layout: markdown
title: 404
description: Page not found
---

Sure, will do. Thanks.

Should I remove everything else from the file apart from layout , title and description?

@shoutoutloud Yeah, for now that should work. I might add some more helpful content within the page, but I am not sure what that should be at the moment.

How will I delete the page?

Delete the file highlighted here

Thank you for your time and help.


Transitive project-defined compilerDeps

I'm leaving town tomorrow so I wanted to publish my progress so far. I'm still not sure if this is the right way to solve the issue, but please have a look and see if it somewhat fits the bill. :)

Looks great! Could you also add the new setting to the README?

As soon as I'm back home, which may be a couple of days from now. :)

I've just updated the documentation and rebased on top of latest master.

Perfect. Thanks for your contribution!


Unable to send data uri based images in response

Eg.
    var card = new builder.HeroCard(session)
        .title("Microsoft Bot Framework")
        .text("Your bots - wherever your users are talking.")
        .images([
            builder.CardImage.create(session, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==")
        ]);
    var msg = new builder.Message(session).attachments([card]);
    session.send(msg);

Having a base64 encoded image in a card is not yet supported in Skype. You can only have a base64 encoded image as an attachment for now.


[docs]: StreamViewModel -> How to check if data is available or not

Describe the missing piece of documentation
Two requests:

How to check if the stream has data. I am fetching data from Firestore / other backend databases. At times the streams take a while to react (based on conditions). Based on the conditions (example: isRecordDeleted=true), the steam may not return anything till some backend operation is performed. Like OnError etc, is there an option to detect if steam has data

Is there a way to pre-process data before the Reactive view responds. Or at least override "onData" so that some additional action can be taken. Earlier onData was overridable - now its not.

Hey,

You can use the hasData property on the viewModel to check if there's data
Yes, you can still override all of the StreamViewModel methods


Fix 151. Fix some typos and URLs.

This PR tries to fix issue #151.
I have fixed some typos and URLs, and also added a few sections to the code, with the aim to make it more readable.
I have not changed cell #1, which I think @taureandyernv is working on it.
Regards,
Miguel

Hi @taureandyernv , thank you for merging this.
Might I suggest to also remove the following function definition? It is not used anymore:
# calculate the accuracy
def accuracy(a,b, threshold=1e-4):
    a = to_nparray(a)
    b = to_nparray(b)
    c = a-b
    c = len(c[c>1]) / (c.shape[0]*c.shape[1])
    return c<threshold

Thanks!
Miguel


Intrinsics JsonToString and StringToJson

part of #64
Not sure if we want to do a special json error parse case

This is also missing parser_spec tests - they are kind of dumb - you can copy another one like States.Array - it's basically just checking a happy path, and then the bad path is when someone puts StringToJson without parens.

update:

Rebase.
Add args parameter names to transformer.
Add bad argument tests.
Added all class input for JsonToString.
Drop unneeded contexts from tests.
Changed order of transformer to match specifications.


Make sliders less sensitive

Hi,
I redid my dashboard using the light cards and they look really good, I love the brightness and temperature sliders.
However on mobile when I'm scrolling I (very often) turn random lights on by touching the slider, it seems like if my finger happens to start the scroll on a slider it'll register as a touch as well, turning the light on.
I don't know if it can be made less sensitive but if so, it would be great.
Alternatively maybe an option to hide the slider and only show them when a button is pressed, or even just a lock might do it.
I turned on the main light in the nursery three times last night while the baby was sleeping when trying to scroll past it :(
Thanks

From what I've seen this is due to the "My Cards Bundle" integration they are using to build that slider. But I agree it is super annoying.

My Cards Bundle slider is based on html input range and the iOS behaviour is strange. That's why we develop our own slider.
I think we must look to gesture control lib like hammerjs to improve this behaviour and reduce sensitivity with a threshold.

Got it! Maybe check the slider-entity-row integration - not sure if using the same method but it at least it does not suffer the same issue with scrolling.

The slider-entity-row has the same problem. It's the polymer slider. But you don't have the issue because of the size of the slider 🙂

At least for Android it does not. Take a look at this test dashboard. Slider-entity does not change when I click on it during scrolling, but the mushroom slider does

.

I don't use the slider entity row as much but I've never noticed that problem on Android either. Can't talk to iOS

On iOS I have the same problem.
It will be hard to find the right threshold. Apple set a 300ms delay but it brings reactivity issues. So Fastclick was created and brings such issues.

I will try with this : https://hammerjs.github.io/recognizer-pan/

Hey @piitaya, just did a quick test and it does seem much better, even trying to I haven't been able to get an accidental turn on.
Let me keep using it for a couple of days to confirm, but that looks pretty good to me, thank you very much !

Ok, I will close the issue, I pushed the stable 1.0.3 version with the fix.


Update the slack logo

Updates the svg to reflect the new slack logo

The new icon shouldn't have padding around the edges:

when will this PR get merged?

Also here:
https://github.com/rauchg/slackin/blob/f52054363ea885bdeeb6b2c03f9a602251a41731/lib/index.js#L94


Add Terraform Validate test

Add Terraform validation test. This test will scan the entire repo for Terraform modules and run terraform init and terraform validate on each.

We probably don't need this here, since all the terraform modules in this repo are test fixtures.


Data from device might not be in YUYV format

The toYUYV() and toRGB() functions assume that the data from the device is in YUYV.
Webcams may give data in other formats too, like MPEG or H264.
Currently there is no way to get the "raw" data from the frame, using toYUYV on a MPEG frame returns garbage (i.e. the mpeg data padded with zeros to fill a whole "YUYV frame").

I had the same question, my camera is MPEG, then my result is wrong.

Added cam.frameRaw() to get raw frame data at ad1b1c94468e21c65ea49633325d935c665b3d1f  .
When MJPG format camera used, the returned data(as Uint8Array) is just JPEG compressed data.
(Sorry I don't know how to handle MPEG frames)


Updated AIForged connector

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[ ] I attest that the connector doesn't exist on the Power Platform today. I've verified by checking the pull requests in GitHub and by searching for the connector on the platform or in the documentation.
[ ] I attest that the connector works and I verified by deploying and testing all the operations.
[ ] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[ ] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[ ] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[ ] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[ ] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[ ] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[ ] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[ ] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

Hello @InusBot, produces option has been removed, can you please confirm that no existing flows or users will be affected by this change?

Good day,
Yes, we do not rely on the produces option.
However, we did not specify the produces option for any operation, so I am unsure why build server returned these errors:
@.***
@.***
Regards,
Inus Botha
Senior Software Developer
M: +27 83 652 8087
<EMAIL_ADDRESS>www.larcai.comhttp://www.larcai.com/
Soetdoring Building, 7 Protea Street, Centurion, Gauteng, 0157, South Africa
@.***
@.@.https://web.facebook.com/LarcAIRobotics/[Twitter logo]https://twitter.com/larc_ai[Related image]https://www.youtube.com/channel/UCDeNNoJQ-Kw3uyanuMjSN2Q
Note: This message is for the named person’s use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any incorrect transmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. Larctec reserves the right to monitor all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity.
From: vmanoharas @.>
Sent: Saturday, November 11, 2023 5:03 PM
To: microsoft/PowerPlatformConnectors @.>
Cc: Inus Botha @.>; Mention @.>
Subject: Re: [microsoft/PowerPlatformConnectors] Updated AIForged connector (PR #3082)
Hello @InusBothttps://github.com/InusBot, produces option has been removed, can you please confirm that no existing flows or users will be affected by this change?
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/PowerPlatformConnectors/pull/3082#issuecomment-1806838632, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWVBTMA52H3FRE6YF2OHLZDYD6HTJAVCNFSM6AAAAAA7EXG6YWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBWHAZTQNRTGI.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Hello @InusBot,
Thank you very much for confirming. I will approve.

Good day.
I am trying to update the connector in ISV Studio, but there is no option to update, and when I submit, I get the error message that the connector already exist.

Please assist in telling me how to update the connector in ISV studio, since the studio does not supply me with the option to update as stipulated here (update your submission)

Good day @vmanoharas .
I am trying to update the connector in ISV Studio, but there is no option to update, and when I submit, I get the error message that the connector already exists.

Please assist in telling me how to update the connector in ISV studio, since the studio does not supply me with the option to update as stipulated here (update your submission)

Hi @InusBot,
There is an existing connector already in ISV Studio as "AIForged", kindly click on the existing version and you can see submit an update button to submit the update.


(post comments) reality of sqoop mainframe blog

Hello @rbheemana , to cope with the variable length issue in Sqoop, have you considered using Cobrix?

@felipemmelo looks like a good alternative to load via spark. Currently I am not actively working with mainframe files, will try someday.


Add function to check error on unique index.

Just as the os module provides users with the os.IsNotExist function to test if the error was generated by trying to open a non existent file, regardless of its name, this commit adds the same functionality to check if the error comes from trying to insert data to a table with an unique index. This example, which is in the test generated for the function, shows its behavior:
...
err1 := errors.New("sending request failed for method 'create': There was a problem with the database: Database index `userNameIdx` already contains 'Mark', with record `user:⟨2⟩`")
err2 := errors.New("sending request failed for method 'create': There was a problem with the database: Database index \"''``\" already contains '\\', with record `user:⟨{ foo = []}⟩`")
err3 := errors.New("sending request failed for method 'create': There was a problem with the database: Database index `userNameIdx` THIS MUST NOT PASS, with record `user:⟨2⟩`")
err4 := errors.New(" Database index `uniqueBlob` already contains { date: 'today', location: 'London' }, with record `foo:2`")
err5 := errors.New(" database index `uniqueBlob` already contains { date: 'today', location: 'London' }, with record `foo:2`")
err6 := errors.New("Database record `foo:1` already exists")

fmt.Println(IsDuplicateUniqueIdx(err1))
fmt.Println(IsDuplicateUniqueIdx(err2))
fmt.Println(IsDuplicateUniqueIdx(err3))
fmt.Println(IsDuplicateUniqueIdx(err4))
fmt.Println(IsDuplicateUniqueIdx(err5))
fmt.Println(IsDuplicateUniqueIdx(err6))
...

Will print:
true
true
false
true
false
false

Just re wrote the tests using testify. all of them are passing.

Just re wrote the tests using testify. all of them are passing.

you can resolve the issues has been fixed with this commit.
Nice job. :+1:

Thanks, @timpratim !
Yeah, I know regexp are not an ideal solution, in Go we'd rather use the built in functions errors.Is, errors.Unwrap, etc. Nonetheless, the current driver works on top of websockets, and no further modifications can be done without immediate effects on other drivers and stacks. As you say, returning the code error at the beginning would be a nice workaround, so we can standardize it and make the proper changes all together. This PR adds a quick way to do the job, so it might be helpful for users, and I think it wouldn't be an issue for backwards compatibility, since the underlying behaviour in future implementation will be the same as expected.

Linking this error ticket which also covers incorrect handling of error responses
https://github.com/surrealdb/surrealdb.go/issues/33
Agreed with @timpratim we are happy to go ahead with regex parsing 👍


Where's the code coverage?

For reasons I can't wrap my head around, code coverage is failing to report for this repository.  I can't see anything here we're doing different, so I'm left to guess that it's some issue in kokoro.

This appears to be fixed 🥂


Suggestion New Project - ThisAssembly.XmlDocs

Suggestion for creating a new Project ThisAssembly.XmlDocs to auto generate a code to access the XML Docs from Classes and Members via code.
This could,
/// <summary>
/// Url Helper Utility Class
/// </summary>
internal static class UrlHelper
{
	/// <summary>
	/// Check if a string is a valid URL
	/// </summary>
	/// <param name="url">The string representation of the Uri.</param>
	/// <returns>true</returns>
	public static bool IsValidUrl(string url) => true;

	/// <summary>
	///
	/// </summary>
	/// <param name="url"></param>
	/// <param name="onlyIntranet"></param>
	/// <returns></returns>
	public static bool IsValidUrl(string url, bool onlyIntranet) => true;
}

Could generate a code like this.
partial class ThisAssembly
{
	public static partial class XmlDocs
	{
		public static partial class UrlHelper
		{
			public const string Summary = "Url Helper Utility Class";

			public static partial class IsValidUrl
			{
				public static partial class Overloads
				{
					public static partial class String
					{
						public const string Summary = "Check if a string is a valid URL";
						public const string Returns = "true";
						public static partial class Params
						{
							public const string Url = "The string representation of the Uri.";
						}
					}

					public static partial class StringBool
					{
						public const string Summary = "";
						public const string Returns = "";
						public static partial class Params
						{
							public const string Url = "";
							public const string OnlyIntranet = "";
						}
					}
				}
			}
		}
	}
}

Seems like this could be bloating the resulting assembly with a whole bunch of strings that would otherwise be easily available by loading the XML alongside the assembly with an API like NuDoq... 🤔

Closing due to lack of interest.


Add error messages and summary

Changes:

We now add error messages and warnings to the script. The script automatically stops when an error occurs.
Format the code to follow PEP guidelines
Add a summary to display some basic statistics

The changes looks good
Thanks @yash2002109 !
Using a squash merge


Can't get headers in version v1.2.0

returntransfer: true
verbose: true
header: true

Are you calling "getResponseHeaderObject()" to get the headers? Or do you expect them to be returned?

I was expecting the headers in api_caller call result. Didn't notice function getResponseHeaderObject()

Good, if you have any further questions, please re-open this issue or open an new one.


Constraint value on field when extending an interface

The following declaration results in the error bellow.
 interface MyError extends Error {
  name: 'ValidationError'
  isJoi: true,
}

// Errors:
//    4:   name: 'ValidationError',
//               ^ string literal `ValidationError`. Expected string literal `ValidationError`
//    [LIB] static/v0.52.0/flowlib/core.js:511:     name: string;
//                                                        ^ string

When changing 'name' to be 'string' instead of the literal, it works. Is this correct? Am I trying to do something intrinsically wrong?

I think the problem here has to do with variance. A subtype cannot make a field more specific than the parent class does. This can cause problems like the following:
function setName(e: Error): void {
  e.name = "Some other name";
}

This function should be type safe to call on any Error. But if we call it on an instance of your MyError, we'll actually change its type! That's not good.

Indeed, you can't override the type of name.


Create remote sftp subsystem error

The key logs are as follows
...
  2023-08-01T14:55:52.537  INFO openssh_sftp_client::sftp::openssh_session: Connecting to sftp subsystem, session = Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionHl54xJ" }), ctl: "/tmp/.ssh-connectionHl54xJ/master", master_log: Some("/tmp/.ssh-connectionHl54xJ/log") }))
    at /usr/local/cargo/git/checkouts/openssh-sftp-client/8aadf10/src/sftp/openssh_session.rs:27
    in openssh_sftp_client::sftp::openssh_session::session_task with session: Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionHl54xJ" }), ctl: "/tmp/.ssh-connectionHl54xJ/master", master_log: Some("/tmp/.ssh-connectionHl54xJ/log") }))

  2023-08-01T14:55:52.537  INFO openssh_sftp_client::sftp::openssh_session: Connection to sftp subsystem established, session = Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionHl54xJ" }), ctl: "/tmp/.ssh-connectionHl54xJ/master", master_log: Some("/tmp/.ssh-connectionHl54xJ/log") }))
    at /usr/local/cargo/git/checkouts/openssh-sftp-client/8aadf10/src/sftp/openssh_session.rs:51
    in openssh_sftp_client::sftp::openssh_session::session_task with session: Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionHl54xJ" }), ctl: "/tmp/.ssh-connectionHl54xJ/master", master_log: Some("/tmp/.ssh-connectionHl54xJ/log") }))

  2023-08-01T14:55:56.545  INFO openssh_sftp_client::tasks: Requesting graceful shutdown of flush_task from read_task, shared_data = 0xaaae209a7320
    at /usr/local/cargo/git/checkouts/openssh-sftp-client/8aadf10/src/tasks.rs:185
    in openssh_sftp_client::tasks::read_task with read_end_buffer_size: 1024

  2023-08-01T14:55:56.545 ERROR openssh_sftp_client::tasks: error: IO Error (Excluding `io::ErrorKind::WouldBlock`): unexpected end of file.
    at /usr/local/cargo/git/checkouts/openssh-sftp-client/8aadf10/src/tasks.rs:165
    in openssh_sftp_client::tasks::read_task with read_end_buffer_size: 1024

  2023-08-01T14:55:56.545 ERROR openssh_sftp_client::sftp::openssh_session: Waiting on remote sftp subsystem to exit failed: Failed to create sftp from session: the remote process has terminated, session = Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionHl54xJ" }), ctl: "/tmp/.ssh-connectionHl54xJ/master", master_log: Some("/tmp/.ssh-connectionHl54xJ/log") }))
    at /usr/local/cargo/git/checkouts/openssh-sftp-client/8aadf10/src/sftp/openssh_session.rs:70
    in openssh_sftp_client::sftp::openssh_session::session_task with session: Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionHl54xJ" }), ctl: "/tmp/.ssh-connectionHl54xJ/master", master_log: Some("/tmp/.ssh-connectionHl54xJ/log") }))

  2023-08-01T14:55:56.551 ERROR openssh_sftp_client::sftp::openssh_session: Closing session failed: Failed to create sftp from session: the local ssh command could not be executed, session = Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionHl54xJ" }), ctl: "/tmp/.ssh-connectionHl54xJ/master", master_log: Some("/tmp/.ssh-connectionHl54xJ/log") }))
    at /usr/local/cargo/git/checkouts/openssh-sftp-client/8aadf10/src/sftp/openssh_session.rs:80
    in openssh_sftp_client::sftp::openssh_session::session_task with session: Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionHl54xJ" }), ctl: "/tmp/.ssh-connectionHl54xJ/master", master_log: Some("/tmp/.ssh-connectionHl54xJ/log") }))
...

It looks like somehow the remote sftp subsystem exits before SftpClient is able to read initial server hello.
Could you check your master log (/tmp/.ssh-connectionHl54xJ/log) and the version of the sftp used on remote?
SftpClient only support sftp version 3, so if the remote only supports version 2 then the connection could fail immediately before the server hello is sent

It looks like somehow the remote sftp subsystem exits before SftpClient is able to read initial server hello. Could you check your master log (/tmp/.ssh-connectionHl54xJ/log) and the version of the sftp used on remote?
SftpClient only support sftp version 3, so if the remote only supports version 2 then the connection could fail immediately before the server hello is sent

@NobodyXu

remote sftp server is version 3
/tmp/.ssh-connectionHl54xJ/log the log file is empty.

Can you turn on debug logging?
That will give us more information.

The  logs include debug logging
2023-08-01T21:26:22.831  INFO openssh_sftp_client::sftp::openssh_session: Connection to sftp subsystem established, session = Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionPo7Xxz" }), ctl: "/tmp/.ssh-connectionPo7Xxz/master", master_log: Some("/tmp/.ssh-connectionPo7Xxz/log") }))
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/sftp/openssh_session.rs:51
    in openssh_sftp_client::sftp::openssh_session::session_task with session: Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionPo7Xxz" }), ctl: "/tmp/.ssh-connectionPo7Xxz/master", master_log: Some("/tmp/.ssh-connectionPo7Xxz/log") }))
2023-08-01T21:26:22.831 DEBUG openssh_sftp_client::tasks: Flushing out the initial hello msg from shared_data = 0xaaad6edab650
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:85
    in openssh_sftp_client::tasks::flush_task with write_end_buffer_size: 100, flush_interval: 500µs

  2023-08-01T21:26:22.831 DEBUG openssh_sftp_client::tasks: Trigger read_task from shared_data = 0xaaad6edab650
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:94
    in openssh_sftp_client::tasks::flush_task with write_end_buffer_size: 100, flush_interval: 500µs

  2023-08-01T21:26:22.831 DEBUG openssh_sftp_client::tasks: Flushing out 1 bytes, shared_data = 0xaaad6ee9b0c8
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:30
    in openssh_sftp_client::tasks::flush_task with write_end_buffer_size: 100, flush_interval: 500µs

  2023-08-01T21:26:22.831 DEBUG openssh_sftp_client::tasks: Receiving version and extensions, shared_data = 0xaaad6edab650
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:197
    in openssh_sftp_client::tasks::read_task with read_end_buffer_size: 1024

  2023-08-01T21:26:22.882  INFO openssh_sftp_client::tasks: Requesting graceful shutdown of flush_task from read_task, shared_data = 0xaaad6edab650
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:185
    in openssh_sftp_client::tasks::read_task with read_end_buffer_size: 1024

  2023-08-01T21:26:22.882 ERROR openssh_sftp_client::tasks: error: IO Error (Excluding `io::ErrorKind::WouldBlock`): unexpected end of file.
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:165
    in openssh_sftp_client::tasks::read_task with read_end_buffer_size: 1024

  2023-08-01T21:26:22.882 DEBUG openssh_sftp_client::tasks: Flushing out the initial hello msg from shared_data = 0xaaad6edab650
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:85
    in openssh_sftp_client::tasks::flush_task with write_end_buffer_size: 100, flush_interval: 500µs

  2023-08-01T21:26:22.882 DEBUG openssh_sftp_client::tasks: Trigger read_task from shared_data = 0xaaad6edab650
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:94
    in openssh_sftp_client::tasks::flush_task with write_end_buffer_size: 100, flush_interval: 500µs

  2023-08-01T21:26:22.882 DEBUG openssh_sftp_client::tasks: Flushing out 0 bytes, shared_data = 0xaaad6ee9b0c8
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:30
    in openssh_sftp_client::tasks::flush_task with write_end_buffer_size: 100, flush_interval: 500µs

  2023-08-01T21:26:22.883 DEBUG openssh_sftp_client::tasks: Flushing out the initial hello msg from shared_data = 0xaaad6edab650
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:85
    in openssh_sftp_client::tasks::flush_task with write_end_buffer_size: 100, flush_interval: 500µs

  2023-08-01T21:26:22.883 DEBUG openssh_sftp_client::tasks: Trigger read_task from shared_data = 0xaaad6edab650
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:94
    in openssh_sftp_client::tasks::flush_task with write_end_buffer_size: 100, flush_interval: 500µs

  2023-08-01T21:26:22.883 DEBUG openssh_sftp_client::tasks: Flushing out 0 bytes, shared_data = 0xaaad6ee9b0c8
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/tasks.rs:30
    in openssh_sftp_client::tasks::flush_task with write_end_buffer_size: 100, flush_interval: 500µs

  2023-08-01T21:26:22.883 ERROR openssh_sftp_client::sftp::openssh_session: Waiting on remote sftp subsystem to exit failed: Failed to create sftp from session: the remote process has terminated, session = Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionPo7Xxz" }), ctl: "/tmp/.ssh-connectionPo7Xxz/master", master_log: Some("/tmp/.ssh-connectionPo7Xxz/log") }))
    at /usr/local/cargo/git/checkouts/openssh-sftp-client-2eed501a901478bf/8aadf10/src/sftp/openssh_session.rs:70
    in openssh_sftp_client::sftp::openssh_session::session_task with session: Session(ProcessImpl(Session { tempdir: Some(TempDir { path: "/tmp/.ssh-connectionPo7Xxz" }), ctl: "/tmp/.ssh-connectionPo7Xxz/master", master_log: Some("/tmp/.ssh-connectionPo7Xxz/log") }))

Sorry I forgot this issue.
Did you manage to solve it?


JavaScript Leaks Article

Request for comments. We are still missing the part where we actually find memory leaks and some parts where we explain the profiling tools.

Complete article. RFC. Icon needed.


Change dependency package for telegram bot from Telegraf to Grammy

Files changed: start_telegram_bot and package.json
some changes are:

Grammy uses {Bot} to start a new bot.

Grammy uses bot.start() to start a new bot instead of bot.launch

For default help and start commands we have to use the regular bot.command('commandName') line and it does not have bot.start and bot.help

ctx.replyWithMarkdown needs to be replaced with ctx.reply(message, {parse_mode: 'markdown'})

ctx.replyWithDocument(file) needs to be replaced with ctx.replyWithDocument((new InputFile(file.source, file.filename)))

bot.telegram.commandName is replaced with  bot.api.commandName

great, looks like a pretty clean changeover, I will try it out


Fix common properties bug

Fixes #1493. The properties editor has a bug that causes properties to copy over to a different node when a new node is selected in the pipeline editor. This PR adds logic to apply the properties changes as they happen instead of when switching nodes to prevent that from happening.
Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

The original issue is now fixed. However, there is still a similar issue with the array items. I'm guessing the custom component isn't fully controlled and doesn't trigger UPDATE_PROPERTY for every change

I think this needs to be value not defaultValue, but changing this will probably break other things: https://github.com/marthacryan/elyra/blob/c3cecbd7580aae637e0c27b65aa2b0c9ec546ed4/packages/pipeline-editor/src/StringArrayInput.tsx#L88

I think we can fix this issue separately. This doesn't effect the underlying data, just a rendering bug

The original issue is now fixed. However, there is still a similar issue with the array items. I'm guessing the custom component isn't fully controlled and doesn't trigger UPDATE_PROPERTY for every change

Could you add the steps to reproduce? I tried and couldn't figure out how to reproduce

oh yea sorry, It's similar to the previous issue:

open properties
add an item to a list (for example 1)
click on another node and add an item to a list (for example 2)
click anywhere on the canvas
reopen the node properties where you entered 2 and it should incorrectly say 1


Support for Azure

Based on ask from a potential user, there is need for deploying cost calculator on AKS cluster on Azure.

Thanks for looking at it @jrroman !

@jrroman verified that cost calculator is functional on AKS and updated README with documentation for usage on Azure. Thanks, John!


[BugFix] Missing cast expression

Fixes https://github.com/StarRocks/starrocks/issues/32224
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:heart_eyes: pass : 93 / 102 (91.18%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/analysis/Expr.java
5
7
71.43%
[1847, 1848]

:large_blue_circle:
com/starrocks/sql/optimizer/transformer/SqlToScalarOperatorTranslator.java
8
9
88.89%
[512]

:large_blue_circle:
com/starrocks/sql/plan/ScalarOperatorToExpr.java
65
71
91.55%
[170, 171, 172, 302, 303, 304]

:large_blue_circle:
com/starrocks/analysis/SlotRef.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/load/Load.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/analysis/SlotDescriptor.java
7
7
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:heart_eyes: pass : 93 / 102 (91.18%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/analysis/Expr.java
5
7
71.43%
[1847, 1848]

:large_blue_circle:
com/starrocks/sql/optimizer/transformer/SqlToScalarOperatorTranslator.java
8
9
88.89%
[512]

:large_blue_circle:
com/starrocks/sql/plan/ScalarOperatorToExpr.java
65
71
91.55%
[170, 171, 172, 302, 303, 304]

:large_blue_circle:
com/starrocks/analysis/SlotRef.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/load/Load.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/analysis/SlotDescriptor.java
7
7
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)


chore: fix so renovate finds client deps

@gdbroman This was my inspo https://github.com/renovatebot/config-help/issues/136#issuecomment-451909600, but I'll go with public doc 😅


Either a bug or I'm missing some config steps when trying to use vitest and supertest?

Description
I'm getting some odd behaviour when trying to run supertest tests with vitest. I'm not sure if it's a bug with Vike or if I'm missing some configuration steps?
Vike version: 0.4.147 (also tried 0.4.150)
The error I get:
FAIL  src/routes/restaurant.test.ts [ src/routes/restaurant.test.ts ]
Error<EMAIL_ADDRESS>You stumbled upon a bug in Vike's source code. Go to https://github.com/vikejs/vike/issues/new and copy-paste this error; a maintainer will fix the bug (usually under 24 hours).
 ❯ node_modules/.pnpm/vike@0.4.147_vite@4.5.0/node_modules/vike/dist/esm/utils/debug.js:10:1
 ❯ src/server.ts:5:31
      3| import { fileURLToPath } from "node:url";
      4| import express from "express";
      5| import { renderPage } from "vike/server";
       |                               ^
      6| import session from "express-session";
      7| import cookieParser from 'cookie-parser';
 ❯ src/routes/restaurant.test.ts:4:31

Here are the relevant code snippets:
server.ts
import 'dotenv-expand/config';
import { dirname } from "node:path";
import { fileURLToPath } from "node:url";
import express from "express";
import { renderPage } from "vike/server";
import session from "express-session";
import cookieParser from 'cookie-parser';
import cors from 'cors';
import v1 from './routes';
import passport from 'passport';
import { passportConfig } from './auth/passport';
import env from '../env';
import morgan from 'morgan';

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const isProduction = process.env.NODE_ENV === "production";
const root = `${__dirname}/..`;

export async function createServer() {

  const app = express();

  ...other code

  // static assets
  if (isProduction) {
    app.use(express.static(`${root}/dist/client`));
  } else {
    const vite = await import("vite");
    const viteDevMiddleware = (
      await vite.createServer({
        root,
        server: { middlewareMode: true },
      })
    ).middlewares;
    app.use(viteDevMiddleware);
  }

  ... other code

  // vike SSR
  app.all("*", async (req, res, next) => {

    const pageContextInit = {
      urlOriginal: req.originalUrl,
      user: req.user,
      userAgent: req.headers['user-agent']
    };

    const pageContext = await renderPage(pageContextInit);

    const { httpResponse } = pageContext;
    if (!httpResponse) {
      return next();
    } else {
      const { statusCode, headers, earlyHints } = httpResponse;
      if (res.writeEarlyHints) res.writeEarlyHints({ link: earlyHints.map((e) => e.earlyHintLink) });
      headers.forEach(([name, value]) => res.setHeader(name, value));
      res.status(statusCode);
      httpResponse.pipe(res);
    }

  });

  app.listen(env.PORT, () => {
    console.log("Server listening on http://localhost:3000");
  });

  return app;
}

export const app = createServer();

vite.config.ts
export default defineConfig({
  plugins: [
    svgr(),
    react(),
    vike()
  ],
  test: {
    environment: 'jsdom',
    setupFiles: ['jest-dom.config.ts']
  },
  resolve: {
    alias: {
      '$assets': resolve('src/views/assets'),
      '$views': resolve('src/views'),
      '$pages': resolve('src/views/pages'),
      '$components': resolve('src/views/components'),
      '$root': resolve('src')
    }
  }
});

restaurant.test.ts
import { afterEach, describe, it, vi } from 'vitest';
import request from 'supertest';
import { app } from '$root/server';

describe('Restaurant routes', () => {
    it('GET /', async() => {

        request(await app)
        .get('/api/v1/restaurant/')
        .expect('Content-Type', /json/)
        .expect(200)

    })
})

It happens when I call the createServer function and pass the returned express app to supertest's request method.

Can you create a minimal reproduction?

Alternatively, you can try to debug this yourself (it doesn't seem like it but it may actually be easier than creating a minimal reproduction). I'll give you more precise instructions in a moment.

The problem is that the following file returns true whereas it should return false:
// node_modules/vike/dist/esm/utils/isBrowser.js

export function isBrowser() {
    // Using `typeof window !== 'undefined'` alone is not enough because some users use https://www.npmjs.com/package/ssr-window
    return typeof window !== 'undefined' && typeof window.scrollY === 'number';
    // Alternatively, test whether environment is a *real* browser: https://github.com/brillout/picocolors/blob/d59a33a0fd52a8a33e4158884069192a89ce0113/picocolors.js#L87-L89
}

I guess the issue is that jsdom defines window.scrollY?

Thanks for the pointer. I think I'm just going to just use node test environment for server-side tests and jsdom for client-side. It just means I'll have two different Vitest configs, but that makes sense anyway.

Nice, thanks!
I'm a student at the moment, but I will certainly consider doing so myself in the future if I continue use the Vike :)

Ok thanks :)
On Fri, Dec 8, 2023 at 7:06 PM Justas Galminas @.***>
wrote:

Nice, thanks!
I'm a student at the moment, but I will certainly consider doing so myself
in the future if I continue use the Vike :)
—
Reply to this email directly, view it on GitHub
https://github.com/vikejs/vike/issues/1335#issuecomment-1847608154, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHVQRWCS5CTWX7PTFRI5X3YINJL7AVCNFSM6AAAAABAMSHEOWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBXGYYDQMJVGQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Disable toast progress bar via prop

Sometimes you want a toast that does transition out but doesn't display the progress. This feature adds a prop, showProgress, which toggles the <progress /> element in ToastItem.svelte. The prop defaults to true to match the current functionality.
I did not include the build files for clarity of the PR but I'm happy to add
them in if it helps.

Hi, normally the recommended way to squelch the progress bar is to set both initial and next to 0. Does that fit your use case?

Hi, normally the recommended way to squelch the progress bar is to set both initial and next to 0. Does that fit your use case?

Thanks for getting back to me! That is what I started with but it doesn't work for my use case because I need the toast to disappear by itself still.

Thanks for getting back to me! That is what I started with but it doesn't work for my use case because I need the toast to disappear by itself still.

Ah I see. This can be done in a few ways:
toast.push('No progress bar', {
  theme: {
    // Set progress bar height to 0
    '--toastBarHeight': 0
    // Or set bar background to transparent
    '--toastBarBackground': 'transparent'
  }
})

// Or dismiss the toast manually
toast.push('No progress bar', {
  initial: 0,
  onpop: id => {
    setTimeout(() => toast.pop(id), 4000)
  }
})

I'm not sure if the tests pass if we remove the <progress> node though =/

Ah I see. This can be done in a few ways:
toast.push('No progress bar', {
  theme: {
    // Set progress bar height to 0
    '--toastBarHeight': 0
    // Or set bar background to transparent
    '--toastBarBackground': 'transparent'
  }
})

// Or dismiss the toast manually
toast.push('No progress bar', {
  initial: 0,
  onpop: id => {
    setTimeout(() => toast.pop(id), 4000)
  }
})

I'm not sure if the tests pass if we remove the <progress> node though =/

Haha, that did the trick. Thanks for the help!


UI: Fixes page size changer doesn't show up on mobile mode

Description
Related https://github.com/apache/cloudstack/pull/4762
This PR for fixes page size changer doesn't show up on mobile mode

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
After fixed:

How Has This Been Tested?

@blueorangutan ui

@utchoang a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/4765 (JID-3854)

@blueorangutan ui

@rhtyd a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/4765 (SL-JID-59)

@utchoang Could you remove https://github.com/apache/cloudstack/pull/4765/commits/d998f2709f1cf1ea5fa957e0b90dfff1b46c17f9 and push ? Thanks

@blueorangutan ui

@davidjumani a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/4765 (SL-JID-70)


Thursday 10:30 No Active Routes

Checked in on the trolley tonight, and there's no active routes being returned via the API (so the schedule is showing on the webapp, but the trolley is tracking behind it, without a route).  There's a current schedule being returned for this time - ShortMain County Sq.  Not sure what's up with the API - could it be a time zone issue?

It turns out that from my preliminary analysis, the clock on the server is set about 12 hours behind.  I'm not sure why the Windows Time Server didn't correct it, but I should learn more about it tomorrow when Joe takes a look.

The server time has been corrected, and the server is also now set to sync to Internet time.   Just in time for LunchLink!


gstreamer: 1.18.1 -> 1.18.2

Motivation for this change
https://gstreamer.freedesktop.org/releases/1.18/
(scroll to the bottom)
Things done
Tested with #106044 cherrypicked, otherwise it doesn't build.

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Did you forget to commit the version bump?

Did you forget to commit the version bump?

squints how did I manage that. Oops.

Waiting for https://github.com/NixOS/nixpkgs/pull/106044.

#106044 is merged.


pkg/config(ticdc): remove useless configs

What problem does this PR solve?

Issue Number: ref https://github.com/pingcap/tiflow/issues/8132
What is changed and how it works?
Remove useless configs. We do not use these configs anymore. And these configs come from the debug session. So we can safely remove it.
Check List
Tests

Unit test

Questions
Will it cause performance regression or break compatibility?
No
Do you need to update user documentation, design documentation or monitoring documentation?
No
Release note
None

/unhold

/merge


Can not push commits if I need to push my changes to existing PR.

Recently, I can create a PR from my local branch first time. But if I need to update some codes in the branch, I can not push my changes to my PR with following error:

this situation may be happened since this https://github.com/Azure/azure-sdk-for-js/pull/28500 has been merged into main

If I removed tostring() from https://github.com/Azure/azure-sdk-for-js/pull/28500/files#diff-6c2ccdcdfdc97884d9297b729b7946673d61980305fa863425e5c60229ea5698R83, I got so many errors like

and

@sarangan12 Could you help take a look at it?
/cc @xirzec


Include relations on create actions but not on other actions.

The client side library Im using is creating a duplicate entry from the update response sent by jsonapi-resources when relationships are included.
What I need to be able to do is include related entities when doing a create and exclude them otherwise.

Got some great help on the gitter last night from @lgebhardt, including the solution here for anyone following my path.
The solution is that from 0.9.0.pre you can override the resource_serializer method by defining it on your ResourceController. Current gem release 8.1 and earlier don't have this method.
I pointed gem to master:
gem 'jsonapi-resources', git: "https://github.com/cerebris/jsonapi-resources.git"
I created a new controller called BaseController (so I could apply this to multiple controllers)
# controllers/api/v1/base_controller.rb

class Api::V1::BaseController < JSONAPI::ResourceController
  def resource_serializer
    options  = {
      include_directives: @request ? @request.include_directives : nil,
      fields: @request ? @request.fields : {},
      base_url: base_url,
      key_formatter: key_formatter,
      route_formatter: route_formatter,
      serialization_options: serialization_options
    }
    if params[:action] == 'create'
      Rails.logger.debug "always_include_to_one_linkage_data TRUE"
      options[:always_include_to_one_linkage_data] = true
    else
      Rails.logger.debug "always_include_to_one_linkage_data FALSE"
      options[:always_include_to_one_linkage_data] = false
    end
    @resource_serializer ||= resource_serializer_klass.new(
      resource_klass,
      options)
    @resource_serializer
  end
end

And then inherited from in for my other controllers, like so:
# controllers/api/v1/expense_items_controller.rb

class Api::V1::ExpenseItemsController < Api::V1::BaseController
end


Addition of new workflows and updates to existing workflow templates

Changed the workflow titles as “Ductless HP” and “Central Ducted Split HP” respectively, updated templates as per the request and removed the BETA version red text from the installation views,
Added new templates for “Ductless HP w/o Manual J” and “Central Ducted Split HP w/o Manual J”
Component title updated in Attic Air Sealing template

My testing results:

The Manual J section needs to be completely removed for "Centeral Ducted Split HP w/o Manual J"

Everything else looks great!


Fix performance regression due to #809

I'm hoping to get comments on this, because it seems too simple but has the performance characteristics we want, and I don't think we have to worry about any of the thread contention issues that cause people to use most of the singleton patterns we've seen flying around. Those are all trying to avoid one thread accessing a static global before it has been initialized, but we are either running in single-threaded mode or we are running with a thread_local static global variable instead. So there's never an opportunity for contention.
Fixes #824.
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
Columbia University
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

On Apr 12, 2018, at 1:38 PM, seantalts<EMAIL_ADDRESS>wrote:
I'm hoping to get comments on this,

Sounds good.  I forgot that we don't need to deal with contention in our singleton.  That's the main reason to use that static local pattern---they're guaranteed to be thread safe for construction.
Given that this is closed, do you still want people to look at it in more detail?


added ziggyai public server

cant say how fast this is, as I am running on CPU only, but it is up and running

Could you please expose the /stt and /status endpoints to follow the others STT exposure?
/status is used by upptime to monitor the STT.


Does this work with magisk?

I am not prompted to grant Root access when I click on the phone app menu to grant it. It tells me to install SuperSU, which I don't have but I do have a rooted phone through magisk, does this work?

yes magisk will work


JavaScript - Weird behavior in IntelliSense suggestions with no suggestions.

VS Code Version: 1.55.1
OS Version: Windows 10 20h2

Steps to Reproduce:
✔With class keyword before completed

✔After completed and press ctrl + space

✔With constructor keyword before completed

❌After completed and press ctrl + space

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

The first looks like normal fuzzy suggestion matching. Once you type the second s, there are no longer any matching suggestions
Extracted the second to https://github.com/microsoft/TypeScript/issues/43650


Document.from_dict doesn't has type info.

Test with below code:
class TestUnsignedField:
    def test_query_from_unsigned_field(self):
        schema = SchemaBuilder().add_unsigned_field("order", indexed=True).build()

        index = Index(schema)

        writer = index.writer()

        doc = Document.from_dict({"order": 1})

        writer.add_document(doc)
        writer.commit()
        index.reload()

        query = index.parse_query("order:1", ["order"])
        result = index.searcher().search(query, 1)
        assert len(result.hits) == 1

The extract_value in document.rs will try to interpret it as i64 at first while it should be interpreted as u64. We may need to pass schema into from_dict.
I also met this issue when I try to support json field where it interpreted the field as String at first.

This can be closed, as it was fixed in #88 .