Alternatives names scenario

PROBLEM
Discuss the solution options on how can VRS help in solving the alternatives names scenarios (disambiguation #56 #64)
Example: "Tarjey" = "Target"; "Delta" = "Delta Dental"
This is different from mispronunciation.
DOD

[ ] Identify the possible options for the alternative
[ ] Make a recommendation the best path forward

Pradeep

Three concerns that lead to ambiguity (alternate names):

Homophones (diff spelling, same pronounciation) e.g Sysco vs Cisco
Homographs (same spelling, diff meaning)
Mispronounciation - could be due to unfamiliarity, locale, possible physical disability etc.

Homophones & Homographs
One of the approaches is to provide the user the possible options in a specific order (or based on descending order of confidence score), and let the user pick his or her choice.
Pros: Simple and Intuitive approach for the user
Cons: Implementation and Support might be a challenge where the channel (device) needs to perform additional work like reading the options to the user, and taking appropriate action.
Improving the efficiency to reduce ambiguity.
1. Use locale
Use additional information from the channel (device) and tag it as a parameter to the NLU model to determine the appropriate result
2. Use user's history
Use user history (if available and permitted) to suggest the best match
3. Provide user with one option at a time
Display the first option (highest confidence factor), and if user rejects the same, provide the next one.
Mispronounciation
Handling this scenario could be a challenge and could also frustrate the user if he or she has to go through multiple rounds before the VRS understands what the user is looking for.
Unfamiliarity and Physical disability (voice) may not be handled gracefully at all.
However locale specific Mispronounciation or language accent can be handled by training the NLU model (if one is supported) with locale as a parameter.

Today's Meeting notes :

Should we include "category" as part of the VRS capabilities?
ACTION: Need to create the architecture decision to understand how VRS will play a role on the alternatives name scenario? @gpradeep-target

@maridob bought up an important point that I had missed - VRS is not concerned with the voice transformation i.e. voice to text.  The voice to text transformation is performed by the fronting device, app, etc., VRS receives only the text, and VRS's responsibility is to map this text to an appropriate matching entity and it's associated endpoint.
Depending on the pronunciation and transformation an entity might be spelled differently (homographs, aliases, mispronunciation etc.) or same pronunciation might map to more than one entity (homophones).  The VRS essentially should map the text it receives to the matching entity name and return the same.
With the above scenario it is possible that an entity might be spelt in more than one form, hence VRS should take into account all these alternate spellings.  Let's call them as PRIMARY form and SECONDARY forms.  The PRIMARY form represents the entity's primary name, which is always one; and SECONDARY forms represent alternate names the entity is known by.  VRS should handle searches by both PRIMARY and SECONDARY form.
With this arises another possibility where an entity registers SECONDARY forms, and one or more of these forms happen to be the PRIMARY form of another entity.  This needs to be resolved as well.
e.g. Cisco.  PRIMARY form --> Cisco, SECONDARY forms --> Sysco, SisCo.  Here Sysco is a another entity, VRS would have a conflict when Sysco tries to register with its PRIMARY form.
Post our discussion, will put in place the ADR.

Discussing this issue 04.29.2021
OPTION 1. Create a relationship with the same record.
example:
{ record: 1
record_name: Cisco Network
alternative_names: Cisco
...
}
PROS:
1.
CONS
OPTION 2. Create 2 records
example:
{ record: 1
record_name: Cisco Network
...
}
{
record: 2
record_name: Cisco
}

Evaluating Option 1 and Option 2 under following headings:

Maintenance - Each record holds data in addition to the record_name, every correction/update will be based on the record_name.
Option 1: Update happens simply by identifying the record_name and update the record data
Option 2: Search all records (that uses alternate_name) belonging to the record_name and update the same. This would require storing the mapping in both the records.  Updating will require searching updating multiple records.
Corrections - Let us pick Cisco as an example.  ‘Cisco’ is the record_name, and ‘Sysco’ is the alternative_names.  Suppose Sysco is a different entity, and its business owner would like to claim ‘Sysco’ as its record_name.
Option 1: The fix is to remove ‘Sysco’ from alternative_names under Cisco record.  And searching a record for edit is easy because the search is on ’Cisco’
Option 2: The fix is to remove 'Sysco' from the record list.  And update mapping between Cisco and Sysco
Storage - The system will need to use two types of storage (for performance) - a persistent storage (like DB) and an in-memory storage (cache).  A forward cache is the ideal way to implement the system.  All read (search) operations go to cache, while all update (write/update/delete) go to cache and DB (with enough safeguards to ensure data integrity)

DB: Supports both Options - Option 1 is simpler to update records.
Cache: The chosen Option will have an impact here:
Option 1: Will need two caches:
a. Cache 1 - (Key, Value) --> (record_name/alternative_name, record_id/record_no)
b. Cache 2 - (Key, Value) --> (record_id/record_no, record_data)
Pros: Updates are simple
Cons: Search requires two hits on Cache
Option 2: Single cache:
a. Cache 1 - (Key, Value) --> (record_name/alternate_name, record_data)
Pros: Search requires one hit on Cache - simple
Cons: Updates require - updating multiple records
Conclusion: Option 1 has more merits in terms of maintaining the system, while Option 2 is better from search perspective.  Consider Option 1 to store in DB, and Option 2 in Cache.

Based on swagger design, that we will treat the alternative names as separate record and keep it simple.
We will wait feedback from the Conversational Platform (i.e., Deutsche Telekom) for phase 1 approach.


qtrvsim: 0.9.6 -> 0.9.7

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/cvut/qtrvsim/releases.
meta.description for qtrvsim is: RISC-V CPU simulator for education purposes
meta.homepage for qtrvsim is: https://github.com/cvut/qtrvsim
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.9.7 with grep in /nix/store/kfy5jdd2rz1yxhx38z4i5qlk8n6mxdfj-QtRVSim-0.9.7
found 0.9.7 in filename of file in /nix/store/kfy5jdd2rz1yxhx38z4i5qlk8n6mxdfj-QtRVSim-0.9.7

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
qtrvsim

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/kfy5jdd2rz1yxhx38z4i5qlk8n6mxdfj-QtRVSim-0.9.7 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A qtrvsim https://github.com/r-ryantm/nixpkgs/archive/e2351c1c52258a72477b285c106a54b789d57898.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/e2351c1c52258a72477b285c106a54b789d57898#qtrvsim

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/kfy5jdd2rz1yxhx38z4i5qlk8n6mxdfj-QtRVSim-0.9.7
ls -la /nix/store/kfy5jdd2rz1yxhx38z4i5qlk8n6mxdfj-QtRVSim-0.9.7/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

qtrvsim

Maintainer pings
cc @jdupak for testing.

Result of nixpkgs-review pr 289197 run on aarch64-darwin 1

1 package built:

qtrvsim


JsonStore file write is not atomic, can be corrupted

Software Versions

Python: 3.9.19
OS: Mac (all)
Kivy: 2.1.0 (didn't see any newer issues that addressed this)
Kivy installation method: venv

Describe the bug
It is possible to have a corrupted JsonStore file if the program is exited or crashes while the .json file is being written. The file will be partially written and will no longer be readable on next startup
Expected behavior
The new JsonStore file should be written with a temporary file name, then changed to replace the old JsonStore file once the file write is complete
To Reproduce
I can't produce an example right now, but if you have a simple program that reads a JsonStore at startup generates a very large JsonStore output, or changes the file rapidly and constantly, then you should be able to generate this error in a few tries.

Here is a proposed edit to store_sync which I have made to address the issue locally:
    def store_sync(self):
        if not self._is_changed:
            return

        if not os.path.exists(self.filename):
            folder = os.path.dirname(self.filename)
            if folder and not os.path.exists(folder):
                os.makedirs(folder)

        # Write to a temporary file first
        temp_filename = self.filename + '.tmp'
        try:
            with open(temp_filename, 'w') as fd:
                json.dump(
                    self._data, fd,
                    indent=self.indent,
                    sort_keys=self.sort_keys
                )

            # Use os.replace for atomic file replacement
            if platform == 'win':
                # Windows doesn't support atomic file replacement, so we need to remove the old file first
                if os.path.exists(self.filename):
                    os.remove(self.filename)
            os.replace(temp_filename, self.filename)
            self._is_changed = False
        except Exception as e:
            if os.path.exists(temp_filename):
                os.remove(temp_filename)
            raise e

Hi @gorgonaut04 ,
Feel free to submit a PR!


allow binary type

Thanks for taking the time to create this library! I'm using it in a project I'm working on, and I noticed the behavior reported in #31 where calling TypeID.new/1 would generate K-sorted IDs, but letting Ecto autogenerate them would not. Because of that I dug into EctoSQL to understand it's behavior a little better, and came across this:
https://github.com/elixir-ecto/ecto_sql/blob/b1f7386c6465d78e1e09691ed11fa4ad5e854fcd/lib/ecto/adapters/sql.ex#L187
Basically if a parameterized type uses :binary_id as the underlying type, EctoSQL will autogenerate it using its own autogenerate implementation rather than the autogenerate method of the custom type.
I debated a little bit about whether to try changing EctoSQL to allow autogenerating a custom type with binary_id underlying it, but it seems like :binary_id is a special construct meant just for that library's UUID creation, and really what TypeID cares about is what the underlying storage type is. And since that's the case, I fail to see any reason why :binary_id should be used over :binary. So this pull request updates the library to allow :binary as well, and when I switched all my IDs from :binary_id to :binary they started autogenerating in a K-sortable way again.
I tried to keep this pull request as simple as possible, but I would recommend that the :binary_id type be removed completely in favor of :binary. Because the library is still pre-v1.0 I think it would be acceptable to make that change with a minor version bump. Otherwise a deprecation warning could be added for :binary_id usage in TypeID.Ecto.validate_opts!/1 and the functionality could be removed later. I'm happy to make that change in this pull request as well if you would like, but I didn't think it was my place to make that decision without input.

thank you for investigating this! i'll be able to review this later today

@sloanelybutsurely I think that makes complete sense. I've just removed :binary_id completely.


RandomFileAccess.readInto(buffer) gives (OS Error: Invalid argument, errno = 22) for bytes larger than ~2GB

I am not sure if this is an OS limitation or a Dart limitation.
Take the following example:
void issue() {
  final file = File(largeFilePath).openSync();
  final size = file.lengthSync();
  final bytes = Uint8List(size);
  file.readIntoSync(bytes);
}

void noIssue() {
  final file = File(largeFilePath);
  final bytes = file.readAsBytesSync(); // no issue
  print(bytes.length);
}

The issue function gives the following error for size above ~2GB:
Unhandled exception:
FileSystemException: readInto failed, path = 'largeFile.txt' (OS Error: Invalid argument, errno = 22)
#0      _RandomAccessFile.readIntoSync (dart:io/file_impl.dart:835:7)
....
#3      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#4      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

I came across this issue as I am reading quite a large file into chunks and I found the error to go away when the chunks are less than around 2GB. But File.readAsBytesSync() doesn't have an issue reading an entire 12GB file at once (it takes around ~9 seconds on my machine).

Dart SDK version: 3.2.3 (stable) (Tue Dec 5 17:58:33 2023 +0000) on "macos_x64"

File.readAsBytesSync avoids the 2GB limit by reading smaller chunks. See this code comment.
I think that File.readAsBytes ends up calling File_ReadInto, which does not have that protection.


chore: Fix native builds, unify native CI workflow and smoke workflow

Closes #266

@mraible, did you get chance to review this?


StateMachine transition Sync not working when using looped animations

Godot version
v4.1.1.rc1.official [e709ad4d6]
System information
windows 10
Issue description
Synced transitions are not working correctly when using looped animations
Steps to reproduce

Set up an animationplayer with 2 basic animations
Set up transitions in "sync" mode and uncheck "reset", loop the animation in the animation player

Play animation 1 in the animation tree
While animation 1 is playing, play animation 2 in the animation

Currently :
Transition are not synced

Expected :
The transition are synced
You can test is by desactivating the looped animation --> it works correctly as expected

Minimal reproduction project
test_project_synced_animation.zip

Duplicate/related: #79208

This is a different problem from #79208. It is simply a bug.
I expect the main cause is that the loop time is not being retrieved correctly due to the PR #75759 for rework. However, even before the rework, the behavior seems vague for the saying "Sync".
I looked into it, and found that it only performs a seek on one frame at the moment of transition, and since it does not process the actual child Nodes outside of the transition. So it is not really a Sync, but just a "Seek on Transition".
There may be a way to make it seek correctly. However, rather than looking for a way to do so, it would be correct implementation of "Sync" to handle delta time for all possible transition nodes.
FYI, there is a workaround that is currently available that places a BlendTree in the StateMachine and connects some animations to a Sync-enabled NodeTransition to get the correct Sync behavior.

I digged through the code to check this behavior and apparently, looped animations don't keep track of the animation's pos_current because internally, it just checks if the animation is a looping type, if it is it just forces pos_currentto always be zero, I guess this was done to prevent transitioning to nodes at the end of a loop? It makes sense why the animation progress on looped animations are always static and maxed out.
I guess the problem is _transition_to_next_recursive is being used for both forced transitions (when you meet a condition do skip or hit play manually) and automatic "animation ended" transitions.
I'll probably give it a go patching it this week.


[4364] Send ITT aim and qualification to DQT

Context
https://trello.com/c/zycc6dpI/4364-m-send-fittaim-and-fqlaim-for-hesa-trainees
Changes proposed in this pull request

New mapping added to Dqt::Params::TrnRequest for ITT aim and qualifications

Important business

[ ] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

 [M] Send F_ITTAIM and F_QLAIM for HESA trainees


fix: convert APN device token to string

The current way of converting the APN device token to string does not work. This fixes that.

:tada: This PR is included in version 1.0.0-alpha.8 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add a document to tell users how to configure Thread, QPS and Burst

Changes
Follow up this PR. Especially for this comment.
This PR add a new document about how to configuring the ThreadPerController, QPS and Burst. The default ThreadPerController, QPS and Burst are 2, 5.0 and 10 accordingly. Sometimes, users want to modify these default values. So a guidance is necessary.
Beside, for QPS and Burst, the actual values of them are multiplied by 2, so the doc is more necessary. Because if a user isn't aware of this, then there will cause some misunderstand.
Fyi, @afrittoli
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[ ] Commit messages follow commit message best practices
[ ] Release notes block has been filled in or deleted (only if no user facing changes)

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes

I signed it.

/test check-pr-has-kind-label

/approve

@xiujuan95 Could you squash your commits into 1?  Once that is done I think the PR is in good shape to merge.
/approve cancel

@sbwsg I have merged all commits into one, pls take a look again! Thanks a lot!

/lgtm


Increase resilience when checking whether ENF tracing is enabled (EXPOSUREAPP-7095)

As far as I can tell from the logs related to #3093, the underlying issue is that the ENF status check times out.
While we can't change the ENF behavior and it's unclear why the timeouts happen, we can improve the CWA's behavior and offer slightly better behavior.
Instead of a single check that waits for Google's timeout (2min), we do a quick 1-2 check. I benchmarked the check duration on our favorite low-end devices, and it usually takes around 25ms to check the status, outliers are around 500-600ms. We do a quick check with 1 second timeout that in 99% of cases should be the only check that is needed, and if that times-out, we perform another check with timeout up to the ENF 2min timeout. If the "request gets stuck" or something similar on the ENF side, the second request may go through.
We are also now catching the ENF timeout exception and prevent the polling flow from canceling. We will emit(false) but then just poll again.
The issue may look worse in some cases than it actually is. If the user never disabled tracing, tracing is still enabled, even if the isEnabled check has a timeout, but because the polling was canceled on timeout, the UI would have shown the last state in some cases (i.e. isEnabled=false due to timeout).
Besides this, I think we could only improve this on our end further if we introduce a third UI state:  ON/OFF + UNKNOWN. Not sure if that effort is warranted.

Hi, I hope it's ok, if I share some thoughts here, even I was some minutes too slow and PR has been merged in this second:

As far as I can tell from the logs related to #3093, the underlying issue is that the ENF status check times out.

Instead of a single check that waits for Google's timeout (2min), we do a quick 1-2 check.

I think it's a good idea to do this, but I would suggest to do it the other way round: first check 2min timeout, 2nd check 1s. Why?
It's very plausible that the system as a whole or just the ENF is too busy "with something" that it can't consume the API call or respond within timeout time. For the cases where this is going to happen, it would mean, that the now proposed first check (1s) fails due to system/ENS being busy. The second call will follow immediately after, and there is a high likelihood, that system/ENS is still busy and will also not answer the second call in time.
If you do it the other way round, (2min timeout, then 1s) the likelihood is hight, that system/ENS is already recovered when the 2nd call comes in, and can respond.
What do you think?
I was also wondering, what can make ENS that busy not to respond in time. For me the most plausible explanation would be heavy work load due to verifiying the signature of diagnosis keys, shortly after provision from CWA to ENS. For a different issue, I could make the oberservation in logcat (https://github.com/corona-warn-app/cwa-app-android/issues/2880#issuecomment-827846585), that on my old and slow phone the verification took well 70 seconds, see:
===> HERE ENS got the keys provided via API by CWA [...]
04-23 08:07:52.420  3606 26046 I ExposureNotification: Found flag-defined keys de.rki.coronawarnapp:262-v1,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc7DEstcUIRcyk35OYDJ95/hTg3UVhsaDXKT0zK7NhHPXoyzipEnOp3GyNXDVpaPi3cAfQmxeuFMZAIX2+6A5Xg== for package de.rki.coronawarnapp [CONTEXT service_id=236 ]
...
=> Now the ENS finished verification of the public key signature of the DK file! It took around 70 seconds!
04-23 08:09:02.034  3606 26046 I ExposureNotification: Signature verification succeeded [CONTEXT service_id=236 ]

But if the really signature verification stops ENS from answering API calls, then @d4rken should be able to find hints in the related debug logs, that diagnosis keys had been provided just recently/some time (max. 10 minutes, corresponding to the biggest differences I could find between CWA timestamp on risk card and Google ENS UI via system) before the check for tracing enabled failed. This would probably only occur if CWA tries to provide diagnosis keys more quickly one after the other than expected.
Last question: I guess the 2min timeout is set by CWA?


[openmm] 7.0rc1 build 1

@peastman : Hopefully fixed!

Great!

I don't think git_url and git_rev are appropriate here. It's still a zipfile, albeit one served by github

Whoops!  Thanks for catching that.  Not sure how that happened.


Json file

I need an example of the json file

Hello,
Can you be more specific as to what you need? There is a JSON file on the GitHub repo now that shows the structure of what you need. You just need to fill in the values. The values you would provide are explicitly defined in the Powershell script itself in the help section of the script.

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 3:16:20 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Subscribed
Subject: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
I need an example of the json file
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSDTROM3WQD6DCAQUKTPVWXIJA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUH6Q2A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850164397&sdata=n%2F4VLLFogpI3IjGtSug7JAigu54PHMcEWwOsyGXdZzk%3D&reserved=0, or mute the threadhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSETSUNOAGW2IGQVGP3PVWXIJANCNFSM4HNPNQ3A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850184395&sdata=XXm8AbjUw3S6CeWn%2F3ERDurCHKyhppGUZMOKsx0i2Vg%3D&reserved=0.

I have never used json files and am new to Rubrik.  Do you have a sample I
could look at.
Russell Young
On Thu, May 16, 2019 at 2:20 PM Chris Lumnah<EMAIL_ADDRESS>wrote:

Hello,
Can you be more specific as to what you need? There is a JSON file on the
GitHub repo now that shows the structure of what you need. You just need to
fill in the values. The values you would provide are explicitly defined in
the Powershell script itself in the help section of the script.

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 3:16:20 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Subscribed
Subject: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
I need an example of the json file
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSDTROM3WQD6DCAQUKTPVWXIJA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUH6Q2A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850164397&sdata=n%2F4VLLFogpI3IjGtSug7JAigu54PHMcEWwOsyGXdZzk%3D&reserved=0>,
or mute the thread<
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSETSUNOAGW2IGQVGP3PVWXIJANCNFSM4HNPNQ3A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850184395&sdata=XXm8AbjUw3S6CeWn%2F3ERDurCHKyhppGUZMOKsx0i2Vg%3D&reserved=0

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rubrikinc/rubrik-scripts-for-powershell/issues/86?email_source=notifications&email_token=AFZFZUFS4BJLON32MBKMJBDPVWXX7A5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVSZYRI#issuecomment-493198405,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFZFZUHPOAEU2ZV5AJP3BNDPVWXX7ANCNFSM4HNPNQ3A
.

{
"RubrikCluster": {
"Server": "<IP_ADDRESS>",
"Credential": "c:\temp\rubrikcredential.cred",
"Token": ""
},
"Databases": [{
"Source": {
"AvailabilityGroupName": "AGGroupName",
"ServerInstance": "",
"WindowsCluster": "",
"Name": "DB1"
},
"Target": {
"ServerInstance": "sql1.domain.com",
"WindowsCluster":"",
"Name": "DB1_DEV",
"RecoveryPoint": "latest",
"Files": [{
"LogicalName": "db1_data",
"Path": "f:\sql\data\",
"FileName": "db1_dev.mdf"
},
{
"LogicalName": "db1_log",
"Path": "f:\sql\logs\",
"FileName": "db1_dev.ldf"
}
]
}
}
]
}

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 3:38:41 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Chris Lumnah; Comment
Subject: Re: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
I have never used json files and am new to Rubrik. Do you have a sample I
could look at.
Russell Young
On Thu, May 16, 2019 at 2:20 PM Chris Lumnah<EMAIL_ADDRESS>wrote:

Hello,
Can you be more specific as to what you need? There is a JSON file on the
GitHub repo now that shows the structure of what you need. You just need to
fill in the values. The values you would provide are explicitly defined in
the Powershell script itself in the help section of the script.

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 3:16:20 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Subscribed
Subject: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
I need an example of the json file
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSDTROM3WQD6DCAQUKTPVWXIJA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUH6Q2A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850164397&sdata=n%2F4VLLFogpI3IjGtSug7JAigu54PHMcEWwOsyGXdZzk%3D&reserved=0>,
or mute the thread<
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSETSUNOAGW2IGQVGP3PVWXIJANCNFSM4HNPNQ3A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850184395&sdata=XXm8AbjUw3S6CeWn%2F3ERDurCHKyhppGUZMOKsx0i2Vg%3D&reserved=0

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rubrikinc/rubrik-scripts-for-powershell/issues/86?email_source=notifications&email_token=AFZFZUFS4BJLON32MBKMJBDPVWXX7A5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVSZYRI#issuecomment-493198405,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFZFZUHPOAEU2ZV5AJP3BNDPVWXX7ANCNFSM4HNPNQ3A
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSCINFZXVDX475LOGKDPVWZ4DA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVS3GLI%23issuecomment-493204269&data=02|01||921a00564c5e4f30fc6b08d6da361a0f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936323226425364&sdata=vMeLrP61McDfzNB3%2Bo0cCku8I5h8XnJo7ES1H0fWVWc%3D&reserved=0, or mute the threadhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSD3BAJQGLJYQWR6TU3PVWZ4DANCNFSM4HNPNQ3A&data=02|01||921a00564c5e4f30fc6b08d6da361a0f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936323226435370&sdata=%2F%2BRfpJwRNm02iD50qpKgSfXNxKuF6DO7VjhwEmzcv50%3D&reserved=0.

thanks, just one last question.  What does the credential file look like?
Russell Young
On Thu, May 16, 2019 at 4:08 PM Chris Lumnah<EMAIL_ADDRESS>wrote:

{
"RubrikCluster": {
"Server": "<IP_ADDRESS>",
"Credential": "c:\temp\rubrikcredential.cred",
"Token": ""
},
"Databases": [{
"Source": {
"AvailabilityGroupName": "AGGroupName",
"ServerInstance": "",
"WindowsCluster": "",
"Name": "DB1"
},
"Target": {
"ServerInstance": "sql1.domain.com",
"WindowsCluster":"",
"Name": "DB1_DEV",
"RecoveryPoint": "latest",
"Files": [{
"LogicalName": "db1_data",
"Path": "f:\sql\data\",
"FileName": "db1_dev.mdf"
},
{
"LogicalName": "db1_log",
"Path": "f:\sql\logs\",
"FileName": "db1_dev.ldf"
}
]
}
}
]
}

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 3:38:41 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Chris Lumnah; Comment
Subject: Re: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
I have never used json files and am new to Rubrik. Do you have a sample I
could look at.
Russell Young
On Thu, May 16, 2019 at 2:20 PM Chris Lumnah<EMAIL_ADDRESS>wrote:

Hello,
Can you be more specific as to what you need? There is a JSON file on the
GitHub repo now that shows the structure of what you need. You just need
to
fill in the values. The values you would provide are explicitly defined
in
the Powershell script itself in the help section of the script.

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 3:16:20 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Subscribed
Subject: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
I need an example of the json file
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<

https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSDTROM3WQD6DCAQUKTPVWXIJA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUH6Q2A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850164397&sdata=n%2F4VLLFogpI3IjGtSug7JAigu54PHMcEWwOsyGXdZzk%3D&reserved=0

,
or mute the thread<

https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSETSUNOAGW2IGQVGP3PVWXIJANCNFSM4HNPNQ3A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850184395&sdata=XXm8AbjUw3S6CeWn%2F3ERDurCHKyhppGUZMOKsx0i2Vg%3D&reserved=0

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/rubrikinc/rubrik-scripts-for-powershell/issues/86?email_source=notifications&email_token=AFZFZUFS4BJLON32MBKMJBDPVWXX7A5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVSZYRI#issuecomment-493198405
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AFZFZUHPOAEU2ZV5AJP3BNDPVWXX7ANCNFSM4HNPNQ3A
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSCINFZXVDX475LOGKDPVWZ4DA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVS3GLI%23issuecomment-493204269&data=02|01||921a00564c5e4f30fc6b08d6da361a0f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936323226425364&sdata=vMeLrP61McDfzNB3%2Bo0cCku8I5h8XnJo7ES1H0fWVWc%3D&reserved=0>,
or mute the thread<
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSD3BAJQGLJYQWR6TU3PVWZ4DANCNFSM4HNPNQ3A&data=02|01||921a00564c5e4f30fc6b08d6da361a0f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936323226435370&sdata=%2F%2BRfpJwRNm02iD50qpKgSfXNxKuF6DO7VjhwEmzcv50%3D&reserved=0

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rubrikinc/rubrik-scripts-for-powershell/issues/86?email_source=notifications&email_token=AFZFZUD6AJUBGUEWFVKXAYLPVXELNA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVTCC6Q#issuecomment-493232506,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFZFZUCXL3ZG2JOKCQN2NN3PVXELNANCNFSM4HNPNQ3A
.

Run the script in the repo called Create-SecurePasswordFile.ps1. It will create you a credential file. You can put the file in any folder on your machine you like, and the Export-RubrikDatabasesJobFile.json should reference that location.

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 5:13:56 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Chris Lumnah; Comment
Subject: Re: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
thanks, just one last question. What does the credential file look like?
Russell Young
On Thu, May 16, 2019 at 4:08 PM Chris Lumnah<EMAIL_ADDRESS>wrote:

{
"RubrikCluster": {
"Server": "<IP_ADDRESS>",
"Credential": "c:\temp\rubrikcredential.cred",
"Token": ""
},
"Databases": [{
"Source": {
"AvailabilityGroupName": "AGGroupName",
"ServerInstance": "",
"WindowsCluster": "",
"Name": "DB1"
},
"Target": {
"ServerInstance": "sql1.domain.com",
"WindowsCluster":"",
"Name": "DB1_DEV",
"RecoveryPoint": "latest",
"Files": [{
"LogicalName": "db1_data",
"Path": "f:\sql\data\",
"FileName": "db1_dev.mdf"
},
{
"LogicalName": "db1_log",
"Path": "f:\sql\logs\",
"FileName": "db1_dev.ldf"
}
]
}
}
]
}

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 3:38:41 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Chris Lumnah; Comment
Subject: Re: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
I have never used json files and am new to Rubrik. Do you have a sample I
could look at.
Russell Young
On Thu, May 16, 2019 at 2:20 PM Chris Lumnah<EMAIL_ADDRESS>wrote:

Hello,
Can you be more specific as to what you need? There is a JSON file on the
GitHub repo now that shows the structure of what you need. You just need
to
fill in the values. The values you would provide are explicitly defined
in
the Powershell script itself in the help section of the script.

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 3:16:20 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Subscribed
Subject: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
I need an example of the json file
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<

https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSDTROM3WQD6DCAQUKTPVWXIJA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUH6Q2A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850164397&sdata=n%2F4VLLFogpI3IjGtSug7JAigu54PHMcEWwOsyGXdZzk%3D&reserved=0

,
or mute the thread<

https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSETSUNOAGW2IGQVGP3PVWXIJANCNFSM4HNPNQ3A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850184395&sdata=XXm8AbjUw3S6CeWn%2F3ERDurCHKyhppGUZMOKsx0i2Vg%3D&reserved=0

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/rubrikinc/rubrik-scripts-for-powershell/issues/86?email_source=notifications&email_token=AFZFZUFS4BJLON32MBKMJBDPVWXX7A5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVSZYRI#issuecomment-493198405
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AFZFZUHPOAEU2ZV5AJP3BNDPVWXX7ANCNFSM4HNPNQ3A
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSCINFZXVDX475LOGKDPVWZ4DA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVS3GLI%23issuecomment-493204269&data=02|01||921a00564c5e4f30fc6b08d6da361a0f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936323226425364&sdata=vMeLrP61McDfzNB3%2Bo0cCku8I5h8XnJo7ES1H0fWVWc%3D&reserved=0>,
or mute the thread<
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSD3BAJQGLJYQWR6TU3PVWZ4DANCNFSM4HNPNQ3A&data=02|01||921a00564c5e4f30fc6b08d6da361a0f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936323226435370&sdata=%2F%2BRfpJwRNm02iD50qpKgSfXNxKuF6DO7VjhwEmzcv50%3D&reserved=0

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rubrikinc/rubrik-scripts-for-powershell/issues/86?email_source=notifications&email_token=AFZFZUD6AJUBGUEWFVKXAYLPVXELNA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVTCC6Q#issuecomment-493232506,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFZFZUCXL3ZG2JOKCQN2NN3PVXELNANCNFSM4HNPNQ3A
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSEX65WACUII6APYHVDPVXFBJA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVTCQFQ%23issuecomment-493234198&data=02|01||c186a375643e416df75208d6da436898|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936380379671387&sdata=waZhuHeyCv7256ms14J775649%2B%2Bt3ViA8dK3iRyXvEE%3D&reserved=0, or mute the threadhttps://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSGCMDXW75EUARRTWQTPVXFBJANCNFSM4HNPNQ3A&data=02|01||c186a375643e416df75208d6da436898|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936380379691403&sdata=m5mGx%2B2Me0AdXDm8liSfpQ5elAbDCy3ND%2FuDrwCrh7I%3D&reserved=0.

Thanks so much.
Russell Young
On Thu, May 16, 2019 at 4:18 PM Chris Lumnah<EMAIL_ADDRESS>wrote:

Run the script in the repo called Create-SecurePasswordFile.ps1. It will
create you a credential file. You can put the file in any folder on your
machine you like, and the Export-RubrikDatabasesJobFile.json should
reference that location.

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 5:13:56 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Chris Lumnah; Comment
Subject: Re: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
thanks, just one last question. What does the credential file look like?
Russell Young
On Thu, May 16, 2019 at 4:08 PM Chris Lumnah<EMAIL_ADDRESS>wrote:

{
"RubrikCluster": {
"Server": "<IP_ADDRESS>",
"Credential": "c:\temp\rubrikcredential.cred",
"Token": ""
},
"Databases": [{
"Source": {
"AvailabilityGroupName": "AGGroupName",
"ServerInstance": "",
"WindowsCluster": "",
"Name": "DB1"
},
"Target": {
"ServerInstance": "sql1.domain.com",
"WindowsCluster":"",
"Name": "DB1_DEV",
"RecoveryPoint": "latest",
"Files": [{
"LogicalName": "db1_data",
"Path": "f:\sql\data\",
"FileName": "db1_dev.mdf"
},
{
"LogicalName": "db1_log",
"Path": "f:\sql\logs\",
"FileName": "db1_dev.ldf"
}
]
}
}
]
}

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 3:38:41 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Chris Lumnah; Comment
Subject: Re: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
I have never used json files and am new to Rubrik. Do you have a sample I
could look at.
Russell Young
On Thu, May 16, 2019 at 2:20 PM Chris Lumnah<EMAIL_ADDRESS>wrote:

Hello,
Can you be more specific as to what you need? There is a JSON file on
the
GitHub repo now that shows the structure of what you need. You just
need
to
fill in the values. The values you would provide are explicitly defined
in
the Powershell script itself in the help section of the script.

From: rwyoung01<EMAIL_ADDRESS>Sent: Thursday, May 16, 2019 3:16:20 PM
To: rubrikinc/rubrik-scripts-for-powershell
Cc: Subscribed
Subject: [rubrikinc/rubrik-scripts-for-powershell] Json file (#86)
I need an example of the json file
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<

https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSDTROM3WQD6DCAQUKTPVWXIJA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUH6Q2A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850164397&sdata=n%2F4VLLFogpI3IjGtSug7JAigu54PHMcEWwOsyGXdZzk%3D&reserved=0

,
or mute the thread<

https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSETSUNOAGW2IGQVGP3PVWXIJANCNFSM4HNPNQ3A&data=02|01||eb59f79e0ccf4c6f61c908d6da32fcd2|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936309850184395&sdata=XXm8AbjUw3S6CeWn%2F3ERDurCHKyhppGUZMOKsx0i2Vg%3D&reserved=0

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<

https://github.com/rubrikinc/rubrik-scripts-for-powershell/issues/86?email_source=notifications&email_token=AFZFZUFS4BJLON32MBKMJBDPVWXX7A5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVSZYRI#issuecomment-493198405

,
or mute the thread
<

https://github.com/notifications/unsubscribe-auth/AFZFZUHPOAEU2ZV5AJP3BNDPVWXX7ANCNFSM4HNPNQ3A

.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<

https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSCINFZXVDX475LOGKDPVWZ4DA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVS3GLI%23issuecomment-493204269&data=02|01||921a00564c5e4f30fc6b08d6da361a0f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936323226425364&sdata=vMeLrP61McDfzNB3%2Bo0cCku8I5h8XnJo7ES1H0fWVWc%3D&reserved=0

,
or mute the thread<

https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSD3BAJQGLJYQWR6TU3PVWZ4DANCNFSM4HNPNQ3A&data=02|01||921a00564c5e4f30fc6b08d6da361a0f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936323226435370&sdata=%2F%2BRfpJwRNm02iD50qpKgSfXNxKuF6DO7VjhwEmzcv50%3D&reserved=0

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/rubrikinc/rubrik-scripts-for-powershell/issues/86?email_source=notifications&email_token=AFZFZUD6AJUBGUEWFVKXAYLPVXELNA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVTCC6Q#issuecomment-493232506
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AFZFZUCXL3ZG2JOKCQN2NN3PVXELNANCNFSM4HNPNQ3A
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<
https://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frubrikinc%2Frubrik-scripts-for-powershell%2Fissues%2F86%3Femail_source%3Dnotifications%26email_token%3DAFKMBSEX65WACUII6APYHVDPVXFBJA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVTCQFQ%23issuecomment-493234198&data=02|01||c186a375643e416df75208d6da436898|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936380379671387&sdata=waZhuHeyCv7256ms14J775649%2B%2Bt3ViA8dK3iRyXvEE%3D&reserved=0>,
or mute the thread<
https://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFKMBSGCMDXW75EUARRTWQTPVXFBJANCNFSM4HNPNQ3A&data=02|01||c186a375643e416df75208d6da436898|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636936380379691403&sdata=m5mGx%2B2Me0AdXDm8liSfpQ5elAbDCy3ND%2FuDrwCrh7I%3D&reserved=0

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rubrikinc/rubrik-scripts-for-powershell/issues/86?email_source=notifications&email_token=AFZFZUG4234NGR6UBAPRBETPVXFRDA5CNFSM4HNPNQ3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVTCZWI#issuecomment-493235417,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFZFZUHWH5WD6AM4OQNQMJDPVXFRDANCNFSM4HNPNQ3A
.


Issue with setting Javascript timeout in htmlunit

I am working on a project which hits multiple URLs and scrapes its page every minute (Done using a thread pool). I am using Htmlunit – 2.20 for this. However, the timeout functionality does not serve my purpose properly.
Firstly, I am using WebClient.setTimeout() which is used twice, once for socket connection and again for data retrieval. It creates new socket connections for fetching each individual .js script and therefore defeats my purpose of setting an overall timeout for the whole page connect and fetch process. Secondly, I am also using webClient.setJavaScriptTimeout() but this also set the execution timeout for each js script execution again defeating my purpose of an overall timeout of Javascript. I have also used webClient.waitForBackgroundJavaScript() but it does not stop the Javascript execution even after the timeout specified.
Can someone help me out here with setting an overall timeout for Javascript execution. I have also tried using Future interface of Java and setting timeout for page fetching, but the constraint is that it creates a child thread for this execution. The service itself is running on thread pool with each URL fetching happening on a different thread. If I create a child thread for each thread in thread pool, it will increase memory consumption. Any thoughts on this or how to measure the increase in memory consumption will be really helpful. Most of the URLs present in Beta environment are stale, so cannot test it properly there. Any help is appreciated.
`
public String loadDocument(String url) {
try {
        String content;

        webClient.setAjaxController(new NicelyResynchronizingAjaxController());
        request = new WebRequest(new URL(url));
        response = webClient.loadWebResponse(request);
        webClient.waitForBackgroundJavaScript(JS_TIMEOUT);
        webClient.setJavaScriptTimeout(JS_TIMEOUT);
        page = webClient.loadWebResponseInto(response, webClient.getCurrentWindow());
        Callable<Page> task = () -> {
            page = webClient.loadWebResponseInto(response, webClient.getCurrentWindow());
            return page;
         };
        future = executor.submit(task);
        log.info("Thread count after submitting task "+Thread.activeCount());
        page = future.get(JS_TIMEOUT, TimeUnit.SECONDS);
        if (page instanceof TextPage) {
            content = ((TextPage) page).getContent();
        }
        else {
            content = ((HtmlPage) page).asXml();
        }
        log.info("Successfully retrieved content");

        if (log.isTraceEnabled()) {
            log.trace("Response content:\n " + content);
        }
        return content;
    }
    catch (TimeoutException e)
    {
        log.info("Timed out");
        future.cancel(true);
        return response.getContentAsString();
    }
    catch (Exception e) {
        e.printStackTrace();
        System.out.println("Failed to retrieve content because of exception "+e.getCause());
        return null;
    }
    finally {
        log.info("Closing web client");
        log.info("Memory Used in kilo bytes"+ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed()/1024);
        webClient.close();
        executor.shutdown();
    }
}`

Can anyone help me out with this? Or I will have to use another package?

Same issue here :(


(feat) optimize Uniswap connector

https://github.com/CoinAlpha/hummingbot/issues/3040

Added zeroReserveCheckInterval
Increased TTL
Refactored update_pair function to update info about pairs in parallel
Refactored some variables to the environment file

Merging instead of closing so we have a PR corresponding to the story #3040 in this release. Same changes are also in this commit https://github.com/CoinAlpha/gateway-api/pull/37/commits/c70b37c33888ef06b90d949c3c46b74391c1b3fa.


doc links are broken

Description of feature
can you please fix the links in
For more details and further functionality, please refer to the usage documentation and the parameter documentation.
thanks

Hi!
This nf-core pipeline for StarAMR was a work in progress pipeline and wasn't released. The project was partly motivated by wanting to learning how to develop within nf-core/nextflow.
A lot of the documentation here is placeholder documentation that's automatically generated by nf-core tools. There is no usage or parameter documentation.
Currently, our priorities have shifted to work on other pipelines, but it's possible we may continue to work on this in the new year. Sorry about that!

Eric

Sorry for the delay! We continued the development and now have our first release 0.1.0 which hopefully will address your issues. Let us know if you have more questions, otherwise I will close the issue for now.


Analytics-section images update

Closing for now to make sure I first get all of Charan's changes.


Investigate also  vimeo enterprise video hosting

Added support to add vimeo video url and play it.
Vimeo platform offers different account types. For free use (allows limited functionalities and max of 5GB of space but not more than 500Mb per week for upload). Info about other account types can be found here https://vimeo.com/upgrade.


can initialization process doesn't work on stm32f4

This does seem to work (though I haven't yet sent a message):
    dp.RCC.apb2enr.write(|w| w.syscfgen().enabled());

    let gpioa = dp.GPIOA.split();
    let gpiob = dp.GPIOB.split();
    let gpioc = dp.GPIOC.split();
    let mut rcc = dp.RCC.constrain();

    let clocks = rcc
        .cfgr
        .use_hse(16.mhz())
        .sysclk(48.mhz())
        .pclk1(24.mhz())
        .freeze();

    let mut delay = Delay::new(cp.SYST, clocks);

    CAN1::enable(&mut rcc.apb1);

    dp.CAN1.mcr.modify(|_, w| w.sleep().clear_bit());
    let mut waiting = true;
    while waiting {
        let msr = dp.CAN1.msr.read();
        if msr.slak().bit_is_set() {
            waiting = false;
        }
    }

    dp.CAN1.mcr.modify(|_, w| w.dbf().clear_bit());

    let r_mcr = dp.CAN1.mcr.read().bits();
    let r_msr = dp.CAN1.msr.read().bits();
    let r_tsr = dp.CAN1.tsr.read().bits();

    /* request initializiation */
    dp.CAN1.mcr.modify(|_, w| w.inrq().set_bit());
    let mut waiting = true;
    while waiting {
        let msr = dp.CAN1.msr.read();
        if msr.inak().bit_is_set() {
            waiting = false;
        }
    }

    dp.CAN1.btr.modify(|_, w| unsafe { w.bits(0x001c_0003) });

compare to the initialization process in this pacakge
        can.mcr
            .modify(|_, w| w.sleep().clear_bit().inrq().set_bit());
        while can.msr.read().inak().bit_is_clear() {}

        can.mcr
            .modify(|_, w| w.sleep().set_bit().inrq().clear_bit());
        while can.msr.read().slak().bit_is_clear() {}

        let msr = can.msr.read();
        while !msr.slak().bit_is_set() {
            can.mcr
                .modify(|_, w| w.abom().set_bit().sleep().clear_bit());
        }

I'm not sure why it's currently done this way, but the slak() bit is not set.

see https://gist.github.com/xoviat/63f973ae8d19b8ee8563bc0515afb616 for the cubeide driver

see https://gist.github.com/xoviat/63f973ae8d19b8ee8563bc0515afb616 for the cubeide driver

Relevant parts from the Reference Manual:

If software requests entry to initialization mode by setting the INRQ bit while bxCAN is in Sleep mode, it must also clear the SLEEP bit
bxcan code is doing that

After the SLEEP bit has been cleared, Sleep mode is exited once bxCAN has synchronized with the CAN bus, refer to Figure 336. The Sleep mode is exited once the SLAK bit has been cleared by hardware.
We are not waiting for SLAK to be clear, which appears to be the root cause.

Relevant parts from the Reference Manual:

If software requests entry to initialization mode by setting the INRQ bit while bxCAN is in Sleep mode, it must also clear the SLEEP bit
bxcan code is doing that

After the SLEEP bit has been cleared, Sleep mode is exited once bxCAN has synchronized with the CAN bus, refer to Figure 336. The Sleep mode is exited once the SLAK bit has been cleared by hardware.
We are not waiting for SLAK to be clear, which appears to be the root cause.

note: this may still be needed, but I misunderstood the issue. keep this open for a bit.

note: this may still be needed, but I misunderstood the issue. keep this open for a bit.


Docs.MS Release Updates for Azure.Messaging.EventHubs

Docs.MS Release Updates for Azure.Messaging.EventHubs

Docs Build status updates of commit 938ab3f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

api/overview/azure/messaging.eventhubs-readme-pre.md
:white_check_mark:Succeeded
View

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


I follow the video teaching I've got all the permissions. There's no problem logging in, registering

export async function getLoggedInUser() {
try {
const { account } = await createSessionClient();
const user = await account.get();
return parseStringify(user);
} catch (error) {
console.error("Error fetching logged-in user:", error);
return null;
}
}
Error fetching logged-in user: AppwriteException [Error]: User (role: guests) missing scope (account)
at Client.call (webpack-internal:///(rsc)/./node_modules/node-appwrite/lib/client.js:206:15)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Account.get (webpack-internal:///(rsc)/./node_modules/node-appwrite/lib/services/account.js:31:16)
at async getLoggedInUser (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:57:22)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:45:22) {
code: 401,
type: 'general_unauthorized_scope',
response: {
message: 'User (role: guests) missing scope (account)',
code: 401,
type: 'general_unauthorized_scope',
version: '1.5.10'
}
}

The error 401 general_unauthorized_scope indicates that the current user or the API key lacks the necessary permissions or scopes to access the resource you're trying to retrieve. In the context of Appwrite, this typically means that the user is either not authenticated or the session/client does not have the required permissions. See their docs here.


[FEATURE] Please make distinction between jsonl and json and make pxi work with both.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Looking at this arg I'd expect this to output json but, it outputs jsonl.
pxi --to json --chunker "jsonObj" "json => (json.field1== 'Papa')" --applier filter < "\BigFile.json" > filteredBigFile.json

I want the result to also be regular json. Reason being, I need to convert this to mpack.
Describe the solution you'd like
I'd like to have the option to create output for regular (non-jsonl formatted) json output.
I want the result to also be regular json. Reason being, I need to convert this to mpack.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
I'm trying to script around the issue now but, it is requiring I roll my own additional parsing logic to convert  jsonl to json and for me this takes away some of the benefit of using this awesome tool.
Additional context
NA

Hi musicm122, I am not actively working on pxi anymore. However, I may be able to help you, if you can give me more information on what you are trying to achieve. What exactly are the contents of "BigFile.json", how is it formatted? How would you expect "filteredBigFile.json" to be formatted?
Without the additional context, I am unfortunately not able to help you.

I am closing this issue for now. Please provide more context and I may reopen.


Minor version bump.

Again, just fixes, and I got FF to build with #1124.

r? @pepyakin

:pushpin: Commit 92d7bb3 has been approved by pepyakin

@bors-servo r+
!

:hourglass: Testing commit 92d7bb3f86ccf7a7a4804e2238dad66b4f04f7b1 with merge 33c6f261db8fd6ca752a1ed0ba1a8cf6ef3158cd...

:sunny: Test successful - status-travis
Approved by: pepyakin
Pushing 33c6f261db8fd6ca752a1ed0ba1a8cf6ef3158cd to master...


Would you handle an alternative form to arrange vendors folder?

Hi @mrholek, I feel a little uneasy about copying same-type files from different vendors in the same folder on building the distribution version (e.g. copying .js files from different vendors in the same /dist/vendors/js folder), because it might cause some conflict in case two vendors settle for the same filename.
Besides that, the convention used by the ASP.NET MVC Core standard template is having a lib folder that keeps the node_modules file structure for each vendor (e.g. /lib/jquery-validation/dist/jquery.validate.min.js), so, if CoreUI had this folder structure it would be much easier to use ready-made compiled views (for account and user management) from the ASP.NET Core team with CoreUI.
So, the questions is, would you take in a PR that adds an option to package.json, e.g. something like build-aspnetcore, to handle this alternate way to organize the vendors folder?
TIA.

Hey, I just stumbled with a good candidate for naming conflicts: node_modules/jquery-validation/dist/localization/messages_es.js

Just in case I wasn't clear enough, I'd do the PR! ;-)

I think it's good idea. We have to rewrite build/vendors.js to achive this.

Yep, I'll do it!

We're going to release 2.0.0 this week and I'm completely snowed under. I will check it later this week, ok?

@mvelosop any update on the ASP version


Wrong value for resolved field path

In erc7730 json schema,  a path field is declared as
"path": {
            "title": "Path",
            "type": "string",
            "description": "A path to the field in the structured data. The path is a JSON path expression that can be used to extract the field value from the structured data."
        },

But when applying resolve command we get a complex path object instead of a simple string.
In the following exemple when resolving tether.json, the path for _to param value should be
  "path" : "_to"

but we get:
          "transfer(address,uint256)": {
              "intent": "Send",
              "fields": [
                  {
                      "path": {
                          "type": "data",
                          "absolute": true,
                          "elements": [
                              {
                                  "type": "field",
                                  "identifier": "_to"
                              }
                          ]
                      },

Did I miss something?

Hi :wave: Yes, it is intentional, the resolved form is designed so there is no more string parsing to do. You can see difference between input and resolved form here:

URLs have been fetched
Contract addresses have been normalized to lowercase
References have been inlined
Constants have been inlined
Field definitions have been inlined
Selectors have been converted to 4 bytes form

Output of the resolved form does not comply with the input spec schema, you can get the resolved form schema with erc7730 schema resolved.
So the complex object expresses the same thing as _to (a data path of one element, referencing field _to).
Are you looking to build on ERC-7730 ? Please note it is still under development and we are doing some breaking changes (it should stabilize soon though).

0x4092f0eF91bF408aad7B611915A82537BAaa573b

0x4092f0eF91bF408aad7B611915A82537BAaa573b


JavaScript Primer Exercise Feedback - Scope?

I am mainly opening this issue as a means for discussion, in regards to my Slack message. Feel free to close after responding.

I have had 1  out of my students JS Primer get stuck on questions, based on a misunderstanding on how Scope works in JavaScript.
Topher Hammond:
function sumNumbers(arr) {
  for(var i = 0; i < arr.length; i++) {
    var total=0;
    total += arr[i];
  }
  return total;
}

Topher, made a pretty common beginner mistake where he set a variable inside the scope of the loop.
I asked if he learned about Scope yet (only because he completed a few tutorials before Bloc), and gave him the following Chapter of Eloquent JavaScript as  a resource to study up on it.
Thoughts on adding Scope and Hoisting Checkpoint? I haven't completed all the Primer checkpoints, but skimmed through most, so correct me if this is already covered somewhere.

I had a student struggle similarly on an assessment yesterday. I'd definitely like to add some more content on this topic.

I'll pull in @mmaxwell and @philspitler since they've thought about JS Primer a lot. Also worth noting that Colleen is out for a couple weeks. If we can align around an improvement, perhaps someone on this thread would like to run with the PR?

I can own this and can plan to have a PR for review this weekend :)

NICE. You are ze man.
Mike Jewett, Head of Curriculum at Bloc https://www.bloc.io/
On Thu, Jul 28, 2016 at 12:19 PM, Brian Douglas<EMAIL_ADDRESS>wrote:

I can own this and can plan to have a PR for review this weekend :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Bloc/workshop-curriculum/issues/50#issuecomment-235946400,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABHSzPn5vSkjbTBLQsS85f4uG_wZ4mbMks5qaNaIgaJpZM4JW6_g
.

@bdougie -- I'm not sure this is a "hositing" problem or a scope problem. Since it's var, JS has no concept of block scope with this loop. The variable declaration is evaluated first (hoisting), but that would just put the var total at the top of the function (not physically, of course, just in theory).
Not to knitpick but the variable's value is still set where it is set here. Neither scoping nor hosting is the problem here.

That said, to your question, I would love to see curriculum focused on hoisting and scopes, so no argument there.

One last note: I find that a lot of times, students lack a complete understanding of how loops actually work.
In theory, they could simply put the var total inside of the initialization statements of the for loop, and because of hoisting on a var, it would behave the same exact way you'd expect.
If the student fully understood that every statement inside of the block of the loop (between the curly braces / the loop body)  executes every iteration, (I use the word iterate specifically, but also explain it as "all the statements in the loop body/block have run"), I think they'd have gotten this correctly.
I've been surprised a number of times when I show my students a simple for loop and ask them to walk me through what's happening:

For

for (var i = 0; i < 3; i++) {
  console.log(i);
}

Tell me how JavaScript runs this loop.

They get the initialization part right most of the time...

Before the loop runs, i is set to 0

But then I see some assume it goes right into the loop block, and I have others who think the final expression executes after the condition is checked, neither of which are correct.

Sorry -- one more message to illustrate what I meant about this not being a scope/hoisting issue.
function testLoop() {
  // var total; // declaration is hoisted
  // total is defined but has a value of undefined
  total = 0; // setting total to 0

  for (var i = 0; i < 5; i++) {
    var total; // declare the variable, but just hoists this
    total += i; // 1, 3, 6, 10
  }
  return total; // 10
}

console.log(testLoop()); // logs 10

Wow, thanks for the response(s) @mmaxwel, they are very helpful. The response is some good feedback, He came to that solution, and your explanation helps as well. But I definitely did not arrive there with him with so much elegance.
I will still work on something for a Scope checkpoint and if you don't mind, might loop you in on the draft/PR for review as well.

I'm available any time. Day or night. Because I never sleep. And I have no life. This just got dark. FeelsBadMan.

I put a lot of thought into this, since I have now had 3 students get to the JavaScript Primer now.
Scope is definitely not the problem. It's more about understanding what each line does. I have been having students write comments on each line to tell me what it is doing (similar to yours above, mmaxwell) when they are stuck and it has helped tremendously.
Adding a checkpoint is not going to solve this, but slowing down and analyzing the code with the student is.
Closing this for now


adding awesome-seo-tools

as it's easy for first time contributors
Contributing
If you want to add a project to this list, please make sure that:

[x] You read the contributing guide
[x] The repository has hacktoberfest as topic and counts for hacktoberfest event
[x] The project can't be just an "add your name" or simply + 1 contribution to hacktoberfest
[x] Place them in alphabetical order
[x] One repository per PR/contribution - avoid conflicts and simplify review
[x] Your pull request is not spammy just adding an empty line, otherwise it will be marked as invalid and not count to hacktoberfest.

If they meet the requirements above, feel free to create a PR. Happy Hacking! :sparkles:

thank you @OtacilioN


Intermitent errors: Loading - undefined

Hi,
since the last couple of weeks I am getting these intermittent errors, where the module shows "Loading - undefined"
I do not know if it is the module, the hafas-client or the endpoint (Deutsche Bahn).
MM details:
$ grep version ~/MagicMirror/package.json
	"version": "2.30.0",
$ npm -v
10.9.2
$ node -v
v20.18.1
$ uname -a
Linux BlackPi4b 6.6.62+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25) aarch64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm

This is the common sequence.
pm2 log:
$ pm2 logs MagicMirror --lines 100
:
:
0|MagicMirror  | [2024-12-08 15:52:03.995] [LOG]   [MMM-PublicTransportHafas.js:228:15] TransportHafas update OK, station : Nürnberg-Rehhof at : NaN
0|MagicMirror  | [2024-12-08 15:52:04.022] [LOG]   [MMM-PublicTransportHafas.js:228:15] TransportHafas update OK, station : Nürnberg-Rehhof at : NaN
0|MagicMirror  | [2024-12-08 15:52:31.285] [ERROR] [MMM-PublicTransportHafas.js:143:11] null
0|MagicMirror  | [2024-12-08 15:52:31.301] [ERROR] [MMM-PublicTransportHafas.js:143:11] null
0|MagicMirror  | [2024-12-08 15:53:03.587] [LOG]   [
0|MagicMirror  |   {
0|MagicMirror  |     tripId: '2|#VN#1#ST#1733178662#PI#0#ZI#392829#TA#2#DA#81224#1S#8002612#1T#1533#LS#8005185#LT#1650#PU#80#RT#1#CA#s#ZE#2#ZB#S      2#PC#4#FR#8002612#FT#1533#TO#8005185#TT#1650#',
:
:

This I also caught.
pm2 log:
$ pm2 logs MagicMirror --lines 100
:
:
0|MagicMirror  | [2024-12-08 15:43:17.619] [LOG]   [MMM-PublicTransportHafas.js:228:15] TransportHafas update OK, station : Nürnberg-Rehhof at : NaN
0|MagicMirror  | [2024-12-08 15:43:17.628] [LOG]   [MMM-PublicTransportHafas.js:228:15] TransportHafas update OK, station : Nürnberg-Rehhof at : NaN
0|MagicMirror  | [2024-12-08 15:44:12.194] [ERROR] (node:1144) UnhandledPromiseRejectionWarning: RangeError: Maximum call stack size exceeded
0|MagicMirror  |     at TCP.get [as reading] (node:_tls_wrap:748:10)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:76)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  |     at hasBinary (/home/admin/MagicMirror/node_modules/socket.io-parser/build/cjs/is-binary.js:49:63)
0|MagicMirror  | [2024-12-08 15:44:12.195] [ERROR] (node:1144) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
0|MagicMirror  | [2024-12-08 15:44:12.805] [ERROR] [MMM-PublicTransportHafas.js:143:11] null
0|MagicMirror  | [2024-12-08 15:44:12.813] [ERROR] [MMM-PublicTransportHafas.js:143:11] null

I just was able to take a picture of this:
Loading - request to https://reiseauskunft.bahn.de/bin/mgate.exe....
checksum=785a0195ed91421c0d8f657fe0f.....
failed, reason: socket hang up

Cannot find this in the error log(s).
So this example is a hafas-client endpoint issue.

I can't reproduce this. Can you show me your config of the module? :slightly_smiling_face:

Here there config:
  {
    module: "MMM-PublicTransportHafas",
    disabled: false,
    position: "top_right",
    header: "DEPARTURES",
    config: {
      stationID: "8004491",
      stationName: "Nürnberg-Rehhof",
      updatesEvery: 60,
      timeInFuture: 180,
      direction: "",
      ignoredLines: [],
      excludedTransportationTypes: ["bus"],
      timeToStation: 5,
      displayLastUpdate: true,
      displayLastUpdateFormat: "dddd MMM D - HH:mm",
      showColoredLineSymbols: true,
      useColorForRealtimeInfo: true,
      noRealtimeDelayString: "⚠",
      showTableHeadersAsSymbols: true,
      maxUnreachableDepartures: 2,
      maxReachableDepartures: 10,
      customLineStyles: "nuernberg",
      showOnlyLineNumbers: true
    }
  },

Unfortunately it is not something you can reproduce at will.
For some period it is stable, then there is a period with several "Loading - undefined"occurrences.

There doesn't seem to be another endpoint that you could use for testing. This makes it difficult to narrow it down 🤔

You can remove the bug status, if possible (no idea how to do that).
You will see more info in the log with MMM-LogExt installed.
I have that on another MM install.
On my 'production' Pi I have this not installed, as I think it is too weak, but I can give it a go later on.
So, I have the module now running on 2 Raspberry Pis (Raspberry Pi 3 Model B Plus & Raspberry Pi 4 Model B), let's see.
PS: I see now that this is printed in the error log (on the Pi 4):
/home/admin/.pm2/logs/MagicMirror-error.log:[2024-12-12 08:45:44.764] [ERROR] [MMM-PublicTransportHafas.js:143:11] null
I do not see it on the Pi 3, but the "Loading - undefined" does occur there too.

Hi I have exactly the same issue as @evroom

It is stable for like 10-15 minutes and then I get this error message for like 2-3 minutes and then repeat.
My config looks like this:
'''
{
module: "MMM-PublicTransportHafas",
position: "bottom_left",
		config: {
		  // Departures options
		  stationID: "MyID",
		  stationName: "MyName",
		  direction: "",
		  excludedTransportationTypes: [],
		  ignoredLines: ["Bus 55"],
		  timeToStation: 6,
		  updatesEvery: 120,
		  timeInFuture: 90,
		  tableHeaderOrder: [ "time", "line", "direction" ],

		  // Look and Feel
		  displayLastUpdate: true,
		  maxUnreachableDepartures: 0,
		  maxReachableDepartures: 4,
		  showColoredLineSymbols: true,
		  customLineStyles: "",
		  showOnlyLineNumbers: false,
		  showTableHeadersAsSymbols: true,
		  useColorForRealtimeInfo: true,
		  displayLastUpdateFormat: "HH:mm:ss"
		}
	  },

'''

I will try to change to another profile and give it a try.
Have been using db and I suspect that they cannot handle the amount of requests at certain times.
My local transport network is not listed in the list and I guess that they rely on the DB information too.

I only now read that there is also a profile named db-hafas.
“Consider using db-hafas, to always get the customized client right away.”
Worth a try.

I tried db , db-hafas  and vbn which is my regional ÖPNV but I didn't see any difference with that profiles. Still the same issue, at least for me

I have adjusted the logging slightly to track down the error :bug: Please update the module and report the error message that is then displayed.

Pulled, here's the output:

@KristjanESPERANTO
Thanks for the update logging.
This is what I caught so far:
admin@MagicPi3:~ $ date; grep 'MMM-PublicTransportHafas' /home/admin/.pm2/logs/MagicMirror-*.log | grep "ERROR"
Sun 15 Dec 16:06:26 CET 2024
/home/admin/.pm2/logs/MagicMirror-error.log:[15.12.2024 12:43.10.393] [ERROR] [MMM-PublicTransportHafas.js:143:11] request to https://reiseauskunft.bahn.de/bin/mgate.exe?checksum=08dd154b0eea513ebb8e91fbfd3c26e7 failed, reason: socket hang up
/home/admin/.pm2/logs/MagicMirror-error.log:[15.12.2024 13:29.10.302] [ERROR] [MMM-PublicTransportHafas.js:143:11] request to https://reiseauskunft.bahn.de/bin/mgate.exe?checksum=7c2d9ea59c388b419b6660a7ee45dc50 failed, reason: socket hang up
/home/admin/.pm2/logs/MagicMirror-error.log:[15.12.2024 14:15.09.732] [ERROR] [MMM-PublicTransportHafas.js:143:11] request to https://reiseauskunft.bahn.de/bin/mgate.exe?checksum=163dfc687ef8c36424b888e6c4e972ec failed, reason: socket hang up
/home/admin/.pm2/logs/MagicMirror-error.log:[15.12.2024 15:06.13.667] [ERROR] [MMM-PublicTransportHafas.js:143:11] request to https://reiseauskunft.bahn.de/bin/mgate.exe?checksum=25aa67aae51a0651ceb5dd8d97beffc3 failed, reason: socket hang up

So it means that when the first error occurs, the display will keep showing the list from the last successful request ?
Do not know exactly how to describe it, hope you understand.
Then when the 2nd error occurs, the error is being showed on the display, right ?
I have pulled your change, observing now.
In the meantime, perhaps a suggestion:
You have this option "displayLastUpdate: true" and with that you can potentially play a bit.
"Last update: Mon 16 Dec 10:35:37 CET 2024" (show when last request was okay - socketIssueCount = 0)
"Last update (socket issues: 2): Mon 16 Dec 10:35:37 CET 2024"  (show when socketIssueCount > 0)
In any case, always show the last successful request.
You can also opt to show the error when for example socketIssueCount > 10.
Just brainstorming a bit.

Just a small remark.
Do not know if this was introduced recently, or that is was present like this previously:
/home/admin/.pm2/logs/MagicMirror-out.log:[16.12.2024 15:04.16.920] [DEBUG] [MMM-PublicTransportHafas] [
/home/admin/.pm2/logs/MagicMirror-out.log:[16.12.2024 15:04.16.948] [LOG]   [MMM-PublicTransportHafas.js:242:15] [MMM-PublicTransportHafas] Update OK, station : Nürnberg-Rehhof at : NaN

The DEBUG info is not present.

The DEBUG info is not present.

It is present in the following lines of the log, but grep only got the first one.

So it means that when the first error occurs, the display will keep showing the list from the last successful request ?

Yes.

Then when the 2nd error occurs, the error is being showed on the display, right ?

Only if the second error occurs right after the first. The error counter is reset by a successful request. So if there is only one error per hour, no one would notice.

You can also opt to show the error ...

That's a good idea. I might include that sometime. A PR would also be welcome :slightly_smiling_face:

I'm closing this issue as the reported problem has been handled. Eventually we will follow the fine tuning suggested in issue #186 :slightly_smiling_face:


docs: BLink not working

Describe the bug
The navbar and sidebar cannot navigate
Reproduction
n
System Info
n

Used Package Manager
pnpm
Validations

[X] Have tested with the latest version. This is still alpha version and sometime things change rapidly.
[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

fixed by https://github.com/bootstrap-vue-next/bootstrap-vue-next/pull/1562


Publish the elm-land extension to the open vscodium registry

Right now if you use vscodium (a truly open source version of vscode) you don't have access to the official microsoft handled store (because microsoft doesn't allow clients other than their official builds of vscode) so you can't install the elm-land extension.
The solution implemented by most extension developers is to republish their extension to the open registry as well as the microsoft owned one

Hi @ludat,
I just created a "Release" for the VS Code plugin, including the latest .vsix file available for download:
https://github.com/elm-land/vscode/releases/tag/v0.2.4
I'll keep those GitHub releases up-to-date for any future updates, for any folks not using the Microsoft registry.
Although I am not interested in maintaining the open-vsx.org registry entry, you have my full permission to republish the Elm Land VS Code plugin on that registry under your account.


Field for serialization format

spl_token uses bincode for serialization. We should have a field for serialization format. The default should be borsh.
I would like to avoid proliferation of serialization formats. Each new format will require work for each support language (both on-chain and client side).
People love to invent new serialization formats though.

Maybe relevant, I've tried to formalize the Serde/Rust type model and bincode serialization format here: https://github.com/solana-foundation/specs/pull/17


Emacs Lucid segfaults when making a window

Issue description
I use the Lucid build of Emacs, due to the long-standing X-reconnecting bug in GTK. I do this with emacs.override { withGTK2 = false; withGTK3 = false; } and this has been working fine for years.
After upgrading to NixOS 19.03 I can no longer run Emacs graphically, since it segfaults when trying to create a window. I can use emacs -nw to run the console version, and that's fine. I'm currently pinning the version from 18.09, since that works fine.
Steps to reproduce
I can reproduce the crash with the following command, running in an Xorg display (I also tried it in Xvfb and it crashes there too):
$ nix-shell -p gdb -p '(emacs.override { withGTK2 = false; withGTK3 = false; })' --run 'gdb emacs'
GNU gdb (GDB) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "i686-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from emacs...
warning: Loadable section ".dynstr" outside of ELF segments
(no debugging symbols found)...done.
(gdb) run
Starting program: /nix/store/kmpm8r6r2pyv3ikshi84gwk360bw6djg-emacs-26.1/bin/emacs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/nix/store/sjsvwd9sqxjflmslnf8xs48aqpkb2sjy-glibc-2.27/lib/libthread_db.so.1".
[New Thread 0xb58b2b40 (LWP 20885)]

(process:20765): GLib-GIO-CRITICAL **: 16:52:09.947: g_settings_schema_source_lookup: assertion 'source != NULL' failed

Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
0xb7be923a in XrmPermStringToQuark ()
   from /nix/store/40j5z6dyc75ibgmagm50r1mb2v9yaykh-libX11-1.6.7/lib/libX11.so.6
(gdb) backtrace
#0  0xb7be923a in XrmPermStringToQuark ()
   from /nix/store/40j5z6dyc75ibgmagm50r1mb2v9yaykh-libX11-1.6.7/lib/libX11.so.6
#1  0xb7d79344 in _XtCompileResourceList ()
   from /nix/store/b7nm37ln9cycd6dr3skf6lr1blsvcadc-libXt-1.1.5/lib/libXt.so.6
#2  0xb7d75017 in ObjectClassPartInitialize ()
   from /nix/store/b7nm37ln9cycd6dr3skf6lr1blsvcadc-libXt-1.1.5/lib/libXt.so.6
#3  0xb7d61b59 in CallClassPartInit.isra.0 ()
   from /nix/store/b7nm37ln9cycd6dr3skf6lr1blsvcadc-libXt-1.1.5/lib/libXt.so.6
#4  0xb7d61b72 in CallClassPartInit.isra.0 ()
   from /nix/store/b7nm37ln9cycd6dr3skf6lr1blsvcadc-libXt-1.1.5/lib/libXt.so.6
#5  0xb7d61b72 in CallClassPartInit.isra.0 ()
   from /nix/store/b7nm37ln9cycd6dr3skf6lr1blsvcadc-libXt-1.1.5/lib/libXt.so.6
#6  0xb7d61b72 in CallClassPartInit.isra.0 ()
   from /nix/store/b7nm37ln9cycd6dr3skf6lr1blsvcadc-libXt-1.1.5/lib/libXt.so.6
#7  0xb7d61b72 in CallClassPartInit.isra.0 ()
   from /nix/store/b7nm37ln9cycd6dr3skf6lr1blsvcadc-libXt-1.1.5/lib/libXt.so.6
#8  0xb7d61d75 in XtInitializeWidgetClass ()
   from /nix/store/b7nm37ln9cycd6dr3skf6lr1blsvcadc-libXt-1.1.5/lib/libXt.so.6
#9  0xb7d627d1 in _XtCreateWidget ()
   from /nix/store/b7nm37ln9cycd6dr3skf6lr1blsvcadc-libXt-1.1.5/lib/libXt.so.6
#10 0xb7d62a2a in XtCreateWidget ()
   from /nix/store/b7nm37ln9cycd6dr3skf6lr1blsvcadc-libXt-1.1.5/lib/libXt.so.6
#11 0x081194fa in x_window ()
#12 0x0811a6c6 in Fx_create_frame ()
#13 0x081a4624 in Ffuncall ()
#14 0x081dff30 in exec_byte_code ()
#15 0x081a6c7e in funcall_lambda ()
#16 0x081a459c in Ffuncall ()
#17 0x081dff30 in exec_byte_code ()
#18 0x081a6c7e in funcall_lambda ()
#19 0x081a459c in Ffuncall ()
#20 0x081a636c in Fapply ()
#21 0x081a4624 in Ffuncall ()
#22 0x081dff30 in exec_byte_code ()
#23 0x081a6c7e in funcall_lambda ()
#24 0x081a459c in Ffuncall ()
#25 0x081dff30 in exec_byte_code ()
#26 0x081a6c7e in funcall_lambda ()
#27 0x081a459c in Ffuncall ()
#28 0x081dff30 in exec_byte_code ()
#29 0x081a6c7e in funcall_lambda ()
#30 0x081a459c in Ffuncall ()
#31 0x081dff30 in exec_byte_code ()
#32 0x081a6c7e in funcall_lambda ()
#33 0x081a459c in Ffuncall ()
#34 0x081dff30 in exec_byte_code ()
#35 0x081a6c7e in funcall_lambda ()
#36 0x081a70b9 in apply_lambda ()
#37 0x081a6717 in eval_sub ()
#38 0x081a8681 in Feval ()
#39 0x0812ed72 in top_level_2 ()
#40 0x081a37cc in internal_condition_case ()
#41 0x08130223 in top_level_1 ()
#42 0x081a3716 in internal_catch ()
#43 0x0812eca4 in command_loop ()
#44 0x081320a9 in recursive_edit_1 ()
#45 0x081323f4 in Frecursive_edit ()
#46 0x08059905 in main ()

Technical details
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"i686-linux"`
 - host os: `Linux 4.9.52, NixOS, 19.03.172786.606306e0eaa (Koi)`
 - multi-user?: `yes`
 - sandbox: `relaxed`
 - version: `nix-env (Nix) 2.2.2`
 - channels(root): `"nixos-19.03.172786.606306e0eaa"`
 - channels(chris): `"nixos-17.09.2875.c2b668ee726"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

When I still used Lucid earlier this year, multiple windows were working for me.


RedissonRemoteService: executorsAmount vs invokeMethod

This is more a question than an issue, and please excuse me if this is a dumb question, I may be wrong, I am just beginning to dig into the code.
Here I suppose that the clients are able to issue calls more quickly that the servers can respond to.
In RedissonRemoteService, is it possible that the server ends up invoking simultaneously more than the expected executorsAmount given that it re-subscribe before the invokeMethod, and even before the ack ?

Hi!
invokeMethod can be concurrently called not more than executorsAmount. Because request object can be taken only one time from queue.

I am sorry, I do not understand your answer.
Here is an simple example for what I was trying to explain:
You have only one server that exposes a service like that:
int executorsAmount = 1;
Redisson.create().getRemoteSerivce()
    .register(RemoteInterface.class, new RemoteImpl(), executorsAmount);

In RemoteImpl, the timeoutMethod method is defined like that:
public void timeoutMethod() throws InterruptedException {
    Thread.sleep(2000);
}

Then, you have 10 clients (differents threads, JVMs or even machines) that calls simultaneously the service like that:
Redisson.create().getRemoteSerivce()
    ..get(RemoteInterface.class).timeoutMethod();

In my limited understanding of the code, if the above scenario executes, the server will ends up with 10 threads sleeping in the timeoutMethod.
Maybe the problem here is that I do not understand what is the use for executorsAmount :) I guess I think I see the executorsAmount as a way to throttle the server ...

You defined int executorsAmount = 1; so only one invocation could be processed simultaneously.

In my limited understanding of the code, if the above scenario executes, the server will ends up with 10 threads sleeping in the timeoutMethod.

In this case 1 task will be processed and 9 other calls will be in requests queue.

Did I answer to your question?

Sure.
I understand that the executorsAmount  should work as I expect.
I will try to familiarise myself more with the code now.
Thank you.


gh-927: Provided mechanism for users to override seed types when using the UI

Added some new sub-components to the <seed-builder> component to allow users to override the seed type that is inferred by the UI when submitting operations to Gaffer.
If the override behaviour is selected, a new field value (overriddenSeedType) is propagated through to the OperationChainController, where it is used to change the seed formatting.
Added new tests and updated old tests.

Notes:

Currently this approach doesn't support supplying mixed seed types in a single operation (e.g. being able to submit a GetElements operation through the UI which contains input with correctly formatted EdgeSeeds and EntitySeeds). All input seeds must be overridden to the same type.
When submitting an operation which contains multiple inputs (input and inputB), if the input seed type is overridden then this will apply to both input and inputB.
EdgeSeeds are still unsupported when using the UI.

Related Issue

Resolve #927

Placed into draft while I rename some of the fields - I think some of the current names are a bit confusing as they're too similar to one another.

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@1d40743). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop     #928   +/-   ##
==========================================
  Coverage           ?   56.10%
  Complexity         ?        6
==========================================
  Files              ?       16
  Lines              ?      508
  Branches           ?       36
==========================================
  Hits               ?      285
  Misses             ?      204
  Partials           ?       19

Continue to review full report at Codecov.

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

Overall looks good, how do we feel about not being able to use EdgeSeeds? Could this be added too or is there just no need for it?

It's a significant amount of work to implement EdgeSeeds into the UI, so this would need to be carried out under another ticket (and triaged/prioritised appropriately).


vcpkg insist on downloading 7zip

Describe the bug
This is a docker image with VS BuildTools 2022, cmake, 7z and ninja. However vcpkg insist on download a custom copy of 7zip:
$ vcpkg install zlib
Computing installation plan...
The following packages will be built and installed:
  * vcpkg-cmake:x64-windows@2024-04-23
<EMAIL_ADDRESS>Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
Compiler found: C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe
A suitable version of 7zip was not found (required v24.6.0) Downloading portable 7zip 24.6.0...
Downloading 7zip...
https://github.com/ip7z/7zip/releases/download/24.06/7z2406-extra.7z->C:\dev\vcpkg\downloads\7z2406-extra.7z
Downloading https://github.com/ip7z/7zip/releases/download/24.06/7z2406-extra.7z
Extracting 7zip...

System has it in the PATH:
$ 7z
7-Zip 24.06 (x64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-05-26
Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...] [@listfile]
<Commands>
[...]

Environment

OS: Windows 2022
Compiler: 17.10.35027.167

To Reproduce
Steps to reproduce the behavior:

./vcpkg install zlib
See logs

For reference
$ vcpkg --version
vcpkg package management program version 2024-06-10-02590c430e4ed9215d27870138c2e579cc338772
See LICENSE.txt for license information.

Expected behavior
vcpkg should try harder to use the system installed 7zip.
Failure logs
$ vcpkg install zlib
Computing installation plan...
The following packages will be built and installed:
  * vcpkg-cmake:x64-windows@2024-04-23
<EMAIL_ADDRESS>Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
Compiler found: C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe
A suitable version of 7zip was not found (required v24.6.0) Downloading portable 7zip 24.6.0...
Downloading 7zip...
https://github.com/ip7z/7zip/releases/download/24.06/7z2406-extra.7z->C:\dev\vcpkg\downloads\7z2406-extra.7z
Downloading https://github.com/ip7z/7zip/releases/download/24.06/7z2406-extra.7z
Extracting 7zip...
Restored 0 package(s) from C:\Users\ContainerAdministrator\AppData\Local\vcpkg\archives in 313 us. Use --debug to see more details.
Installing 1/2<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>-- Installing: C:/dev/vcpkg/packages/vcpkg-cmake_x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake
-- Installing: C:/dev/vcpkg/packages/vcpkg-cmake_x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake
-- Installing: C:/dev/vcpkg/packages/vcpkg-cmake_x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake
-- Installing: C:/dev/vcpkg/packages/vcpkg-cmake_x64-windows/share/vcpkg-cmake/vcpkg-port-config.cmake
-- Installing: C:/dev/vcpkg/packages/vcpkg-cmake_x64-windows/share/vcpkg-cmake/copyright
-- Performing post-build validation
Stored binaries in 1 destinations in 348 ms.
Elapsed time to handle vcpkg-cmake:x64-windows: 718 ms
vcpkg-cmake:x64-windows package ABI: 307a37f860825d0ca70aa9d3a53f22e57f3854515a12f3da04f246a8389cfcd5
Installing 2/2<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>-- Downloading https://github.com/madler/zlib/archive/v1.3.1.tar.gz -> madler-zlib-v1.3.1.tar.gz...

Additional context
Docker image for windows 2022 was prepared with:
RUN choco install 7zip.install --version=24.6.0 -y --no-progress;

Can you show the log with --debug

Just a thought, vcpkg might be looking for 7za.exe, 7za.dll and/or 7zxa.dll, which is only available from the 7z<version>-extra.7z file?

After looking at the source code I see that vcpkg always uses an own copy of 7zip and does not search on the path for it

After looking at the source code I see that vcpkg always uses an own copy of 7zip and does not search on the path for it

@BillyONeal Can you help take a look at this?

Ping

Is there any workaround for this? The current 7-zip  that is downloaded has some kind of problem and fails to install. This prevents vcpkg from working at all.