sql-hint.js doesn't work with multiplex.js

SQL autocompletion breaks when used in a multiplex context.
In CodeMirror.multiplexingMode() we define a new mode and pass the original one as the base, but the original mime type gets lost (sql-hint collects SQL keywords based on doc.modeOption).
I guess this modeOption isn't even something that should be called in getKeywords(), instead cm.getModeAt() would be appropriate. But even then we only know the correct mode but we don't know the mime type, which is necessary to know the SQL dialect.
I see two problems: One being the getKeywords() logic in sql-hint.js and the other that the multiplexer should pass through the base mime type, since currently any addon depending on a mime type won't work out of the box with the multiplexer.
Maybe I am just missing something, but it looks like the mime type is not stored anywhere else than in the modeOption and is not positional aware. Don't know if it'd be the right place to get it from the cm.getModeAt() result.
So currently, I don't have any idea for a solution. The only possible workaround is to override doc.modeOption after instantiating the editor with the multiplexing mode.

Hello @neon-dev This work around is not clear to me, could you shine more light on this?

Hi @marijnh I've been dealing with this issue for over a month now, I would appreciate if there's any known way to multiplex sql with javascript.
If the code below is used, javascript fails to be highlighted between the {{ }} For example:

CodeMirror.defineMode("sql-js", function(config) {   return CodeMirror.multiplexingMode(     CodeMirror.getMode(config, "sql"),     {       open: "{{",       close: "}}",       mode: CodeMirror.getMode(config, {         name: "javascript",       }),     },   ); });

The code you provide works fine for me. Possibly you're not loading the required scripts (javascript and sql mode, addon/mode/multiplex.js).
In any case, @-mentioning all maintainers is obnoxious. Don't do that.

Once again, I would like to apologize for obnoxiously @-mentioning the maintainers, it won't happen again.
with regards to the issue, I wasn't saying there was a problem with the multiplexing system between SQL and javascript. the issue I was referring to was how SQL hinting fails to work with a multiplexed SQL-JS mode, which was why this issue was created in the first place.
For example:
The code below represents adding SQL hints to codemirror using the SQL hint addon found in this file path codemirror/addon/hint/sql-hint which is called via Codemirror.hint.sql
import "codemirror/addon/hint/sql-hint";
import "codemirror/addon/hint/show-hint";
import "codemirror/addon/hint/show-hint.css";

showHint: (editor: CodeMirror.Editor): boolean => {
      editor.showHint({
        hint: CodeMirror.hint.sql,
        completeSingle: false,
        extraKeys: {
          [KeyboardShortcuts.CodeEditor.OpenAutocomplete]: "autocomplete",
        },
      });

      editor.setOption("hintOptions", {
        tables, // custom list of sql tables and column names
      });
      return true;
    },

This would normally work for a simple SQL mode with codemirror.
However an issue arises when we try to use this with a multiplexed SQL-JS codemirror mode i.e. The hinting of SQL based commands stop working e.g Where, From etc. It is important to note however that hinting of the tables and column names still work as expected.
Example of the multiplexed mode under consideration was given as an example above.
In summary, Codemirror.hint.sql only works for SQL mode but not multiplexed SQL-JS mode.
I would appreciate any workaround or insights into how this can be fixed. Many thanks. @marijnh

... javascript fails to be highlighted between the {{ }}

Hm, I wonder where I got the idea that this was about highlighting.
But indeed, sql-hint makes some bad assumptions about how modes work. Attached patch should help.

haha, I appreciate the sarcasm. Thank you for this patch @marijnh. This is highly appreciated. 😅

I see two problems: One being the getKeywords() logic in sql-hint.js and the other that the multiplexer should pass through the base mime type, since currently any addon depending on a mime type won't work out of the box with the multiplexer.

First one is fixed by the patch, but isn't the SQL dialect still hardcoded? If so, this issue is not completely fixed.
Sorry if I'm missing something, I haven't touched CM 5 for years.

@neon-dev It seems you are correct.
@marijnh I tried the patch but it seems the issue has not been resolved, Autocompletion of the SQL commands is still not being done. could this be a mime type issue as @neon-dev suggested?

Hello Marijn, Apologies for the intrusion @marijnh, I wanted to make a plea and drop a gentle reminder to help look into this issue once more. I have tested it myself as well and I can confirm that the issue is not totally resolved. As @neon-dev suggested, it is possible that another step is needed here to completely resolve this issue.
I would sincerely appreciate any workaround or insights into how this can be fixed. Once again, apologies for the intrusion and Many Thanks. 🙏


Recent node versions can import ESModulesPackage output if "type": "module" is specified

I accidentally closed #936 while rebasing/updating

See https://github.com/rustwasm/wasm-pack/pull/1061 — is this not the same thing?

@gthb yes


Fix spelling of argument in to_pandas argument of io.py

Currently separate is spelt like seperate.

Fixed


Use @cycle/time in examples

Closes #575.
I have left the examples that use tween intact, as this is blocked on https://github.com/cyclejs/time/issues/13, which still requires a bit of discussion.
I have made the commits separately for each example I updated so that interested parties could see each one individually, but it might make sense to squash it all together upon merge.
I have manually tested that all examples work the same. 😸

Perfect! Reviewed and looks great

Wow, thanks, @Widdershin .


Feature/post hook

The included readme file covers what this does:

Currently this is a bit of a code-spaghetti. The oscovida/oscovida.github.io repository has a CI which automatically updates the web-page twice a day. This pulls in the master branch of oscovida/oscovida, and then calls some of the functions it provides to generate the pages.
Generating the reports is handled by the oscovida/tools/report_generators module, however this only creates the ipynb/html summary reports, so the individual notebooks (e.g. those in oscovida/tools/pelican/content/ipynb) are not re-generated.
To get around this, we define pre-generate.sh and post-generate.sh files here, the pre-generate.sh script is executed by the oscovida/oscovida.github.io CI at the start after all the dependencies are installed and before the automatic report generation runs, and the post-generate.sh script is executed after the reports are generated but before the make html stage is executed.
For example, if you create a new analysis notebook and put it into pelican/content/ipynb/cool-nb.ipynb then you would add this line to the post-generate.sh file:
jupyter nbconvert --ExecutePreprocessor.timeout=600 --inplace --to notebook --execute ../pelican/content/ipynb/cool-nb.ipynb

Which means that the notebook will be re-executed in place (overwriting the original), and after that is done make html runs so that pelican uses the updated python notebook to generate the pages.
These hooks are also called by the PR CI.

Currently the post-generate hook runs:
jupyter-nbconvert ../generate-individiual-plots.ipynb --execute
jupyter nbconvert --ExecutePreprocessor.timeout=600 --inplace --to notebook --execute ../pelican/content/ipynb/14-day-incidence-germany.ipynb
jupyter nbconvert --ExecutePreprocessor.timeout=600 --inplace --to notebook --execute ../pelican/content/ipynb/14-day-incidence.ipynb

So the individual plots notebook and incidence rate notebooks are updated.
@fangohr are there any other notebooks you'd like this to update along with the report generation?
Once this is merged I'll merge the equivalent PR for oscovida.github.io.

Codecov Report

Merging #101 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #101   +/-   ##
=======================================
  Coverage   79.86%   79.86%
=======================================
  Files           4        4
  Lines         760      760
=======================================
  Hits          607      607
  Misses        153      153

Continue to review full report at Codecov.

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

The notebooks are here:

https://oscovida.github.io/staging/101/14-day-incidence-rate.html
https://oscovida.github.io/staging/101/14-day-incidence-rate-germany.html

It's a bit confusing but it looks like they updated correctly even though the remaining timestamp says the update occurred at 08:52:00 2020. I added in some  timestamps with timezones in this commit, but those have disappeared for some reason.
Either way, 8:52 UTC is 10:52 CEST, which is when the PR CI ran, so it looks like it's working fine.


[UI][CI] Fix Web UI Ci check fail with pnpm the lockfile needs updates

Why are the changes needed?

After pnpm released 8.X version
We should specify pnpm version when npm install.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

[x] CI with Web UI Build Check & Web UI Style Check

Thanks, merged to master/1.7


how to use cocoapods?

pod search no result ...
use to cocoapods~

@yoonjason: Please see the README for a note on CocoaPods.


Enable hashtag for Instagram

Sorry no tests since i figure this is a very minor change.

silly me. i didn't notice there's already a PR for this.


Allow using MaybeUninit

When using MaybeUninit to initialize variables one gets this issue:
error: Cannot cast between pointer types. From: [u8; 256]. To: *struct core::mem::ManuallyDrop<[Vec4; 16]> { value: [f32x4; 16] }.
Would be nice to allow, if possible, as it's often unnecessary to initialize variables in shaders and adds additional overhead.

I can also add that using core::mem::uninitialized() leads to the same issue.

Hmmm, from the tests it looks like this might already be supported?
https://github.com/EmbarkStudios/rust-gpu/blob/main/tests/ui/lang/core/mem/create_unitialized_memory.rs

@NiklasNummelin @LegNeato Sorry I forgot about this, but it looks like the issue here is specifically arrays?
What were you using MaybeUninit for? It looks like .as_mut_ptr() is fine for inline asm! use and we should replace all our indirect-asm!-result patterns with it.

This PR has a fix (in its first commit) for unions that should handle all possible MaybeUninit<T>s:

#1006

However, I haven't added tests, or even tried it out beyond the spirv_std changes, so even after that lands, this issue would be tracking making sure @NiklasNummelin's original usecase is addressed.

Haven't looked into reproducing this yet but it's very likely that MaybeUninit<&[T]> (and scalar pairs in general) has a different layout than &[T], which seems to be negatively impacting #1014.
It might be fine for fixed-length arrays, so your original usecase is probably fine, but TypedBuffer kind of needs to work with slices to be maximally useful.


bug: Browser window refresh & direct url navigation input doesn't work

Bug Report
Ionic version:
[x] 4.x
Current behavior:
I start my app using ionic serve and then i click my button to navigate to the next page, which is a ion-split-pane...everything is loading and working fine so far.
When i reload the browser window or enter the desired navitagion url directly to the browser i get a few error messages that runtime.js and a manifest file is not found. I always have to go back to the root page and start the whole navigation process again - which is very disturbing in the dev workflow because this happens at every code change/live-reload of the app.
The same happens with the fully productive built app
see attached screenshots
Expected behavior:
Livereload, page refresh, as well es direct input of the url should work
Steps to reproduce:
Serve the app and then enter "http://localhost:8000/main/graph/monthly" for example
Related code:
Full Repo: https://github.com/obermoserkitz/inrtrkr
Live app: https://inrtrkr.web.app - No credentials required, just hit "Login"
Ionic info:

Ionic:

   Ionic CLI                     : 6.3.0 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.0.5
   @angular-devkit/build-angular : 0.803.25
   @angular-devkit/schematics    : 8.3.25
   @angular/cli                  : 8.3.25
   @ionic/angular-toolkit        : 2.2.0

Capacitor:

   Capacitor CLI   : 1.5.1
   @capacitor/core : 1.5.1

Utility:

   cordova-res : not installed
   native-run  : not installed

System:

   NodeJS : v13.5.0 (/usr/local/Cellar/node/13.5.0/bin/node)
   npm    : 6.13.4
   OS     : macOS Catalina

Without errors, working fine:

Errors on page reload or direct url input:

I just wanted to let you know that i was able to fix this issue by myself!
I tried using the "HashLocationStrategy" as LocationStrategy provider in my app.module
Now it is appending a Hashtag to the url and it is working like a charm with reloading and direct url input.
Maybe this will be useful to somebody.
Have a great day and stay healthy!


Adding in first round of translation

@brianek This is just the initial check in; unfortunately my spanish is not what it used to be so I was unsure where some of the translated text was suppose to go.  I'll be there Tuesday if you want to walk me through it and we can add translations for the rest of the site.

@mkalish The only thing that has been translated so far is the intro page and the FAQs section which is attached here. So basically, you are way ahead!!!! So thank you so much! . I forgot that Code for DC is on tuesday this week and I am in california till tuesday morning. Going further, where would I add the spanish translationsonce they are finished ? Did you fork the repo and have a specific repo for the spanish translation? Translation here: https://docs.google.com/document/d/1qm7xFhkEFZ3t6qL4iIooEz6drri_KoW0xjRl7est91c/edit

I'm happy to keep adding the translations into the code as you get them and putting them into the google doc is good with me.  If you wanted to add them yourself, their is an english file locale-en.json for english and locale-es.json where English and Spanish versions can be put

Ok great. I'll let you know when new translations are available.
On Oct 26, 2015 2:49 PM, "mkalish"<EMAIL_ADDRESS>wrote:

I'm happy to keep adding the translations into the code as you get them
and putting them into the google doc is good with me. If you wanted to add
them yourself, their is an english file locale-en.json for english and
locale-es.json where English and Spanish versions can be put
—
Reply to this email directly or view it on GitHub
https://github.com/codefordc/clean-slate/pull/167#issuecomment-151294375
.

Translation - Clean Slate DC (2).docx
@mkalish: newtranslation is available.


Including required variables information

Really, this is an idea for lax. It is not always easy for the analyzer to determine exactly what variables are needed in the cuts,  but it is a simple task for the developers to document it. It should work like what's been done with requires and provides, but this can be much simpler.
For this, what we need to do is adding a list in class properties. And have an auto-generation function that can grab and concatenate this list from upstream plugins.

Although not exactly what you describe, something like st.search_field('cs1') can be most helpful.

Fixed in https://github.com/AxFoundation/strax/pull/638


MINOR: Remove deprecated methods from DescribeLogDirsResults

The API has been deprecated for 2+ years.
Committer Checklist (excluded from commit message)

[x] Verify design and implementation
[ ] Verify test coverage and CI build status
[x] Verify documentation (including upgrade notes)

Thanks for the PR. We can't remove deprecated methods until a major release (for example Apache Kafka 4.0). So, closing this for now.


'mobx' does not contain an export named 'Atom'.

I run into a problem with the warning  'mobx' does not contain an export named 'Atom'.
I used the<EMAIL_ADDRESS>and<EMAIL_ADDRESS>What should I do?

Read the release notes😊?
Op do 19 apr. 2018 02:02 schreef renyaoxiang<EMAIL_ADDRESS>
I run into a problem with the warning 'mobx' does not contain an export
named 'Atom'.
I used the<EMAIL_ADDRESS>and<EMAIL_ADDRESS>What should I do?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mobxjs/mobx-react/issues/459, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABvGhAr8gHBN9KUa9VFXAj7ocjgyMgOFks5tp9QRgaJpZM4Ta84D
.

I changed the tsconfig.json, it works. It seems that tsc used the file index.module.js instead of index.js of mobx-react.
Maybe the file index.module.js is something wrong, I'm not sure, however it works for me now.
tsconfig.json
{
...
		"module": "commonjs", //  "esnext"  will make an error
...
}

Thank you.

closing, as this is an error in the dependency setup, not in mobx-react.


add vscode sandbox

This is to enable local sandbox switch when open VSCode.
I was getting this error, because VSCode use global switch.


Support for account hierarchies

How can we support allocation of assets into account hierarchies, either internal or external ones?
Two example use cases:

An institution holds a certain asset at a custodian, say 10mm USD. This balance is internally "allocated" to three different funds / desks / strategies.
A custodian holds assets on behalf of an asset manager at the CSD. They have one omnibus account for the asset manager, and sub-accounts for each of the funds they manage (which are legal entities themselves, and are the legal owner of the securities). I'm not sure this is actually a realistic scenario, but I do think CSDs can support sub-accounts

This scenario is quite common in the industry so we should think how we can support it.
One approach that I think already works in the current implementation is the following:

The party representing the legal entity holding the aggregate funds at the custodian is the owner of the holding at the custodian
This party essentially acts as an "internal custodian" to the firm
Internal departments / teams / entities / desks would just be owners of holdings at this "internal custodian" party

Some issues with this approach:

We don't have a way to "preserve quantity", ie. to ensure that internal holdings sum up to the external one. This is not specific to this use case, we generally don't guarantee this (eg. to support central bank and commercial bank cash scenarios, where we need it). But it would still be great (not just for this use case) if we have a way to selectively enforce this
We generally cannot settle atomically from an internal account to an external counterparty, as this would reveal internal accounts to the counterparty. Unless we use an internal party as the settler of the batch, but this would mean the external party would have to reveal their account structure to us. A third party settlement agent would also require internal account visibility, which is probably prohibitive.

Another approach I could imagine:

A custom Holding implementation that has an additional account key that points to the internal account
The account id would be a random id that is meaningless to the custodian
The owner would split up their asset at the custodian into the allocated chunks, and set the internal account accordingly

Drawback:

The custodian would still learn about the allocation structure (ie. how many sub-accounts an asset is allocated to)
I don't see how we could support hierarchical internal accounts with this

I wonder if there are other, better approaches to this. Something to think about.

@johan-da
I have been thinking about the atomic settlement across an account hierarchy in "zero-knowledge" (i.e., without revealing any information about internal accounts and settlement routes to say an agent). Assume Alice buys an asset from Bob over the counter (OTC), and that we have the following routes for the asset and cash, respectively:
    Depository
       /  \
     C1    C2                  (Asset)
    /        \
 Alice       Bob
    \        /
     B1    B2                  (Cash)
       \  /
    CentralBank

Thereby note that the parties in the routes only need to know about their neighbours (except for the trading parties Alice and Bob which here also knows of each other). In particular, Alice does not need to know whether C1 has a direct link with the Depository or if there is some other intermediary in between.
I think the following would work. The trick would be to use

a hash-time lock, and

build routes to a common root custodian (here the Depository and CentralBank, respectively) in a specific order
The protocol would work as follows:

Preparation phase:
0.1 Alice chooses a random secret x and computes a hash h = sha256(x).
0.2 She sends h to Bob.

Asset debit route to depository:
1.1Alice contacts her custodian C1, shows h, and prepares a hash lock of her asset to C1 (i.e., C1 can solely claim ownership of her asset upon showing a pre-image of h such as x within some time bound). Alice is willing to do so, as she is in control of the pre-image x (and the assumption is that it is not possible to compute an x' fulfilling h(x').
1.2. C1 contacts the Depository, shows h, and prepares a hash lock of its asset to the Depository (as C1 then is net zero).

Asset credit route to depository:
2.1.Bob contacts her custodian C2, shows h, and asks to get a hash lock h for an asset provided by C2.
2.2. Before C2 provides the lock, C2 contacts the Depository, shows h, and asks to get a has lock h for an asset provided by the Depository.
2.3. Before the Depository provides the lock, the Depository waits for a corresponding hash lock claim (provided by some of its custodians, here C1). The Depository then provide a hash lock h to C2 (as the Depository is net zero).
2.4. Once C2 notices its hash lock h provided by the Depository, it provides the hash lock for Bob (as C2 then is net zero).

Cash debit route to central bank:
3.1. Bob now contacts B2, shows h, and prepares a hash lock h for his cash. Bob is willing to do so, as Bob is guaranteed (from 2.4) to get the asset in case someone claims his cash.
3.2. B2 contacts CB, shows h, and prepares a hash lock h for the cash to CB (as B2 then is net zero).

Cash credit route to central bank:
4.1 Alice contacts B1, shows h, and asks for a hash lock h for cash.
4.2 Before B1 provides the hash lock, B1 contacts the CentralBank, shows h, and asks for a hash lock h for cash.
4.3 Before the CentralBank provides the hash lock, it waits until it has a corresponding hash lock claim from one of its banks, here B2. Then the CentralBank provides a hash lock h for B1 (as the CentralBank is net zero)
4.4 B1 then provides a hash lock h for the cash to Alice (as B1 then is net zero).

Settlement
5.1. Alice claims the cash from B1 by revealing x to B1.
5.2 B1 claims the cash from the CentralBank by revealing x to Centralbank
5.3 ... CentralBank -> B2
5.4 ... B2 -> Bob
5.5 Bob claims the asset from C2 by revealing x to C2.
5.6. ... C2 -> Depository
5.7. ... Depository -> C1
5.8 Finally C1 claims the asset from Alice by revealing x to Alice

Note that if Alice would release x too early, the only party that would suffer from it would be Alice herself. Obviously, we need to assume that the parties play ball and adheres to the protocol (also the Canton protocol), but these are typically regulated entities (c.f. in a sense we can't guarantee that a party to a Dvp settles either) so it should be fine.

@lucianojoublanc-da
There's a class of problems that can be solved by multiparty computation. In the wiki it's described informally as:
suppose we have three parties Alice, Bob and Charlie, with respective inputs x, y and z denoting their salaries. They want to find out the highest of the three salaries, without revealing to each other how much each of them makes. Mathematically, this translates to them computing:

F(x, y, z) = max(x, y, z)
If there were some trusted outside party (say, they had a mutual friend Tony who they knew could keep a secret), they could each tell their salary to Tony, he could compute the maximum, and tell that number to all of them. The goal of MPC is to design a protocol, where, by exchanging messages only with each other, Alice, Bob, and Charlie can still learn F(x, y, z) without revealing who makes what and without having to rely on Tony. They should learn no more by engaging in their protocol than they would learn by interacting with an incorruptible, perfectly trustworthy Tony.

And I think our problem falls under this category.
There's a textbook on this "Secure Multiparty computation and secret sharing" which goes into this in depth.

@lucianojoublanc-da  secure function evaluation (SFE) is a way to let n players with individual inputs x1, x2, ..., xn compute a function f(x1, x2, ..., xn) without revealing any information about eachother's inputs. Such a task could easily be solved with a third trusted party, but the idea is to simulate such a behaviour between the players (in zero knowledge). MPC is more general in the sense that the function can be stateful (and give multiple outputs). Both SFE and MPC typically tolerate (depending on assumptions) that a certain threshold of parties act maliciously (i.e., collude, divert from the protocol, etc.), and still guarantee zero knowledge.
Indeed we would ideally want to simulate a trusted settlement agent, the question is under what assumptions. At least in our use case, the parties are typically regulated and not malicious. If Alice colludes with the Depository in the ^^ hash lock protocol, and thereby learns that there is a single intermediary between them C1, I guess it is fine. I also think we can assume that parties act rationally. If Bob does not play ball, we sue him in court;-)


Extracting an array of Tables

In the Feather package the root table type CTable has a member named columns  that is a Vector{Column}.  Extraction of this member is working in the master branch but I broke it in the useread branch.

Fixed by #7


Inconsistent interfaces for configuring docker registry for airgap install

A kots user can use one of several different methods to configure their docker registry during airgap installs. It is often unclear which methods are supported. Available methods also vary depending on the interface being used (kots admin-console push-images, kots install, and the admin console airgap install GUI are the three interfaces).
For the following examples, I'll use gcr.io/dev-project/subdir/ as an example docker registry path.
kubectl kots admin-console push-images
kubectl kots admin-console push-images ~/Downloads/kotsadm.tar.gz gcr.io/dev-project/subdir/ results in an error due to the trailing slash: failed to parse dest image name gcr.io/dev-project/subdir//kotsadm:v1.20.3: invalid reference format
kubectl kots admin-console push-images ~/Downloads/kotsadm.tar.gz gcr.io/dev-project/subdir works as expected: Pushing gcr.io/dev-project/subdir/kotsadm:v1.20.3
There is no configuration option to specify a registry "namespace" (in contrast with admin console airgap install GUI).
kubectl kots install
kubectl kots install example/stable --kotsadm-registry gcr.io/dev-project/subdir/ --airgap-bundle example.airgap
Here, the trailing slash is handled correctly when pushing the airgap images. It is not handled correctly when deploying the kotsadm images to the cluster, instead producing image references like: gcr.io/dev-project/subdir//kotsadm/minio:v1.21.0. Notice also that /kotsadm/ has been inserted, which is inconsistent with the behavior of admin-console push-images above.
The kotsadm-registry is used to both pull the kotsadm images, and as a target to push the images from the airgap bundle (in contrast with admin console airgap install GUI, where you can specify a different repo to push the airgap bundle images.)
admin console airgap install GUI
The airgap install GUI differs from the CLI options in several ways:

unauthenticated docker registries are not supported (see #1189)
there is a separate "namespace" field
airgap bundle images can be pushed to a different registry than kotsadm images

For the example registry, /dev-project/subdir can be added to the end of the "Hostname" field, or included separately in the "Namespace" field. (I did not take the time to validate whether trailing slashes are handled gracefully in either field.)
Expectations
My expectations as an end-user would be that docker registries can be configured the same way, regardless of which installation type I use. I would assume the same library is handing the input for each of them.
I am confused by the concept of the registry "namespace", and would prefer to provide a single URL.

kubectl upstream upgrade requires a --kotsadm-namespace, unlike the other two CLI commands that take a --kotsadm-registry

We have several customers that wish to use the private registry features.  I can vouch for the above inconsistency which makes for challenging customer support be it live, written or via documentation.

@collinbachi I recently found https://github.com/replicatedhq/kots/blob/588461596b85cf526af95f2102fe16505434eb95/pkg/docker/registry/auth.go#L82 which I used with ECR and granting kubelet pull privileges via another mechanism (ie not IAM user credentials).  Something similar could bypass setting authorization headers if username/password are empty.
Some customers may prefer not to grant even read privileges to kotsadm but simply configure it to substitute image registry & repo references.  In these cases we don't want to be blocked by kotsadm not being able to auth to the registry and enumerate images.


Exception: Unable to get TypeRef for [] in context Field

Hi, this is a very cool project!!
Could you help me figure out what can I do to resolve this? I'm getting an error with command:
python3 -m clairvoyance -o ./schema.json -w wordlist.txt https://www.REDACTED.com/graphql/
Full error:
Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/mbrg/install/clairvoyance/clairvoyance/__main__.py", line 4, in <module>
    cli()
  File "/home/mbrg/install/clairvoyance/clairvoyance/cli.py", line 109, in cli
    asyncio.run(
  File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/home/mbrg/install/clairvoyance/clairvoyance/cli.py", line 67, in blind_introspection
    schema = await oracle.clairvoyance(
  File "/home/mbrg/install/clairvoyance/clairvoyance/oracle.py", line 503, in clairvoyance
    results = await asyncio.gather(*tasks)
  File "/home/mbrg/install/clairvoyance/clairvoyance/oracle.py", line 438, in explore_field
    typeref = await probe_field_type(
  File "/home/mbrg/install/clairvoyance/clairvoyance/oracle.py", line 358, in probe_field_type
    return await probe_typeref(documents, 'Field')
  File "/home/mbrg/install/clairvoyance/clairvoyance/oracle.py", line 342, in probe_typeref
    raise Exception(e) from e
Exception: Unable to get TypeRef for ['query { ApplicationType }', 'query { ApplicationType { lol } }'] in context Field

Probably related to #20

Hi !
Bumping with the same issue  :
Exception: Unable to get TypeRef for ['query { 96013192d3b3 }', 'query { 96013192d3b3 { lol } }'] in context Field

Query :
query { 96013192d3b3 { lol } }

Response :
{
  "errors": [
    {
      "message": "Syntax Error: Invalid number, expected digit but got: \"d\".",
      "locations": [
        {
          "line": 1,
          "column": 17
        }
      ],
      "extensions": {
        "code": "GRAPHQL_PARSE_FAILED"
      }
    }
  ]
}

Just to add a bit of context :)
Have a nice day !

Hey @mbrg and @ch4dbzh! Could you check this with the latest (2.5.1) version of Clairvoyance and see whether it solved the problem? Thanks!

Hey @mbrg and @ch4dbzh! Could you check this with the latest (2.5.1) version of Clairvoyance and see whether it solved the problem? Thanks!

It does! ty!


Feature/rubric frontend (KHO-170)

Main New Features include
Rubrics screen

Viewing all rubrics within a classroom, including their items
Editing rubrics
Adding new rubric

Assignment Screen

if no rubric is tied to an assignment, able to create a new one or choose an existing one
once selected, one can edit the rubric from here

Checklist

[x] I have performed a self-review of my code
[x] I have reached out to another developer to review my code
[x] I acknowledge my responsibility to reinitialize the deployed DB if there are schema changes.
[x] New and existing unit tests pass locally with my changes
[x] All Lint and CI checks are passing

When there are no rubrics, the table still shows partially, which looks odd

an empty rubric item should probably be disallowed, especially since you populate an empty rubric item on every new rubric

Also, the "create rubric" and "edit rubric" buttons should navigate back to the rubric list screen IMO

due to your validation of the input field, you can't have an empty field here. This is bad UX as I would expect that I could delete the 2 here

You also cannot manually input a negative value, which I think should automatically select the deduction option

The "use existing rubric" functionality should be fleshed out. I think a common flow is that a professor would create a rubric for one assignment, then want to use a slightly modified version of that rubric on assignment two. Currently, you can't do this

When there are no rubrics, the table still shows partially, which looks odd

perhaps this should use the existing "no items" component that we use in the classroom creation flow already

nitpick: typing in invalid characters correctly doesn't change the rubric item field, but it DOES change the rubric to the "editted" state

It seems like you prohibit deleting the last item in a rubric. IMO you should allow deleting it and show an error when they attempt to save (also allow them to delete the entire rubric)

It seems like you don't allow deleting all items in a rubric. IMO you should be allowed to delete all the items, but then show an error when they attempt to save

loading state seems to be broken when there's no rubrics


Add docstring linter

Fixes #404
Work-in-progress.
@neubig @pfliu-nlp There are too many errors. Could you fix several files directly in this branch?

"There are too many errors. Could you fix several files directly in this branch?"

Thanks, will try to follow this.

It took a while, but I fixed about 75% of the 1000-or-so linter errors, and I think the documentation is improved as a result! I'm done for tonight but let's try to wrap it up :)

@neubig Thanks for a bunch of effort for adding documentation!
Since this pull request affects almost the whole repository, merging this should precede other changes to avoid unnecessary cherry-picking.

Good point @pfliu-nlp : I agree.
@odashi : go ahead and merge if you think it's ready.


Restarting Redis causes error retrieving delayed tasks

I'm running a processor using Run(ctx). Everything works great until I restart redis server. It's not uncommon for our systems to have hiccups, so I would hope that the server picks up where it left off. It simply stops working and I don't see anything unless I turn on development logging. Then I see the following:
ERROR	logging/logging.go:123	Received error when retrieving delayed tasks	{"error": "unable to ZPOPBYSCORE PrefixQueue:delay: NOSCRIPT No matching script. Please use EVAL.", "errorVerbose": "NOSCRIPT No matching script. Please use EVAL.\nunable to ZPOPBYSCORE PrefixQueue:delay\ngithub.com/thoas/bokchoy.(*redisBroker).Consume\n\t/userdir/go/pkg/mod/github.com/thoas/bokchoy@v0.1.0/broker_redis.go:198\ngithub.com/thoas/bokchoy.(*Queue).consume\n\t/userdir/go/pkg/mod/github.com/thoas/bokchoy@v0.1.0/queue.go:308\ngithub.com/thoas/bokchoy.(*Queue).ConsumeDelayed\n\t/userdir/go/pkg/mod/github.com/thoas/bokchoy@v0.1.0/queue.go:299\ngithub.com/thoas/bokchoy.(*Queue).consumeDelayedTasks.func1\n\t/userdir/go/pkg/mod/github.com/thoas/bokchoy@v0.1.0/queue.go:150\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1337"}
github.com/thoas/bokchoy/logging.wrapLogger.Error
	/userdir/go/pkg/mod/github.com/thoas/bokchoy@v0.1.0/logging/logging.go:123
github.com/thoas/bokchoy.loggerTracer.Log
	/userdir/go/pkg/mod/github.com/thoas/bokchoy@v0.1.0/tracer.go:32
github.com/thoas/bokchoy.(*Queue).consumeDelayedTasks.func1
	/userdir/go/pkg/mod/github.com/thoas/bokchoy@v0.1.0/queue.go:152

Thank you for the report.

fixed in the current upstream.


Support testcontainers to run inside a docker container with mounted docker.socket

Is your feature request related to a problem? Please describe.
testcontainers-java supports running testcontainers inside a containers and access side spawned containers
Describe the solution you'd like
Instead of using localhost(<IP_ADDRESS>), testcontainers should use the gateway ip container if it is running inside a container: https://github.com/testcontainers/testcontainers-dotnet/blob/develop/src/TestContainers/Core/Containers/Container.cs#L195-L212

I think we just need to extend:
https://github.com/HofmeisterAn/dotnet-testcontainers/blob/173aa1ff6c854df79e603175db2d6c6b772f4507/src/DotNet.Testcontainers/Containers/Modules/TestcontainersContainer.cs#L73
An PR is welcome. I hope we get the official repo working soon and can switch to it.

I will work on it. It could be not that easy to add a test beside an unit test.

@farodin91 Thanks, I'll check and merge it later that day.


[PowerShell] Add-FinOpsHubScope (0.0.1)

📝 Scenario
As a hub admin, I need to add scopes to a hub instance in order to start monitoring a new scope
💎 Solution
Create an Add-FinOpsHubScope function to create exports and optionally back-fill data.

⛔ Blocked

See #240

Synopsis
Starts monitoring a scope within a FinOps hub instance.
Syntax
Add-FinOpsHubScope `
    [-Id] <string> `
    -HubName <string> `
    [-Backfill]

Description
The Add-FinOpsHubScope cmdlet adds a scope to be monitored by a FinOps hub instance. By default, this will start only start pulling data for the current month, which should be available within 30 minutes. To import historical data, use the -Backfill option.
Parameters

Parameter
Description

-Id
Required. Resource ID of the scope to remove.

-HubName
Required. Name of the hub instance to update.

-Backfill
Optional. Indicates whether to remove data for this scope from storage. Default = false.

ℹ Additional info
In 0.0.1, exports are managed manually. When the command is called, run the following:
$hub = Get-FinOpsHub -Name $HubName
# Validate there's only 1 hub returned
New-FinOpsCostExport `
  -Name "$HubName-monthly-AmortizedCost" `
  -Scope $Id `
  -DataSet AmortizedCost `
  -StorageAccountId $hub.properties.resources.storage `
  -StorageContainer msexports `
  -StoragePath $Id.Trim("/") `
  -Execute `
  -Backfill 13

🙋♀ Ask for the community

We could use your help:

Please vote this issue up (👍) to prioritize it.
Should this be Add-FinOpsHubScope or New-FinOpsHubScope?
Do we want to specify the scope as a single parameter (-Id) or multiple (-Subscription "..." -ResourceGroup "...") or support both?
How should we identify the hub instance? Do we have enough parameters?
Should we support adding multiple scopes at one time?
Are there any parameters that are missing?
Leave comments to help us solidify the vision.

@sebassem I'm picking this one up as I know you are busy with the Workbook PR. I will sync with you offline to see where you are.

@akiskips

Suggestion: To align more naturally with the Remove-FinOpsHubScope command, my vote is for Add-FinOpsHubScope


Memoise useBoolean functions using useCallback

No worries! Do I need to do anything else to help get it merged/published?


Add support for sinon sandboxes

Fixes #15
I'd like to encourage the use of sinon sandboxes, mostly because they provide an easy way to restore all mocks, fake timers, fake servers etc. created during a test. That's usually both cumbersome and error prone, as it requires calling the restore() method of each mock/timer/fake server, and it has to happen after all async work has completed, whether or not the test failed.
Sinon sandboxes can also be used to address the problem described in #28 because the user can provide the sandbox when invoking to have calls satisfying, and then all stubs will automatically be "in scope". This is implemented by the second commit of this PR.
I would also like to explore adding some sugar around the creation and disposal of the sandbox object itself. The third commit is an attempt to do that by adding an in sinon sandbox assertion. It doesn't really fit nicely, so I'd like some feedback -- is it even worth it? Can anyone come up with a nicer API?
CC: @sunesimonsen @Munter @alexjeffburke @joelmukuthu @bruderstein

Coverage increased (+0.2%) to 92.689% when pulling 8a7a6c7620f06b723c65a8833380246429402570 on feature/sandbox into 6c9bd0a2a060dc95725fe9faa0dfe5d01c0a9cbd on master.

(The in sinon sandbox assertion is one of those things that I think would fit better as a mocha plugin).

Coverage increased (+0.2%) to 92.612% when pulling 05fa5d626956d59bd19c1daa39e4ace3c298a222 on feature/sandbox into 6c9bd0a2a060dc95725fe9faa0dfe5d01c0a9cbd on master.

I've used sinon.test to manage sandboxes and it worked well. This is perhaps in response to in sinon sandbox. I'm not sure if/how it would work with to have calls satisfying but perhaps it's worth looking into.

Hmm, didn't know about sinon.test. It looks like the same as what I'm trying to achieve, except it doesn't support async tests.

Actually it does support async tests, both promise-based and callback-based. However, when you return a promise the sandbox gets restored before the promise is fulfilled. That can be fixed on their end though (posted an issue here https://github.com/sinonjs/sinon/issues/1119).
I didn't find a way to extract the fakes from the sandbox created with sinon.test so (if I didn't miss something) it will not solve the to have calls satisfying case anyway.
I'm also in favour of encouraging the use of sandboxes btw :). I recommended sinon.test so that sinon itself would be responsible for managing the sandbox but seeing as it's being migrated to a separate module (https://github.com/sinonjs/sinon-test), using sinon.sandbox directly seems to be a better alternative.

Hmm, after actually trying out with sinon sandbox I'm leaning towards sinon.test as well. It's less awkward than wrapping the test inside return expect(function (sandbox) { ... }, 'in sinon sandbox'), so I'm withdrawing that part from the PR.
As far as I can tell, neither sinon.test nor in sinon sandbox help when multiple tests share (parts of) the same mocking code. In that case I can't come up with something better than one or more beforeEach blocks. The first of those can of course create a sinon sandbox.
I'm playing with it here: https://github.com/One-com/teepee/commit/dbfa7d6cc87bd95f3f4ebd204cd24014fe5b4f96

Coverage increased (+0.06%) to 92.513% when pulling 57220c7bdf26d0f33cdbf37a6f117ce8be85da2c on feature/sandbox into 6c9bd0a2a060dc95725fe9faa0dfe5d01c0a9cbd on master.

Nice with support for sandboxes! I agree that creating the sandbox in the beforEach looks less award and have no magic involved.

@sunesimonsen Ok to merge the (hopefully) uncontroversial parts that remain after I reverted in sinon sandbox?

@papandreou you added support for providing an array in addition to a sandbox. But there does not seem to be any tests for this case. It would nice to have at least one. Other than that great job :+1:

Ah, right, thanks. Added.

Coverage increased (+0.06%) to 92.553% when pulling 0389ad2e4063101774465ed69620ae5334c4985e on feature/sandbox into df531b45b3ea8a8012d7abfae4919f667996a4ac on master.

Released in 10.4.0.


Add compatibility with celeritas v0.3.0

Add compatibility with Celeritas v0.3.0
Remove the check_cxx_source_compile because it will fail with the same error mentioned here so it's easier to check for the version

@sethrj The fact that we need the find_package(Celeritas) in the top-level CMakeLists.txt and we can't have it in FullSimLight/CMakeLists.txt is weird. I think it's an issue with CeleritasConfig.cmake. If I remove this block then I can move the find_package to the lower-level CMakelists and the configure will succeed. Is this block actually needed? We make sure not to propagate CUDA dependency to downstream libraries

@esseivaju @drbenmorgan
From the enable_language docs (emphasis mine):

The following restrictions apply to where enable_language() may be called:

It must be called in file scope, not in a function call.
It must not be called before the first call to project(). See policy CMP0165.
It must be called in the highest directory common to all targets using the named language directly for compiling sources or indirectly through link dependencies. It is simplest to enable all needed languages in the top-level directory of a project.

so if we're building stuff downstream of celeritas (i.e. most of a framework) then we have to have a enable_language call at the top level. Do you think our config file should warn if it notices it's not included from the top level?

I think we should remove the enable_language call. Its main purpose is to enable building CUDA sources, which is not required to use Celeritas. Also from the doc you linked, it would cause issues if find_package(Celeritas) is wrapped in a function or when Celeritas is a transitive dependency.

Maybe we should instead have an assertion for the language already being enabled if we call the macros that expect CUDA?

I think it indeed would make sense for the outer/user project to be the one deciding if CUDA is enabled or not and if the version of Celeritas they are trying to link with requires CUDA and they did not enable CUDA then indeed we ought to error out.  On the other hand, if the usage of CUDA is intended to be solely inside of the Celeritas library (i.e. no user CUDA code at all), does CUDA even need to be enabled in that project?

@pcanal When building with RDC (vecgeom) don't we require that the downstream app undergo an nvlink step, even if it doesn't have any CUDA code?

if we propagate nvcc / nvlink  dependency downstream, we can use check_language / CMAKE_CUDA_COMPILER_LOADED  to verify that Cuda can be/is enabled.


add defines to change the contex output

Hello,
I added some new #defines to change the context content. Maybe someone also need this.
cheers
mathias

Thanks, looks good. Though I don't see any arm specific code in that patch. How your patch helps with that? Do you want to modify library code locally for specific project?

After discussing with you I thought I will not use any embedded CPU dependent defines if possible. So implemented this function.
int _gettimeofday( struct timeval *tv, void *tzvp )
{
	(void)tzvp;
    uint64_t now = get_system_tick()*1000; // get_system_tick() delivers the current up time in msec.
    tv->tv_sec = div_u64_by_1000000(now);
    tv->tv_usec = now - (tv->tv_sec * 1000000U);
    return 0;
}
`
Very important for me was do disable the Time and PID stuff via defines.

So there is something wrong with the func define on Visual Studio as I found out. So I do not have any Visual Studio installed do you think this should be fix the problem if I add this in the header file?
#ifdef _MSC_VER
#define __func__ __FUNCTION__
#endif

@mgiaco I had the same issue. After the discussion with @wonder-mice I implemented the fix in this commit

Okay thanks .. so you also do not need PID an TID as a can see. Are there any reasons why you don't create a pull request for the func problem? For PID and TID. The YEAR problem could be fixed in the same way I fixed the PID, TID and TIME i think.
@wonder-mice  I think the FUNCTION problem should be fixed because gcc > 5.0 does not support that any more as I found out here https://gcc.gnu.org/gcc-5/porting_to.html. Should I go with the solution of @biosmooth or do you have any other suggestions how to solve that.

@mgiaco, yes I didn't create a pull request due to PID,TID and YEAR. I like the way you customized PID, TID and TIME. I will think about something similar.
@mgiaco pull request created.

Thanks for contributing to the project, I'll take a close look on the patches and merge them once I have a bit more time (later this week).

Btw, with your version of MSVS, can you compile the following code?
#include <stdio.h>

#define ZF_LOG_CONTEXT_FORMAT(_, T, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, MILLISECOND, PID, TID, LEVEL) \
    _(MONTH) _(T("-")) _(DAY) _(T(" ")) _(HOUR) _(T(":")) _(MINUTE) _(T(":")) _(SECOND) _(T(".")) _(MILLISECOND) _(T(" ")) _(PID) _(T(" ")) _(LEVEL) _(T(" "))

#define AS_IS(what) what
#define NOOP(what)

#define HAS_MONTH (0 ZF_LOG_CONTEXT_FORMAT(AS_IS, NOOP,,||1,,,,,,,,))

void foo()
{
#if !HAS_MONTH
#error Should have a month
#endif
    fprintf(stderr, "%s\n",
            ZF_LOG_CONTEXT_FORMAT(AS_IS, AS_IS,
                                  "year:%s;", "month:%s;", "day:%s;",
                                  "hour:%s;", "minute:%s;", "second:%s;", "millisecond:%s;",
                                  "pid:%i;", "tid:%i;", "level:%c;"));
}

Well, it seems to work. Next, I will try to introduce ZF_LOG_CONTEXT_FORMAT compile time option that will define what goes into context part of log line. It will look something like that:
#define ZF_LOG_CONTEXT_FORMAT(T, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, MILLISECOND, PID, TID, LEVEL) \
    (MONTH, T("-"), DAY, T(" "), HOUR, T(":"), MINUTE, T(":"), SECOND, T("."), MILLISECOND, T(" "), PID, T(" "), TID, T(" "), LEVEL, T(" "))

So, if you want year, but don't want pid and tid, you will define it to:
#define ZF_LOG_CONTEXT_FORMAT(T, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, MILLISECOND, PID, TID, LEVEL) \
    (YEAR, T("-"), MONTH, T("-"), DAY, T(" "), HOUR, T(":"), MINUTE, T(":"), SECOND, T("."), MILLISECOND, T(" "), LEVEL, T(" "))

All this preprocessor magic is required to preserve existing speed and size optimizations.

Though would like to think more how custom fields, like systick, can be added.

Hello - yes it works for me. I just checked you code.
I get this output when i call foo()
month:%s;-day:%s; hour:%s;:minute:%s;:second:%s;.millisecond:%s; pid:%i; level:%c;

Thanks for checking.
Also would be nice if you could check that you can build (just build) with tests (no need to run them) this branch:
https://github.com/wonder-mice/zf_log/tree/line-format
CI tools (win,lin,mac) show that it's fine, but looks like your compiler is somehow different from what I have.

okay i will check that. I use https://msys2.github.io/ but I can check also with this compiler http://tdm-gcc.tdragon.net/ - and I also check it with gnu arm gcc. I will report later.

Hello yes now I can build that but I need to change the latest pull request - sorry I do not check that before. I thought the fix also works for me.  But it dosn´t. So I have to change this:
#if defined(_WIN32) || defined(_WIN64)
#ifdef _MSC_VER
    #define _ZF_LOG_FUNCTION __FUNCTION__
#else
	#define _ZF_LOG_FUNCTION __func__
#endif
#else
	#define _ZF_LOG_FUNCTION __func__
#endif

This function name stuff is really a pain. But I think that should work also for you now. I found this information here http://stackoverflow.com/questions/4164315/how-to-check-if-pretty-function-can-be-used

But why do you need FUNCTION? gcc is fine with func since c99 and visual studio should also work with func.

So I thinks only use func works fine for everyone.

@mgiaco  using only __func__ does not work fine for visual studio 2012 (details)

@biosmooth okay but then the suggestion above should work. Or it is possible to add some more specific defines
#if (_MSC_VER == 1500)
   // ... Do VC9/Visual Studio 2008 specific stuff
#elif (_MSC_VER == 1600)
   // ... Do VC10/Visual Studio 2010 specific stuff
#elif (_MSC_VER == 1700)
   // ... Do VC11/Visual Studio 2012 specific stuff
#endif

Did you look on my latest commit(s) to master? Problem should be fixed there (or so I think).

@mgiaco @biosmooth Checkout this branch:
https://github.com/wonder-mice/zf_log/tree/line-format
I added custom format specifications and default delimiters via following defines in zf_log.c:

ZF_LOG_MESSAGE_CTX_FORMAT
ZF_LOG_MESSAGE_TAG_FORMAT
ZF_LOG_MESSAGE_SRC_FORMAT
ZF_LOG_DEF_DELIMITER

It's not cleaned up yet, but seems like that what you need.
For example, to use custom function
unsigned getticks();

in message context:
#define ZF_LOG_MESSAGE_CTX_FORMAT \
    (F_UINT(5, getticks()), S(" "), LEVEL, S(ZF_LOG_DEF_DELIMITER))

You probably get some compilation warnings if you try that now, but I'll fix that soon.

Pushed changes to the master branch.

Hello, sorry I was away from this topic. But today I came back and tried your latest commits but now I am not able to build the lib anymore.
I do not modify anything it was just a checkout and denn I use.
mkdir Debug
cd Debug
cmkae -G Ninja ..
ninja

Output:
E:\github_c\zf_log\zf_log\zf_log.c:1358:0: error: "_PP_NARGS" redefined

 #define _PP_NARGS(...) _PP_EXPAND(_PP_NARGS_N(__VA_ARGS__,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1))

E:\github_c\zf_log\zf_log\zf_log.c:335:0: note: this is the location of the previous definition

 #define _PP_NARGS(...) _PP_ID(_PP_NARGS_N(__VA_ARGS__,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0))

E:\github_c\zf_log\zf_log\zf_log.c:1365:0: error: "_PP_HEAD_" redefined

 #define _PP_HEAD_(...) _PP_EXPAND(_PP_HEAD__(__VA_ARGS__, ~))

E:\github_c\zf_log\zf_log\zf_log.c:342:0: note: this is the location of the previous definition

 #define _PP_HEAD_(...) _PP_ID(_PP_HEAD__(__VA_ARGS__, ~))

What compiler are you using.

Also Visual Studio 14 2015 compiler did not work.
1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 ------
1>  Checking Build System
1>  CMake does not need to re-run because E:/github_c/zf_log/vs2015/CMakeFiles/generate.stamp is up-to-date.
1>  CMake does not need to re-run because E:/github_c/zf_log/vs2015/zf_log/CMakeFiles/generate.stamp is up-to-date.
2>------ Build started: Project: zf_log, Configuration: Debug Win32 ------
2>  Building Custom Rule E:/github_c/zf_log/zf_log/CMakeLists.txt
2>  CMake does not need to re-run because E:\github_c\zf_log\vs2015\zf_log\CMakeFiles\generate.stamp is up-to-date.
2>  zf_log.c
2>E:\github_c\zf_log\zf_log\zf_log.c(1358): error C2220: warning treated as error - no 'object' file generated
2>E:\github_c\zf_log\zf_log\zf_log.c(1358): warning C4005: '_PP_NARGS': macro redefinition
2>  E:\github_c\zf_log\zf_log\zf_log.c(335): note: see previous definition of '_PP_NARGS'
2>E:\github_c\zf_log\zf_log\zf_log.c(1365): warning C4005: '_PP_HEAD_': macro redefinition
2>  E:\github_c\zf_log\zf_log\zf_log.c(342): note: see previous definition of '_PP_HEAD_'
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Maybe a merge conflict on your side? Latest zf_log.c has only 1346 lines. Can't see how you can get error on line 1365 or 1358. Also CI builds are fine.

I assume this was resolved.

Ah yes sorry.


BOM and CPL

Would it be possible to include BOM and CPL files too?

I have added a Bill of Materials.
I DIY'ed my board. I hand-soldered all the components. The KiCad Documentation has instructions on creating a placement file. Some PCB manufacturers also have instructions.
I am using general purpose capacitors as the DC-blocking caps but testing at low bitrates. More effort may be required to get everything working at 25G. At the very least, the PCB should be manufactured with Impedance Control.


Fixes #4126 for fish-shell

This is the error thrown when starting Atom from Spotlight on Mac or by double clicking on the App and the default shell is fish-shell.
I attach a Snapshot of the error, that doesn't happen anymore after the fix.

Shouldn't this fix #11190 and not #4126?

@50Wliu You're right

/cc @lee-dohm

Thanks for this!

After this pull request Atom is not reading paths added by fish-shell when starting from Spotlight or with double click. Correctly reads paths only when started directly from shell, e.g. with atom command.


Problem downloading from Fanbox

Prerequisites

[x] Did you read FAQ section in readme.md?
[x] Did you test with the latest releases or commit ?
[x] Did you search for existing issues in Issues?

Description
Attempting to download from fanbox using option f1 gives an error.
Steps to Reproduce

Run PixivUtil2.exe -s f1 9999 -x / run f1 in the app itself

Expected behavior: [What you expected to happen]
Downloading the contents
Actual behavior: [What actually happened]
┌──────────────────────────────────────────────────────────┐
│ PixivDownloader2 version 20211104                        │
│ https://github.com/Nandaka/PixivUtil2/releases           │
│ Donate at https://bit.ly/PixivUtilDonation               │
└──────────────────────────────────────────────────────────┘
Reading C:\Pixiv\config.ini ...
Configuration loaded.
Using default DB Path: C:\Pixiv\db.sqlite
Creating database... done.
Overwrite enabled.
Using Username: [removed]
Trying to log in with saved cookie
Login successful.
My User Id: [removed]
Premium User: True.
Trying to log in FANBOX with saved cookie
FANBOX Login successful.
Getting supporting artists from https://api.fanbox.cc/plan.listSupporting
Found 7 artist(s) in supporting list
[removed]
Reading C:\Pixiv\config.ini ...
Configuration loaded.
Getting artist information from https://api.fanbox.cc/creator.get?userId=[removed]
Member Url: https://www.pixiv.net/ajax/user/[removed]/profile/all
Processing FanboxArtist([removed]), page 1
Getting posts from https://api.fanbox.cc/post.listCreator?userId=[removed]&limit=10
Traceback (most recent call last):
File "PixivUtil2.py", line 1462, in main
File "PixivUtil2.py", line 1189, in main_loop
File "PixivUtil2.py", line 811, in menu_fanbox_download_from_list
File "PixivFanboxHandler.pyc", line 50, in process_fanbox_artist_by_id
File "PixivBrowserFactory.pyc", line 989, in fanboxGetPostsFromArtist
File "PixivModelFanbox.pyc", line 490, in parsePosts
File "PixivModelFanbox.pyc", line 67, in init
File "PixivModelFanbox.pyc", line 109, in parsePost
KeyError: 'type'
Unknown Error, please check the log file: (<class 'KeyError'>, KeyError('type'), <traceback object at 0x0355F588>)
Versions
20211104

Disregard, issue is already reported in https://github.com/Nandaka/PixivUtil2/issues/1094, failed to find it using search, but found mention of it in the beta release notes. Apologies.


Safari / iOS compatibility

hi there
noob question, does this native sharing and fallback modal also work with safari on ios?
Thanks

@vilav native sharing  works only on Chrome, But fallback modal works everywhere :)


MODULE_NOT_FOUND Error

Description
The issue is coming when trying to run npm package installation globally
npm install -g sphere-node-cli
Expected Behavior
It should install the sphere-node-cli package globally.
Current Behavior
It is throwing a MODULE NOT FOUND error.
Please find below error also attached the log file
<EMAIL_ADDRESS>preinstall /usr/local/lib/node_modules/sphere-node-cli
node safe-resolution-check.js
internal/modules/cjs/loader.js:968
throw err;
^
Error: Cannot find module '/usr/local/lib/node_modules/sphere-node-cli/safe-resolution-check.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
at Function.Module._load (internal/modules/cjs/loader.js:841:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
<EMAIL_ADDRESS>preinstall /usr/local/lib/node_modules/sphere-node-cli/node_modules/sphere-stock-import
node safe-resolution-check.js
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>preinstall: node safe-resolution-check.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>preinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.`
2020-08-25T15_07_34_349Z-debug.log
Context
It is not allowing to use the cli tool to import.

I got the problem. Soon will be fixing in the next version.


[FEATURE] Convert distillery release to executable

Is your feature request related to a problem? Please describe.
The current install / run process of wasmcloud is a little clunky, download a tarball, extract, then run ./bin/wasmcloud_host wherever it's extracted to.
Describe the solution you'd like
With the --executable flag, distillery supports creating a self-extracting tarball that will extract and execute all in one command. The run process would then be

Download the --wasmcloud script (it's shown as a POSIX shell script, but works the same on different machines)
Move that script to your path, calling it wasmcloud
Run wasmcloud foreground (still need to examine if this will work in /usr/local/bin, it extracts the host files under a tmp directory

This will greatly simplify the download, install, and run process for those not used to elixir releases, as well as our documentation.

Unfortunately this isn't supported with mix releases, or on Windows, so it's not a great solution for packaging the wasmCloud app https://hexdocs.pm/mix/Mix.Tasks.Release.html


NodeJS File bug - voiceChannel.join unrecognized

Bug in line 18. voiceChannel.join is unrecognized and causes this script to crash.

No longer using Discord.js
Issue now obsolete


Dir car show only last bit of the path

The dir car should have a switch to show only the last bit of the path. For example if the path is /usr/share/apps the dir car should allow to show only apps.

Good idea, will implement it 👍

Done in 74292d0


Not able to sync from Outlook

Hello everyone.
I've followed all steps, and I ensured the API permission scopes for Calendar is allowed, but when the ListEvents function is called I am getting this response from the Graph API:
1:53PM ERRO Failed to list events. Status code: 401, Response: {"error":{"code":"AuthOMMissingRequiredPermissions","message":"The AadGuestPft token doesn't contain the permissions required by the target API for calling app '00000003-0000-0000-c000-000000000000'.","innerError":{"oAuthEventOperationId":"bb660827-a33a-4bf3-a165-843dd4e82305","oAuthEventcV":"8D+VBufMhWTBZuahaX9WOQ.1.1","errorUrl":"https://aka.ms/autherrors#error-InvalidGrant","requestId":"2576b0df-3c1c-4603-9b45-ffb05cc6ca0a","date":"2024-12-19T16:53:55"}}}

Was this a challenge for the mainteners as well? Or are you folks just using Google-bases calendars? I am willing to help to investigate the issue and propose a bug fix if needed, but I would just like to know if there is anyone facing the same issue, or a possible workaround is known.

I believe I found the error, not sure, but if it is a Guest user on the tenant, Microsoft doesn't allow to fetch data, as the forum discussion at https://learn.microsoft.com/en-us/answers/questions/1160468/microsoft-graph-api-how-to-access-guest-calendar-e.


[SQA] Door-lock Clusters are not  working in Lock-App.

Problem :
While Executing the TC-DL-2.10, All 5 events are not Working in the Lock-App , But in All-clusters-App 2( lock-operation and lock-operation-error)  events are working .
Step to reproduce : ./chip-tool doorlock read-event  lock-operation 1 1
Commit Used :  4d50b1084284018c4a628f919b0d2e01ea2a39f8
Platform : RPI- RPI.
Log of All-cluster-app:

[1651822378.426088][5624:5629] CHIP:EM: Received message of type 0x5 with protocolId (0, 1) and MessageCounter:1339971 on exchange 65074i
[1651822378.426130][5624:5629] CHIP:EM: Found matching exchange: 65074i, Delegate: 0xffff6c004350
[1651822378.426172][5624:5629] CHIP:EM: Rxd Ack; Removing MessageCounter:14632831 from Retrans Table on exchange 65074i
[1651822378.426203][5624:5629] CHIP:EM: Removed CHIP MessageCounter:14632831 from RetransTable on exchange 65074i
[1651822378.426300][5624:5629] CHIP:DMG: ReportDataMessage =
[1651822378.426335][5624:5629] CHIP:DMG: {
[1651822378.426364][5624:5629] CHIP:DMG:        EventReportIBs =
[1651822378.426408][5624:5629] CHIP:DMG:        [
[1651822378.426441][5624:5629] CHIP:DMG:                EventReportIB =
[1651822378.426498][5624:5629] CHIP:DMG:                {
[1651822378.426535][5624:5629] CHIP:DMG:                        EventDataIB =
[1651822378.426582][5624:5629] CHIP:DMG:                        {
[1651822378.426622][5624:5629] CHIP:DMG:                                EventPath =
[1651822378.426671][5624:5629] CHIP:DMG:                                {
[1651822378.426719][5624:5629] CHIP:DMG:                                        Endpoint = 0x1,
[1651822378.426771][5624:5629] CHIP:DMG:                                        Cluster = 0x101,
[1651822378.426821][5624:5629] CHIP:DMG:                                        Event = 0x2,
[1651822378.426868][5624:5629] CHIP:DMG:                                },
[1651822378.426919][5624:5629] CHIP:DMG:
[1651822378.426963][5624:5629] CHIP:DMG:                                EventNumber = 0x2,
[1651822378.427012][5624:5629] CHIP:DMG:                                PriorityLevel = 0x2,
[1651822378.427057][5624:5629] CHIP:DMG:                                SystemTimestamp = 0x617656,
[1651822378.427100][5624:5629] CHIP:DMG:                                EventData =
[1651822378.427148][5624:5629] CHIP:DMG:                                {
[1651822378.427194][5624:5629] CHIP:DMG:                                        0x0 = 0,
[1651822378.427244][5624:5629] CHIP:DMG:                                        0x1 = 7,
[1651822378.427295][5624:5629] CHIP:DMG:                                        0x2 = 0,
[1651822378.427346][5624:5629] CHIP:DMG:                                        0x3 = 1,
[1651822378.427423][5624:5629] CHIP:DMG:                                        0x4 = 112233,
[1651822378.427482][5624:5629] CHIP:DMG:                                        0x5 = NULL
[1651822378.427562][5624:5629] CHIP:DMG:                                },
[1651822378.427622][5624:5629] CHIP:DMG:                        },
[1651822378.427684][5624:5629] CHIP:DMG:
[1651822378.427728][5624:5629] CHIP:DMG:                },
[1651822378.427803][5624:5629] CHIP:DMG:
[1651822378.427843][5624:5629] CHIP:DMG:                EventReportIB =
[1651822378.427906][5624:5629] CHIP:DMG:                {
[1651822378.427951][5624:5629] CHIP:DMG:                        EventDataIB =
[1651822378.428008][5624:5629] CHIP:DMG:                        {
[1651822378.428056][5624:5629] CHIP:DMG:                                EventPath =
[1651822378.428110][5624:5629] CHIP:DMG:                                {
[1651822378.428171][5624:5629] CHIP:DMG:                                        Endpoint = 0x1,
[1651822378.428234][5624:5629] CHIP:DMG:                                        Cluster = 0x101,
[1651822378.428294][5624:5629] CHIP:DMG:                                        Event = 0x2,
[1651822378.428350][5624:5629] CHIP:DMG:                                },
[1651822378.428411][5624:5629] CHIP:DMG:
[1651822378.428467][5624:5629] CHIP:DMG:                                EventNumber = 0x5,
[1651822378.428526][5624:5629] CHIP:DMG:                                PriorityLevel = 0x2,
[1651822378.428580][5624:5629] CHIP:DMG:                                DeltaSystemTimestamp = 0x635a5,
[1651822378.428631][5624:5629] CHIP:DMG:                                EventData =
[1651822378.428689][5624:5629] CHIP:DMG:                                {
[1651822378.428749][5624:5629] CHIP:DMG:                                        0x0 = 0,
[1651822378.428812][5624:5629] CHIP:DMG:                                        0x1 = 7,
[1651822378.428874][5624:5629] CHIP:DMG:                                        0x2 = 0,
[1651822378.428937][5624:5629] CHIP:DMG:                                        0x3 = 1,
[1651822378.428996][5624:5629] CHIP:DMG:                                        0x4 = 112233,
[1651822378.429056][5624:5629] CHIP:DMG:                                        0x5 = [
[1651822378.429116][5624:5629] CHIP:DMG:
[1651822378.429181][5624:5629] CHIP:DMG:                                                {
[1651822378.429244][5624:5629] CHIP:DMG:                                                        0x0 = 1,
[1651822378.429314][5624:5629] CHIP:DMG:                                                        0x1 = 0,
[1651822378.429382][5624:5629] CHIP:DMG:                                                },
[1651822378.429452][5624:5629] CHIP:DMG:                                        ],
[1651822378.429513][5624:5629] CHIP:DMG:                                },
[1651822378.429568][5624:5629] CHIP:DMG:                        },
[1651822378.429634][5624:5629] CHIP:DMG:
[1651822378.429679][5624:5629] CHIP:DMG:                },
[1651822378.429754][5624:5629] CHIP:DMG:
[1651822378.429794][5624:5629] CHIP:DMG:                EventReportIB =
[1651822378.429857][5624:5629] CHIP:DMG:                {
[1651822378.429902][5624:5629] CHIP:DMG:                        EventDataIB =
[1651822378.429951][5624:5629] CHIP:DMG:                        {
[1651822378.430003][5624:5629] CHIP:DMG:                                EventPath =
[1651822378.430060][5624:5629] CHIP:DMG:                                {
[1651822378.430120][5624:5629] CHIP:DMG:                                        Endpoint = 0x1,
[1651822378.430177][5624:5629] CHIP:DMG:                                        Cluster = 0x101,
[1651822378.430238][5624:5629] CHIP:DMG:                                        Event = 0x2,
[1651822378.430297][5624:5629] CHIP:DMG:                                },
[1651822378.430358][5624:5629] CHIP:DMG:
[1651822378.430414][5624:5629] CHIP:DMG:                                EventNumber = 0x6,
[1651822378.430468][5624:5629] CHIP:DMG:                                PriorityLevel = 0x2,
[1651822378.430522][5624:5629] CHIP:DMG:                                DeltaSystemTimestamp = 0x81f5d,
[1651822378.430577][5624:5629] CHIP:DMG:                                EventData =
[1651822378.430629][5624:5629] CHIP:DMG:                                {
[1651822378.430689][5624:5629] CHIP:DMG:                                        0x0 = 0,
[1651822378.430751][5624:5629] CHIP:DMG:                                        0x1 = 7,
[1651822378.430811][5624:5629] CHIP:DMG:                                        0x2 = 0,
[1651822378.430873][5624:5629] CHIP:DMG:                                        0x3 = 1,
[1651822378.430935][5624:5629] CHIP:DMG:                                        0x4 = 112233,
[1651822378.430992][5624:5629] CHIP:DMG:                                        0x5 = [
[1651822378.431052][5624:5629] CHIP:DMG:
[1651822378.431117][5624:5629] CHIP:DMG:                                                {
[1651822378.431186][5624:5629] CHIP:DMG:                                                        0x0 = 1,
[1651822378.431259][5624:5629] CHIP:DMG:                                                        0x1 = 0,
[1651822378.431331][5624:5629] CHIP:DMG:                                                },
[1651822378.431407][5624:5629] CHIP:DMG:                                        ],
[1651822378.431466][5624:5629] CHIP:DMG:                                },
[1651822378.431517][5624:5629] CHIP:DMG:                        },
[1651822378.431581][5624:5629] CHIP:DMG:
[1651822378.431625][5624:5629] CHIP:DMG:                },
[1651822378.431684][5624:5629] CHIP:DMG:
[1651822378.431722][5624:5629] CHIP:DMG:        ],
[1651822378.431803][5624:5629] CHIP:DMG:
[1651822378.431843][5624:5629] CHIP:DMG:        SuppressResponse = true,
[1651822378.431884][5624:5629] CHIP:DMG:        InteractionModelRevision = 1
[1651822378.431922][5624:5629] CHIP:DMG: }
[1651822378.432267][5624:5629] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Event 0x0000_0002
[1651822378.432308][5624:5629] CHIP:TOO:         Event number: 2
[1651822378.432345][5624:5629] CHIP:TOO:         Priority: Critical
[1651822378.432381][5624:5629] CHIP:TOO:         Timestamp: 6387286
[1651822378.432545][5624:5629] CHIP:TOO:   LockOperation: {
[1651822378.432601][5624:5629] CHIP:TOO:     LockOperationType: 0
[1651822378.432640][5624:5629] CHIP:TOO:     OperationSource: 7
[1651822378.432676][5624:5629] CHIP:TOO:     UserIndex: 0
[1651822378.432713][5624:5629] CHIP:TOO:     FabricIndex: 1
[1651822378.432751][5624:5629] CHIP:TOO:     SourceNode: 112233
[1651822378.432788][5624:5629] CHIP:TOO:     Credentials: null
[1651822378.432826][5624:5629] CHIP:TOO:    }
[1651822378.433017][5624:5629] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Event 0x0000_0002
[1651822378.433059][5624:5629] CHIP:TOO:         Event number: 5
[1651822378.433095][5624:5629] CHIP:TOO:         Priority: Critical
[1651822378.433130][5624:5629] CHIP:TOO:         Timestamp: 6794235
[1651822378.433188][5624:5629] CHIP:TOO:   LockOperation: {
[1651822378.433227][5624:5629] CHIP:TOO:     LockOperationType: 0
[1651822378.433264][5624:5629] CHIP:TOO:     OperationSource: 7
[1651822378.433299][5624:5629] CHIP:TOO:     UserIndex: 0
[1651822378.433335][5624:5629] CHIP:TOO:     FabricIndex: 1
[1651822378.433370][5624:5629] CHIP:TOO:     SourceNode: 112233
[1651822378.433414][5624:5629] CHIP:TOO:     Credentials: 1 entries
[1651822378.433466][5624:5629] CHIP:TOO:       [1]: {
[1651822378.433505][5624:5629] CHIP:TOO:         CredentialType: 1
[1651822378.433540][5624:5629] CHIP:TOO:         CredentialIndex: 0
[1651822378.433575][5624:5629] CHIP:TOO:        }
[1651822378.433638][5624:5629] CHIP:TOO:    }
[1651822378.433833][5624:5629] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Event 0x0000_0002
[1651822378.433873][5624:5629] CHIP:TOO:         Event number: 6
[1651822378.433909][5624:5629] CHIP:TOO:         Priority: Critical
[1651822378.433944][5624:5629] CHIP:TOO:         Timestamp: 7326552
[1651822378.433999][5624:5629] CHIP:TOO:   LockOperation: {
[1651822378.434038][5624:5629] CHIP:TOO:     LockOperationType: 0
[1651822378.434074][5624:5629] CHIP:TOO:     OperationSource: 7
[1651822378.434110][5624:5629] CHIP:TOO:     UserIndex: 0
[1651822378.434145][5624:5629] CHIP:TOO:     FabricIndex: 1
[1651822378.434180][5624:5629] CHIP:TOO:     SourceNode: 112233
[1651822378.434221][5624:5629] CHIP:TOO:     Credentials: 1 entries
[1651822378.434268][5624:5629] CHIP:TOO:       [1]: {
[1651822378.434306][5624:5629] CHIP:TOO:         CredentialType: 1
[1651822378.434341][5624:5629] CHIP:TOO:         CredentialIndex: 0
[1651822378.434376][5624:5629] CHIP:TOO:        }
[1651822378.434414][5624:5629] CHIP:TOO:    }
[1651822378.434597][5624:5629] CHIP:EM: Sending Standalone Ack for MessageCounter:1339971 on exchange 65074i
[1651822378.434696][5624:5629] CHIP:IN: Prepared secure message 0xffff80b70938 to 0x0000000000000001 (1)  of type 0x10 and protocolId (0, 0) on exchange 65074i with MessageCounter:14632832.

log of Lock-App:

[1651216572.325926][3144:3149] CHIP:DMG: ReportDataMessage =
[1651216572.325964][3144:3149] CHIP:DMG: {
[1651216572.325998][3144:3149] CHIP:DMG:        SuppressResponse = true,
[1651216572.326035][3144:3149] CHIP:DMG:        InteractionModelRevision = 1
[1651216572.326070][3144:3149] CHIP:DMG: }

Verified with commit 516799116dd36a74adef3657e84bdd411ff8dbff but not able to fetch any event.

Cert Blocker Review: Assigning to myself and @franck-apple to find an assignee. (Maybe @Morozov-5F)

@Morozov-5F, I'm assigning it to you, please update assignee if not appropriate.

I could not reproduce it with the latest lock-app. Here's my steps:

Pair the lock-app with chip-tool
Create a user on a lock:? chip-tool doorlock set-credential 0 '{ "credentialType" : 1 , "credentialIndex" : 1 }' 123456 null null null 1 1 --timedInteractionTimeoutMs 1000

Read the lock user change event and verify there are two events (one for user, one for credential added to user):? chip-tool doorlock read-event lock-user-change 1 1
...
[1654238395187] [74426:8157271] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0101 Event 0x0000_0004
[1654238395187] [74426:8157271] CHIP: [TOO] 	 Event number: 3
[1654238395187] [74426:8157271] CHIP: [TOO] 	 Priority: Info
[1654238395187] [74426:8157271] CHIP: [TOO] 	 Timestamp: 34530712
[1654238395188] [74426:8157271] CHIP: [TOO]   LockUserChange: {
[1654238395188] [74426:8157271] CHIP: [TOO]     LockDataType: 2
[1654238395188] [74426:8157271] CHIP: [TOO]     DataOperationType: 0
[1654238395188] [74426:8157271] CHIP: [TOO]     OperationSource: 7
[1654238395188] [74426:8157271] CHIP: [TOO]     UserIndex: 1
[1654238395188] [74426:8157271] CHIP: [TOO]     FabricIndex: 1
[1654238395188] [74426:8157271] CHIP: [TOO]     SourceNode: 112233
[1654238395188] [74426:8157271] CHIP: [TOO]     DataIndex: 1
[1654238395188] [74426:8157271] CHIP: [TOO]    }
[1654238395188] [74426:8157271] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0101 Event 0x0000_0004
[1654238395188] [74426:8157271] CHIP: [TOO] 	 Event number: 4
[1654238395188] [74426:8157271] CHIP: [TOO] 	 Priority: Info
[1654238395188] [74426:8157271] CHIP: [TOO] 	 Timestamp: 34530712
[1654238395188] [74426:8157271] CHIP: [TOO]   LockUserChange: {
[1654238395188] [74426:8157271] CHIP: [TOO]     LockDataType: 6
[1654238395188] [74426:8157271] CHIP: [TOO]     DataOperationType: 0
[1654238395188] [74426:8157271] CHIP: [TOO]     OperationSource: 7
[1654238395188] [74426:8157271] CHIP: [TOO]     UserIndex: 1
[1654238395188] [74426:8157271] CHIP: [TOO]     FabricIndex: 1
[1654238395188] [74426:8157271] CHIP: [TOO]     SourceNode: 112233
[1654238395188] [74426:8157271] CHIP: [TOO]     DataIndex: 1
[1654238395188] [74426:8157271] CHIP: [TOO]    }

Unlock the door:? chip-tool doorlock unlock-door 1 1 --PinCode 123456 --timedInteractionTimeoutMs 1000

Read the lock operation event and verify that it is present:? chip-tool doorlock read-event lock-operation 1 1
...
[1654238642435] [74447:8159485] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0101 Event 0x0000_0002
[1654238642435] [74447:8159485] CHIP: [TOO] 	 Event number: 5
[1654238642435] [74447:8159485] CHIP: [TOO] 	 Priority: Critical
[1654238642435] [74447:8159485] CHIP: [TOO] 	 Timestamp: 34778164
[1654238642435] [74447:8159485] CHIP: [TOO]   LockOperation: {
[1654238642435] [74447:8159485] CHIP: [TOO]     LockOperationType: 1
[1654238642435] [74447:8159485] CHIP: [TOO]     OperationSource: 7
[1654238642435] [74447:8159485] CHIP: [TOO]     UserIndex: 1
[1654238642435] [74447:8159485] CHIP: [TOO]     FabricIndex: 1
[1654238642435] [74447:8159485] CHIP: [TOO]     SourceNode: 112233
[1654238642435] [74447:8159485] CHIP: [TOO]     Credentials: 1 entries
[1654238642435] [74447:8159485] CHIP: [TOO]       [1]: {
[1654238642435] [74447:8159485] CHIP: [TOO]         CredentialType: 1
[1654238642435] [74447:8159485] CHIP: [TOO]         CredentialIndex: 1
[1654238642435] [74447:8159485] CHIP: [TOO]        }
[1654238642435] [74447:8159485] CHIP: [TOO]    }
...

I ran lock-app both on my laptop and on RPI 4 8GB. Is there any other steps I can take to reproduce the issue?


Examples do not play sound on ipad

Hello,
On my ipad there is no sound when playing the examples here
This is my browser details http://whatsmybrowser.org/b/XDZORXU

I can configrm this. Doesn't work on my iPad too (and probably others iOS devices with the same iOS version).

@FutureKode could you test on https://howlerjs.com/ (just play any example) ?

@thangngoc89 Hi, I tested the demos on howlerjs.com and they work on my ipad.

Thanks for reporting @FutureKode. This is working on my iPhone in both Safari and Chrome on iOS 10.3.2. I don't have an iOS 9 device with me at the moment but I'll be able to check this later in the day. Stay tuned...

@Stenerson hum. Seems like this is a iPad stuff. My iPad is using iOS 10.3.x

😱 The examples are working on both of my iPads in Safari and Chrome (as well as my iPhone)

iPad 3 - iOS 9.3.5
iPad Pro 10.5" - iOS 10.2.3
iPhone 7 Plus - iOS 10.2.3

Any ideas?

I just test again and now it's working on my iPad Mini 3 - iOS 10.3.1
Maybe this has something to do with the fact that the audio needs to be fully loaded before howler.js can start playing it?

It could be. There's no UI in the examples that indicates loading status (an example problem, rather than a howler or react-howler problem). I'm sure you know, but it's worth reiterating for people who find this issue - Howler does queue calls to play (and other methods) and will execute them once the sound is loaded. So it should play, it might just be delayed for longer than you'd expect.
Most of the examples autoload the sound files too. So if you load the page, then wait a few seconds (or longer if you have spotty internet) you might have better luck if it's a loading issue.
Additional anecdote: I'm using react-howler in production and most of my customers use iPads. Audio playback is not a central feature of my product so it's not used a ton but iPad playback is my main use of react-howler in the real world.
@FutureKode any thoughts on this? Are you able to connect to safari to see if there are any messages in the console?

@thangngoc89 @Stenerson Hi guys, I plugged in my ipad (ipad mini version 1, late 2012), and inspected the reacthowler.js examples page.... nothing in console. All the assets seem to load fine in the network tab.
I have had the page open and then waited for minutes before trying to click play but still no sound.
The 'full control' example shows the status playing along but still no sound.
I can play sound on other websites on this ipad. Thanks guys.

@thangngoc89 @Stenerson Hi guys, i just checked the examples on another iPad (mini version 2 iOS 10) and their were no problems. It seems the issue is related either to older iPad's running iOS 9... or just a strange issue with my iPad! how strange!

Guys, I'm terribly sorry, my iPad was muted 😊

No worries @FutureKode, it happens to the best of us! 😄
Thanks for following up.

+1 for un-muting your mobile devices 👍 🤦♂


Mod greatly increases loading times

This mod (and I did check that it was this mod) greatly increases how long it takes my computer to load the game's graphics, or just load in general. (Though whether that's specifically the result of this mod or something that happens with multiple mods active, I'm not sure, because it got somewhat better after disabling some other mods; before I did that, it had made the game crash.)

What others mod did you disable that made it better?

Power Failure and OW Smooth Thrust. Those two without this mod didn't cause delays.
I have more mods enabled, but those haven't given me issue.

Ok thank you, I'll try to determine what's causing this

I investigated this and found that I make a lot of unnecessary costly calls to Resources.FindObjectsOfTypeAll doing the initialization (many of them since release 1.2.2) that takes some seconds and is something I could easily fix. I was actually going to do that fix today.
However, this mod isn't supported anymore as explained in the README because of today's OW update so I have no plans to fix this slowness, there are currently no reasons to use this mod in this state. If I ever do an upgraded reel player mod it would be drastically different from the current implementation so this particular issue wouldn't be there, so I'm closing this.
Thank you again for the report.

I was wrong, reopening it

Huh?

The issue was still there in 2.0.0, that's why I reopened it, but it's now fixed in https://github.com/dgarroDC/ShipLogSlideReelPlayer/releases/tag/2.0.1, thank you for reporting this!


M1 Mac| Nuitka 1.0 : FATAL: Error, problem with dependency scan

Full Error

Nuitka-Plugins:INFO: numpy: Found 3 files DLLs from numpy installation.
FATAL: Error, problem with dependency scan of '/Users/luki/miniforge3/envs/main39/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-darwin.so' with<EMAIL_ADDRESS>please report the bug.

python -m nuitka --version

1.0
Commercial: None
Python: 3.9.1 | packaged by conda-forge | (default, Jan 26 2021, 01:30:54)
Flavor: Anaconda Python
Executable: /Users/luki/miniforge3/envs/main39/bin/python
OS: Darwin
Arch: arm64

How did you install Nuitka and Python

I installed nuitka using pip install Nuitka.
Python from Anaconda

python -m pip freeze

Nuitka==1.0
numpy==1.21.6
opencv-python==<IP_ADDRESS>
Pillow==9.1.1
PySide6==6.3.0

Also supply a Short, Self Contained, Correct, Example

test.py

import sys
import numpy as np
import cv2
from PIL import Image
from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QLabel, QWidget

def main():
    app = QApplication(sys.argv)
    window = QWidget()
    window.setWindowTitle("Simple")
    window.setGeometry(300, 300, 300, 300)
    label = QLabel(window)
    label.setText("Hello World!")
    label.setGeometry(0, 0, 300, 300)
    label.setAlignment(Qt.AlignCenter)
    window.show()

    im = Image.new(mode="RGB", size=(200, 200))
    im_array = np.array(im)
    return app.exec()

if __name__ == "__main__":
    sys.exit(main())

Provide in your issue the Nuitka options used

python3 -m nuitka --standalone --macos-app-icon=icons/icon.icns --macos-create-app-bundle --disable-ccache --include-package=objc --follow-imports  --enable-plugin=pyside6 --enable-plugin=numpy --assume-yes-for-download --run test.py

I get the error, even if I use python without conda

When you say use python, do you mean CPython download or uncompiled?!

When you say use python, do you mean CPython download or uncompiled?!

Sorry. I mean Cpython download

Ok, I will look into it. I am pretty sure I did numpy with Anacoda before, but the error basically means that some DLL directory is missing still there. I think that numpy plugin would copy these DLLs, but they are not found during the scan, although I believe, that .dylibs ought to be discovered when searching for DLL directories, or that loader_path is applied to narrowly.

Can you provide the output of https://nuitka.net/doc/factory.html with your Anaconda setup.

I added the resolved path as a trace, and I normalized paths produced there, which however ought to not affect os.path.exists but who knows for sure. This should allow us to tell. For bonus points, can you figure out, where the mistake is. From the looks of it, that is where the file ought to live, although of course I can imagine that Anaconda deviates there, and puts these libs in another place.

Using the factory branch and installing as specified in https://nuitka.net/doc/factory.html.
I tested with:

test.py

import sys
import numpy as np
import cv2
from PIL import Image
from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QLabel, QWidget

def main():
    app = QApplication(sys.argv)
    window = QWidget()
    window.setWindowTitle("Simple")
    window.setGeometry(300, 300, 300, 300)
    label = QLabel(window)
    label.setText("Hello World!")
    label.setGeometry(0, 0, 300, 300)
    label.setAlignment(Qt.AlignCenter)
    window.show()

    im = Image.new(mode="RGB", size=(200, 200))
    im_array = np.array(im)
    return app.exec()

if __name__ == "__main__":
    sys.exit(main())

Provide in your issue the Nuitka options used

python3 -m nuitka --standalone --macos-app-icon=icons/icon.icns --macos-create-app-bundle --disable-ccache --include-package=objc --follow-imports  --enable-plugin=pyside6 --enable-plugin=numpy --assume-yes-for-download --run test.py

and I get another error, it seems to have moved past numpy, and now affects PySide6.
Here is the error:
Nuitka-Plugins:INFO: numpy: Found 3 files DLLs from numpy installation.
FATAL: Error, failed to find path @rpath/libshiboken6.abi3.6.2.dylib (resolved DLL to /Users/luki/miniforge3/envs/main39/lib/python3.9/site-packages/PySide6/libshiboken6.abi3.6.2.dylib) for /Users/luki/miniforge3/envs/main39/lib/python3.9/site-packages/PySide6/libpyside6.abi3.6.2.dylib, please report the bug.

I added the resolved path as a trace, and I normalized paths produced there, which however ought to not affect os.path.exists but who knows for sure. This should allow us to tell. For bonus points, can you figure out, where the mistake is. From the looks of it, that is where the file ought to live, although of course I can imagine that Anaconda deviates there, and puts these libs in another place.

How do I figure out where the mistake is ?

I did some digging. I believe the libshiboken6.abi3.6.2.dylib should be resolved to /Users/luki/miniforge3/envs/main39/lib/python3.9/site-packages/shiboken/libshiboken6.abi3.6.2.dylib.
It should be resolved to the shiboken package.

That makes more sense, there is code like this here:
    def getModuleSpecificDllPaths(self, module_name):
        if module_name.hasNamespace("PySide6"):
            yield self.locateModule("shiboken6")

These are used for @rpath I think, but somehow they are not active, although you have the plugin active.  It might not get forwarded. I will be able to look at it tomorrow, but I strongly suspect, that the package_name of a using DLL is not attributed to a used DLL, but should be. Based on that, I might have a fix for it already.
I did a bit of normpath changes that ought to not make the numpy issue go away, but then again it looked like it never ought to have existed in the first place, since the paths looked good. But I am taking it. I believe some places compare paths to be identical maybe. Need to check too if that is happening.

The current factory branch state ought to be working for this better now. Used DLLs by an extension module, didn't get the package name passed on (anymore), and as such in this unusual situation, didn't benefit from the code. The only reason it exists PySide, which does strange things with libshiboken there, and maybe only on macOS.

This works fine on factory now and is going to be part of 1.0.1, closing now with release being immanent anyway.


Random XAmzContentSHA256Mismatch Errors

Describe the bug
We had a script that had been working reliably for several months. We started encountering an error that occurs without much consistency: OSError: [Errno 5] An error occurred (XAmzContentSHA256Mismatch) when calling the PutObject operation: The provided 'x-amz-content-sha256' header does not match what was computed.
To Reproduce
Steps to reproduce the behavior:

Installed s3fs on python 3.11 using miniconda
Ran the  script in the Additional Context section that mimics what we're doing
At some point between 30GB and 200GB of uploads, the error occurs and stops uploading. We've done several tests and there doesn't appear to be a reliable and easy way to reproduce the error.

Expected behavior
Ideally, the upload should work. We're working on whether we can write a custom retry step since it doesn't appear the upload is retrying.
Desktop (please complete the following information):

OS: CentOS 7 and other linux distributions
s3fs: tried 2024.2.0, s3fs 2023.12.2, and 2023.9.0

Additional context
example script (assuming bucket exists)
# conda create -n s3fs-test python=3.11
# conda activate s3fs-test
# pip install s3fs

import os
os.environ["S3FS_LOGGING_LEVEL"]="DEBUG"
import s3fs
import logging
logging.basicConfig(level=logging.INFO)

_MAX_S3_RETRIES = 2
_S3_RETRY_MODE = "adaptive"

output = "s3://some_bucket/some_prefix"

s3 = s3fs.S3FileSystem(
    anon=False,
    config_kwargs={
        'retries': {
            'total_max_attempts': _MAX_S3_RETRIES,
            'mode': _S3_RETRY_MODE,
        }
    },
    use_ssl=False,
)

store = s3fs.S3Map(root=output, s3=s3, check=False)
# Random data of ~11MB
random_bytes = bytearray(os.urandom(12000000))
# Create a values_dict with 200 keys. Upload values_dict to s3.
# Repeat 250 times. Should upload around 500GB total.
for y in range(0, 250):
    values_dict = {}
    for x in range(0, 200):
        values_dict[f"item_{y}_{x}"] = random_bytes
    store.setitems(values_dict=values_dict)

Error Message:
2024-03-01 12:17:55,741 - s3fs - DEBUG - _error_wrapper -- Client error (maybe retryable): An error occurred (XAmzContentSHA256Mismatch) when calling the PutObject operation: The provided 'x-amz-content-sha256' header does not match what was computed.
DEBUG:s3fs:Client error (maybe retryable): An error occurred (XAmzContentSHA256Mismatch) when calling the PutObject operation: The provided 'x-amz-content-sha256' header does not match what was computed.
Traceback (most recent call last):
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/s3fs/core.py", line 113, in _error_wrapper
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/aiobotocore/client.py", line 408, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (XAmzContentSHA256Mismatch) when calling the PutObject operation: The provided 'x-amz-content-sha256' header does not match what was computed.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 7, in <module>
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/fsspec/mapping.py", line 124, in setitems
    self.fs.pipe(values)
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/fsspec/asyn.py", line 118, in wrapper
    return sync(self.loop, func, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/fsspec/asyn.py", line 103, in sync
    raise return_result
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/fsspec/asyn.py", line 56, in _runner
    result[0] = await coro
                ^^^^^^^^^^
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/fsspec/asyn.py", line 399, in _pipe
    return await _run_coros_in_chunks(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/fsspec/asyn.py", line 254, in _run_coros_in_chunks
    await asyncio.gather(*chunk, return_exceptions=return_exceptions),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/asyncio/tasks.py", line 452, in wait_for
    return await fut
           ^^^^^^^^^
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/s3fs/core.py", line 1109, in _pipe_file
    return await self._call_s3(
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/s3fs/core.py", line 348, in _call_s3
    return await _error_wrapper(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/envs/s3fs-test/lib/python3.11/site-packages/s3fs/core.py", line 140, in _error_wrapper
    raise err
OSError: [Errno 5] An error occurred (XAmzContentSHA256Mismatch) when calling the PutObject operation: The provided 'x-amz-content-sha256' header does not match what was computed.

The simple fix may be to include this in the list of retriable errors; but no, I don't really know what might be going on here aside from network data corruption (which ought to be vanishingly rare over SSL).

Do you think it makes sense to add these errors to the retry cases?

Sorry, I didn't clarify: do you plan to make this PR?

Hi @martindurant , yes I just opened a PR. Feedback appreciated, thanks.


Adapt this code for rectangular shape

Hi Mark,
I have in the livingroom (rectangular shape) along the ceiling a WS2812 LED-Strip running with an NodeMCU ESP8266 and ESPHome.
Using your code in generel works. But oviously in my case not as perfect.
Do you have an idea how I could rewrite the code that it would fit my usecase ?
Example Layout:

100 leds at the front
50 leds on the right side
100 leds on the back
50 leds on the left

300 leds in total.
Additionally I have the starting point in a corner. Any chance I can offset it by x led counts ?
Looking forward to hear from you :)

Hey @GyroGearl00se 🤓
I don't think it makes sense to adapt the current code for both round and rectangle clocks because it would make it much more complex. Creating a separate version for rectangle clocks would probably be the better option.
As to how that would be done I have no idea, but I would be happy to include some version in this repository if you come up with something.

Thank you for the quick response.
I might try it out in the next week.
Currently I can only think auf a map/array where I'd assign for each hour, minute and second a range of LEDs.
I'll let you know once I get it running 🙂


Feature Request: Support assertCreator.json

1. Problem to solve

https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/graph/assertCreator.json

2. Proposal

3. More information

Will be deleted.


Twinmaker error to view scene - undefined is not an object

I am trying to visualize a scene from AWS TwinMaker in Grafana with the grafana-iot-twinmaker-app plugin, but I receive the error message shown in the attached image. The visualization of the sensor data graphs is possible.
I followed the tutorial: https://www.youtube.com/watch?v=P7cEi6oZTeM
Plugin versions tried: latest (1.17.1), 1.13.0, 1.9.3, 1.9.0
Grafana versions tested: 11.1.3 (latest), 11.0.1, 10.2.8

Hi @yanestevesufjf,
thanks for testing this on different versions of Grafana and the plugin.
Unfortunately I'm unable to reproduce this. I'm wondering if there is something special about your setup. How are you running Grafana and how did you install the plugin?
Thanks!


allow specification of na_value markers and fix ann scaler

Problem
the program took empty values as NaN while AmeriFlux uses -9999 as the common no data marker
Solution
takes -9999 as NaN values by default

hi @jirvin16 can you review the last two changes and approve the merge pull? thanks.


Added *time.Time comparison for q

Enhanced version of https://github.com/asdine/storm/pull/98.
It allows to compare both time.Time and *time.Time.
Let me know if there are any places that need changes

Good job, thank you :+1: @mdouchement