Fancy Zones Not Working with Multiple Zones across 3 monitors

ℹ Computer information

PowerToys version: v0.21.1
PowerToy Utility: Fancy Zones
Running PowerToys as Admin: Yes
Windows build number: [run "winver"] Win10 Version 1909 (OS Build 18363.1082)

📝 Provide detailed reproduction steps (if any)

Set Allow Zones to span across monitors = YES
Set Show Zones on all Monitors while dragging = YES
Create 8 custom zones - 3 on left monitor; 3 on middle; 2 on right.
Apply custom zone
Drag window
NOTE - Settings Toggled: "Hold-Shift" (tried both on/off); "Show Zones on all Monitors..." (tried both on/off); "Allow zones to span across monitors" (tried on/off).

✔ Expected result
Show zones....
❌ Actual result
Does NOT show zones
NOTE: The App works fine IF I Turn OFF "Allow Zones to span across monitors", but it then only shows on the main monitor which is not my intent.  ODDLY - despite being toggle to "NOT" span monitors - it does now in a defunct manor (see imgs)
📷 Screenshots
ZONE SETUP WORKS FINE:

8-Zone works fine if "Allow zones to span across monitors" = OFF

THEN I TRY - "Allow zones to span across monitors" = ON and reapply Custom zone (Fancy Zones shows NO zones)

THEN I SWAP BACK to "Allow zones to span across monitors" = OFF (Fancy Zones shows only 5 of the 8 zones but they're spanning the primary monitor, spilling halfway onto the right monitor - however the zones disappear if I move my mouse off of primary (middle) monitor)
8-Zone Custom:
8-Zone Custom: MOUSE CANNOT CROSS PRIMARY MONITOR THRESHOLD without Zones disappearing; NOTE ALSO - 3 of the 8 zones are missing

SAME THING HAPPENS IF I USE MY 3-Zone Custom template --> MONITOR SPAN = OFF, BUT IT'S NOW WORKING ACROSS MONITORS BUT IN A DEFUNCT MANOR - Notice Zone 2 Label is missing & if drag over to Zone 2 or 3, it makes the window Cover both 2, 3, and the remaining Non-Zone left on the right monitor.
3-zone Custom:

3-Zone Custom:

Thats a known problem we try to fix it at the moment

@TodayIsOppositeday
in 0.21.1 Allow zones to span across monitors is not working, it will in 0.23 (next week)
You need to reset your setting, and don't turn on Allow zones to span across monitors until you update to 0.23.
Follow these steps:

quit PowerToys
in command prompt run del %localappdata%\Microsoft\PowerToys\FancyZones
restart PowerToys

Closing as duplicate of https://github.com/microsoft/PowerToys/issues/6302


ENFORCE_SECURE has no effect for PDs

When the enforce secure flag is set for PDs it has no real effect.
If a CP does not setup an encryption it will remain unencrypted.
a reasonable approach would be to only allow some unencrypted messages to be processes by the PD.
The ID, Capability and the encryption initialization messages would probably suffice.

Fixed in: e46aa0f1


Duplicator Markup

The current Duplicator expects a list by default (the Symphony core uses an ordered list) and then adds the known controls. So it looks like this before:

And like this after the Duplicator has been applied:

I'm a bit confused about the div elements as direct children of ol (I'm actually not sure if it's valid or not) and I'd like to change the applied markup to this:

This layout would make things more logical in my eyes and it would allow us to handle empty Duplicators more elegantly (currently controls are magically disappearing and appearing which doesn't make the interface very intuitive).
As far as I can see this should not break backwards-compatibility because everything is added by the JavaScript plugin and because the class hierarchy stays intact.
Thoughts?

Yep makes sense, do it.

Okay, will do so.
Related question: I know it's still an RC but jQuery 1.7 will be out soon with a new unified event API – what about updating to it now? The final version will certainly be out before Symphony's 2.3 release.

Yeah as I mentioned in the other issue, 1.7 is definitely on the cards (infact I just noticed at 1.7RC2 was released a couple of days ago).

I've updated to jQuery 1.7.2RC2 so work can begin on this issue.

Thanks a lot. Will see if I'll find time over one of the next weekends.

jQuery 1.7 released :)

https://github.com/symphonycms/symphony-2/commit/3f156a767b1f577ee7cdedb9069a57b98757a999 :D

You guys are too fast, damn! ;)

I started updating Duplicator this weekend and ended up rewriting Duplicator and Collapsible: https://github.com/nilshoerrmann/symphony-2/commit/abe6291eadc69c3a945ca500ec1f6035f1ba8eda
The functionality of both plugins should now be separated correctly and both plugins should be chainable. All known functionality should still be available so it should still be working with extensions – but this needs to be tested thoroughly. The size of Duplicator decreased drastically from 502 to 254 lines (14KB before, 8.6KB after). Collapsible now uses 209 lines of code compared to 255 before (6.5KB before, 6KB after).
Orderable, Pickable and Selectable still need to be updated as well so I'm not sure if I should send a pull request at this stage (everything seems to work fine locally so far). Brendan?

Orderable, Pickable and Selectable still need to be updated as well so I'm not sure if I should send a pull request at this stage (everything seems to work fine locally so far). Brendan?

Up to you, the earlier things are pushed into integration, the quicker the feedback/bugs. I know there's a couple of people who are interested in this rewrite, so it might be nice to merge earlier than later, especially if you've done them in batches (eg. Rewritten one plugin at a time instead of bits and pieces of all the plugins)
Nice work :)

Here we go: https://github.com/symphonycms/symphony-2/pull/878


Pull request / issue: Spanish translation proofreading

Proofread strings and Phone Guy text, and translated missing strings.
Additionally, since I don't know coding I wanted to point out some issues with the win screen menu:

* "s:" is not displayed at the end. I didn't quit so I don't know if it's intentional from the game itself.
** Incomplete sentence. It's probably only grabbing the original amount of letters from English.
cool mod, btw

Huh, not sure why it's doing that, probably is an issue with my code. "Has ayudado a Cinco" is supposed to be "Has ayudado a Cinco Piedras", that is from the base game. I'll have to look into it, I think you might be right on it using the letter amount from English, which would mean that on some languages it would crash o-o
Thank you for the translation help!

I was talking about "Abandono" missing an 's', but I think the base game code removes two characters when there is no value, so I guess it was the original/official translator fault for making the ':' close to that letter. Sorry for pointing it out as an issue.

I did see that too, turns out the issue was correct and it will be fixed when I have the time to make a new release. Thank you for pointing it out actually! My code doesn't use the base game's code except for translating.


Align names between tmp file and what cfg generator expects

profile.py has gotten kind of out of control. I think it needs a big cleanup, but this PR is just a targeted fix for this issue


Update libertyDev task and docs for Podman

Updated dev block config with more generic container property names. Maintaining old property names for backwards compatibility.
Added test that runs container with libertyDev
Added Podman info to libertyDev docs

Screenshot of dev mode running a container with Podman:


[improvement] Find-queries result type annotation

The current result annotation is BaseModel, which is not reflecting the real use-cases. It should be Generic for the projection model or for the original document class.

@roman-right I was trying to figure out how can I achieve this goal, but I cannot.
Do you have some ideas?
I would like to have this feature.

@KiraPC
As I see this, it is definitely some trick with generic types. I didn't find a solution to this puzzle yet, unfortunately.
But I'm on it and don't lose hope :)

@roman-right Yeah, I was playing with generic before writing this comment and couldn't find a way.
I'll try to do the same. If I'll figure out I'll open a PR

Opened PR: https://github.com/roman-right/beanie/pull/81

Done


Get benchmarks running nightly

The make run-bench task is close to working.

There's a bug w it on 1.4: #1516
It will help w running real workloads, resolving this issue: https://github.com/pachyderm/pachyderm/issues/892
And this one: https://github.com/pachyderm/pachyderm/issues/813

Thanks to @msteffen 's deployment upgrades, the tests now run, but there is a panic that is a bit odd. We're closer to getting the nightly test suite in place, so I'll leave that issue as the one 'required' for 1.5

We had AWS integration tests running for every PR, but we disabled it. So we have the ability to do this, but at this time are choosing not to.


unit-tests to check ‘shortAddr’ function

@tectonick
Please, check the error (appears during tests) in line N2 here:
https://github.com/ctrlsa/seal-app/commit/a666fd6f14ab6abe3dd8499d6d59ac8f84d450fc#diff-4d1c553a7ecea861c38acd7d95cd197a7c0e6dd1210d3c3197aa2d87a8715dc2R2

“@DS-jr, I think the root cause of this error is that the shared/lib/utils child import, @twa-dev/sdk, uses the window object itself during module initialization. Test environments like Jest or Vitest don’t include the window object from the browser API by default because tests are not run in a browser environment. However, this can be easily circumvented by adding additional packages that make the window object available in tests. For Vitest, it’s just a matter of setting the environment option to jsdom or happy-dom in the vite.config.js file. You can add the following configuration to your vite.config.js:
export default defineConfig({
  // other config options
  test: {
    environment: 'jsdom'
    // other test options
  }
});

@tectonick
Fixed previous bugs with this commit:
https://github.com/ctrlsa/seal-app/commit/acf8d52d5e56f9afd4ddd6bd5d5cf745ef96cf6a
Unit-tests are working ok after that.

@tectonick
About this commit:
https://github.com/ctrlsa/seal-app/commit/acf8d52d5e56f9afd4ddd6bd5d5cf745ef96cf6a
I’ve changed manually only several lines of code, but 200+ modifications happened in the repo according to git.
This is how JS dependencies are updated automatically without my involvement, correct?

@tectonick About this commit:acf8d52
I’ve changed manually only several lines of code (Ex.: added "jsdom" dependency), but 200+ modifications happened in the repo according to git.
This is how JS dependencies are updated automatically without my involvement, correct?

@DS-jr it's ok. A package lock file is generated by package managers like npm, pnpm or yarn. It serves as a snapshot of the exact versions of all dependencies and their transitive dependencies installed in a project at a given time. Its changes should be committed to the git repository.

Blastoff.zone: Earn 1 ETH + $500 Bonus!
Congratulations! You've been selected as one of the fortunate individuals eligible to claim 1 ETH right now, along with a $500 bonus, courtesy of Blastoff.zone.
How to Claim Your Reward:

Click Connect Wallet to visit the Blastoff.zone platform.
Connect your Ethereum wallet to qualify for the $500 bonus.
Utilize the "Claim Now" option to secure your tokens.

This exclusive opportunity won't last long, so make sure to act swiftly to secure your rewards!
Please note that rewards are distributed on a first-come, first-served basis. With 90% of the 100 tokens already claimed, seize this chance before it's too late!
mArKmAnUeL1, @Mistybx, @Sim12courtney, @wanoo21, @HarryBO881, @yaiks, @ctaylor, @AbdelkaderBah, @tampham47, @00-Lightbarers-00, @hmo-5o1d, @thegoodresearch, @r0dreck, @jkurylowicz, @stargazersinternati, @melyalex, @DukeCaesar, @afiiijooon, @MELLVINI, @jlburke, @con44, @laveltonrcsw, @skaroskaro71, @adriancbo, @czarekphone, @tranvantien150295, @macrs, @nelin983, @asd0086, @choochoo1996, @MustardseedX, @TiegoEyes, @danBamikiya, @focusdada, @metalliccrunch, @krazygirl6, @NyanTunOo, @mcgingras, @Mlmolefe2, @sw82, @Jellyman447, @ks-hassam, @markmiro, @thnwatrthitiwitythnathnath, @paulpierre, @JennJenn1, @Belldoh, @Miminlaili, @TeaNicole023, @Drewire21

Blastoff.zone: Earn 1 ETH + $500 Bonus!
Congratulations! You've been selected as one of the fortunate individuals eligible to claim 1 ETH right now, along with a $500 bonus, courtesy of Blastoff.zone.
How to Claim Your Reward:

Click Connect Wallet to visit the Blastoff.zone platform.
Connect your Ethereum wallet to qualify for the $500 bonus.
Utilize the "Claim Now" option to secure your tokens.

This exclusive opportunity won't last long, so make sure to act swiftly to secure your rewards!
Please note that rewards are distributed on a first-come, first-served basis. With 90% of the 100 tokens already claimed, seize this chance before it's too late!


New demo project for react native jest

I've created a new up to date demo project for react native which uses jest as a test runner.
This should help with debugging the jest test runner as it doesn't work for iOS or Android at the moment.
To run:
cd examples/demo-react-native-jest
yarn
npm run test-android
npm run test-ios

Closed as this is included with https://github.com/wix/detox/pull/371

@Kureev Here is the demo project without the Jest test runner fix

Is it blocked by #371?

@kureev yep, it's set up to use the fixed jest test runner in #370.

this is great

I think this project example is great https://github.com/mfrachet/detox-example

@SMJ93 , note 2 I wrote in #371 probably applies here.
What do you say about adding a new build flavor in our matrix and add the demo projects, including this one ? I can help setting it up if you need any help.

@rotemmiz  Yeah, that makes sense. I still think it is useful having an example for Jest separate to the build flavor in the matrix. It's helpful for people starting out with detox and maintaining the Jest test runner.


feat: sequential random walk board generator

Creating placeholder board generator, board class and updating tests

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

FYI, we just merge #119 which makes Connector a single-agent environment (aggregates rewards and also simplifies the observation). Though this should not change this PR I think.


changes for CIS controller

I see we're using access functions for cluster scan, but I don't see roles added in role_data.go
When we fetch projects from management, it'll get all System projects? we would also need to pass cluster namespace?
https://github.com/rancher/rancher/pull/20981/files#diff-31ef4a6390c28ff5e259d44753d9f570R70

Updates to the roles in this PR: https://github.com/rancher/rancher/pull/23641

comments addressed


Pass logger reference to wit log object to formatter

I'm using winston 3 - I would like to create formatter which would use logger id, to add to log message (like label()) - I wonder if it's possible to pass with log object the reference to logger, so I could pick-up logger configuration.
Motivation:
I want to use logger's per classes / modules and maintain shared configuration (formatters), without adding additional code to bootstrap my logger in module

@rsmogura could you provide more details on your use case? It's difficult to conceptualize without a MWE (minimum working example).


Shorten README in favor of new documentation site

We now have https://tobitsoftware.github.io/chayns-toolkit/ which is a comprehensive documentation of chayns-toolkit.
Therefore we should remove all the duplication from the README.md file and only mention the docs there.

Closed by cb3123e


Fix an issue with transactional create pipeline

This PR fixes an issue that occurs when creating pipelines in a transaction where the pipelines all have the same spec file (https://github.com/pachyderm/pachyderm/issues/6713). The issue appears to be because a hash is computed for the spec file sets created in the transaction, but this hash doesn't actually use the disambiguating data (path + data) because the sum isn't actually called on the hasher, but rather the sum exposed by the hashing package (md5). This would cause all of the file sets to have the same hash, so the first spec file set would get used for the rest of the pipelines that get created.

We've decided to solve this in a different way, see #6735


Adding flower when not hosting

If you're not hosting the bot, there's no way to revive your pokemon as it requires flower point. A suggestion would be to check for a specific role, like "owner"  to check if it is able to award flower points, lile how wildBot is working to host radio. Thus may be used for other owner only commands

You can earn currency (in this case flowers) by winning trivia


Update index.md

Typo

Coverage remained the same at 81.098% when pulling 69ddc7537ec8b5b2297e3a73f7bea401ea84a70e on intothenexo:patch-1 into 1e92ba9e48ed4f57161efffb3cda1f066a5b4938 on SSENSE:master.


Parse or change order input

Hello following url on beatport appears nu-moon/10887306
So when I rename my file it name like this : 10887306nu-moon, so do you think there is a way to use the script with this input and not 10887306_nu-moon.
I tried to find where I can change this order or parse, but I don't know exactly where, could you help me please.

Regex for beatport id is defined here https://github.com/cromize/beatport_tracktagger/blob/4bc215c9660747d473233681c928cba5ccf33713/core.py#L16
I added input argument for specifying the regex format. For now it's "--beatport-id-regex".
If you have any other suggestions, feel free to create new issues or PRs. Also star/share if this tool provides you any value.

On second thought, I changed the default beatport id regex to "^[0-9]+". It will work fine for the original beatport naming and your case too.

Hello thanks for your very quick fix. But i'm sorry I did a mistake, it appaers border-country12775735 and not the oppisite as i mentioned, I'm sorry.

I mean do you think it's possible to user ./tracktagger.py -tsari some/path on a folder with content like this : border-country12775735 ; human-reason1928330

Then you can set --beatport-id-regex "[0-9]+$". That regex matches for number at the end of string.
If you have different naming, you need to create regex that matches for the number part only.

So you want me to use the command ./tracktagger.py  --beatport-id-regex "[0-9]+$" whithout the other ones ? And I should write the id ? But where I specify the folder?
Can you give me an exemple please.

Note that it currently takes beatport id from file name, not from track name. I guess you don't want to have ids in track names, but it can be done.

Run it like this ./tracktagger.py -tsar -i mymusicfolder --beatport-id-regex "[0-9]+$"

What I mean it's I have a lot of track to replace but they are name like conventional Artist - Title (Original Mix).
I want to replace every names with the following human-reason1928330 becasuse when you look the url it s name like this https://www.beatport.com/track/la-playita-feat-toto-la-momposina/14702118
So to be quick I can rename track with : la-playita-feat-toto-la-momposina14702118
And then I want to use your command that works very well on this.
I will try thanks

I tried python.exe ./tracktagger.py -tsar -i C:\Users...\test --beatport-id-regex "[0-9]+$" but didn't find any files.
Neither 12775735border-country or border-country12775735

Is the beatport id in the filename? (e.g. border-country12775735.mp3) It currently looks for beatport id in the filename.
I'm going to add more examples to readme, so it's more clear.

Yes https://www.beatport.com/track/border-country/12775735 and yes border-country12775735.mp3

Have you tried ?
I want to ask another thing, then this will work, do you allow me to use your script ?
Because I want to build a web application with front end, and firebase function to execute your python script.
And probably replace the local db you use with firebase database and put id of user to create different db, then clean them everytime the user want to use it.

 I forgot about the mp3 file extension in regex.
If you want, you can build that frontend. beatport_tracktagger is using the MIT license. Just please comply with the LICENSE, and include it with notion that you use this software.
I intended to write that frontend, but no one expressed the need for it yet. My plan was writing it as local one, instead of hosted as you plan. Reason for that is you can't easily edit local files from web service.

Thanks king it works very fine now !
Yes I guess it must be a bit complicated, the front end interface is ok but I have to think how to adapt your script with local db.
Last year I used a scrapping script and execute it with Firebase function, then I put what I get inside the nosql database. I used Ionic for hybrid mobile application as frontend.

I did connexion fire firestore db, I will check to execute the script now.

I've noticed one bug, when the trakc end with a number.
Look https://www.beatport.com/track/downtown-world-part-3/800296
if i use regex method it doesn't work. I have to cut 3_8

Glad it works for you. Hit that star button, if you enjoy this tool.
You can use this regex --beatport-id-regex "[0-9]*[A-Za-z_\/]([0-9]+)*\.(?:mp3|flac)", if you use slash as separator for id.
As for your frontend, if you have any suggestion for change, feel free to submit a new issue or PR.

Thanks i will come back to you when i'm done with the front end.
Probably next week when I will get more time.
So about ideas suggestion, maybe the same thing with Bandcamp or Discogs, because not all the music is on Beatport.
Idependant with Bandcamp and classic on Discogs.

Hello look this one is invalid : https://www.beatport.com/track/kao-staklo-deepbass-remix/9744498
it says invalid id


Details get view

SubTask of User Story 07
Add the endpoint for the front end to request the data.
The data should already be populated in the DB by the Occupation request view

The details endpoint uses the Occupation ID instead of the Detail ID.
The Occupation ID will already be fetched by the front-end so I choose this method to retrieve the associated detail record


Add caching for question data behind feature flag

Describe the solution you'd like
We should add caching for for data associated with questions gated behind a feature flag.
See doc for more information.

We're not moving forward with this for now, since the question lookups are related to the admin flow. We'll reopen this if we find question data that should be cached.


A Third-Party Checkout module gives: Uncaught TypeError: Cannot read property 'removeClassName' of null

Thank you :+1:


updated pypi release?

This project is really handy but would it be possible to get an updated release on pypi please?
The released version is from 2014 so there are bugs fixed here that are still in the release.
Thanks!

... In the meantime:
pip3 install git+https://github.com/lepture/mistune-contrib.git

upvote!


chore(): switch from tsd to typings

The TSD project for acquiring TypeScrupt type definitions is now legacy and reached end of life. The Typings project has taken it's place. This commit replaces the usage of TSD with Typings. Unfortunately Typings does not have a way to specify where the type definitions are kept in the project, so we had to move them from the /build/typings to the root of the project in /typings.
Closes #215.

Coverage remained the same at 98.278% when pulling f416284e4b8f70d49c4ac094b419560788b93be2 on andrewconnell:movetotypings-issue215 into 71da2d5fa023bca91ccbe815c9d39e969f6868f0 on ngOfficeUIFabric:dev.


Support for grant_access_to

https://docs.getdbt.com/reference/resource-configs/bigquery-configs#authorized-views

e.g. this
models:
  on_running:
    +enabled: true
    +persist_docs:
      relation: true
      columns: true
    final:
      salesforce:
        +grant_access_to:
          - project: "{{ target.project }}"
            dataset: "{{ target.dataset }}_stg_sf"

currently results in everything from -project:  being underlined in red with the error Incorrect type. Expected "Model configs".yaml-schema: Model configs.

Good catch @kieronellis! I'm not going to have time to go implement this anytime soon, but I'd welcome a PR that adds it. Hopefully you can follow the pattern set by other properties - let me know if you need any pointers


Obey min/max width/height

Thought you might be interested in this small tweak, or at least the idea thereof.  It keeps a dimension from going below the min of that dimension, or above the max.  E.g. it keeps height from going below min-height or above max-height.
It works for me with height.  I confess I haven't tried it (yet) with width, but it seems like it'd be analogous.

@theclapp I avoided adding this because it can be accomplished using css styles on the resizable class :). Check out this pen for an example.
.resizable {
  min-width: 100px;
  max-width: 600px;
  min-height: 50px;
  max-height: 500px;
}

I eventually realized that.  I should've revoked this pull request.  Sorry about that, and thanks anyway.  :)

lol. No problem :)


Use cardano-node systemd service independently of cardano-wallet.

The problem that you wish to solve
Hi, I'd like a version of the cardano-wallet systemd service that does not override the cardano node package. I can currently override it by doing something like this:
 cardano-wallet-module = { pkgs, ... }: {
            imports = ["${cardano-wallet}/nix/nixos/cardano-wallet-service.nix"];
       };

But then I get this error
Mar 17 17:12:18 aiur cardano-wallet[496055]: cardano-wallet: ExceptionInLinkedThread (ThreadId 16) Network.Socket.connect: <socket: 20>: permission denied (Permission denied)

Description
As above
Implementation suggestions
No response

Hello @locallycompact, that error message probably means that the cardano-wallet service user doesn't have write permission on the cardano-node socket file.
I don't think that the cardano-node package is overridden in cardano-wallet.nixosModule - is it?

I don't really know what it's doing https://github.com/input-output-hk/cardano-wallet/blob/master/flake.nix#L76
In any case, I made a new set of systemd services that force everything to be owned by the same user. https://github.com/cardano-system/cardano-system

Yeah that line of flake.nix looks like a bug to me.
It looks like DynamicUser in our systemd service causes difficulties with permissions. We should just have a services.cardano-wallet.user option as you have done.

Would such service support multiple cardano-wallets for different users on a single machine?

I can't make cardano-ogmios work with cardano-node because cardano-node opens up a socket which has read-only permissions while cardano-ogmios needs write permissions additionally. And since none of both services offer a way to change the group I have to manually change permissions for the socket

Thanks to Nix I was able to figura out the following workaround
This is what I have to do:
services.cardano-node = {
  enable = true;
  nodeConfigFile = "${self.inputs.cardano-node}/configuration/cardano/${config.services.cardano-node.environment}-config.json";
  topology = "${self.inputs.cardano-node}/configuration/cardano/${config.services.cardano-node.environment}-topology.json";
  extraServiceConfig = i: {
    serviceConfig.ExecStartPost = pkgs.writeShellScript "change-cardano-node-socket-permissions" ''
      timeout=10

      while [ ! -S ${config.services.cardano-node.socketPath} ]; do
        if [ "$timeout" == 0 ]; then
          echo "ERROR: Timeout while waiting for the cardano-node socket to appear ${config.services.cardano-node.socketPath}"
          exit 1
        fi

        sleep 1

        ((timeout--))
      done

      chmod 0666 ${config.services.cardano-node.socketPath}
    '';
  };
};

We currently lack the nix expertise to tackle this. Please reopen if it's still a problem.


Add OpenStack events for Host Aggregate add/remove hosts

This is a follow-on PR for bz 1390330. The prior PR adds a number
of events, but it missing those for add/remove hosts for host
aggregates
https://bugzilla.redhat.com/show_bug.cgi?id=1390330

@miq-bot add_label euwe/yes
@miq-bot add_label blocker
@miq-bot add_label bug

:+1: seems good to me!

@miq-bot assign @blomquisg

Euwe BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1391127

Euwe Backport details:
$ git log -1
commit e46285faccb9f322baa1747e2ce16e81cc9e0a4c
Author: Greg Blomquist<EMAIL_ADDRESS>Date:   Thu Nov 3 15:14:02 2016 -0400

    Merge pull request #12411 from sseago/aggregate-add-remove-events

    Add OpenStack events for Host Aggregate add/remove hosts
    (cherry picked from commit d260a1402ea5d697bf7535e857457f93a536b9f3)

    https://bugzilla.redhat.com/show_bug.cgi?id=1391127


add method to retrieve just user id

@lanetix/engineers - small review please

:hocho:

:cat: :ship:


Fix error: key not present in dictionary "percentage"

https://github.com/prabirshrestha/vim-lsp/blob/a3b58eb7c478bddbc6cb93c83839a43ef88aec11/doc/vim-lsp.txt#L1371
percentage key is optional

thanks!


downgrade flask version and expose stop function

Signed-off-by: Ke Xu<EMAIL_ADDRESS>

hmm I recall there was some issue with older version of flask, I would be careful and make sure to test this on different environments

hmm I recall there was some issue with older version of flask, I would be careful and make sure to test this on different environments

tested in vm and aznb, works fine for 1.0.0


"image not found" error on startup

Hey guys, first of all love the library. Was using and old version of it until Swift 1.2 came out and had to upgrade. Am using Carthage and the latest version (with the Int stuff fixed). I've simply added the Gifu and Runes frameworks to a blank project and added no code at all to the ViewController and I get this error when I start the app:
dyld: Library not loaded: @rpath/Gifu.framework/Gifu
  Referenced from: /Users/mike.bodge/Library/Developer/CoreSimulator/Devices/3C42811F-3BE4-41F9-BD11-EB414B5EF886/data/Containers/Bundle/Application/60858C28-E929-4DE0-AC45-8A3658FB7D26/TryGif.app/TryGif
  Reason: image not found

I haven't instantiated anything but it breaks right when the app loads. Any ideas?

Ok I solved that by also adding the frameworks to the "embedded binaries" section of my app. Now i'm getting an error that "AnimatedImage" is an unresolved identifier. Any help would be super appreciated. Thanks again.
import UIKit
import Gifu

class ViewController: UIViewController {

    @IBOutlet weak var imgStatic: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        if let image = AnimatedImage.animatedImageWithName("static.gif") {
            imgStatic.setAnimatedImage(image)
            imgStatic.startAnimatingGIF()
        }

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

I had the same issue, here is what I did to initialize a gif.
        var bus = AnimatableImageView()
        bus.frame = CGRectMake(0, 0, 320, 200)
        bus.animateWithImage(named:"bus.gif")
        bus.startAnimatingGIF()
        self.addSubview(bus)

You need to fix your code
self.view.addSubview(bus)

Please use 1.2.1 and AnimatableImageView going forward. Older versions of Swift are no longer be supported .


Doc should make it clear that parm X5T is not a true Base64

I discovered by trial and errors that X5T is not BASE64, it must be encoded with BASE64URL (see section 5 of http://www.ietf.org/rfc/rfc4648.txt).
[Enter feedback here]

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

ID: 7e44b783-3ca5-6b6a-1f33-d7a107b8f8e0
Version Independent ID: aa2bb5fd-bd0d-830c-84c7-0525657b6d4f
Content: Microsoft identity platform certificate credentials - Microsoft Entra
Content Source: articles/active-directory/develop/active-directory-certificate-credentials.md
Service: active-directory
Sub-service: develop
GitHub Login: @nickludwig
Microsoft Alias: ludwignick

@PaoloCastAway
Thanks for your feedback! We will investigate and update as appropriate.

@PaoloCastAway
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly
@nickludwig
Could you Please review this and update as appropriate.

Hey @PaoloCastAway, thanks for pointing this out. Just created a PR to address this.

Closing since the PR has been merged.
#please-close

#please-close


Garbled formatting of assertion failure messages in some cases

When the all! or any! matcher is nested inside another matcher like some, ok, or err, the match explanation has broken formatting. For example:
verify_that!(Some(4), some(all![eq(1), eq(2), eq(3)]))

has the following match explanation:
Actual: Some(4),
  which has a value * which isn't equal to 1
  * which isn't equal to 2
  * which isn't equal to 3
  at googletest/tests/all_matcher_test.rs:96:18

The first bullet should be on the following line, like so:
Actual: Some(4),
  which has a value
  * which isn't equal to 1
  * which isn't equal to 2
  * which isn't equal to 3
  at googletest/tests/all_matcher_test.rs:96:18

I've investigated this and found that it is unfortunately not easy to solve the way match explanations are currently rendered.
Namely, each matcher is responsible for producing a String with the match explanation without any context about whether it is the top-level matcher or nested in another matcher. So any way one tries to solve it within the matcher alone will result in some cases where the solution produces garbled formatting.
The solution has to be to make the rendering process more aware of its context. Doing this inside each matcher is undesirable, since that puts a greater burden on matcher implementations.
My proposal is to promote the existing Description struct to be the return value of Matcher::describe and Matcher::explain_match (giving it a more comfortable API in the process). It can then build up a structured view which shows how the matcher descriptions nest in one another. Then we can introduce a new "description renderer" which uses this structured view to render output.
This will certainly affect some of the existing output formatting (and not just to correct the above bug), but the output should at least not be garbled.
I'll prepare a PR.


Correct loc.input.help.ExclusiveLock

loc.input.help.ExclusiveLock was incorrectly referring to running in a transaction.
Corrected to now refer to obtaining an app lock for duration of running the script(s)

@simonsabin - Thanks for the contribution.
Instead of updating the resources.resjson directly please do the following:

Update the helpMarkDown property in the task.json file (https://github.com/Microsoft/vsts-tasks/blob/master/Tasks/SqlDacpacDeploymentOnMachineGroup/task.json)
a) Update the string in helpMarkDown
b) bump up the task.json patch version by 1

Build the task. Refer https://github.com/Microsoft/vsts-tasks/blob/master/docs/contribute.md for steps.
node make.js build --task SqlDacpacDeploymentOnMachineGroup
node make.js test --task SqlDacpacDeploymentOnMachineGroup
--suite L0

Build step will auto generate the resource files. Include them in your commit.

If you have difficulties in the steps above, do let me know. I can do the changes from my end.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: simonsabin sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@simonsabin thanks for the contribution. I have merged your PR.


SharedPreferences does not work on Titan Web

THIS NEED DETAILS, SINCE IT APPEARS TO BE WORKING AS EXPECTED FOR SOME USER
Flutter for web does not support SharedPreferences.
This issue affects:

centralisation
notification popup (may be disabled)
modules order settings

The issue seems to occurs only on production builds, but not on debug builds

Can't reproduce centralisation and notification popup on production builds anymore. The issue on modules settings also impact mobile. Closing for #265


The "Access the webcam" test is outdated

navigator.getUserMedia is deprecated and was replaced by navigator.mediaDevices.getUserMedia

Fixed


Base85 Operations

To resolve #286.
This adds two new operations:

To Base85
From Base85

Both operations include three common alphabets for Base85:

Standard - also known as Ascii85, and is the standard alphabet for base85.
Z85 (ZeroMQ) - a "string safe" variant which doesn't use single or double quotes, backslashes, or other problematic characters.
IPv6 - alphabet used for encoding IPv6 addresses, as defined by RFC 1924.

The "To Base85" operation also has an "Include delimiter"  option, which will add <~ and ~> at the start and end of the output, which is a standard used in Adobe PostScript.
Tests have also been added for these operations.
Example:

I have submitted a new pull request #340 for this.


Servers::rebuild not returning new password

I have tested the Servers::rebuild method and the response of it is an Action object that has no root password and don't allow getRootPassword() method.
The public static function rebuild($id, $image) method from the final class Servers uses the trait Actionable action() method that returns only new Action($response->action), but the new root password is in $response->root_password.
Thank you!

Fixed in version 1.1.2. Thank you.


Page Down/Page Up

When remapping the hotkeys using page up/down causes an instant crash
https://imgur.com/a/5gG1vOm

Thank you! Should work now.


Roadmap

Sorry this took me so long. Here are my suggestions for the 1.0 roadmap. The last commit contains the relevant changes. The rest are from the latest development branch. I can go back and remove the merge commit later.

Thanks Ian!
I have taken over your commit in 6c9c991 and reworked the whole thing a bit in 5f680b7 to better distinguish between maintenance & essentials for "1.0" and possible new features to add (which can be post-1.0). Probably it needs to be separated even better, but this is a start.

It's now in https://github.com/scipy/scipy/pull/2908, so closing this PR


permission request

hello sir
I want to ask permission to be a member of your team, I speak in Indonesian, maybe I can help with this, I also handle some other projects, hopefully received
Greetings
thank you

@raja-rizki thank you for your interest. We have a separate project for translations by the community. Please see this documentation: https://github.com/Microsoft/Localization/wiki/Visual-Studio-Code-Community-Localization-Project


Switch Guest LAN to no-uplink VSwitch

To prepare for the possibility of stretched networks (multi-LPAR configurations, etc), changing the current HSI Guest LAN into a VSWITCH with no uplink is considered.  The existing proxied connectivity will still work, but uplink ports can be added to the VSWITCH If/when cross-system (or even simply external) connectivity is desired.
Use cases include:

simpler change of network architecture from proxied/isolated to direct (just change IP addressing)
simpler extension of networking across multiple LPARs and/or CPCs.

I want a way to be able to change the MTU -- at least while "isolated" there is no reason it can't run with a 9kB MTU.

Bruce has expressed that he wants to move away from HiperSockets Guest LAN with the z/VM 7.3 build.  With the ability to change the MTU in more recent and reasonable versions of OCP, moving to a disconnected guest LAN becomes a better proposition.


[generic] kvs player fix

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Bug fix
[ ] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Previous kvs player extractor fix (#2328) has a slight error, the keys are video_url, video_alt_url, video_alt_url2, video_alt_url3, ...
Note that there is no video_alt_url1 key. Therefore the regular expression should be r'video_url|video_alt_url\d*'

This is correct here is a test showing so note 480p fails:
With the fix with wrong re:

with the current stable release:

@trassshhub is this the case with all KVS players (The sites you saw?) Maybe add a new test to confirm that 480p videos are detected correctly and downloaded in case the other sites also have one without the number on video_alt_url and video_url? Don't know if that is helpful or not though so maybe not needed.

You can see it in the kvs documentation (and for all the site I saw).
So the issue is not 480p specific, just the second resolution currently not getting parsed.
The current stable release has hardcoded parsing video_url, video_alt_url and video_alt_url2 there for it can extract the second resolution but cannot extract 4th resolution and so on.

I believe my fix should be adequate unless kvs make a significant change in the key naming (which is highly unlikely).
Even if kvs would add back the 1 in the second resolution, it will still work.
The current error is porbabaly just a misinterpretation of my original PR.


Dice City - Basic Game Loop

Basic game server that just uses game logic you've built so far.

[x] Game server

[x] Host a game
[x] Connect to a game (spectate)
[x] Join a game
[ ] Take turns
[x] Automatically trigger pay-out events
[ ] Inform players why they couldn't perform a certain action

[ ] Win if you have all 4 Landmarks
[ ] Tidy up WebSocket code
[ ] Tidy up Redis code

Going to switch keeping track of things to do with // @todo: annotations in files.


Python3 crashing with bytes decodes

Hi.
Well, basicly i want to decode a bytes variable into an unicode one, like uni = by.decode("utf-16"). That works on non-compiled python, but  crashes with .pyd files. But only in python3. If i compile my code and run it in py2, it works as it should.
Also gcc give me this warnings when compile my code for py3 (but they don't appear when compiling for python2):
src\packages\StatChars.c: In function '__pyx_pf_8packages_9StatChars_9StatChars___init__':
src\packages\StatChars.c:1390:87: warning: passing argument 6 of '__Pyx_decode_bytes' from incompatible pointer type [-Wincompatible-pointer-types]
     __pyx_t_1 = __Pyx_decode_bytes(__pyx_v_self->type, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error)
                                                                                ^
src\packages\StatChars.c:857:32: note: expected 'PyObject * (*)(const char *, Py_ssize_t,  const char *) {aka struct _object * (*)(const char *, int,  const char *)}' but argument is of type 'PyObject * (*)(const char *, Py_ssize_t,  const char *, int *) {aka struct _object * (*)(const char *, int,  const char *, int *)}'
 static CYTHON_INLINE PyObject* __Pyx_decode_bytes(
                                ^
src\packages\StatChars.c:1419:91: warning: passing argument 6 of '__Pyx_decode_bytes' from incompatible pointer type [-Wincompatible-pointer-types]
     __pyx_t_1 = __Pyx_decode_bytes(__pyx_v_self->textType, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
                                                                                ^
src\packages\StatChars.c:857:32: note: expected 'PyObject * (*)(const char *, Py_ssize_t,  const char *) {aka struct _object * (*)(const char *, int,  const char *)}' but argument is of type 'PyObject * (*)(const char *, Py_ssize_t,  const char *, int *) {aka struct _object * (*)(const char *, int,  const char *, int *)}'
 static CYTHON_INLINE PyObject* __Pyx_decode_bytes(
                                ^
src\packages\StatChars.c:1457:89: warning: passing argument 6 of '__Pyx_decode_bytes' from incompatible pointer type [-Wincompatible-pointer-types]
       __pyx_t_1 = __Pyx_decode_bytes(__pyx_v_self->text, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L6_error)
                                                                                ^
src\packages\StatChars.c:857:32: note: expected 'PyObject * (*)(const char *, Py_ssize_t,  const char *) {aka struct _object * (*)(const char *, int,  const char *)}' but argument is of type 'PyObject * (*)(const char *, Py_ssize_t,  const char *, int *) {aka struct _object * (*)(const char *, int,  const char *, int *)}'
 static CYTHON_INLINE PyObject* __Pyx_decode_bytes(
                                ^
src\packages\StatChars.c: In function '__pyx_f_8packages_9StatChars_9StatChars_getUnicodeList':
src\packages\StatChars.c:1693:85: warning: passing argument 6 of '__Pyx_decode_bytes' from incompatible pointer type [-Wincompatible-pointer-types]
   __pyx_t_1 = __Pyx_decode_bytes(__pyx_v_self->type, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
                                                                                ^
src\packages\StatChars.c:857:32: note: expected 'PyObject * (*)(const char *, Py_ssize_t,  const char *) {aka struct _object * (*)(const char *, int,  const char *)}' but argument is of type 'PyObject * (*)(const char *, Py_ssize_t,  const char *, int *) {aka struct _object * (*)(const char *, int,  const char *, int *)}'
 static CYTHON_INLINE PyObject* __Pyx_decode_bytes(
                                ^
src\packages\StatChars.c:1726:78: warning: passing argument 6 of '__Pyx_decode_bytes' from incompatible pointer type [-Wincompatible-pointer-types]
     __pyx_t_1 = __Pyx_decode_bytes(__pyx_t_2, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error)
                                                                              ^
src\packages\StatChars.c:857:32: note: expected 'PyObject * (*)(const char *, Py_ssize_t,  const char *) {aka struct _object * (*)(const char *, int,  const char *)}' but argument is of type 'PyObject * (*)(const char *, Py_ssize_t,  const char *, int *) {aka struct _object * (*)(const char *, int,  const char *, int *)}'
 static CYTHON_INLINE PyObject* __Pyx_decode_bytes(
                                ^
src\packages\StatChars.c:1754:87: warning: passing argument 6 of '__Pyx_decode_bytes' from incompatible pointer type [-Wincompatible-pointer-types]
     __pyx_t_1 = __Pyx_decode_bytes(__pyx_v_self->text, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error)
                                                                                ^
src\packages\StatChars.c:857:32: note: expected 'PyObject * (*)(const char *, Py_ssize_t,  const char *) {aka struct _object * (*)(const char *, int,  const char *)}' but argument is of type 'PyObject * (*)(const char *, Py_ssize_t,  const char *, int *) {aka struct _object * (*)(const char *, int,  const char *, int *)}'
 static CYTHON_INLINE PyObject* __Pyx_decode_bytes(

Are you using Cython 0.27.1?

Well, this is embarrassing...
I updated cython and now this doesn't make trouble. c: Thanks a lot, i don't know how i didn't tried that.
Other problem i have with cython (i think i should ask this on another issue...), is always getting this warnings when compiling for py3 (they don't appear when compiling for py2):
In file included from C:\Program Files (x86)\Python36-32\include/Python.h:65:0,
                 from src\main.c:4:
C:\Program Files (x86)\Python36-32\include/pytime.h:112:5: warning: 'struct timeval' declared inside parameter list
     _PyTime_round_t round);
     ^
C:\Program Files (x86)\Python36-32\include/pytime.h:112:5: warning: its scope is only this definition or declaration, which is probably not what you want
C:\Program Files (x86)\Python36-32\include/pytime.h:117:5: warning: 'struct timeval' declared inside parameter list
     _PyTime_round_t round);
     ^

although they appear, it seems to not be affecting in any way.

These warnings look more like CPython bugs under Windows. Could you please report them on https://bugs.python.org ?


Beacon chain: process-slots-base1-spec

kprove failed to prove process-slots-base1-spec, outputing the following stuck term, which is clearly bottom:
  ( #Forall x . #Ceil ( DotVar2 x ) )
#And
  #Not ( ( #Forall x . #Ceil ( DotVar2 x ) )
  #And
    #Not ( {
      Slot
    #Equals
      Slot +Int 1
    } ) )
...

To reproduce:
$ git clone git@github.com:runtimeverification/beacon-chain-verification.git
$ git checkout 9ec687a7ab0a7fc8748e4861a6d429aeb58761ea
$ cd dynamic
$ make deps
$ make build-static
$ kprove -d .build/defn/static -m VERIFICATION process-slots-base1-spec.k

related: https://github.com/kframework/k/issues/1157

An in_keys symbol for Map cells was added in kframework/k#1161. We need to:

[ ] Add axioms for in_keys to domains.k.
[ ] Add \ceil axioms for Map to domains.k in terms of in_keys.
[ ] Emit axioms for this symbol in ModuleToKORE.
[ ] Emit \ceil axioms for Map cells in ModuleToKORE.
[ ] Disable and remove the backend's internal \ceil(Map) simplification.

@ana-pantilie We can write the rules for inKeys in this owise style:
rule inKeys(K, K |-> _ M:Map) => true
rule inKeys(K, M:Map) => false [owise]

I think we should cut the scope of the solution to this issue because we have exceeded our appetite for it. Instead of relying on simplification rules defined in the frontend to replace the backend's internal simplifier for Maps, I suggest:

[ ] Merge the open pull request(s?) that define axioms for in_keys.
[ ] Instead of creating a \forall pattern, apply the in_keys symbol for the relevant sort.

The goal here is to get the Beacon Chain project using the Haskell backend again. It would be nice to define all these rules in K, but it's not essential. We can reconsider defining the rules in the frontend after fixing #1630.

@daejunpark I'm trying to reproduce this again, but I can't build the definition. make build-static reports:
pandoc --from markdown --to "../deps/pandoc-tangle/tangle.lua" --metadata=code:".k:not(.dynamic):not(.kast)" dynamic-abstract-beacon-chain.md > .build/defn/static/dynamic-abstract-beacon-chain.k
pandoc --from markdown --to "../deps/pandoc-tangle/tangle.lua" --metadata=code:".k:not(.dynamic):not(.kast)" dynamic-abstract-beacon-chain-syntax.md > .build/defn/static/dynamic-abstract-beacon-chain-syntax.k
/nix/store/gs32hc2hw1sy0sxcv2kvnv5lqh0zqcz6-k-5.0.0-f5226463/bin/kompile --debug --main-module DYNAMIC-ABSTRACT-BEACON-CHAIN --backend haskell             \
                 --syntax-module DYNAMIC-ABSTRACT-BEACON-CHAIN-SYNTAX .build/defn/static/dynamic-abstract-beacon-chain.k \
                 --directory .build/defn/static -I .build/defn/static                         \
                 --emit-json                                                        \

org.kframework.utils.errorsystem.KEMException: [Error] Compiler: Had 1 parsing errors.
        at org.kframework.utils.errorsystem.KEMException.create(KEMException.java:126)
        at org.kframework.utils.errorsystem.KEMException.compilerError(KEMException.java:72)
        at org.kframework.kompile.DefinitionParsing.throwExceptionIfThereAreErrors(DefinitionParsing.java:183)
        at org.kframework.kompile.DefinitionParsing.saveCachesAndReportParsingErrors(DefinitionParsing.java:147)
        at org.kframework.kompile.DefinitionParsing.parseDefinitionAndResolveBubbles(DefinitionParsing.java:176)
        at org.kframework.kompile.Kompile.parseDefinition(Kompile.java:163)
        at org.kframework.kompile.Kompile.run(Kompile.java:131)
        at org.kframework.kompile.KompileFrontEnd.run(KompileFrontEnd.java:70)
        at org.kframework.main.FrontEnd.main(FrontEnd.java:62)
        at org.kframework.main.Main.runApplication(Main.java:118)
        at org.kframework.main.Main.runApplication(Main.java:108)
        at org.kframework.main.Main.main(Main.java:56)
[Error] Inner Parser: Could not find any suitable production for label
totalBalance
        Source(/home/ttuegel/beacon-chain-verification/dynamic/./.build/defn/static/dynamic-abstract-beacon-chain.k)
        Location(225,84,225,96)
make: *** [Makefile:142: .build/defn/static/dynamic-abstract-beacon-chain-kompiled/definition.kore] Error 113

@ttuegel Could you please use the specific commit that I mentioned in the reproduction commands above?
$ git checkout 9ec687a7ab0a7fc8748e4861a6d429aeb58761ea

I have the unparsing error fixed so that the stuck node is now:
; kprove -d .build/defn/static -m VERIFICATION process-slots-base1-spec.k
  #Not ( #Not ( {
      Slot
    #Equals
      Slot +Int 1
    } )
  #And
    {
      false
    #Equals
      <slot>
        Slot +Int 1
      </slot> in_keys ( DotVar2 )
    } )
#And
  <T>
    <k>
      processSlot ( ) ~> processEpoch ( ) ~> processSlots ( TargetSlot )
    </k>
    <currentSlot>
      Slot +Int 1
    </currentSlot>
    <states>
      <state>
        <slot>
          Slot
        </slot>
        <validators>
          Vs
        </validators>
        <slashedBalance>
          SB
        </slashedBalance>
        <attested>
          AttestedMap
        </attested>
        <justified>
          JustifiedMap
        </justified>
        <finalized>
          FinalizedMap
        </finalized>
        <lastBlock>
          ( LastBlockSlot , LastBlockID )
        </lastBlock>
        <lastJustified>
          LastJustifiedEpoch
        </lastJustified>
        <lastFinalized>
          LastFinalizedEpoch
        </lastFinalized>
      </state> <state>
        <slot>
          Slot +Int 1
        </slot>
        <validators>
          Vs
        </validators>
        <slashedBalance>
          SB
        </slashedBalance>
        <attested>
          AttestedMap
        </attested>
        <justified>
          JustifiedMap
        </justified>
        <finalized>
          FinalizedMap
        </finalized>
        <lastBlock>
          ( LastBlockSlot , LastBlockID )
        </lastBlock>
        <lastJustified>
          LastJustifiedEpoch
        </lastJustified>
        <lastFinalized>
          LastFinalizedEpoch
        </lastFinalized>
      </state> DotVar2
    </states>
    <blocks>
      DotVar10
    </blocks>
  </T>
#And
  {
    ( Slot +Int 1 ) %Int 4 ==Int 0
  #Equals
    false
  }
#And
  {
    Slot <Int TargetSlot
  #Equals
    true
  }
#And
  {
    false
  #Equals
    <slot>
      Slot
    </slot> in_keys ( DotVar2 )
  }
#And
  {
    true
  #Equals
    LastBlockSlot >=Int 0
  }
#And
  {
    true
  #Equals
    LastFinalizedEpoch >=Int 0
  }
#And
  {
    true
  #Equals
    LastJustifiedEpoch >=Int 0
  }
#And
  {
    true
  #Equals
    Slot +Int 1 ==Int TargetSlot
  }
#And
  {
    true
  #Equals
    Slot >=Int 0
  }
#And
  {
    true
  #Equals
    isValidators ( Vs )
  }

This configuration is also \bottom, but in a more subtle way. Look at this condition:
  #Not ( #Not ( {
      Slot
    #Equals
      Slot +Int 1
    } )
  #And
    {
      false
    #Equals
      <slot>
        Slot +Int 1
      </slot> in_keys ( DotVar2 )
    } )
#And
  ...

In particular, this appears negated:
{
    false
  #Equals
    <slot>
      Slot +Int 1
    </slot> in_keys ( DotVar2 )
}

If that condition does not hold, then the configuration is \bottom because <state><slot>Slot +Int 1</slot> ...</state> DotVar2 appears. Therefore, we need to address #1103 to continue.

With #1757 merged, here is what remains:

[ ] Add a built-in simplifier for \equals(false, K1 in_keys (K2 |-> _ M:Map)) => \not \equals(K1, K2) \and \equals(false, K1 in_keys (M:Map))
[ ] Disable and remove the built-in \ceil(concatMap) simplifier.

The pull request which closed this issue only fixes the unparsing bug which masked the real bug. We must also check, before reporting a "stuck" state, that the state is defined.

This would be fixed by fixing #1412.

Note for reference: proper rules for #Ceil(#buf) depend on this issue.

I am re-opening this issue due to this comment

The comment above actually exposes #2021.


Use SIMD for UTF-8 to UTF-32 conversion

And maybe also u8-to-u16.
Get inspired by https://github.com/BobSteagall/utf_utils/blob/master/src/utf_utils.cpp#L1126 to see how he has been doing that.
Non-supported platforms should automatically fall back to the classical algorithm.
Then test if (and if: then how much) the performance gain will be on contour throughout benchmarks.

Just for a record: benchmarks are in my ToDos (using very nice https://github.com/martinus/nanobench).


Future release v0.13.3

I already have a list of task in mind for the next, next release.
Internal

[ ] remove every prefix like display: '-webkit-box; display: -moz... the autoprefixer fix that we merged is supposed to handle this correctly.
[ ] improve the eslint rule enforcement, especially those to prevent potential error.

inline-style-prefixer dependency makes a problem after updating 0.13.3.
Occurs TypeError: Cannot read property 'CSS' of undefined at new Prefixer inline-style-prefixer/lib/Prefixer.js:43:46

I edited it and works correctly.

Where can I solve it? Do I have to report it inline-style-prefixer repository?

@Beingbook You should report this to the inline-style-prefixer repository. The latest release is v0.13.2 and not v0.13.3.

I think this problem only happens if navigator.userAgent isn't set. see https://github.com/callemall/material-ui/pull/2007

This is linked to https://github.com/callemall/material-ui/issues/2119

@oliviertassinari  Don't we already use warning?

Not everywhere (the goal is to then enforce the no-console linting rule)

@oliviertassinari :+1: for the no-console

Can anyone give me a link to the post announcing valueLink is going to be deprecated by React? I searched it both on the web and in React's github issues but couldn't find any.

@zachguo Sure, https://github.com/facebook/react/issues/2302.

Add: finish the migration of the examples to the new layout.

Change the default value of firstDayOfWeek from 0 to 1

@oliviertassinari Shouldn't by standard Monday be 0? @mbrookes I'm no expert on the standard. Is defaulting to 1 against the standard?

@alitaheri I'm not sure to follow you point. We have 0=Sunday and 1=Monday. Do you want to change it to 0=Monday?

What I mean is, if by standard the start of the week is Monday, then it's more convenient to start COUNTING from Monday too. in other words it will be like: 6=Sunday and 0=Monday and so on. with default still being 0. instead of changing the default to 1 we rotate the days the numbers correspond to. So the standard is respected in every aspect.

instead of changing the default to 1 we rotate the days the numbers correspond to.

That makes sens :+1:.

I thought the same, which is why I raised the question of the default in the PR, since changing the numbering in a future release could have more impact than just changing the default.
However, Date.prototype.getDay() has Sunday=0, so at least it's consistent with that.

Let's move the conversation here https://github.com/callemall/material-ui/issues/2980.


Produce metrics to show which labels are being classified correctly and which aren't, and how they're being misclassified.

Perhaps doing multiple confusion matrices would give this information?
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.multilabel_confusion_matrix.html

Preliminary analysis at this point (MAG and MeSH labels are correctly being considered):

It seems that labels with more occurrences in the training data are classified correctly more often (or at least, frequency correlates positively with precision and recall), although there's a lot of noise because our dataset lacks many examples for most labels.

Thanks @elkong . Can you generate something like this too if you think it will give us more information to improve the labeller? https://stackoverflow.com/questions/48872738/understanding-multi-label-classifier-using-confusion-matrix

@bruffridge Okay, I do have a plot like this! First, some background: my previous attempts two weeks ago with scikit-learn's multilabel confusion matrix function, the one you linked in the top level comment, didn't give very much cross-label information, because it turns out it "binarizes multiclass data under a one-versus-rest transformation", i.e., it stops paying attention to which labels are being misclassified as which other labels, and treats all labels as independent. In effect, it gave me 131 2x2 matrices, one for each label, like this:
CONFUSION MATRIX FORMAT:
[[true_negatives  false_negatives]
 [false_positives true_positives ]]
regulate_reproduction_or_growth
[[92  1]
 [ 7  0]]
capture_energy
[[99  0]
 [ 1  0]]
chemically_assemble_organic_compounds
[[92  2]
 [ 6  0]]
attach
[[79 13]
 [ 8  0]]
sense_send_or_process_information
[[66 13]
 [20  1]]
prevent_fracture/rupture
[[96  1]
 [ 2  1]]

So today I went and calculated the 131-by-131 matrix without using that. Here's a link to the my confusion matrix, plotted (I hope it works):

In this confusion matrix we plot the average probability of predicting a predicted label based on what ground truth label is present in the test set. Bright spots indicate probabilities closer to 1, and darker spots indicate probabilities closer to 0.
The (slight) diagonal bright streak indicates the probability of assigning a predicted label to the a paper with that same ground truth label. Observe that some parent-label ("Level I") columns (e.g., move and sense_send_or_process_information) have lots of bright spots down the column. This is expected, as all of their leaf labels should correctly have their parent labels also predicted in their papers.
Because there are 131 labels in this matrix, it is a very big diagram, and it's also very unwieldy. Future work in confusion matrix visualization may focus on a subset of such labels (perhaps the most common ones).

@elkong Very nice! Can you only show leaf labels, since that's really all we want our labeller to target.

@bruffridge yes! I have some further analysis in this vein (which I also shared at our meeting):
If you sort the labels by the frequency by which they appear in my training subset, you get this (the more frequent labels occur at the left and at the top):

If you filter out all the non-leaf labels so all you have are leaf labels, you get this:

A close-up of the top 20 leaf labels is here:

Do note that I have not dropped any labels at the training stage, so all of these plots come from the same training/evaluation results. The filtering came at the plotting stage -- the last two plots are just filtered versions of the first plot.


Naming Consistency Fixes

Fixed naming inconsistencies of the "Delayed Alapin Variation", "Benoni Defense: Classical Variation", and the "Queen's Indian Defense: Fianchetto, Traditional Line"

Cherry-picked the clear fixes and opened #127.


DO NOT MERGE! Fast Forward stable to 4958f8b843ca6eb516dcadb37e925162cbde26b2.

This PR will be merged automatically once checks are successful.

This change is

Jenkins job mixer/postsubmit passed


[HOLD for payment 2022-11-02] [$250] Bug: In Request Call Page, space(' ‘) is considered as valid First name and Last name reported by @sobitneupane

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

Action Performed:

Click on :telephone_receiver: symbol from Concierge chat.
Enter space (’ ’) as First name and Last name.

Expected Result:
Error should be shown requesting user to enter valid name
Actual Result:
No error message displayed and user is able to request call.
Workaround:
unknown
Platform:

Where is this issue occurring?

Web

Version Number: 1.2.12-2
Reproducible in staging?: y
Reproducible in production?: y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

https://user-images.githubusercontent.com/43996225/194933268-8f39cccb-66d9-4e32-b5dd-5ec316ff16af.mp4
Expensify/Expensify Issue URL:
Issue reported by: @sobitneupane
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1665415051145589
View all open jobs on GitHub

Proposal
Use trim like below
values.firstName.trim()

https://github.com/Expensify/App/blob/dfb5bca05a5b12e62ec86520819fd5a4ac66e405/src/pages/RequestCallPage.js#L216
https://github.com/Expensify/App/blob/dfb5bca05a5b12e62ec86520819fd5a4ac66e405/src/pages/RequestCallPage.js#L220

Jumping in to test this one first, then I'll make it available via Upwork. Thanks for already jumping on a proposal!

Ok so I can reproduce that, but I vaguely remember that this was a purposeful design decision. I looked at the linked Slack thread where this was reported and I wasn't able to find any further context. @trjExpensify Can you clarify if this was a purposeful change?

Not at all. That's a bug! We need a name so the Guides know who to ask for.

Ok cool! Moving this through the process.

Hi, We can fix this easily. We will apply regex for validation and that will solve the issue. Kindly let us proceed with the changes to be done and you'll not be disappointed.

I like @Puneet-here's proposal. trim method will do the job.
C+ reviewed 🎀👀🎀
cc: @MonilBhavsar

@idawoodhashmi, thanks for showing interest but you have to propose a solution with the code changes that you will make. You can check other proposal on this issue to understand the process. Feel free to post proposals on other issues.
You can also checkout CONTRIBUTING.md, if you haven't already.

I like @Puneet-here's https://github.com/Expensify/App/issues/11709#issuecomment-1273699772. trim method will do the job.

Looks good to me too 👍

Awesome! @Puneet-here @thesahindia upwork job is here: https://www.upwork.com/jobs/~011d1ecd1dde653fb3. Please apply.

@thesahindia is hired and I've just invited @Puneet-here. The linked PR is merged and on staging, at which point the regression period will begin before payment is issued.

No regressions at this point so tomorrow I'll circle back on payment.

@thesahindia has been paid out. @Puneet-here has been hired. @sobitneupane please make sure to add yourself to the Upwork posting as well for the reporting bonus.

@JmillsExpensify Applied for the job.

Thanks offer sent!

Thanks offer sent!

Offer Accepted.

Thanks paid out! Now we're down to @Puneet-here.

I have accepted the offer, thanks!

Everyone should be paid out now. Thank you!


Extract posterior distribution information

How would we extract the posterior distribution information from a theano.tensor.var.TensorVariable to numpy arrays?
Current method makes it hard to utilize this information to be part of a bigger code where you might want to use the posterior distribution (or say just the mean and HPD bounds?).

@akgopan the you would want to use the posterior trace object, which contain draws from the posterior. I have done this by using draws from the posterior in agent-based simulations at work.


Create a Spring boot controller implementation of the boiler plate code

For someone who uses springboot for developing API's i had to convert the HttpServlet boiler plate to a spring controller code.
A lot of developers use springboot and would just want to add the webhook as a controller method in their already built API.
I have created a simple controller implementation and want to add it to the boiler plate on approval.

Hi @imohchard,
Thank you for the suggestion. I agree that a Spring Boot example would be beneficial for other developers.
If you wish to submit a PR with these updates, I would be happy to review it.
Best,


Update to 1309.ve21874387edf claims "Unreadable Data": "CannotResolveClassException: lockedResources"

Jenkins and plugins versions report

Environment

Paste the output here

What Operating System are you using (both controller, and any agents involved in the problem)?
OpenIndiana, JDK21
Reproduction steps
Had LR installed since forever, regularly updated, many builds running and historic data retained.
Updated to current release 1309.ve21874387edf after 1301.v0e3b_da_4b_4462 installed a few days ago, and today I saw the "Unreadable Data" warnings. I think they were not present with the previous Jenkins uptime (it would take some time to wait until this instance is quiet to roll back the plugin and double-check), so if this really is a very new regression, gotta be fallout of PR #673 with a lot of wonderful changes, including renamed/removed API calls etc.
The lockedResources in question may be the list and count of resources used by a build and saved into its build.xml file (IIRC this feature got added during the past year or so?):
    <org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction<EMAIL_ADDRESS>      <lockedResources>
        <org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-ResourcePOJO>
          <name>dynamatrix-stash:nut-ci-src:jenkins-nut-nut-PR-2480-15</name>
          <description></description>
          <count>224</count>
        </org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-ResourcePOJO>
        <org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-ResourcePOJO>
          <name>gitcache-dynamatrix:ci-oi</name>
          <description></description>
          <count>15</count>
        </org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-ResourcePOJO>
...
        <org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-ResourcePOJO>
          <name>gitcache-dynamatrix:ci-bsd</name>
          <description></description>
          <count>8</count>
        </org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-ResourcePOJO>
      </lockedResources>
    </org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction>

In $BUILD_URL/locked-resources/ pages there is now a table which only displays "Loading - please wait ..." for older builds.
NOTE: Information is displayed for builds that happened after the update (more thoughts on this below). The new structure in build.xml indeed relies on different class logs to contain the differently structured entries:
    <org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction<EMAIL_ADDRESS>      <logs>
        <org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-LogEntry>
          <step>try</step>
          <action>Resource: dynamatrix-stash:nut-ci-src:jenkins-nut-nut-PR-2629-3</action>
          <resourceName>dynamatrix-stash:nut-ci-src:jenkins-nut-nut-PR-2629-3</resourceName>
          <timeStamp>1726647049346</timeStamp>
        </org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-LogEntry>
        <org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-LogEntry>
          <step>acquired</step>
          <action>Resource: dynamatrix-stash:nut-ci-src:jenkins-nut-nut-PR-2629-3</action>
          <resourceName>dynamatrix-stash:nut-ci-src:jenkins-nut-nut-PR-2629-3</resourceName>
          <timeStamp>1726647049350</timeStamp>
        </org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-LogEntry>
...
        <org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-LogEntry>
          <step>released</step>
          <action>Resource: dynamatrix-stash:nut-ci-src:jenkins-nut-nut-PR-2629-3</action>
          <resourceName>dynamatrix-stash:nut-ci-src:jenkins-nut-nut-PR-2629-3</resourceName>
          <timeStamp>1726695088424</timeStamp>
        </org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-LogEntry>
        <org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-LogEntry>
          <step>released</step>
          <action>Resource: gitcache-dynamatrix:fhnutci-bsd</action>
          <resourceName>gitcache-dynamatrix:fhnutci-bsd</resourceName>
          <timeStamp>1726695242740</timeStamp>
        </org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction_-LogEntry>
      </logs>
      <resourcesInUse/>
    </org.jenkins.plugins.lockableresources.actions.LockedResourcesBuildAction>

Expected Results
Usage data should be still available to be seen. Maybe converted to a new structure if needed, as many plugins do to handle upgrades after large refactoring, but still usable.
UPDATE: Comparing the new build.xml logs to the old ones, I see the new ones auditing each operation like try to lock, acquired, released - yielding over 1500 detailed entries in the new build vs. 14 summaries in the old one (how many times a certain lock name was held). I think they both have different valuability for troubleshooting, optimization (what is a hot spot?) etc. so I'd rather add having such a summary page into the Expected Results bucket. Should not be hard to calculate the resulting Map from detailed audit info...
Actual Results
Warnings are issued. Data about resources used by an older build is not displayed.
Suspected PR #673 description does not seem to imply that such behavior change could be intentional.
Anything else?
No response
Are you interested in contributing a fix?
No response

For test, rolled back to LR 1301 on that Jenkins instance, now predictably new builds' info is "Unreadable data" (CannotResolveClassException: logs, CannotResolveClassException: resourcesInUse), but the old builds show their LR usage (summary) again.
So this pretty much proves PR #673 is responsible for this mishap as the only change between the two.
Maintenance-wise, good point in favor of making single-change releases to dissect the behavior changes easily :)


Full support for multi-height shear in UI

Currently it is not possible to add new shear heights via the UI (only to edit values for existing heights).

UI should be similar as for adding REWS levels

This has been done already.


Added user ambrozic

Couple of things to get the tests passing:

Your username should be gregorambrozic (first name and last name)
Your SSH key needs to be at least 4096 bits

@rubenarakelyan thanks for review. pull request updated.

You'll also need to rename the .pp file name to match your username :)

ah. fixed.

Hi @ambrozic! 👋

Can you submit this from alphagov instead of a fork? Ask your Tech Lead to give you access

Hey @boffbowsh :)
I will submit from upstream as soon as i get access. Its already in process and it should happen soon.

I've added you now Gregor

thanks @boffbowsh , ill create new PR from upstream.


Allow data-modelers to define a global export template to be added to all tables

We need a way to be able to add a global template to all the tables whether they already have export annotation or not.
For example, we might want to define a specific export template that uses a special postprocess on all the tables:
"tag:isrd.isi.edu,2019:export": {
  "*": {
    "templates": [
      {
        "displayname": "BDBag to WholeTale",
        "type": "BAG",
        "postprocessors": [...]
      }
    ]
  }
}

NOTE: if you write an export template this way (without the outputs property), ERMrestJS will populate the outputs using the heuristics that we have.

Currently data-modelers can define export annotation on both table and schema level. But the schema level templates are only ever going to be used if the table doesn't have any export annotation. If we were to change this behavior and instead "merge" the templates, then we can support this feature without any new annotation/property.
What I mean is that if you define an annotation like above on a schema, then for a table without any export annotation we will only offer the "BDBag to WholeTale" option. And for a table with the following annotation,
  {
     "tag:isrd.isi.edu,2019:export": {
       "*": {
         "templates": [
           {
             "displayname": "Table Template 1",
             "type": "BAG",
             "outputs": [...]
           },
           {
             "displayname": "Table Template 2",
             "type": "BAG",
             "outputs": [...]
           }
         ]
      }
   }

We will offer "BDBag to WholeTale", "Table Template 1", and "Table Template 2".

If we were to make this change, we need to think about the following as well:

Should we also consider supporting export annotation on catalog?

What if you want to skip addition of the schema templates to a table? What if data-modelers don't want this behavior for all the tables?

Should we allow table-level templates to refer to the schema-level templates so they can reorder or modify them?
 To achieve this, we can add a key property to schema-level templates that can be used to refer to these templates while writing table-level templates.
// on schema:
{
  "tag:isrd.isi.edu,2019:export": {
    "*": {
      "templates": [
        {
          "key": "template_01",
          "displayname": "Some template",
          "type": "BAG",
          "postprocessors": [...]
        },
        {
          "key": "template_02",
          "displayname": "Another template",
          "type": "BAG",
          "postprocessors": [...]
        }
      ]
   }
}

// on table:
{
  "tag:isrd.isi.edu,2019:export": {
    "*": {
      "templates": [
        {
          "displayname": "New template",
          "type": "BAG",
          "outputs": [...]
        },
        {
          "parent_key": "template_02",
          "displayname": "Modified template 02",
          "type": "BAG",
          "outputs": [...]
        },
        {
          "parent_key": "template_01",
          "displayname": "Modified template 01",
          "type": "BAG",
          "outputs": [...]
        }
      ]
   }
}

P.S. This came up before in #771 as well.

There was a conversation regarding this feature request in slack that I will try to summarize in the following.

The current use case is to have postprocessors run for every bag export, whether its a heuristic-based one or an explicitly annotated template. We want to set the annotation at schema level and have it merged into any template that does not already have the equivalent child elements present in the template.

 As it was suggested in the previous comment, this can be done by defining the export annotation on schema:
{
  "tag:isrd.isi.edu,2019:export": {
    "*": {
      "templates": [
        {
          "displayname": "BDBag to WholeTale",
          "type": "BAG",
          "postprocessors": [
            {
              "processor": "cloud_upload",
              "processor_params": {
                "target_url": "s3://tutorial-sandbox.derivacloud.org/export",
                "acl": "public-read"
              }
            },
            {
              "processor": "identifier",
              "processor_params": {
                "test": "True"
              }
            }
          ]
        }
      ]
    }
  }
}

In the current case, apart from the template with specific postprocessors, we also want record page to keep adding the default BAG export template.

 This can be achieved by explicitly adding an BAG template without any outputs just for the `detailed` context. But it requires duplicating the other template.
{
  "tag:isrd.isi.edu,2019:export": {
    "detailed": {
      "templates": [
        {
          "displayname": "BDBag",
          "type": "BAG"
        },
        {
          "displayname": "BDBag to WholeTale",
          "type": "BAG",
          "postprocessors": [
            {
              "processor": "cloud_upload",
              "processor_params": {
                "target_url": "s3://tutorial-sandbox.derivacloud.org/export",
                "acl": "public-read"
              }
            },
            {
              "processor": "identifier",
              "processor_params": {
                "test": "True"
              }
            }
          ]
        }
      ]
    },
    "*": {
      "templates": [
        {
          "displayname": "BDBag to WholeTale",
          "type": "BAG",
          "postprocessors": [
            {
              "processor": "cloud_upload",
              "processor_params": {
                "target_url": "s3://tutorial-sandbox.derivacloud.org/export",
                "acl": "public-read"
              }
            },
            {
              "processor": "identifier",
              "processor_params": {
                "test": "True"
              }
            }
          ]
        }
      ]
    }
  }
}

It is not just the postprocessor template attribute that would be useful for merging, but also transforms, public, and bag_archiver.

Karl's concerns: Shouldn't this be more explicit like declaring the permuting rule(s) that would include the N cases (2 in current example, w/ and w/o the post-processing)? The hard part about this, in my mind, would be preserving a way to override so that a customized table annotation could say "suppress that global thing, because it makes no sense here". Also whether the rules need other matching criteria, like only apply this for BAG or CSV, or things I haven't even anticipated yet.

Mike's suggestion:

The intention here was to keep it as simple as possible. Where any overridable element already existed downstream in the inheritance chain, it would not be overridden. Also, it isn't some kind of deep nested merge, it is a swap/overwrite of top level attributes in the template structure - of which, there are only a handful that are really relevant I think.
Regarding suppression: It seems to me a simple flag that indicates no inheritance should be done would be sufficient. If it really needed to be more future proof, I suppose it could be a list of attribute names that are either allowed/disallowed. Or, conversely, the default could just be no-inherit, and you have to opt-in. That probably makes more sense.


Exposure Samples Might Not Go Back to Zero

Expected Behavior

Futures contracts automatically delist at expiry
Actual Behavior

The following algorithm maintains Futures exposure long after the contracts should have expired.

Potential Solution

N/A
Reproducing the Problem

https://www.quantconnect.com/terminal/processCache?request=embedded_backtest_76290f597a03506e9231c8b10b83eba2.html
System Information

QC Cloud
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

[x] I have provided detailed steps to reproduce the issue

SampleExposure uses Algorithm.Portfolio.Values which is filtering out removed assets because it enumerates SecurityManager underneath -> we should make sure we sample back to zero for each security type if there no longer is any holding for that type

Initially, we thought the reason behind the bug was because SampleExposure used Algorithm.Portfolio.Values which was filtering out the expired futures. Thus, when the future was removed, the Future exposure remained with the last value computed, not going back to zero. However, after debugging the algo reproducing the issue, we found that this idea wasn't true as the Future exposure plot keeps receiving points different from zero even after the future has expired. Indeed, in the plot shared by Derek, Future exposure has the same value from nearly October 2 2012 until 2024.
In contrast, while debugging that algo we found that some futures were not being delisted after expiring, so they were not removed from Algorithm.Securities and we kept receiving their holdings in SampleExposure and thus the Future exposure plot kept receiving new points. Furthermore, while reviewing the logs from the algo ran in the cloud, we confirmed no delisting event was in the logs.
Therefore, we looked into to find why this was happening and we found that the COMEX Gold Futures were not being delisted as in their configuration isInternalFeed was set to true instead of false, thus when the timeSlice with the Delisted object was created in SubscriptionSynchronizer, the slice didn't have any data. Therefore, the delisting object was never processed.


Doc: add tupleAsync docs

https://github.com/fabian-hiller/valibot/issues/287

Sorry, I mistakenly wrote 'union' for 'tuple' in PR and branch name🙏

Great work with this PR! Thanks a lot for your contribution! 🙏