add react-dom as peer depency

TODO:

[ ] If this PR is a new feature, reference an issue where a consensus about the design was reached (not necessary for small changes)
[ ] Make sure all of the significant new logic is covered by tests
[ ] Rebase your changes on master so that they can be merged easily
[ ] Make sure all tests and linter rules pass
[x] Update CHANGELOG.md with your change
[ ] If this was a change that affects the external API, update the docs and post a link to the PR in the discussion

@koenpunt if I'm not mistaken people could use react-apollo anywhere they like, not only in the browser, so I'm not sure why we should add react-dom as a peer dependency?

since React 15.4 react-dom is no longer "secretly" included.
ref: https://github.com/facebook/react/releases/tag/v15.4.0

And since react-dom/server is required from server.ts, this causes errors.

Ah, I did not see that, thanks!
Can you sign the CLA?

What will this PR mean for using react-apollo in React Native? Will you need to install react-dom as a dependency to prevent NPM from complaining?

What will this PR mean for using react-apollo in React Native?

I am using react-apollo with React Native, and building fails without adding react-dom as a dependency due to the before mentioned require

Having to install react-dom as a dependency when using React Native isn't good though.

@migueloller don't you effectively already have to do that now if you use SSR? Or is SSR not a thing in react-native?
Since we only use renderToString, we could potentially use a pared down react-dom package if such a thing exists.

@helfer,
SSR is not a thing in React Native. The React team keeps the core React library separate from the different renderers (native, DOM/SSR, ART, etc.) so it might make sense to separate DOM/SSR logic from Apollo into a different package.
Perhaps there could be a pared down renderToString out there somewhere that doesn't include all of the shadow DOM diffing logic that ReactDOM.render needs and simply traverses the component tree and renders it. I haven't come across it though.

@migueloller we have discussed moving the main logic of this renderer out of this package. For now, I think we should merge this. Up until 15.4 RN builds got react-dom anyway.
I think in a future release we should remove the react-dom integration for a new package or just remove the render to string part. This would also allow this library to potentially be used with react-like renderers (i.e inferno and preact)

@koenpunt could you update the changelog?

@jbaxleyiii done.

@koenpunt sorry this took so long to merge!


Create lazy-style import decorator

What does this PR do?
This PR creates a lazy-esq style import decorator designed to be used with integrations that can optionally be there and require certain imports globally. This further improves on https://github.com/huggingface/accelerate/pull/1959, with a speed difference shown below (tl;dr 45% speedup):
Before change, with all tracking modules available:

After change:

How does it work?
This operates by writing a decorator with the exact module to be imported later. In the same function that is decorated, global {mymodule} should be declared and assigned to accelerate.utils.imports.{mymodule}, where it'll be imported from.
The main con here is we lose static checking, however the argument here is immense speedup and flexibility, while reserving this just for integrations.
Fixes # (issue)
Lays foundation to solve https://github.com/huggingface/accelerate/issues/1952
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.
@BenjaminBossan @SunMarc

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Make mysql cron adjustable from settings

Description
After switching to mysql(mariadb) I noticed frequently while adding alias, that the database was locked. It looks like this is caused by a cron job refreshing alias every 30 minutes if a refresh is required (I'm playing with the aliases, so it is). My database is reasonably sized (200k messages?) and runs on limited hardware (Raspberry PI 3).
I considered just adjusting the cron to not refresh as often, but I decided to just add the cron job interval settings into the Settings Template instead.
Note: Probably a better way to do this. Also considered using prettyCron to display human readable translation of cron, but decided to just link cron doc instead and label it advanced

Fixes # cron job interval cannot be adjusted easily by admins
Type of change

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Added to my current server instance

side note, why does this cron exist for mysql only? something i'm missing?

side note, why does this cron exist for mysql only? something i'm missing?

It was a workaround for the poor alias refresh time that only seems to become a real problem when you get to the scale where you need mysql anyway, iirc. I don't think there was ever a reason not to use it on sqlite from my vague memory, just that there wasn't a driver for it at the time.

It was a workaround for the poor alias refresh time that only seems to become a real problem when you get to the scale where you need mysql anyway, iirc. I don't think there was ever a reason not to use it on sqlite from my vague memory, just that there wasn't a driver for it at the time.

MySQL Blocks updates to the capcode table while the refresh is running, preventing additions of capcodes. SQLite locks out the entire UI.
There is a few PR's and Issues with the thought processes in them i think.

Makes sense. I assumed it was there for a reason. And yeah sqlite locking out the UI was the primary reason i moved to mariadb. well, that and the large db size

@marshyonline sorry github is actually fairly foreign to me i don't fully understand the commit/review process yet. i just realised i can request a review of the change i made to fix the default cron back to twice per hour

lgtm, thanks!

wonderful!
I still don't understand github. PR's are fairly new to me. I feel like it wants me to click something somewhere..

I still don't understand github. PR's are fairly new to me. I feel like it wants me to click something somewhere..

it's just waiting on marshy's review then we can merge :)

I still don't understand github. PR's are fairly new to me. I feel like it wants me to click something somewhere..

it's just waiting on marshy's review then we can merge :)

ah, awesome that's cool I just didn't know if i did it right haha

@geelongmicrosoldering
I fixed this one up, Added a node module to validate cron strings in app.js.
I also removed the "required" from the settings field as it would prevent users saving other settings until the default is pasted in.

@geelongmicrosoldering
I fixed this one up, Added a node module to validate cron strings in app.js.
I also removed the "required" from the settings field as it would prevent users saving other settings until the default is pasted in.

Hey, thanks! I'm on my phone but looks good!

@marshyonline @davidmckenzie if one of you 2 could look this one over. since i've now monkeyed with the code 🤣

@marshyonline @davidmckenzie if one of you 2 could look this one over. since i've now monkeyed with the code 🤣

Actually worth querying, does null/empty/undefined validate with that validator?
If not you can probably remove my fallback line above because validating will revert the falsy value to default in your validation check anyway.

@DanrwAU Ah looks like that won't validate
cron.isValidCron('* * * * * *', { seconds: true });
If you pass Cron with seconds but don't tell the validator there's seconds it returns false according to docs

@DanrwAU Ah looks like that won't validate
cron.isValidCron('* * * * * *', { seconds: true });
If you pass Cron with seconds but don't tell the validator there's seconds it returns false according to docs

Anyone giving it settings deserves it to fail.
🤣  i'll leave it up to the group, but for this usecase i can't think of a single reason anyone would ever want to use seconds. Infact it may actually be detrimental as you could end up in a loop where it is running continuously if you set it too short?

@DanrwAU Ah looks like that won't validate
cron.isValidCron('* * * * * *', { seconds: true });
If you pass Cron with seconds but don't tell the validator there's seconds it returns false according to docs

Anyone giving it settings deserves it to fail.
i'll leave it up to the group, but for this usecase i can't think of a single reason anyone would ever want to use seconds. Infact it may actually be detrimental as you could end up in a loop where it is running continuously if you set it too short?

The default has seconds lol, that was my point haha. "0 5,35 * * * *" is 6 parameters, we were already passing seconds
Translates to every 5m0s, 35m0s. Thats why it starts with 0, otherwise it would occur every second on the 5th and 35th minute

@DanrwAU Ah looks like that won't validate
cron.isValidCron('* * * * * *', { seconds: true });
If you pass Cron with seconds but don't tell the validator there's seconds it returns false according to docs

Anyone giving it settings deserves it to fail.
i'll leave it up to the group, but for this usecase i can't think of a single reason anyone would ever want to use seconds. Infact it may actually be detrimental as you could end up in a loop where it is running continuously if you set it too short?

The default has seconds lol, that was my point haha. "0 5,35 * * * *" is 6 parameters, we were already passing seconds
Translates to every 5m0s, 35m0s. Thats why it starts with 0, otherwise it would occur every second on the 5th and 35th minute

Interesting.... it worked when i tested it 😕
I'll take a look when i get a sec

fwiw, here's a thread re validation on the particular module we use: https://github.com/kelektiv/node-cron/issues/419

Sorry guys, I've had heaps on and totally temporarily abandoned this 8 months ago.
What was pending that i needed to fix?
@marshyonline @davidmckenzie

FWIW, can confirm that adding  { seconds: true } to cron validator, the behaviour is now as expected. before then, the custom cron was ignored because it didn't validate, so the default 5,35 was used instead.
Server now happy

Ping for re-review plz


Aurora forcast during day

Conditions: Raspi4 B, Bullseye, Camera RPiHQ
config.js (HomePage) --> auroraForecast: false
config.sh (allsky): DAYTIME_CAPTURE="false"
Every day after sunrise, my AllskyHomePage shows still the auroraForecast till to sunset. I'm not interrested to see this in our degrees of latitude. Hase this to be so or is it a bug?
In the time between sunris/sunset and nightview, the picture "Camera is off during the day" is visible, what i basically expect for the whole day.
merry X-mas to everyone

@Pedritoprint would you please look in /var/log/lighttpd/error.log to see what it contains?
If it has some entries, run sudo truncate -s 0 /var/log/lighttpd/error.log then refresh your browser page and see if there are any new entries in the log file.

I found only this entry
2021-12-19 00:00:24: server.c.1787) logfiles cycled UID = 0 PID = 27676
and after "error-clean" and restart the HomePage, there is no entry but still the aurora forecast during the day.

@Pedritoprint In config.sh, what is your POST_END_OF_NIGHT_DATA set to?
During the day when it's showing the aurora forecast, what happens if you refresh your browser window?

config.sh: POST_END_OF_NIGHT_DATA="true"
by refreshing the browser, there is always the aurora forecast visible. Also if i press SHIFT and refresh.

@Pedritoprint would you please attach your config.sh, /etc/raspap/settings_ZWO.json, and /var/www/html/allsky/config.js files?

Here my files
config.js.txt
config.sh.txt
settings_ZWO.json.txt
:

@Pedritoprint I asked for the incorrect settings file.  Would you please attach the /etc/raspap/settings_RPiHQ.json file?
In summary, the issue is that the aurora forecast shows only during the day if you started allsky at night?  Is that correct?
If you start allsky tonight, it won't show the aurora forecast until morning, and it will then show it until nighttime, when it will turn off?  And then it will come back on during at daytime?

OK, here the correct file.
settings_RPiHQ.json.txt
And defenitively, if i power-up the camara during daytime, the correct picture will be shown on website but as soon the camera is on during night, then after "Angel"-Value, the picture on website is korrect till sunrise (Camera is off during the day). Afterwards, on the web-UI, still correct picture but on website, the aurora forecast is visible.
regards, Peter [CH]

@Pedritoprint Thanks.  Would you please post the data.json file?  It should be in allsky/tmp.

Here the next file.
data.json.txt
regards Peter

@Pedritoprint   My bad for taking almost a month to reply.  Very sorry about that.
There's a newer "controller.js" file in allsky-website.  It should improve the situation, but may not completely fix it.  I'm working on an improved version but need more testing.
Please also grab the updated "scripts/postData.sh" file in allsky.  It adds the sunrise time to data.json so the website can better determine if it's daytime or nighttime.  You need both files.
If the new version does NOT fix the problem, please press F12 in the browser when it shows the aurora image, then on the right side click on "Console" (may need to first click on ">>") and let me know what the console output is.  There should be a line about reading the data.json file and some other info.

@Pedritoprint   Any update?  Did the newer controller.js file and scripts/postData.sh file help?

@Pedritoprint   Any update?

Closing Issue.  No response in over 3 months despite two attempts.


Automatic Polling SVM on aggregate volumes deployment

Trident is not automatically getting information from SVM on which aggregate volumes has to be deployed. Pod must manually be restarted to get the new aggr-list information from the SVM. Please implement an automatic polling from this data.
If it helps you prioritise this request, you can add Bank Julius Baer & Co. Ltd. as a company which needs this urgently for the upcoming lifecycle next year.

This issue is also being requested by Cisco IT.  Are there any plans to address this one?


#414 (Reserve PID in submission)

resolves #414
Start a submission and save it. In resume step there is new button "Obtain a PID before submission".
If you've entered at least the Title you now see that the refbox has appeared and shows a pid.
We could complicate the flow bit more by allowing users to enter at least part of the PID, but I haven't seen much requests for that + it would mean adding more structure to the PIDs which should be opaque.
(or we could make it easier and just reserve the handle on save...)

discussed this with @stranak the result is create handle on save (no extra button) but make it so it can be disabled

this introduces a new property lr.lr.handle.register.on.save

The final version reserves the pid after select collection step. The pid is displayed in the heading of each step.
New configuration variable lr.reserve.pid.on.start #482

Not working with when we create a new version of submission


Can we read keys with prefix by HTTP API?

Hi there,
As we know, we can read all the values of keys with prefix by gRPC API like this:
./etcdctl get tglog --prefix
tglog
tglogvalue
tglog/qmfjdz
{["<IP_ADDRESS>:3600","<IP_ADDRESS>:3600"]}
tglog/wzry
{"port":3600,"heartbeatport":3601,"ips":["<IP_ADDRESS>","<IP_ADDRESS>"]}
I wonder if we can do this by HTTP API? It seems we can read  just one value once according to the Docs, it is that right?

We have grpc-gateway for HTTP + JSON endpoints.
https://github.com/coreos/etcd/blob/master/Documentation/dev-guide/api_grpc_gateway.md

Hi gyuho,
Thank you for your replying. I'm afraid I didn't give my requirements clearly, My requirement is to read all the values of keys that with prefix "tglog" by one HTTP API call, the example in https://github.com/coreos/etcd/blob/master/Documentation/dev-guide/api_grpc_gateway.md read just ONE value, and my question is how can I put "--prefix" option to JSON as we do that in gRPC client.
It seems I can add a field name range_end to the JSON according to https://github.com/coreos/etcd/blob/master/Documentation/dev-guide/api_reference_v3.md, then I try

curl -L http://localhost:2379/v3alpha/kv/range -X POST -d '{"key": "dGdsb2c=", "range_end":"dGdsb2g="}'
where "dGdsb2g=" is the base64 encoded value of "tgloh"(tgloh==tglog+1), it works, so I think it is better to add an example of reading values of keys with prefix like my case to https://github.com/coreos/etcd/blob/master/Documentation/dev-guide/api_grpc_gateway.md, because when we use etcd to handle service discovery cases, we usually reading keys with prefix by one API call. I think it will be helpful for those people like me.


Cargo valgrind crashed while running tests.

Thank you for an excellent tool!
As I was running this on our integration tests I experienced a crash with the following message:
cargo-valgrind: version 2.0.3
XML format mismatch between `valgrind` and `cargo valgrind`: custom: duplicate field `stack`
XML output of valgrind:
```xml
<?xml version="1.0"?>

<valgrindoutput>

<protocolversion>4</protocolversion>
<protocoltool>memcheck</protocoltool>

<preamble>
  <line>Memcheck, a memory error detector</line>
  <line>Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.</line>
  <line>Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info</line>
  <line>Command: /home/hepper/workspace/rust-tss-esapi/target/debug/deps/integration_tests-2d5723b6547f6cbb --test-threads=1 --nocapture</line>
</preamble>

<pid>9946</pid>
<ppid>9945</ppid>
<tool>memcheck</tool>

<args>
  <vargv>
    <exe>/usr/bin/valgrind.bin</exe>
    <arg>--xml=yes</arg>
    <arg>--xml-socket=<IP_ADDRESS>:41415</arg>
  </vargv>
  <argv>
    <exe>/home/hepper/workspace/rust-tss-esapi/target/debug/deps/integration_tests-2d5723b6547f6cbb</exe>
    <arg>--test-threads=1</arg>
    <arg>--nocapture</arg>
  </argv>
</args>

<status>
  <state>RUNNING</state>
  <time>00:00:00:01.897 </time>
</status>

may be related:
https://github.com/jfrimmel/cargo-valgrind/issues/68#issuecomment-1164739929

Could you try out the release 2.1.0? This nicht contain the fix for your issue.

I'm still getting this XML format mismatch error
$ cargo install --git https://github.com/jfrimmel/cargo-valgrind cargo-valgrind
    Updating git repository `https://github.com/jfrimmel/cargo-valgrind`
     Ignored package `cargo-valgrind v2.1.0 (https://github.com/jfrimmel/cargo-valgrind#43b31c93)` is already installed, use --force to override

What about the valgrind version?
$ valgrind --version
valgrind-3.18.1

Running with valgrind 3.15.0 and cargo-valgrind 2.1.0 actually made it worse. It crashes silently just after all the tests had been run and it was about to present the report.

pls try at least valgrind 3.17, see https://github.com/jfrimmel/cargo-valgrind/issues/55#issuecomment-1164741044

just tried it with valgrind 3.19 and wiht no difference. I got no XML output.

Hey, the error with "XML format mismatch between valgrind and cargo valgrind: custom: duplicate field stack
" should be fixed as of cargo valgrind v2.2.0. Consider upgrading and testing you code. I'll go ahead and close this issue, but feel free to re-open if there are ongoing issues.
Thanks for your patience.

With regards to newer valgrind versions: I always try with the latest valgrind version available, which is currently 3.23:
$ valgrind --version
valgrind-3.23.0

If your issue persists with 2.2.0 or newer versions of cargo valgrind, please report a new issue with details, so that I can reproduce and fix it.

This was a long time ago. We fixed the problem causing the memory leak and we no longer had the gigantic reports this error went away.
And since then cargo valgrind have not had any problems in our CI pipeline that I know of. So I think it is safe to close this if no one else have encountered this.


"Narrowing conversion" warning is trigerred when it shouldn't

Godot version:

3.2.3/3.2.4 beta v1
OS/device including version:

Linux x11
Issue description:

In GDScript when variable type hint is set to integer, and you assign it value using round(some float) the "Narrowing conversion" warning is triggered, while it is intended conversion.
Steps to reproduce:
See above.
Minimal reproduction project:
var a : int = round(0.25)

The warning is correct, round() returns a float (here 0.0), so a narrowing conversion happens from float to int.

Then there isn't an issue, I just didn't expect it to actually return float. Sorry for the time taken.

See #19262, it's still on the table to maybe change it to return int, or add a roundi variant that does the conversion.
To silence the warning, you can cast to int explicitly: int(round(0.25)).


qinq interface always down

When setting a qinq member interface, this interface still show as down and no traffic pass.
QinQ parent (the first vlan) is show as up.
Pfsense has the same issue: https://redmine.pfsense.org/issues/7942

we have chosen to remove the feature since it's unclear how to fix, https://github.com/opnsense/core/issues/2274


Xbox one issues with Towerfall 8-Player (official)

Hi,
I just bought Towerfall 8-players.
I know this github is for an unofficial mod but maybe you have an idea of my issue:
I have some issues with Xbox One controllers :
X and B buttons are switched.
Right trigger (dodge/catch) doesn't work when used in wireless.
With Towerfall original (STeam), iall is working fine.
Do you know what could be the cause ?
Thanks

If you want 8-players, there's an official 8-player build on Itch.io from the creator:
https://mattmakesgames.itch.io/towerfall-8-player
This one is in widescreen as well!

Hi,
It is the one i bought ;) .
I managed to create two configs files (one for wire and one for wireless) that works :) .
For resume :
With Xbox One gamepad wireless and wire : X and B was switched (game related issue i think).
With Xbox One gamepad wireless only : right trigger (Dodge in Towerfall) didn't work (windows driver related issue à think because i can see a different action -Z axis- in joy.cpl).
So i created two file :
A Xbox OneWireless.xml that just a copy of the original Xbox360 but with ID of my Xbox One pad.
A Xbox OneFil.xml : the same + two lines for the trigger roght (id 5) assigned to Dodge.
Everything is almost working (my Wireless adaptator for Windows 1713 crash sometimes but it is another story...).
If someone is interested :
20210414_TowerFall_Gamepad_Config_XboxOne.zip
Bye


sl: add missing man pages

Motivation for this change
Man pages were missing.
Cc: @eyJhb
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

@pSub @peterhoeg just a minor thing looking at this, the fetchFromGit shouldn't be aligned using spaces, see here - https://github.com/NixOS/nixpkgs/pull/58970#issuecomment-480064080.


IoTCoredefaultapp should also display date

Hi @rachitb777, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;


Hi, I am trying to use the OData function too in power automation(Flow). And I am receiving the same error.

Hi,
I am trying to use the OData function in power automation(Flow). And I am receiving the error.
Error:
body":{"status":400,"message":"The query is not valid.\r\nclientRequestId: xxxxxxxxxxxxxb\r\nserviceRequestId: xxxxxx"}}
Filter query.
day(Birthday) eq 28 and month(Birthday) eq 10
Please, someone knows if I am doing something wrong or if this error still happens?

Closing as dupe of #8323


Doesn't remember renames

When someone renames themselves in Campfire, Hubot doesn't seem to notice or remember.

I sorta have an idea how to make this work for the Campfire adapter, I'll have a stab at it tonight.

Hm, just checked this out, and it seems the user storage updates the name.

This has been resolved.


Check if LLDP chassisId is a MAC address before trying to convert it to a MAC address.

For issue https://github.com/napalm-automation/napalm-eos/issues/138

Coverage increased (+0.08%) to 79.851% when pulling cb9e641fb5ddcc394cc93457923d6be0ebef0bfc on Netflix-Skunkworks:chassisId-mac-fix into b84f73a58dd00135288039a289d081e32f209193 on napalm-automation:develop.

Coverage increased (+0.08%) to 79.851% when pulling cb9e641fb5ddcc394cc93457923d6be0ebef0bfc on Netflix-Skunkworks:chassisId-mac-fix into b84f73a58dd00135288039a289d081e32f209193 on napalm-automation:develop.


fix: expose llm_request

Can we do vault_parameters as well while we're here?

Also needs an entry added to the CHANGELOG.md.


Sentimental Analysis on Individual Tweets

Description 🔍
Main current feature of our app in which we will do basic sentimental analysis on an individual tweet and return a numeric value that tells us what emotion the tweet is conveying. This will focus on utilizing the Twitter API/Azure Text Analytic services and creating a function that will take take input of a tweet or list of tweets and output a score or multiple scores for each of those tweet.
References 📖
https://developer.twitter.com/en/docs/tutorials/how-to-analyze-the-sentiment-of-your-own-tweets
https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/
Tasks ✔

[x] Set up the Text Analytics in Azure
[x] Successfully call the Sentimental Analysis API
[x] Create a function that takes an input Tweet(s) and output the sentimental score(s)

Successfully done tasks and implemented them into the backend.


Add initial support for etags in manifest

Work in progress — starts to resolve #68 by adding initial support for using the etag hash of an S3 object to upload to indexd.
This PR was used to successfully import two projects (GDC-Lung and GDC-ESCA) based on the etags retrieved from a remote S3 endpoint using the mc client:
➜ mc stat -r ceph/gdc-lung --json

Some places md5 is mentioned in docs.
https://github.com/ACED-IDP/gen3_util/blob/0198c88ce3b6f0583037b0af9bb716c9c1f75b16/docs/git-lite-workflow.md?plain=1#L77

Other places it is mentioned in code:
https://github.com/ACED-IDP/gen3_util/blob/0198c88ce3b6f0583037b0af9bb716c9c1f75b16/gen3_util/meta/skeleton.py#L35-L39

To be complete we should refactor ls starting here
https://github.com/ACED-IDP/gen3_util/blob/0198c88ce3b6f0583037b0af9bb716c9c1f75b16/gen3_util/files/cli.py#L47-L48

this is a simple unit test that could be changed to support etag
https://github.com/ACED-IDP/gen3_util/blob/0198c88ce3b6f0583037b0af9bb716c9c1f75b16/tests/unit/test_manifest.py#L14

thanks.  this is a good start.
do tests pass now?

Limitations
Tried adding 'etag' without success, will need to look at the FHIR schema and see if other hashes are allowed in the extension?
https://github.com/ACED-IDP/gen3_util/blob/f348e79a6739440774c4e6a8763c822147a03934/gen3_util/meta/skeleton.py#L45-L49
Testing
Running both unit and integration tests together (pytest tests) results in 7 failed unit tests. However running the tests separately (pytest tests/unit && pytest tests/integration) results in them passing.
Will need to investigate to see if there are some side effects from the integration tests that may be affecting the unit tests.
Running Together ❌
➜ pytest tests

FAILED tests/unit/tabular/test_dir_to_tabular.py::test_dir_to_tabular - AssertionError: tests/fixtures/tabular does not exist
FAILED tests/unit/test_coding_conventions.py::test_coding_conventions - AssertionError: ['FAILURE: Python formatting and style for directory gen3_util/', 'FAILURE: Python f
ormatting and style for directory tests/']
FAILED tests/unit/test_config.py::test_custom_config - FileNotFoundError: [Errno 2] No such file or directory: 'tests/fixtures/custom_config/config.yaml'
FAILED tests/unit/test_files.py::test_uploader_validate_parameters - AssertionError: tests is not a directory
FAILED tests/unit/test_validate_directory.py::test_validate_directory_files - AssertionError: Expected 8 resources {'summary': {}}
FAILED tests/unit/test_validate_directory.py::test_validate_directory_zips - AssertionError: Expected 8 resources {'summary': {}}
FAILED tests/unit/test_validate_directory.py::test_validate_invalid_files - AssertionError: Expected exceptions []
========== 7 failed, 51 passed, 4 skipped in 361.63s (0:06:01) ==========

Running Separately ✅
➜  pytest tests/unit && pytest tests/integration

========== test session starts ==========
platform darwin -- Python 3.12.3, pytest-8.2.0, pluggy-1.5.0
rootdir: /Users/beckmanl/code/gen3_util
configfile: pytest.ini
plugins: cov-5.0.0, anyio-4.3.0
collected 43 items

tests/unit/tabular/test_config.py ...                                                                                [  6%]
tests/unit/tabular/test_default_columns.py ......                                                                                [ 20%]
tests/unit/tabular/test_dir_to_tabular.py .                                                                                [ 23%]
tests/unit/tabular/test_from_tabular.py ..                                                                                [ 27%]
tests/unit/tabular/test_to_tabular.py .....                                                                                [ 39%]
tests/unit/tabular/test_validate.py ...                                                                                [ 46%]
tests/unit/test_cli.py .......                                                                                [ 62%]
tests/unit/test_coding.py ss                                                                                [ 67%]
tests/unit/test_coding_conventions.py .                                                                                [ 69%]
tests/unit/test_config.py ..                                                                                [ 74%]
tests/unit/test_files.py ...                                                                                [ 81%]
tests/unit/test_job_dependencies.py ..                                                                                [ 86%]
tests/unit/test_manifest.py .                                                                                [ 88%]
tests/unit/test_validate_directory.py ....                                                                                [ 97%]
tests/unit/test_version.py .                                                                                [100%]

========== 41 passed, 2 skipped in 2.75s ==========
========== test session starts ==========
platform darwin -- Python 3.12.3, pytest-8.2.0, pluggy-1.5.0
rootdir: /Users/beckmanl/code/gen3_util
configfile: pytest.ini
plugins: cov-5.0.0, anyio-4.3.0
collected 19 items

tests/integration/test_access.py ..                                                                                [ 10%]
tests/integration/test_buckets.py .                                                                                [ 15%]
tests/integration/test_commit.py ...                                                                                [ 31%]
tests/integration/test_config.py .                                                                                [ 36%]
tests/integration/test_foreign_bucket.py .                                                                                [ 42%]
tests/integration/test_init.py .                                                                                [ 47%]
tests/integration/test_meta.py s                                                                                [ 52%]
tests/integration/test_meta_skeleton.py .....                                                                                [ 78%]
tests/integration/test_no_bucket.py s                                                                                [ 84%]
tests/integration/test_project.py ...                                                                                [100%]

========== 17 passed, 2 skipped in 295.45s (0:04:55) ==========

Closing as complete! ✅

External files can be indexed in Gen3 by using the ETag hash of the file:
Add remote files to the manifest
g3t add s3://<Bucket>/<File> \
  --etag <ETag> \
  --size <Size> \
  --modified <Date> \
  --no-git-add


Cannot list subscriptions

VS Code Version:  1.77.0
Azure Account Extension Version:  0.11.3
OS Version:  windows 10 latest update of 2023.03

Does your account belong to more than one directory? (see your directories here):  No, only one directory
Any other information about your Azure account that may be useful:
From the azure portal, I can see the APIM, I'm even admin of the APIM, but from VSCode, nothing displayed.
Within the same Azure extension, other Azure resources are displayed well except for APIM

Clicking on the refresh bouton throw below error:

hello, any update on this issue ?


Diary -> revert-role-conversions

@bonbud-macryg

Explain lore to me rn

This is an (axal idea), aka a data structure that contains all of your descendants' pails and some other metadata.

While writing these tutorials there was this entropic process where I started using the shorthand /diary to refer to /imp/diary.hoon

We probably shouldn't do this.

Should be %del-entry. Also flagging this as a note to not implement the poke on the frontend ourselves.

We have tombstoning!

@hanfel-dovned We have tombstoning on the backend but it's not implemented on the frontend, I was thinking it would be a good exercise for the reader in the "Building on Diary" section.


Screen flickering with mouse movement in Minecraft

Regression?
Yes
System Info and Version
 System/Version info
Hyprland, built from branch main at commit e67322034037fef22079c8e480be38c1d04b5a4a  (core/surface: fixup a few pointer handling edge cases).
Date: Mon Jul 29 12:29:08 2024
Tag: v0.41.2-133-ge6732203, commits: 5019

flags: (if any)

System Information:
System name: Linux
Node name: armory
Release: 6.10.2-zen1-1-zen
Version: #1 ZEN SMP PREEMPT_DYNAMIC Sat, 27 Jul 2024 16:49:32 +0000

GPU information:
03:00.0 VGA compatible controller [0300]: Intel Corporation DG2 [Arc A770] [8086:56a0] (rev 08) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

======Config-Start======

Config File: /home/trianta/.config/hypr/hyprland.conf: Read Succeeded
source = ~/.config/hypr/mocha.conf # Catppuccin colorscheme

# < Start Section >
# monitors

monitor=DP-1, 3440x1440@160, 0x0, 1, vrr, 1, bitdepth, 8

# < End Section >

# < Start Section >
# environment variables

env = xdg_current_desktop,hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = MOZ_ENABLE_WAYLAND,1
env = HYPRCURSOR_THEME, rose-pine-hyprcursor
env = HYPRCURSOR_SIZE, 24

# < End Section >

# < Start Section >
# startup applications

# environment launches
exec-once = ~/.config/hypr/scripts/resetxdgportal.sh # reset XDPH for screenshare
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE
exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-kde-authentication-agent-1 # authentication dialogue for GUI apps
exec-once = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'

# xrandr settings
exec-once = ~/.config/hypr/scripts/xrandr.sh

# background applications
exec-once = waybar -c ~/.config/waybar/config
exec-once = dunst
exec-once = swww-daemon
exec-once = syncthing --no-browser
exec-once = xwaylandvideobridge

# main applications
exec-once = discord
exec-once = spotify --disable-gpu
exec-once = cool-retro-term
exec-once = firefox
#exec-once = taskset -c 1-7 steam
#exec-once = bolt

# < End Section >

# < Start Section >
# workspace rules

# gaps numbers (top, right, bottom, left)
workspace = 1, monitor:DP-1, persistent:true, default:true
workspace = 2, monitor:DP-1, persistent:true, gapsout:160 756 146 756
workspace = 3, monitor:DP-1, persistent:true, gapsout:50 440 50 440
workspace = 4, monitor:DP-1, persistent:true, gapsout:45 0 0 0

# Workspaces swapped for ease of use
workspace = 6, monitor:DP-1, persistent:true
workspace = 5, monitor:DP-1, persistent:true

# < End Section >

# < Start Section >
# variables

general {
    gaps_in = 0
    gaps_out = 8
    border_size = 3
    col.active_border = $peach
    #col.inactive_border = $peach
    layout = dwindle
    resize_on_border = false
}

decoration {
    rounding = 6
    drop_shadow = false
    dim_special = 0.3
    fullscreen_opacity = 1.0

    blur {
        enabled = yes
        special = true
        size = 6
        passes = 3
        new_optimizations = on
        ignore_opacity = on
        xray = false
    }
}

animations {
    enabled = yes
    bezier = wind, 0.05, 0.9, 0.1, 1.05
    bezier = winIn, 0.1, 1.1, 0.1, 1.1
    bezier = winOut, 0.3, -0.3, 0, 1
    bezier = liner, 1, 1, 1, 1
    animation = windows, 1, 6, wind, slide
    animation = windowsIn, 1, 6, winIn, slide
    animation = windowsOut, 1, 5, winOut, slide
    animation = windowsMove, 1, 5, wind, slide
    animation = border, 1, 1, liner
    animation = borderangle, 1, 30, liner, loop
    animation = fade, 1, 10, default
    animation = workspaces, 1, 5, wind
}

input {
    kb_layout = us
    kb_options = caps:swapescape
    follow_mouse = 2
    mouse_refocus = false;

    sensitivity = -.75 # -1.0 - 1.0, 0 means no modification.
    force_no_accel = 1
}

group {
    col.border_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
    col.border_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
    col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
    col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
}

misc {
    disable_hyprland_logo = true
    disable_splash_rendering = true
    force_default_wallpaper = 0
    vrr = 1
    vfr = true
    no_direct_scanout = true
}

xwayland {
  use_nearest_neighbor = true
  force_zero_scaling = false
}

cursor {
    no_hardware_cursors = true
    inactive_timeout = 2
    no_warps = false
    default_monitor = DP-1
}

debug {
    disable_logs = true
    #disable_logs = false
}

experimental {
    explicit_sync = true
}

# < End Section >

# < Start Section >
# dwindle layout

dwindle {
    pseudotile = yes
    preserve_split = yes
}

# < End Section >

# < Start Section >
# master layout

master {
    new_status = master
}

# < End Section >

# < Start Section >
# window rules

# core
windowrulev2 = opacity 0.80 0.80,class:^(.*)$
windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$
windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = float, class:^(qt5ct)$
windowrulev2 = float, class:^(nwg-look)$
windowrulev2 = float, class:^(pavucontrol)$
windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$

# main
windowrulev2 = workspace 1 silent, class:^(discord)$
windowrulev2 = workspace 1 silent, class:^(Dopamine)$
windowrulev2 = workspace 1 silent, class:^(Spotify)$
windowrulev2 = workspace 2 silent, class:^(cool-retro-term.cool-retro-term)$
windowrulev2 = workspace 3 silent, class:^(firefox)$
windowrulev2 = workspace 4 silent, class:^(steam)$
windowrulev2 = workspace 4 silent, title:^(Minecraft.*)$
windowrulev2 = workspace 4 silent, class:^(steam_app_.*)$
windowrulev2 = workspace 4 silent, class:^(steam_proton)$
windowrulev2 = workspace 4 silent, class:^(hl2_linux)$
windowrulev2 = workspace 4 silent, class:^(gamescope)$
windowrulev2 = workspace 5 silent, class:^(steam)$
windowrulev2 = workspace 6 silent, class:^(Bolt.*)$

# development
windowrulev2 = pseudo, title:^(SnakePlusPlus)$
windowrulev2 = center, title:^(SnakePlusPlus)$
windowrulev2 = opacity 0.4, title:^(SnakePlusPlus)$
windowrulev2 = float, title:^(TetrisPlusPlus)$
windowrulev2 = center, title:^(TetrisPlusPlus)$

# games
# 16:9 windowed - 1920 1080
# 21:9 windowed - 2560 1080
# 32:9 windowed - 3200 900
# theoretical mix - 3200 1100
# runelite
windowrulev2 = opacity 1.00 override 1.00 override, class:^(net-runelite-client-RuneLite)$
windowrulev2 = pseudo, class:^(net-runelite-client-RuneLite)$
windowrulev2 = size 825 520, class:^(net-runelite-client-RuneLite)$
# minecraft
windowrulev2 = opacity 1.00 override 1.00 override, title:^(Minecraft.*)$
windowrulev2 = pseudo, title:^(Minecraft.*)$
windowrulev2 = size 3200 1100, title:^(Minecraft.*)$
# native
windowrulev2 = opacity 1.00 override 1.00 override, class:^(steam_app_.*)$
windowrulev2 = pseudo, class:^(steam_app_.*)$
#windowrulev2 = size 3200 900, class:^(steam_app_.*)$
# proton
windowrulev2 = opacity 1.00 override 1.00 override, class:^(steam_proton)$
windowrulev2 = pseudo, class:^(steam_proton)$
#windowrulev2 = size 3200 900, class:^(steam_proton)$
# hl2 (css, etc)
windowrulev2 = opacity 1.00 override 1.00 override, class:^(hl2_linux)$
# gamescope
windowrulev2 = opacity 1.00 override 1.00 override, class:^(gamescope)$
windowrulev2 = pseudo, class:^(gamescope)$
windowrulev2 = size 3200 1100, class:^(gamescope)$

# layer rules
layerrule = blur,waybar
layerrule = ignorezero, waybar

# xwaylandvideobridge
windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
windowrulev2 = noblur,class:^(xwaylandvideobridge)$

# < End Section >

# < Start Section >
# keybinds

# main modifier
$mainMod = SUPER

# passthrough
bind = , mouse:275, pass, ^(discord)$
bind = SHIFT, mouse:275, pass, ^(discord)$

# core binds
bind = $mainMod SHIFT, Q, killactive,
bind = $mainMod SHIFT, M, exit
bind = $mainMod, SPACE, togglefloating,
bind = $mainMod, F, fullscreen,
bind = $mainMod SHIFT, L, exec, hyprlock
bind = $mainMod $CONTROL, ESCAPE, exec, killall waybar || waybar # toggle waybar
bind = $mainMod SHIFT, J, togglesplit, # dwindle
bind = $mainMod SHIFT, SPACE, pseudo, # dwindle

# main application shortcuts
bind = $mainMod, RETURN, exec, cool-retro-term
bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy
bind = $mainMod SHIFT, 7, exec, taskset -c 1-7 prismlauncher
bind = $mainMod, S, exec, pkill -x rofi || rofi -show drun

# generic audio control
binde = , XF86AudioPlay, exec, playerctl play-pause
binde = , XF86AudioStop, exec, playerctl stop
binde = , XF86AudioPrev, exec, playerctl previous
binde = , XF86AudioNext, exec, playerctl next
binde = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%

# custom audio control
binde = $mainMod, F1, exec, playerctl play-pause
binde = $mainMod, F2, exec, playerctl previous
binde = $mainMod, F3, exec, playerctl next

# move focus
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d

# workspaces
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod ALT, 1, movetoworkspacesilent, 1
bind = $mainMod ALT, 2, movetoworkspacesilent, 2
bind = $mainMod ALT, 3, movetoworkspacesilent, 3
bind = $mainMod ALT, 4, movetoworkspacesilent, 4
bind = $mainMod ALT, 5, movetoworkspacesilent, 5
bind = $mainMod ALT, 6, movetoworkspacesilent, 6

# resizing windows
binde = $mainMod, right, resizeactive, 5 0
binde = $mainMod, left, resizeactive, -5 0
binde = $mainMod, up, resizeactive, 0 -5
binde = $mainMod, down, resizeactive, 0 5
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

# < End Section >

Config File: /home/trianta/.config/hypr/mocha.conf: Read Succeeded
$rosewaterAlpha = fff5e0dc
$flamingoAlpha  = fff2cdcd
$pinkAlpha      = fff5c2e7
$mauveAlpha     = ffcba6f7
$redAlpha       = fff38ba8
$maroonAlpha    = ffeba0ac
$peachAlpha     = fffab387
$yellowAlpha    = fff9e2af
$greenAlpha     = ffa6e3a1
$tealAlpha      = ff94e2d5
$skyAlpha       = ff89dceb
$sapphireAlpha  = ff74c7ec
$blueAlpha      = ff89b4fa
$lavenderAlpha  = ffb4befe

$textAlpha      = ffcdd6f4
$subtext1Alpha  = ffbac2de
$subtext0Alpha  = ffa6adc8

$overlay2Alpha  = ff9399b2
$overlay1Alpha  = ff7f849c
$overlay0Alpha  = ff6c7086

$surface2Alpha  = ff585b70
$surface1Alpha  = ff45475a
$surface0Alpha  = ff313244

$baseAlpha      = ff1e1e2e
$mantleAlpha    = ff181825
$crustAlpha     = ff11111b

$rosewater = 0xfff5e0dc
$flamingo  = 0xfff2cdcd
$pink      = 0xfff5c2e7
$mauve     = 0xffcba6f7
$red       = 0xfff38ba8
$maroon    = 0xffeba0ac
$peach     = 0xfffab387
$yellow    = 0xfff9e2af
$green     = 0xffa6e3a1
$teal      = 0xff94e2d5
$sky       = 0xff89dceb
$sapphire  = 0xff74c7ec
$blue      = 0xff89b4fa
$lavender  = 0xffb4befe

$text      = 0xffcdd6f4
$subtext1  = 0xffbac2de
$subtext0  = 0xffa6adc8

$overlay2  = 0xff9399b2
$overlay1  = 0xff7f849c
$overlay0  = 0xff6c7086

$surface2  = 0xff585b70
$surface1  = 0xff45475a
$surface0  = 0xff313244

$base      = 0xff1e1e2e
$mantle    = 0xff181825
$crust     = 0xff11111b

======Config-End========

Description
Minecraft is flickering black just like Nvidia was before explicit sync released (post 535 and prior to 555).
Bisected with commit daed752 being the start of bad commits.
How to reproduce

Be on a commit after daed752
Start Minecraft
Go into any world
Move mouse around, flickering occurs

Crash reports, logs, images, videos
No response

This may be a problem with xwayland windows entirely or maybe just games under xwayland? A user reported similar behaviour over on osu! discussions when tabbing in and out of the game, I'm able to reproduce this behaviour on latest git commit on an AMD system. I am noticing more than flickering as well though such as texture corruption.

Seems to be a result of !previousBuffer->resource->released resulting in true too often. Keeping the original method of bufferReleased and using it here solves the issue.

bump, also having this.

see #7110


adding node::Queue; refactoring SinkChannel for code reuse

In our original design, we had three entities required to form an edge: a Source, Channel and Sink.
This required constructing three object and making two calls to form an edge, pseudo code
auto source = s.make_source<T>(...);
auto channel = s.make_channel<T>(...);
auto sink = s.make_sink<T>(...);

s.make_edge(source, channel);
s.make_edge(channel, sink);

To reduce complexity for common patterns, it was decided that Sinks would own Channels and provide them to Sources. This had the effect of reducing complexity for edge construction to the creation of a source and a sink and the formation of an edge.
auto source = s.make_source<T>(...);
auto sink = s.make_sink<T>(...);

s.make_edge(source, sink);

While this reduction in complexity is nice, it also creates a limitation in that each Sink owns its own Channel. This makes load-balancing work across multiple downstream Sinks more difficult, because work is being pushed to each Sink. Pushing has several problems:

Any write to a Sink's channel which is full, fiber yields the writer.

This means if we have N Sinks to which we want to write, we need to have a unique writer per Sink or risk stalling a single writer by blocking on write.

Sinks operating at different speeds, either from heterogeneous hardware or by the fact the operation being performed may have variable length wall time based on inputs, means push based load-balancing will be problematic.

This MR adds the ability for pull based Sinks using a design similar to the original allowing for standalone Queue (Channel holder), but with the default being the current behavior.
// Let:
// - SourceProperties<T> be an IngressAcceptor
// - SinkProperties<T> be an IngressProvider

// If:
// - SourceChannel<T> is an IngressAcceptor
// - SinkChannel<T> can be either an IngressProvider or a ChannelAcceptor
// - Queue<T> is an IngressProivder and a ChannelProvider

// Then, Edges can be from:
// - make_edge(IngressAcceptor<T>, IngressProivder<T>)
// - make_edge(ChannelProvider<T>, ChannelAcceptor<T>)

This enabled the following example's Sink to be a pull based Sink:
        auto source = s.make_object("source", test::nodes::infinite_int_rx_source());
        auto queue  = s.make_object("queue", std::make_unique<node::Queue<int>>());
        auto sink   = s.make_object("sink", test::nodes::int_sink());
        s.make_edge(source, queue);
        s.make_edge(queue, sink);

There is no change to the API or default behavior of node/segment objects.

@gpucibot merge


Server with Quilt

When I try to start the server, it crash with this log:
---- Quilt Loader: Failed to load ----
Date/Time: 2024/05/11 11:22:58.6539
Quilt Loader Version: 0.23.1
-- Error 1 --
NiftyCarts requires version [0.15.7, âˆž) of fabricloader, which is missing!

/niftycarts-3.0.2+1.20.1.jar

-- Plugin State --
Cycle number = 1
Cycle Step = SOLVE
Loaded Plugins (2):

'quilt_loader' (Builtin)
'quilted_fabric_loader' (Builtin)

How can I fix this error?

Please do note that this mod currently does not support the Quilt Loader so you may run into more issues. But this just seems to be that you Quilt Loader is out of date. Reinstalling the server with a newer Quilt version should do the trick (I tried with 0.25.0).


add .gitattributes to normalise line endings

fixes #100 - all tests now run locally for me on my Windows machine.
I used gitignore.io to create the file, and edited a little to only include relevant files
I then ran the Powershell command in the comment here https://stackoverflow.com/a/56457412/4161471
to effect the changes
git rm -r :/; git checkout HEAD -- :/

I think from now on, any one who checks out the project won't have to worry. Current users can run the command in that SO to update the files.

Looks great, thank you!


Create a basic weather dashboard structure for mobile devices

Create a wireframe for this dashboard in index.html by using either flexbox, grid, or combination of both.
You need to use Tailwind utility classes.

ui vision

wireframe desktop

wireframe mobile

I will work on this one as soon as number 1 issue is resolved. Could take a while, since I have 0 tailwind experience.

I am comfortable with flex, with grid - less experience, but also fine.
Main fun will be figuring out what utility classes to use.

I've changed this issue so you need to start a layout for mobile devices.

I think we should all be involved in building the layout. I am assigning the rest of the team 👯


Add vspread and hspread

Vertical spread by some number of units - vspread nnn
Horizontal spread - hspread nnn

Are nnn percentages like (0, 0) would be topLeft and (100, 100) would be bottom right?

Actually nnn are arbitrary units - defined by iThoughts. They might be pixels. In the CSV file a horizontal position of 100 looks like "{100,0}" in the "position" column. Likewise vertical position of 100 looks like "{0,100}".
Spread would start at {0,0} and increment across the level 0 nodes. I can see a second level being worthwhile eventually.

Done.


Cannot find some values in Request

Hello,
I am trying to compare the results of Fiddler and the proxy. I notice that the headers are coming fine, however, I fiddler, there is a "TextView\Syntax View" tab which show me some information which i am not able to find in Ccs.SsoOne.Proxy.Http.Request instance.
Example
Following is the raw view as shown in fiddler :
**POST https://docs.google.com/sharing/commonshare HTTP/1.1
Host: docs.google.com
Connection: keep-alive
Content-Length: 586
X-Same-Domain: explorer
Cache-Control: no-cache
Origin: https://docs.google.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
X-Client-Data: CIu2yQEIo7bJAQjEtskBCPucygEIqZ3KAQjQnsoB
Accept: /
Referer: https://docs.google.com/sharing/share?id=1-GolHk42bhEH48Ffs6DH_W3cJ_KByKU7DDrS8BgeVxs&foreignService=kix&gaiaService=writely&shareService=kix&command=init_share&subapp=10&popupWindowsEnabled=true&shareUiType=default&hl=en&authuser=1&rand=1497956822537&locationHint=unknown&preload=false
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Cookie: SID=0wQee9SAM6qsVuSZR2ZndgudBoFVx9O2dl_3Z0OxxTqq-G5zfbe39PGHbcljetjU50xYhw.; HSID=A1d8E8HhUrj9vAMjp; SSID=A78NydqS75EkLGIHe; APISID=8Ke4AXN6MOuVNE3D/AOCeB2IuNA1zoSlr6; SAPISID=p80Sy5ISYYyXIK0s/A4_a2Rj0BH7l-65PU; S=explorer=9z5Mkob8pJSyakk8jXaZK3HfSt6VGuNZ; NID=106=qG1J4UuJEezmtWsTkVyNYSmvYuVHsk9p8itxvoIWP2dIimxA3CgJu2_DTLFKO5sd_SaE6Tc1Pv4WyD7aK_cMPwF2TSrd0IZxLh5g0IxUa_v8P7Smpi3U1i2lm6gLvRfGdCP5-VcXUmOYqM3tGa0doqIzR2e67q_wegF9y0h3HQyVL8NbrIyPda1gZW1AdXofNb9wKfgnvgmFAj33tuUGFg; lbcs=3; SIDCC=AA248bfajZnkAOfqw2x63oxYLZdx1mvRgUZ6UZqkJH7tw_5whhKuootfgEdnNc5S1Jg0CPum7lZajCAs5N8FnQ
hl=en_US&token=AFNOsBZk-Z2WJfXxJLU6gfCssd_ro9PQIw%3A1497956824550&foreignService=kix&shareService=kix&authuser=1&locale=en_US&requestType=email&itemIds=1-GolHk42bhEH48Ffs6DH_W3cJ_KByKU7DDrS8BgeVxs&confirmed=false&notificationInfo=%7B%22messageType%22%3A%22attach%22%2C%22recipient%22%3A%22%5C%22Jude%20Aloysius%5C%22%20%3Caloysius.j%40sysanc.org%3E%22%2C%22subject%22%3A%22test1232113%22%2C%22message%22%3A%22fdaz%22%2C%22optionValues%22%3A%7B%22ccMe%22%3Afalse%7D%2C%22exportMimeTypes%22%3A%7B%221-GolHk42bhEH48Ffs6DH_W3cJ_KByKU7DDrS8BgeVxs%22%3A%22application%2Fpdf%22%7D%7D**
Notice that "hl=en_US&token......."  value .I am not able to find this value in the request object in your API.
I am attaching the screen shot of the same.

Can you please help me find this.

What you are seeing consolidated in fiddler is headers and request body. Try string bodyString = await e.GetRequestBodyAsString(); to get the request body you are looking for.

Thanks that did the trick. Also can let me know what format is this body in and how do i parse it.

I used HtmlUtility.UrlDecode to decode the body.
Thanks for your help.


Adapt to flowmanager - make sure flow info is known by all pipelines

Coverage decreased (-0.05%) to 85.05% when pulling 8354e3c1b10575d2a2803a888a3b75e3bdafd1d1 on features/running-pipelines-internally into 9740f23c23d18b721885a9a02cd6a9323eb8ec45 on master.


In depiction search, also show subclasses of the selected Wikidata item

Perform a depiction search for "rock band"
You see several pictures of Roxette and Bon Jovi
Perform a depiction search for "band"
Scroll until the end: Not a single picture of Roxette or Bon Jovi

I believe that step 4 is problematic.
Searching for "band" should show ALL bands, not just the bands that happen to not be in a more specific subclass yet.
OR the app could first show all sub-classes:
← band
rock band
punk band
pop band
Sharlene San Pedro and Monty Macalino in Paris
Jimmy Duvet & The Comforters performing in Sonoma
...

The first three rows are textual links that take you to a sub-search, while the following rows are images like what is visible right now.

@nicolas-raoul is this still valid?

@macgills While it would be useful and allow people to select more specific (and thus useful) depictions, it is a far-fetched wish, so feel free to not implement it, it can be a subsequent phase in a year or more when everyone is used to depictions.


Calculate expression complexity.

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

3.0.0
GitHub release

Your semantic-release bot :package::rocket:


CMS 156v11 Issue Version Specific Measure

We are using Version Specific Measure id 2c928084-808a-9589-0180-d74bf7b7164d for CMS156v11 but the file is not validating successfully. Could you please help us here.

it's urgent we need to upgrade our customers with QPP updates. Could you please check and let us know if we need to use any other version specific measure id for cms156v11 or any other required changes.

Hi,
I have added xml file in zip. Could you please unzip and check it. Also FYI if we remove cms156v11 measure then able to validate file without any error. Could you please check and let us know if we need to make any changes.
MaximEyesMIPSSubmission_2023-12-05.zip

Hey @abhisheka1993
The issue currently is with the Conversion Tool not allowing a NUMEX with CMS156v11. I will discuss with the team the issue and have an ETA with a fix soon.

As a work around, you can remove the NUMEX field in the XML and it should work without it.

I removed the file as I was unsure if there was PII in the file. Upon, double check the file itself did not contain PII as the value was test data.

The ETA for getting this fix in our Develop Branch will be by the end of this week.

Hi,
We have tried with removing 156v11 Pop2 NumEx as shown in IG 2023 'C813AAC7-6D05-45D0-838D-467A837ECEC0' but still issue exists. File is not validating successfully. Updated file is also attached. Please let me know any other changes we need to make at our end.

MaximEyesMIPSSubmission_2023-12-05.zip

@abhisheka1993 The fix has been merged into the Develop branch. Please rebuild the tool with that branch and try converting your original submission again.

Thanks issue has been fixed.
Is there any URL from there we can directly validate the file? On the new system, we always need to do all configurations related to MVN/ jdk etc.

I am not certain about new configurations of mvn and jdk and validating the file. I can check and see if the validating site is available to the public and provide a URL if so.

Yes please, if we get site that will be very helpful and time saving.
Also please suggest any google group for this kind of discussion.

@abhisheka1993 This is a publicly available page for QPP submissions.
https://preview.qpp.cms.gov/api/submissions/public/docs/#/_ga%3D2.240701707.92125567.1702657956-805634992.1702657956
There is a validation URL for validating QPP-json. I am not aware of any google groups that discuss this testing.


Cannot connect to Docker endpoint

When running logspout with:
docker run -it --volume=/var/run/docker.sock:/var/run/docker.sock \
 --env DEBUG="true" gliderlabs/logspout

I am given the following error immediately after startup
2017/05/09 15:50:30 setting allowTTY to: false
2017/05/09 15:50:30 setting retryCount to: 10
# logspout v3.2.1 by gliderlabs
# adapters: tls raw syslog tcp udp
# options : debug:true persist:/mnt/routes
# jobs    : http[logs,routes]:80 pump routes
# routes  : none
2017/05/09 15:50:30 pump.Run(): using inactivity timeout:  0s
2017/05/09 15:50:30 pump ended: cannot connect to Docker endpoint

While I know I haven't specified an output in the command above the same thing seems to happen no matter what the output driver I select is. I am using docker 17.04-ce on Centos 7. Has anyone got any ideas what might be wrong here?

I don't personally use CentOS but off the top of my head I'd start by ensuring the path to the docker.sock file is correct and then have a look at the selinux logs to make sure you're not hitting some sort of permissions issue there.

Thanks so much for the advice. It turned out it was user error alas: another engineer on my project had set dockerd to not bind to docker.sock, but instead <IP_ADDRESS>:2375. For anyone who comes across this error in the future, if you check your process list for dockerd -H ip:port you can see if it is not bound to the normal unix socket. I wasn't even aware this was possible until I looked into this. You can make dockerd bind to both by specifying multiply -H flags on startup, see here.
Sorry to have wasted anyone's time, but hopefully this can be helpful for someone in the future. Logspout works wonderfully as well!

No worries at all. Glad you got it sorted out and thanks for the explanation.


Get-Uptime is very slightly but increasingly inaccurate relative to Task Manager's up time

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Open Task Manager to the Performance tab and click on the CPU item on the left, and open a PowerShell command window simultaneously next to it. In the PowerShell window run Get-Uptime, note how the time doesn't match that given by Task Manager (listed at the bottom of the CPU page), it can be off by seconds to minutes or more depending on the uptime of the system. You can see in this StackOverflow answer how various methods of getting uptime have a drift relative to the "real" uptime as given by Task Manager (let's all assume Microsoft got it correct in Task Manager and it's the other methods that are wrong): https://stackoverflow.com/a/34010110/15743074, some methods have no drift while others do.
More info: The C# code behind Get-Uptime uses StopWatch.GetTimeStamp() which uses QueryPerformanceCounter, hidden behind a shim but the fact it uses QPC is also indicated on this Microsoft Learn page about high-resolution timestamps:

The primary API for native code is QueryPerformanceCounter (QPC). For managed code, the System.Diagnostics.Stopwatch class uses QPC as its precise time basis.

Which also states,

QPC is typically the best method to use to time-stamp events and measure small time intervals that occur on the same system or virtual machine.

And the page goes into examples of typical crystal oscillators used in computers and how they will drift relative to the real world by seconds per week. I suspect that when Windows synchronizes its time to a timeserver, any corrections to the time are applied to other time sources which is one of the ones Task Manager uses, so if the clock was fast by a second when it gets updated then some kernel counter has 1 second subtracted which causes Task Manager to show an accurate uptime, but the "number of ticks" does not get adjusted to remove a second--which is all the QPC timers use, an unsynchronized number of ticks.
High-resolution timestamps are accurate to microseconds, but microsecond accuracy doesn't hold over days and weeks, these high-resolution timestamps are intended for short profiling events. Get-Uptime is expected to return long times, sometimes even years if you have a server up forever, therefore it should not be using a high resolution timestamp under the hood because it has known issues with drift against real world clocks when used over days or longer.
Expected behavior
Task Manager "up time" and PowerShell `Get-Uptime` should match each other to a second or better.

Actual behavior
Task Manager "up time" and PowerShell `Get-Uptime` are different from each other by seconds or more depending on the uptime of the system. My system has 13 day uptime and the difference is 8 seconds right now, which is admittedly very small at only 0.0007% off after 13 days. The accumulated error will be system dependent and represents an unsynchronized time.

Error details
No response
Environment data
> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.5
PSEdition                      Core
GitCommitId                    7.4.5
OS                             Microsoft Windows 10.0.19044
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

We've found some similar issues:

Uptime Linux #18469 , similarity score: 81%

If any of the above are duplicates, please consider closing this issue out and adding additional context in the original issue.

Note: You can give me feedback by 👍 or 👎 this comment.

I disagree that this is a duplicate:

That issue is for Linux whereas this one is for Windows.
That issue was closed due to inactivity, so it was never really solved (the linked issue to fix Linux accounting of sleep time is still open also).
In that issue they suspected it was a bug in Linux only and not shown in Windows because, "We use Stopwatch.GetTimestamp() and if it takes into account suspend time on Windows but not on Unix this looks like a bug. It makes sense to open new issue in .Net Runtime repository", however I have shown that there is a time drift in Windows which is unrelated to sleep time--as they say GetTimestamp() handles sleep correctly, which is also pointed out in the Microsoft Learn page I linked, "QueryPerformanceCounter reads the performance counter and returns the total number of ticks that have occurred since the Windows operating system was started, including the time when the machine was in a sleep state such as standby, hibernate, or connected standby".

This issue is about high performance counters being unsuitable (inaccurate) for timing long running things, such as the uptime of a system. The linked StackOverflow page gives some ideas for alternatives.

The @PowerShell/wg-powershell-cmdlets discussed this.  In our ad hoc testing, we also observed on some systems a drift as compared to using WMI.  We would approve of a change to the cmdlet specific to Windows to use WMI to get the LastBootUpTime and subtracting from curren time as (Get-Date).Subtract((get-ciminstance win32_operatingsystem).LastBootUpTime).  The existing code would still be needed for Linux and macOS which doesn't have WMI.

I did a quick research on where WMI gets this information (as I assumed it might be just a registry key). However it turns out the boot time information is coming from some un(der)documented APIs. The well documented WMI route seems to be the best approach.

After thinking more, I think it's worth leaving this cmdlet as it is until OS-s or .Net will not offer a standard API.
Now there are several uptime sources (counters) with different behavior. Any of them may be suitable in some scenarios and unsuitable in others. https://stackoverflow.com/questions/972105/retrieve-system-uptime-using-c-sharp/34010110#34010110
For example, WMI requires elevated permissions for remote use.
In addition, there is no clear definition of uptime. What is the zero point? Are we talking about the start time or the time that has passed since the start of the system?  Does this time include downtime or sleep time?
The best we can do is describe the drift problem in the documentation.

I found a deviation of GetUptime from WMI of several minutes on one system and no deviation on the other. I do not know what this is due to. But this is not important for support scenarios like "Has the user rebooted the system now?" or "Has the CU (requires a reboot) been installed on the system in the last month?"


Tests failing with lombok and apt plugin

Hi, I have a project with mapstructs and lombok based on the mapstruct-examples/mapstruct-lombok/ but with latests versions, and tests part is not working.
Even adding lombok dependency in testCompile the lombok annotations used in tests are failing when executing gradle test task.
The problem starts when I add the apt plugin:
plugins {
    id 'net.ltgt.apt' version '0.13'
}

and the apt at depencencies:
dependencies {
    ...
    apt "org.mapstruct:mapstruct-processor:${mapstructVersion}", "org.projectlombok:lombok"
    ...
}

At this point the lombok annotations stop working and fails in compilaJavaTest gradle task.
Not adding apt plugin makes lombok work properly but then I can't use mapstructs
Any idea?
Thanks.

If things fail in compileJavaTest, then maybe you need to use aptTest too (assuming you're now using mapstructs and/or lombok in the tests; something the example project doesn't do); the apt configuration only applies to the compileJava (and compileGroovy) task, there's no "inheritance" from main to test.
Also, you'll probably want to move the lombok dependency from compile to compileOnly (and then add it to testCompileOnly, as testCompileOnly doesn't extend from compileOnly; contrary to testCompile vs. compile); see https://projectlombok.org/setup/gradle & https://docs.gradle.org/4.3.1/userguide/java_plugin.html#sec:java_plugin_and_dependency_management

Sorry! I haven't seen the testApt (there is a typo in the order of the words for the command you wrote in the answer :))
Now is working! Thanks a lot!

Ah yes, I regularly try to use compileTest instead of testCompile (for whatever reason, using implementation vs. testImplementation apparently seems to help).
Glad you found the correct syntax and it fixed your problem. You may want to (just a suggestion) file an issue on mapstruct-examples so they use mapstruct and/or lombok in tests too in their example, for the next one who tries it and doesn't understand why it fails and how to fix it.

Sure, I opened an issue in order they include tests and give the advice of testApt and the link to this issue :)
Regards


Tabs - count from 0 in examples so matches SelectedIndex - change docs and starter

Ionic version:  (check one with "x")
[ ] 1.x
[*] 2.x
I'm submitting a ...  (check one with "x")
[*] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
SelectedIndex on tabs starts counting at 0. Thats fine
https://ionicframework.com/docs/v2/api/components/tabs/Tabs/
However all the examples in documentation (and tabs starter v2) start counting at 1.
This means that you if using the example structure, there is a gotcha until you see what caused it.
Expected behavior:
If the examples were tab0Root, tab1Root, tab2Root...... rather than tab1Root, tab2Root, tab3Root - then the numbers would match up - making it a clearer explanation.
All works as it should right now, but here is a hurdle that people have to learn, which is avoidable with a tweak to examples / starter.
Related code:
<ion-tabs selectedIndex="2">
  <ion-tab [root]="tab1Root"></ion-tab>
  <ion-tab [root]="tab2Root"></ion-tab>
  <ion-tab [root]="tab3Root"></ion-tab>
</ion-tabs>

SelectedIndex 2 selects tab3Root
Areas that need changing

Documents - https://ionicframework.com/docs/v2/api/components/tabs/Tabs/
Starter - https://github.com/driftyco/ionic2-starter-tabs/blob/master/src/pages/tabs/tabs.ts

Only an idea!

This issue was moved to driftyco/ionic-site#942


feat: credits to contributors

Hi @sh-lee97,
This PR states the authors of the new filter backend.
cc @ben-hayes

Also the doc build is complete!


MM-25933: Do not exclude default channels from channel search on grou…

…p config.
Summary
Includes default channels in channel search on groups config view.
Ticket Link
https://mattermost.atlassian.net/browse/MM-25933
Screenshots

/update-branch

/update-branch


[CT-2869] Add new snapshot records when source removes a field

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
Summary,
Using DBT snapshots, if a field is removed from source no new records are created in the snapshot table to show that the prior values no longer exists in source.  This is to request that this functionality is added/supported.
This functionality exists when a new field is added but not the reverse.
Expand:
When using DBT snapshots, if a new field added in the source, it will also be added to the snapshot table and a new record is created for each existing record in the table to show the new field added/updated at this new point in time.
However if a field is removed from source no new records are created in the snapshot table to show that the prior value no longer exists in source.  When a net new record is added we do see a null value appear in the removed field location.
Not having a new record created for data that is removed gives a false sense that the source still has these values.
Example:

Source orig
COL_1
COL_2
COL_3

1
abc1
def2
ghi3

2
abc2
def3
ghi4

3
abc3
def4
ghi5

Snapshot orig
COL_1
COL_2
COL_3
period_start
period_end

1
abc1
def2
ghi3
23-Jul-2023
null

2
abc2
def3
ghi4
23-Jul-2023
null

3
abc3
def4
ghi5
23-Jul-2023
null

source adding a new column on the 24th

Source Add column
COL_1
COL_2
COL_3
COL4

1
abc1
def2
ghi3
jkl4

2
abc2
def3
ghi4
jkl5

3
abc3
def4
ghi5
jkl6

Snapshot changes
COL_1
COL_2
COL_3
COL_4
period_start
period_end

1
abc1
def2
ghi3
null
23-Jul-2023
24-Jul-2023

2
abc2
def3
ghi4
null
23-Jul-2023
24-Jul-2023

3
abc3
def4
ghi5
null
23-Jul-2023
24-Jul-2023

1
abc1
def2
ghi3
jkl4
24-Jul-2023
null

2
abc2
def3
ghi4
jkl5
24-Jul-2023
null

3
abc3
def4
ghi5
jkl6
24-Jul-2023
null

source removing a column and adding new record  on the 25th

Source remove column
COL_1
COL_2
COL4

1
abc1
def2
jkl4

2
abc2
def3
jkl5

3
abc3
def4
jkl6

4
abc4
def5
jkl7

Snapshot unchanged
COL_1
COL_2
COL_3
COL_4
period_start
period_end

1
abc1
def2
ghi3
null
23-Jul-2023
24-Jul-2023

2
abc2
def3
ghi4
null
23-Jul-2023
24-Jul-2023

3
abc3
def4
ghi5
null
23-Jul-2023
24-Jul-2023

1
abc1
def2
ghi3
jkl4
24-Jul-2023
null

2
abc2
def3
ghi4
jkl5
24-Jul-2023
null

3
abc3
def4
ghi5
jkl6
24-Jul-2023
null

4
abc4
def5
null
jkl7
25-Jul-2023
null

what I would expect to see in a true SCD table

Snapshot
COL_1
COL_2
COL_3
COL_4
period_start
period_end

1
abc1
def2
ghi3
null
23-Jul-2023
24-Jul-2023

2
abc2
def3
ghi4
null
23-Jul-2023
24-Jul-2023

3
abc3
def4
ghi5
null
23-Jul-2023
24-Jul-2023

1
abc1
def2
ghi3
jkl4
24-Jul-2023
25-Jul-2023

2
abc2
def3
ghi4
jkl5
24-Jul-2023
25-Jul-2023

3
abc3
def4
ghi5
jkl6
24-Jul-2023
25-Jul-2023

1
abc1
def2
null
jkl4
25-Jul-2023
null

2
abc2
def3
null
jkl5
25-Jul-2023
null

3
abc3
def4
null
jkl6
25-Jul-2023
null

4
abc4
def5
null
jkl7
25-Jul-2023
null

Describe alternatives you've considered
No response
Who will this benefit?
users of snapshots who wish to see the true state of a source at the correct points in time
Are you interested in contributing this feature?
No response
Anything else?
FAQ section "What happens if I add new columns to my snapshot query?"  https://docs.getdbt.com/docs/build/snapshots

+1, would love to see this handled as a config option similar to invalidate_hard_deletes.

+1

Thanks for such a nice write-up @owen-mc-git 🤩  -- made it easy to see what is it doing currently vs. your expectation. See "Reprex" below for the code that I used as a reproducible example.
Refinement
@compilerqueen if we can address this, do you think it should be a config option... or should we just roll it out (essentially) as a bug fix?
Would be curious to hear your thoughts on pros/cons either way.
Potential solution
If we wanted to make the minimal change to produce the behavior that @owen-mc-git described, we could just add the following line right above the return statement here:
    {%- set ns.column_added = intersection|length < query_columns|length or intersection|length < existing_cols|length -%}

👉 Of course we'd probably do more changes than that (e.g., rename variables and remove unused code), but it was pretty pleasing to see that the behavior can be achieved with such minimal code changes 😎
Result

id
col_1
col_2
col_3
col_4
dbt_valid_from
dbt_valid_to

1
abc1
def2
ghi3

2023-07-23
2023-07-24

2
abc2
def3
ghi4

2023-07-23
2023-07-24

3
abc3
def4
ghi5

2023-07-23
2023-07-24

1
abc1
def2
ghi3
jkl4
2023-07-24
2023-07-25

2
abc2
def3
ghi4
jkl5
2023-07-24
2023-07-25

3
abc3
def4
ghi5
jkl6
2023-07-24
2023-07-25

1
abc1
def2

jkl4
2023-07-25

2
abc2
def3

jkl5
2023-07-25

3
abc3
def4

jkl6
2023-07-25

4
abc4
def5

jkl7
2023-07-25

Reprex

Click here for details
These project files assume dbt-duckdb ~= 1.6 but it shouldn't be that hard to modify for a different adapter. duckcli is used to quickly run queries and display the output.
seeds/my_seed.v1.csv
id,col_1,col_2,col_3
1,abc1,def2,ghi3
2,abc2,def3,ghi4
3,abc3,def4,ghi5

seeds/my_seed.v2.csv
id,col_1,col_2,col_3,col_4
1,abc1,def2,ghi3,jkl4
2,abc2,def3,ghi4,jkl5
3,abc3,def4,ghi5,jkl6

seeds/my_seed.v3.csv
id,col_1,col_2,col_4
1,abc1,def2,jkl4
2,abc2,def3,jkl5
3,abc3,def4,jkl6
4,abc4,def5,jkl7

snapshots/my_snapshot.sql
{% snapshot my_snapshot %}

{{
    config(
      target_database=target.database,
      target_schema=target.schema,
      updated_at="'" ~ var("updated_at", '2023-07-23') ~ "'::date",
      unique_key='id',
      strategy='check',
      check_cols='all',
    )
}}

{% set day_number = var("day", 1) | int %}

{% if day_number <= 1 %}

select * from {{ ref("my_seed.v1") }}

{% elif day_number == 2 %}

select * from {{ ref("my_seed.v2") }}

{% elif day_number >= 3 %}

select * from {{ ref("my_seed.v3") }}

{% endif %}

{% endsnapshot %}

Run the snapshots one after another and view the output in between:
rm db.db
dbt seed
dbt snapshot --vars "{'day': 1, 'updated_at': '2023-07-23'}"
duckcli db.db -e "select id, col_1, col_2, col_3, date_trunc('day', dbt_valid_from)::date as dbt_valid_from, date_trunc('day', dbt_valid_to)::date as dbt_valid_to from my_snapshot order by dbt_valid_from, id" --table
dbt snapshot --vars "{'day': 2, 'updated_at': '2023-07-24'}"
duckcli db.db -e "select id, col_1, col_2, col_3, col_4, date_trunc('day', dbt_valid_from)::date as dbt_valid_from, date_trunc('day', dbt_valid_to)::date as dbt_valid_to from my_snapshot order by dbt_valid_from, id" --table
dbt snapshot --vars "{'day': 3, 'updated_at': '2023-07-25'}"
duckcli db.db -e "select id, col_1, col_2, col_3, col_4, date_trunc('day', dbt_valid_from)::date as dbt_valid_from, date_trunc('day', dbt_valid_to)::date as dbt_valid_to from my_snapshot order by dbt_valid_from, id" --table

Output:
01:46:26  Running with dbt=1.6.0
01:46:26  Registered adapter: duckdb=1.6.0
01:46:26  Unable to do partial parsing because config vars, config profile, or config target have changed
01:46:27  Found 1 model, 1 snapshot, 3 seeds, 0 sources, 0 exposures, 0 metrics, 349 macros, 0 groups, 0 semantic models
01:46:27
01:46:27  Concurrency: 1 threads (target='duckdb')
01:46:27
01:46:27  1 of 3 START seed file main.my_seed.v1 ......................................... [RUN]
01:46:27  1 of 3 OK loaded seed file main.my_seed.v1 ..................................... [INSERT 3 in 0.12s]
01:46:27  2 of 3 START seed file main.my_seed.v2 ......................................... [RUN]
01:46:27  2 of 3 OK loaded seed file main.my_seed.v2 ..................................... [INSERT 3 in 0.03s]
01:46:27  3 of 3 START seed file main.my_seed.v3 ......................................... [RUN]
01:46:27  3 of 3 OK loaded seed file main.my_seed.v3 ..................................... [INSERT 4 in 0.03s]
01:46:27
01:46:27  Finished running 3 seeds in 0 hours 0 minutes and 0.41 seconds (0.41s).
01:46:27
01:46:27  Completed successfully
01:46:27
01:46:27  Done. PASS=3 WARN=0 ERROR=0 SKIP=0 TOTAL=3
01:46:29  Running with dbt=1.6.0
01:46:29  Registered adapter: duckdb=1.6.0
01:46:29  Unable to do partial parsing because config vars, config profile, or config target have changed
01:46:30  Found 1 model, 1 snapshot, 3 seeds, 0 sources, 0 exposures, 0 metrics, 349 macros, 0 groups, 0 semantic models
01:46:30
01:46:30  Concurrency: 1 threads (target='duckdb')
01:46:30
01:46:30  1 of 1 START snapshot main.my_snapshot ......................................... [RUN]
01:46:30  1 of 1 OK snapshotted main.my_snapshot ......................................... [success in 0.14s]
01:46:31
01:46:31  Finished running 1 snapshot in 0 hours 0 minutes and 0.32 seconds (0.32s).
01:46:31
01:46:31  Completed successfully
01:46:31
01:46:31  Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1
| id | col_1 | col_2 | col_3 | dbt_valid_from | dbt_valid_to |
|----|-------|-------|-------|----------------|--------------|
| 1  | abc1  | def2  | ghi3  | 2023-07-23     | <null>       |
| 2  | abc2  | def3  | ghi4  | 2023-07-23     | <null>       |
| 3  | abc3  | def4  | ghi5  | 2023-07-23     | <null>       |
01:46:33  Running with dbt=1.6.0
01:46:33  Registered adapter: duckdb=1.6.0
01:46:33  Unable to do partial parsing because config vars, config profile, or config target have changed
01:46:34  Found 1 model, 1 snapshot, 3 seeds, 0 sources, 0 exposures, 0 metrics, 349 macros, 0 groups, 0 semantic models
01:46:34
01:46:34  Concurrency: 1 threads (target='duckdb')
01:46:34
01:46:34  1 of 1 START snapshot main.my_snapshot ......................................... [RUN]
01:46:34  1 of 1 OK snapshotted main.my_snapshot ......................................... [success in 0.35s]
01:46:34
01:46:34  Finished running 1 snapshot in 0 hours 0 minutes and 0.53 seconds (0.53s).
01:46:34
01:46:34  Completed successfully
01:46:34
01:46:34  Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1
| id | col_1 | col_2 | col_3 | col_4  | dbt_valid_from | dbt_valid_to |
|----|-------|-------|-------|--------|----------------|--------------|
| 1  | abc1  | def2  | ghi3  | <null> | 2023-07-23     | 2023-07-24   |
| 2  | abc2  | def3  | ghi4  | <null> | 2023-07-23     | 2023-07-24   |
| 3  | abc3  | def4  | ghi5  | <null> | 2023-07-23     | 2023-07-24   |
| 1  | abc1  | def2  | ghi3  | jkl4   | 2023-07-24     | <null>       |
| 2  | abc2  | def3  | ghi4  | jkl5   | 2023-07-24     | <null>       |
| 3  | abc3  | def4  | ghi5  | jkl6   | 2023-07-24     | <null>       |
01:46:37  Running with dbt=1.6.0
01:46:37  Registered adapter: duckdb=1.6.0
01:46:37  Unable to do partial parsing because config vars, config profile, or config target have changed
01:46:38  Found 1 model, 1 snapshot, 3 seeds, 0 sources, 0 exposures, 0 metrics, 349 macros, 0 groups, 0 semantic models
01:46:38
01:46:38  Concurrency: 1 threads (target='duckdb')
01:46:38
01:46:38  1 of 1 START snapshot main.my_snapshot ......................................... [RUN]
01:46:38  1 of 1 OK snapshotted main.my_snapshot ......................................... [success in 0.34s]
01:46:38
01:46:38  Finished running 1 snapshot in 0 hours 0 minutes and 0.51 seconds (0.51s).
01:46:38
01:46:38  Completed successfully
01:46:38
01:46:38  Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1
| id | col_1 | col_2 | col_3  | col_4  | dbt_valid_from | dbt_valid_to |
|----|-------|-------|--------|--------|----------------|--------------|
| 1  | abc1  | def2  | ghi3   | <null> | 2023-07-23     | 2023-07-24   |
| 2  | abc2  | def3  | ghi4   | <null> | 2023-07-23     | 2023-07-24   |
| 3  | abc3  | def4  | ghi5   | <null> | 2023-07-23     | 2023-07-24   |
| 1  | abc1  | def2  | ghi3   | jkl4   | 2023-07-24     | 2023-07-25   |
| 2  | abc2  | def3  | ghi4   | jkl5   | 2023-07-24     | 2023-07-25   |
| 3  | abc3  | def4  | ghi5   | jkl6   | 2023-07-24     | 2023-07-25   |
| 1  | abc1  | def2  | <null> | jkl4   | 2023-07-25     | <null>       |
| 2  | abc2  | def3  | <null> | jkl5   | 2023-07-25     | <null>       |
| 3  | abc3  | def4  | <null> | jkl6   | 2023-07-25     | <null>       |
| 4  | abc4  | def5  | <null> | jkl7   | 2023-07-25     | <null>       |

@dbeatty10  following up on this issue, have there been any new updates that can be shared, thanks

This is distinct from #10235 as this ticket is focused on handling cases where a source field is removed (vs. a source row, which is covered by #10235).

@owen-mc-git Hi! Just wanted to clarify - is this request specific to when you have a snapshot with strategy: 'check' and check_cols: 'all'?

@graciegoheen  When I encountered the issue I was using the strategy: "check"  and check_cols:'all;
I was snapshotting reference type tables that do not have update columns but can have  changes in source including columns being removed if the ref data model changes

Thanks! I'll block off some time to confirm what happens with the timestamp strategy. Our docs say - "dbt will not delete columns in the destination snapshot table if they are removed from the source query" - but I would expect the field that was removed from the source to be updated to null in the snapshot for the same reason you said above, "Not having a new record created for data that is removed gives a false sense that the source still has these values."


Windows zip file seems to not have tagui.cmd command

There has been an interchange of Zip folder under headings. The windows folder is put under Linux and vice- versa. Can I fix this issue?

@hemanthsavasere thanks for flagging out, the zip files at below link looks correct, I just checked. Maybe that's why you are getting the tee and grep error in https://github.com/kelaberetiv/TagUI/issues/450. Because the Windows zip file will have those commands under tagui\src\unx folder.
https://github.com/kelaberetiv/TagUI#set-up

Another observation,
In TagUI_Linux/src zip file there are .cmd files while it is not found in TagUI_Windows/src zip file.

Thanks @hemanthsavasere for telling me about your observation! Let me check and see what's going on.

Hi @hemanthsavasere I tried 3 times downloading from this link and choose the Windows unzip and run link. https://github.com/kelaberetiv/TagUI#set-up
After unzipping, I can see see tagui and tagui.cmd inside tagui/src folder. Can you try again to see if it works? Not sure why your download does not have the tagui.cmd file.

Hi @kensoh,
Thanks, magically now it is working.
Thanks & Regards.

Oh great @hemanthsavasere thanks for verifying! I didn't make any change, maybe it is some temporary problem with the web host. Appreciate that you raise the issue so that we can check it together 👍


test

Signed-off-by: Thiago Abdo<EMAIL_ADDRESS>

run tests.

run tests

looks good!

run tests.

test this please

ignore, joey does not update


onChange events on inputs inside Portals don't fire

Description
When I add an input type="text" field to a Menu's Portal, I expect it to work just like any other input in React.  However, when I do, the onChange event never fires.
Link to Reproduction
https://codesandbox.io/p/sandbox/great-leakey-9rdjtt
Steps to reproduce

Create a Menu based on the documentation here.
Add an input field within the Portal element (doesn't even matter where).
Add an onChange event and try to set state or console.log the change.

Ark UI Version
0.15.0
Framework

[X] React
[ ] Solid
[ ] Vue

Browser
Chrome 118.0.5993.117 & Firefox 118.0.2
Additional Information

Is there a better component to use for a menu that contains a search box?
Should I use a ref somehow?
onKeyDown works but that's a lot of work to get this to behave normally.

Similar error like #1600. There is a high possibility reason is the same.

@toptal-dave
Thanks for taking your time to create that issue. I think it is more related to the Menu component that to thePortal. Since removing the portal still results in the same error. Will have a look shortly


Feat: port algebra.regular.smul

Port of algebra.regular.smul
Based on 550b58538991c8977703fdeb7c9d51a5aa27df11

Should this file be called Smul.lean or SMul.lean? We have two contrasting conventions in this PR.

Should this file be called Smul.lean or SMul.lean? We have two contrasting conventions in this PR.

Should be SMul.lean; I created it wrongly, changed it locally, but the rename didn't take, so I changed it on Github and hopefully it took?

bors r+


LoginPasskeysConditionalAuthenticate mismatches the keycloak ftl

There is 3 bug in the LoginPasskeysConditionalAuthenticate component

the div whose id is kc-form-passkey should be kc-form-passkey
since there is a hardcoded reference to toggle element visibility

https://github.com/keycloakify/keycloakify/blob/64ca0bc0ca61de5d35626a10de8a2d5c5ae1302f/src/login/pages/LoginPasskeysConditionalAuthenticate.tsx#L118C25-L122C61
https://github.com/keycloak/keycloak/blob/7adbba6079933a26616003aeb33709f11a0ad5e0/themes/src/main/resources/theme/base/login/login-passkeys-conditional-authenticate.ftl#L70-L73

the form#kc-form should outside kcContext.authenticators nil check

the autoComplete of input#username should be username webauthn
not sure why keycloak give it username webauthn and off again
but it should be username webauthn
https://github.com/keycloakify/keycloakify/blob/64ca0bc0ca61de5d35626a10de8a2d5c5ae1302f/src/login/pages/LoginPasskeysConditionalAuthenticate.tsx#L146-L150

Hello @zvn2060,
Thank you for reporting these bugs. I had “blindly” ported those pages, doing my best to avoid any mistakes during the translation, but it seems several issues have slipped through.
Since you’ve done an excellent job analyzing the problem, would you be open to submitting a PR to fix them?
It would be greatly appreciated!

ok, give me about 2 days

Thank you very much!


Move script files to src subdirectory

script files (along with nuspec) should be moved to src sub-directory

done (already)


Cleans up lots of insert and deletion behaviors (finally).

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+


Current develop branch doesn't run with GNU

The nightly tests last night died running with GNU. It seems to be due to the addition of #174 into develop.
Running with Debug build we see:
At line 589 of file<EMAIL_ADDRESS>Fortran runtime error: Different CHARACTER lengths (7/8) in array constructor

where we have:
https://github.com/GEOS-ESM/GEOSgcm_GridComp/blob/a48b33e1735c8ee2356a46b847236a52d6c0c610/GEOS_GcmGridComp.F90#L586-L595
I'll need to write a tester to see what's happening here between the two compilers.

Oh boy. Okay, I see the issue. I might need to get the opinion @tclune on this one. This will be interesting...

@mathomp4 @sdrabenh Oh, I think I went through this error before. It did not even compile with different string length in array constructor and failed circleci tests. But after fixing this, it did pass circleci tests. Not sure how this error could get back. Sorry about this. Let me double check and issue a fix.

@yvikhlya Actually, it is usually a compile-time fault. But since the array constructor is in a loop, it became a run-time issue.
I have a solution for the issue now. But, in fixing it, a new bug popped up. One that is a bit more basic, so watch this space...

@mathomp4 Oh, I see, I fixed some of array constructor errors, but not all of them, since i did not run with GNU, only compiled via circleci. I thought that if it passes mandatory tests, it is good to go.

Here's the fix I propose:
      call MAPL_TerminateImport( GC,           &
         SHORT_NAME = [ character(len=(8)) ::  &
            'TAUA_'//suffix,                   &
            'ASYMP_'//suffix,                  &
            'SSALB_'//suffix ],                &
         CHILD      = OGCM,                    &
         RC=STATUS  )
      VERIFY_(STATUS)

@mathomp4 Watch out, this may be not the only place where this happens. Same can be also in GEOS_DataatmGridComp.F90, GEOS_OgcmGridComp.f90, GEOS_ObioGridCmop.F90 and GEOS_OradbioGridComp.F90. Of course only GEOS_Gcm and GEOS_Ogcm matter for now, but why to leave bugs behind?

@mathomp4 Ok, the same happens one more time in GEOS_GcmGridComp.F90 around line 1051. Who is going to make this fix?

@yvikhlya Yeah, I saw the second one. I don't think it matters as much, but I changed it too. Everything else in the PR seems okay in regards to the suffix code.
I'm going to push a branch soon, but it's exposed something else that @bena-nasa is going to look at.

@mathomp4 @atrayano a second one is actually protected by
if (do_obio /= 0)

and does not run in amip mode. I wonder why this terminate_import is not protected? Do you think it is a good idea to protect it?

@mathomp4 @atrayano a second one is actually protected by
if (do_obio /= 0)

and does not run in amip mode. I wonder why this terminate_import is not protected? Do you think it is a good idea to protect it?

@yvikhlya That might be needed. I'm trying to get something to @bena-nasa and I think I have to do that or the model goes more nuts with GNU.
Note that whatever we figure out, we might need you (@yvikhlya ) to test all this in a coupled mode. :)

@mathomp4

Note that whatever we figure out, we might need you (@yvikhlya ) to test all this in a coupled mode. :)

Oh yes, sure. If something breaks the coupled model I prefer to know this better sooner than later.

@yvikhlya @mathomp4  I need to stare at the code to be 100% sure, but I believe it should be protected

@atrayano GNU was much happier when it was. Not protecting it seemed to cause the weird timer issue I was seeing...somehow.

@yvikhlya I think I got something that GNU liked in #260. I had to do a lot of if(DO_OBIO/=0) protections. Thus, I might have really broken the Coupled model. Can you test the branch in coupled mode to make sure it still works for you with the updates?


env error

Great job. I want to run your code, but I encountered an error when installing the environment under Windows. Can I run this code under Windows?

Hi @guilunmeibeautiful and thank you. The environment you are trying to install has been tested only for linux. If you want to run the code on Windows you can manually install all the dependencies listed in Goal-SAR/envs/GoalSARany.yml and it should work. In any case, it is recommended to run the project in linux to obtain the same results. Hope this helps

Thank you very much. It's very helpful. 👍 :D@luigifilippochiara

You're welcome @guilunmeibeautiful ! =)


Add support for transparent font color

The transparent keyword is not recognized when used as the font color. Add support for this keyword.
This will require patching the text arranger in Prawn to set the transparency when the fragment color is transparent. This may also open the door for partial transparency in the future, since it requires overriding the same method.

The stroke and fill color should only be set for the text, not for any border or background color.

This is really tricky to support without causing side effects because Prawn doesn't provide a hook that can manipulate just the font color. It would be far easier if Prawn could support this natively.

Now that it's possible to disable the elements on the title page, I don't think we really need this feature anymore.


NavDrawer is below the status bar

I tried your example .apk, and this is what I have (I also tried MaterialNavigationDrawer on a my project):

As you can see, the status bar opacity is over the NavigationDrawer. I also saw a screenshot on your README without the bug:

Is there a way to disable opacity for the status bar (and maybe use colorPrimaryDark)?
P.S. Thanks for your work, MaterialNavigationDrawer is awesome!

Paolo, this is not a bug: the screenshot has a bug ;)
Respecting the Material Design guidelines, the drawer must be below the darkening layer :)
http://www.google.com/design/spec/patterns/navigation-drawer.html

@alexfacciorusso oh, thanks. Now I just need your opacity bug fixed :)
I'm going to close the issue.


epic: Cortex Updater can do Migrations

Goal

up/down migrations
Migrate cortex.db between versions
Make filesystem changes if needed

Closing as duplicate of #1184


bug: starship-docker does not run for exposer, registry and faucet

Overview
This action should have run: https://github.com/cosmology-tech/starship/actions/runs/9568088564

Maybe fixed with: https://github.com/cosmology-tech/starship/commit/db5572284ac18e5f687e06418b6611d28555b79e


Fixed typo in message_list_view.js

Fixed a typo with the word "message" in message_list_view.js

Automated message from Dropbox CLA bot
@Jeffthebest1, it looks like you've already signed the Dropbox CLA. Thanks!

@Jeffthebest1 BTW do you have a tool you're using to find these?  It could be nice to be running a spell checker tool on our comments in CI.

Merged, thanks @Jeffthebest1!