Fix tags not loading

We are passing a string of the memory address into user.find instead of an actual identifier

part of https://github.com/MarkUsProject/Markus/issues/2274

So I'm a bit confused at the original intent behind the schema. User is stored as a string. Should this not be an int foreign key to user id? I haven't changed it yet because I can't quite figure out what was happening before... but this should have never worked?

@WilsonChiang Good find. I don't believe your fix is the best possible; I wonder if the problem lies in how Rails is thinking about the user attribute for tags. Can you please try instead to add a line to the Tag model that says belongs_to :user?

@david-yz-liu
Seems to complain about a missing user_id once I do that. Perhaps I should be changing the schema so that it stores the user_id integer instead?

@WilsonChiang Sorry I didn't reply, but you got it right!


Add es3.d.ts

Fixes #2410
Fixes #15978
Test failure should be fixed after https://github.com/ivogabe/gulp-typescript/pull/510 is merged. Done

@rbuckton mind taking a look at the lib changes.

I included typed arrays in es3.d.ts as:

it was already included in es5.d.ts even when it should be in es2015.d.ts
excluding will break DOM types which depends on typed arrays

We probably can move their constructors to es2015.d.ts, similar to what's done for Promises.

I included typed arrays in es3.d.ts as:

it was already included in es5.d.ts even when it should be in es2015.d.ts
excluding them will break DOM types which depends on typed arrays

We probably can move their constructors to es2015.d.ts, similar to what's done for Promises.

On TypedArrays in es3.d.ts
I would strongly request that the TypedArray types be moved to a different location. Without this adjustment, this would not completely fix #2410 as suggested in the initial post. Part of the purpose for adding an ES3-specific declaration file is to enable TypeScript's use in environments based on the ES3 language specification (like ExtendScript). One massive motivation for having an ES3-specific library in the first place is to help people determine what is and isn't supported in the target environment (see: this example for an ES6 equivalent). What is gained by allowing TypeScript to resolve UInt8Array in raw ES3 environments?
Going Further - Remove All Non-ES3 Types
I don't understand why the Promise type declarations made it into the ES3 declarations file*, but I would suggest that those remain in the ES5 file (at the very least). This goes with everything on this line and below, actually. None of those exist in the ES3 spec and, according to @mhegazy (emphasis mine):

@SaschaNaz you can always augment your program with additional types that you know would exist on your target system. for instance, if you know you are always running on an engine that supports promises, just add declarations for Promise in your program. The idea is that the lib file reflects the baseline of engines supporting the target of the compilation (ES5 v.s. ES6)

That Promises, TypedArrays, etc. exist in the ES5 lib at all is somewhat confusing as they do not exist in the ECMAScript 5.1 spec. It seems, in fact, that es5.d.ts inherited [many of?] those type declarations from its predecessor, core.d.ts. This has since been seemingly reinforced, for example, by moving the Promise<T> interface into es5.d.ts. I do not know why this has been maintained, rather than pulled into its own support library yet, but perhaps it's time.
* Actually, I have a guess. Your initial commit changed things such that lib.d.ts was based on es3.d.ts and no longer es5.d.ts. The es3.d.ts file would therefore need to somehow include those type declarations so as not to institute a breaking change. Perhaps a better change would be to move those types into a separate declaration file and then include it in the sources array for lib.d.ts?

@ericdrobinson Promise initially was not on es5.d.ts, it moved later by #14053.
The sole purpose of including Promise and Typed Arrays to prevent errors from lib.dom.d.ts where APIs e.g. Fetch and Web Audio use them. If the types are removed from es3 then users will get errors every time they build for ES3 target.
I think you won't be confused too much for Promise as the Promise constructor is intentionally only supported on ES2015+, which means you cannot new Promise() on ES3.

@SaschaNaz

The sole purpose of including Promise and Typed Arrays to prevent errors from lib.dom.d.ts where APIs e.g. Fetch and Web Audio use them.

How is this not resolved by moving them to a separate type document that lib.dom.d.ts is aware of? You could specify this separately in the gulpfile. As an example, let's say everything was cleanly returned to es2015.promise.d.ts. Could you not, then, simply adjust the lib.dom.d.ts specification to use:
{ target: "lib.dom.d.ts", sources: ["header.d.ts", "dom.generated.d.ts"].concat("es2015.promise.d.ts") },

I do not know enough, currently, about the state of Promises to say whether or not this is the correct path or if a separate dom.promise.d.ts file should be made and referenced, rather than the es2015-specific version. However, this would allow for a clean es3 and/or es5 specification.
Am I missing something critical here?

I do not know enough, currently, about the state of Promises to say whether or not this is the correct path or if a separate dom.promise.d.ts file should be made and referenced, rather than the es2015-specific version. However, this would allow for a clean es3 and/or es5 specification.

I expanded upon this a bit in #16132.

I think you won't be confused too much for Promise as the Promise constructor is intentionally only supported on ES2015+, which means you cannot do new Promise() on ES3.

But this does not apply for TypedArrays, right? The es3.d.ts file includes constructors for those. I tested in current TypeScript by specifying es5-only ("lib": ["es5"]). You can end up in a situation where you assume that your code is correct to include UInt8Array as TypeScript will suggest it and happily turn your code into JavaScript. The resulting code won't run, however, in environments that truly only support ES5. Boo.
Pretty much everything below this line is merely included as a kludge to assist in supporting other, dependent libraries. This kludge is a hold-over from a time before the --lib compiler option existed, when all users had was the --target flag. Now that we have the ability to be more granular/explicit with environment setup, shouldn't we be? :)

Could you not, then, simply adjust the lib.dom.d.ts specification to use:

I think it's somehow doable, but probably with another PR (as this one already has many baseline changes). I will talk more on #16132.

TL;DR - Could you at least move all types below this line back into the ES5 lib? That would leave the default setting (lib.d.ts) unchanged, while allowing more granular (and correct) environment configuration for users who need ES3...

I think it's somehow doable, but probably with another PR (as this one already has many baseline changes).

When you initially wrote the ES3 library you also changed it to be the default library imported by lib.d.ts. That has subsequently changed. With that change, a user wishing to use ES3 must specify as much using the lib flag in their tsconfig.json:
"lib": ["es3"]

For a user who wishes to also use DOM APIs, they would need to specify:
"lib": ["es3", "dom"]

I should clarify that this is decidedly not a problem. It works as expected.
However, now that ES5 has been switched back to being the default, the kludge of including the DOM support types can be moved back into "es5", right? What this would mean for someone wishing to use an ES3+DOM environment is that they would have to specify the following:
"lib": ["es3", "dom", "es2015.promise.d.ts"]

Such users would have access to the [decidedly bloated] DOM APIs but could still code with ES3. They would of course end up with Promises in their types, but this is a side-effect of using the monolithic DOM library, not an incorrectly formed ECMAScript type library.
By keeping the ES3 lib to types only specified in the ECMAScript 3 language specification, you can still have ES5 use it as a base and better support environments that are strictly ES3-based (including ExtendScript).

With that change, a user wishing to use ES3 must specify as much using the lib flag in their tsconfig.json:

No, --target es3 will be sufficient. It's just that the default is now lib.es3.full.d.ts rather than lib.d.ts, where both includes DOM types.

Could you at least move all types below this line back into the ES5 lib?

As --target es3 gives DOM types by default it will break the compiler.

No, --target es3 will be sufficient. It's just that the default is now lib.es3.full.d.ts rather than lib.d.ts, where both includes DOM types.

Perhaps I don't understand how --target works. My understanding was that --target specified the output, whereas --lib specified the development environment (i.e. what types were identified by the compiler). This seems to bear out as we've been able to set --target es3 for quite a long time but have not had an actual es3 specific type library in the past.

As --target es3 gives DOM types by default it will break the compiler.

First, where is a good entrypoint in the codebase for understanding how --target is actually used? I would like to better understand it.
Second, if for whatever reason, compilation breaks when you don't include the Promise types, what is stopping you from specifying "es2015.promise.d.ts" for the "full" es3, but leave the base es3 alone?
For that matter, --target es3 has been working without the ES3-specific library. Did it previously use an es5 lib? If so, why not continue using it? No ES5-specific types would pass the type checker before making it into the compilation phase with the correct lib setup, no?

First, where is a good entrypoint in the codebase for understanding how --target is actually used? I would like to better understand it.

ts.getDefaultLibFileName() is relevant. This function gives the default lib file name for each compilation target. --lib es3 will override it, as you know.

what is stopping you from specifying "es2015.promise.d.ts" for the "full" es3, but leave the base es3 alone?

If you look at the es2015.promise.d.ts it only contains Promise constructor type, not Promise instance type. Adding it on lib.es3.full.d.ts will unexpectedly allow new Promise() for ES3 targets.

Did it previously use an es5 lib? If so, why not continue using it?

Yes it used es5 lib, and will be changed because there were some valid requests for this.

ts.getDefaultLibFileName() is relevant. This function gives the default lib file name for each compilation target. --lib es3 will override it, as you know.

Thanks. This is very helpful. Came just as I located this note in the code where it actually gets used. I feel I have a more complete understanding now.

If you look at the es2015.promise.d.ts it only contains Promise constructor type, not Promise instance type.

Ahh, yes, the "fix" for that is back over in #16132. Such a fix would require implementing (even if temporarily) one of the fixes suggested there.

Adding it on lib.es3.full.d.ts will unexpectedly allow new Promise() for ES3 targets.
This does not apply at code-time when the user specifies --lib es3 as the es3.d.ts file is used directly. This would only apply at compilation-time. By that point, Promise types would not have resolved and the user would have needed to fix them. In other words, you would not see auto-completion suggestions with Promise as a suggested type.

I understand that specifying --target es3 alone would bring in the Promise stuff. That is unfortunate and something that [hopefully] a combination of #16132, #4692, and #15529 (and others?) would resolve - enabling better management of global type scope and providing more granular DOM libraries. As the only issue here is that --target es3 brings in DOM, perhaps those kludge types should be moved into a "domSupportTypes.d.ts" file and included in libraries that currently rely upon it (e.g. es5.full.d.ts, lib.d.ts, and es3.full.d.ts). That would go a long way to helping #16132 and theoretically shouldn't do much more than create a simple, self-explanatory declaration file that clearly states its purpose for existence. This would also enable the es3 and es5 libraries to properly align with their respective language specifications, as theoretically the es6 library does.

perhaps those kludge types should be moved into a "domSupportTypes.d.ts" file and included in libraries that currently rely upon it (e.g. es5.full.d.ts, lib.d.ts, and es3.full.d.ts).

I would name it lib.es2015.dom.d.ts and include it on es2015.d.ts (one of the library that relying on it).

I would name it lib.es2015.dom.d.ts and include it on es2015.d.ts (one of the library that relying on it).

That makes sense.
As much as it might feel "more correct" to move the offending type declarations into their respective es2015 libraries (e.g. Promise into es2015.promise.d.ts, TypedArrays into es2015.core.d.ts, Decorators into [some new proposals.d.ts?]) as suggested as a potential solution on #16132, shunting them into a lib.es2015.dom.d.ts would at least get them cordoned off into a dom-specific location and leave the core ECMAScript libs as a "stable" base.

Also, please resolve the current conflicts with master.

@SaschaNaz this change will need to wait for https://github.com/Microsoft/TypeScript/pull/15780 to go in first. https://github.com/Microsoft/TypeScript/pull/15780 will split lib.d.ts into smaller components, so this will avoid some of the conditions you have for when es3.full would be used.

IMHO this is an unnecessary breaking change.   See discussion in #16132.

@BurtHarris This PR just adds es3.d.ts and won't break anything. #16132 (and some part of the conversation here) is a different discussion.

Any progress on this PR?
lib.es3.d.ts is definitely needed.

@NN--- Blocked by #15780.

@saschanaz With respect to this:

Blocked by #15780.

It appears as though @rbuckton completed the work (though that specific issue was superseded by #23893). Is the work done in that merge enough to get this moving?

Maybe a silly question but is it really necessary that the ES5+ type definitions be changed to extend the ES3 definitions? Seems like omitting that part would greatly simplify these code changes, unless it would break something down the line that I'm not aware of. (The other concern I can think of is that definitions shared between the ES3 and ES5 types could get out of sync.)


Update required python version in readme

Summary of Changes
Include a summary of changes then remove this line
Tests
What tests did you add or modify and why? If no tests were added or modified, explain why. Remove this line
Documentation
What documentation did you add or modify and why? Add any relevant links then remove this line
CheckList
Make sure you have checked all steps below to ensure a timely review.

[ ] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[ ] PR includes a summary of changes, including screenshots of any UI changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public python functions and the classes in the PR contain docstrings that explain what it does

[ ] PR passes all tests documented in the developer guide

Codecov Report

Merging #388 into master will decrease coverage by 2.2%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #388      +/-   ##
==========================================
- Coverage   75.32%   73.12%   -2.21%
==========================================
  Files         168       28     -140
  Lines        4199     1250    -2949
  Branches      522      111     -411
==========================================
- Hits         3163      914    -2249
+ Misses       1000      307     -693
+ Partials       36       29       -7

Impacted Files
Coverage Δ

...ication/static/js/components/common/Tabs/index.tsx

...ndsen_application/static/js/ducks/search/api/v0.ts

...ion/static/js/components/PreferencesPage/index.tsx

...tic/js/components/common/EditableText/constants.ts

...ication/static/js/components/common/Flag/index.tsx

...ts/common/ResourceListItem/TableListItem/index.tsx

...sen_application/static/js/ducks/allTags/reducer.ts

...tatic/js/components/common/ScrollTracker/index.tsx

...pplication/static/js/ducks/popularTables/api/v0.ts

.../js/components/TableDetail/ExploreButton/index.tsx

... and 130 more

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 42177c9...1304916. Read the comment docs.


Azle (TypeScript) examples

Azle is a TypeScript CDK for the Internet Computer. We've been creating many examples, some from this repo, here. Just wondering if you'd accept pull requests for examples written in TypeScript with Azle.

Hi Jordan, apologies for the ridiculously late response. If I don't respond within 2-3 days it means that I missed the request. Feel free to ping me again next time.
After some back and forth we decided that for now, we do not accept examples in more frameworks to the repo because of the maintenance burden of keeping up with many different frameworks. Our consensus was basically "If it was only Jordan, we'd accept in a heartbeat, but we don't want to set the precedent."
I can present you two alternatives that you hopefully like (and would be happy about feedback):

Adding an overview of Azle and plenty of links to your examples to our documentation as described in this forum post
We have a community section planned for the official sample code page. There, we'd love to have links to as many of your individual examples as you like adding. We'll have some simple instructions on how to add them, too. Last I heard it was planned for roughly next week, but you know how good we are at keeping schedules...

This all sounds great, thanks!

Adding an example:

Add your project to /static/supernovaProjects.json (Yes, I know the name is inaccurate, but it works)
Add the picture for your tile to /static/img/samples/supernovaSubmissions

I agree that the language filter is not perfect as is, but I can't get anyone to rework that right now. You could, however, add Azle or TypeScript as a Language in /src/components/SamplesPage/FilterBar/index.tsx


feat(substrait): handle emit_kind when consuming Substrait plans

Which issue does this PR close?
Follows up from https://github.com/apache/datafusion/pull/12495
Closes https://github.com/apache/datafusion/issues/12347
Rationale for this change
Substrait relations have an emit_kind which is either Direct, in which case the default fields of the relation are output, or Emit, which enables precise control of the order and inclusion of fields.
For example, given a relation with the following emit
"emit": {
  "outputMapping": [2, 0, 1]
}

The output mapping indicates that from the default columns output from the relation, only the 2nd, 0th and 1st column should be output (in that order).
DataFusion currently ignores the emit_kind field entirely when reading Substrait plans.
What changes are included in this PR?
This PR adds support for handling output mappings by treating them as DataFusion Projections that are layered on top of the default translation of the relation.
The one exception to this is Substrait Project, for which special handling has been added to avoid creating a Projection on top of a Projection.
Are these changes tested?
Yes. Two new tests have been added to check the remap logic.
Additionally, DataFusion currently includes output mappings when it produces Substrait Projects, so any test which roundtrips a Projection also serves as a test of this functionality.
Are there any user-facing changes?
Substrait plans generated by DataFusion prior to version 0.42 did not set the output mapping correctly for Substrait Projects (see https://github.com/apache/datafusion/pull/12495 for details).
After these changes, attempting to consume Substrait plans generated before version 0.42 will not work.

This looks good to me, pending the emit vs nondeterministic exprs. To solve that, I'd be fine with for example special-casing the "emit exactly the expressions" case (that's what all roundtrip tests will anyways use I believe), and then adding a second project for any other case.

@Blizzara agreed. If I have to choose between this vs calling optimize in tests, I'd say avoiding second project is a lesser evil. @vbarua We could modify apply_emit_kind function to look something like this. This way "optimization" code would be less tangled with project code.
match retrieve_emit_kind(rel_common) {
    EmitKind::Direct(_) => Ok(plan),
    EmitKind::Emit(emit) => {
    	if (rel is project) and (emit doesn't contain duplicates) {
            return modified project
    	} else {
    	    return second project
    	}
    }
}

I experimented with using the OptimizeProjections rule to remove redundant Projections, just for testing, and while it did to that it also ended up add projections to the TableScans, because does column pruning and projection pushdown, and also removed some projections entirely.

I'd say avoiding second project is a lesser evil.

That's where my head is at as well. @tokoko I like you're idea of hiding all of this in the emit kind utility. I should find some time to update this later this week.

Converting to draft as it sounds like it is waiting on feedback to be incorporated. Please mark it as ready for review when ready for another look (I am tying to keep the review queue under control, not tring to discourage contributions)

I am trying to keep the review queue under control

Makes sense. Amusingly I was mid-push when I saw your update 😅
Re-openning and tagging @Blizzara @tokoko

LGTM, thanks @vbarua!


Uncaught Exception - Cannot call map of undefined

This seems to be mapping errors in the response of _action function
    at [...]/node_modules/jsonapi-client/lib/Transport.js:48:40```

Hi @DuncanFenning - can you provide any more information? It'd be great to understand the payload that caused the crash. Was the payload a valid json:api document?


feat: improve TS SDK runtime performances

Following https://github.com/dagger/dagger/issues/7093, I found that most of the time is spent downloading dependencies, it seems I can drastically reduce the download time using yarn and the --production flag to only install production dependencies.
This is a first step toward improving TS performances, we might switch to pnpm later, this require some tests though because I'm hitting an issue (see https://github.com/dagger/dagger/issues/7093#issuecomment-2057038646)

@TomChv how's this one going? Anything you need a hand with?

It seems theses changes in the setup introduce issues in the tests, sometime the dependencies cannot be installed properly and it's a weird typescript error.
I'm digging into it

I can reproduce the error using dagger call --source=. test custom --run="TestModuleTypescriptInit"
I'm going to try to reproduce it locally, it seems something is going wrong when using dagger init with the new setup, I'll update this comment with my researches.

I saw that I copy the runtime directory into base container, it may be possible to improve performances by ignoring part of it. I think I could apply the same logic in the sdk directory to ignore tests files that are useless during the execution.

You may have forgotten but putting the whole sdk directory was just a stop gap so we could work on more important things first. But the intent was to eventually cycle back and refactor the SDK to decouple the parts that aren't needed in modules. Python needs the same.

I would very much like to see a version of this land in the next milestone, v0.11.5:

https://github.com/dagger/dagger/milestone/47

Even if we don't finish everything, any improvement that we can make will go a long way.

I tried this with a simple TypeScript pipeline for a Next.js app:
/**
 * Build automation powered by Dagger
 */
import { dag, Directory, Secret, object, func } from<EMAIL_ADDRESS>
@object()
class App {
  /**
   * Publish image: dagger call image --source=.:app --token=env:GH_TOKEN
   */
  @func()
  async image(source: Directory, token: Secret): Promise<string> {
    return dag
      .container()
      // https://hub.docker.com/_/node/tags?page=&page_size=&ordering=&name=lts
      .from("node:lts-iron")
      // https://github.com/krallin/tini
      .withExec(["apt", "update"])
      .withExec(["apt", "install", "--yes", "tini"])
      .withDirectory("/app", source)
      .withWorkdir("/app")
      .withExec(["npm", "install"])
      .withExec(["npm", "run", "build"])
      .withEntrypoint(["tini", "--", "npm", "run", "start"])
      .withRegistryAuth("ghcr.io", "gerhard", token)
      .publish("ghcr.io/gerhard/nextjs")
  }
}

I am connecting to a remote Docker instance via SSH:
Client: Docker Engine - Community
 Version:           26.0.0
 OS/Arch:           darwin/amd64

Server: Docker Engine - Community
 Engine:
  Version:          26.1.3
  OS/Arch:          linux/amd64
 containerd:
  Version:          1.6.31
 runc:
  Version:          1.1.12

Linux 6.8 x86_64 host where Docker / Dagger is running has:

16 CPUs
32GB DDR5
NVMe disk

These are the results for various runs:

COMMAND
v0.11.4 - BEFORE THIS CHANGE
dev - AFTER THIS CHANGE

1st run - no cache
95s
108s

2nd run - cached
11s
9s

3rd run - touch foo
50s
49s

4th run - module comment change
32s
19s

5th run - module comment change
22s
20s

Based on the above measurements, I observed one improvement, 4th run, when I just kept updating a comment in the module, which was 40% quicker: 19s vs 32s
Before this change, that was inconsistent: 5th run was only 10% quicker: 20s vs 22s
I also observed one deterioration: 1st run - no cache was 13% slower: 108s vs 95s
Here are Dagger Cloud traces for the interesting runs above:

1st run - no cache before this change & after this change
4th run before this change & after this change
5th run before this change & after this change

Based on the above measurements, this does not seem a net performance improvement to me. What do you think @TomChv:

Do my measurements look correct?
Was I measuring the right thing?
Do you still think that it's worth continuing in this direction?

Thanks for your amazing feedbacks! It really helps me understand what's going on with a real world use case.

Do my measurements look correct?

Yep absolutely, I could hit the same kind of behaviour and flakiness on my tests! Specially between 4 and 5.
The improvement of 40% to 10% is also something I got which confirm my work! I could hit a 2x improvement with an old version but it seams that it wasn't supporting every cases (to be more specfic: the hasPkgJson & hasTsConfig) was failing.

Was I measuring the right thing?

Yes! Perfect, I needed the run and the traces, to see how much time take every runs and which steps is longer.

Do you still think that it's worth continuing in this direction?

I think what I've done in this PR is a good start for further improvement, there's still some mystery like this example below where I cannot understand how is that possible.

I'm super confused about the fact that yarn was waaay slower than npm when the withExec has multiple instruction, and it's even weirder because npm is only supposed to update the package.json (that's why --package-lock-only is done) but then the real npm install took only 2.3s which is super confusing because it should have install all the package.
I think I'm missing something about yarn, which keep us from using the cache. I'm thinking that at some point, we could hit higher performance if we were running the TS SDK in runtime language but that seams quite complex to do.
The overall installation of dependencies takes time, the cache isn't hitting every time (which doesn't make sense since nothing should have before adding user's source in CodegenBase.
I think it's still worth merging the PR, because it makes the module much clearer but there's still a long way to go before getting a super fast TS SDK

I'm also having a concern about the CI and the flakiness this PR introduce, on multiple runs, I could see different tests passing & failing, with always this kind of error:
couldn't find a package.json file in "/usr/local/share/.cache/yarn/v6/npm-<EMAIL_ADDRESS>
Meaning that there's an issue with yarn cache and I cannot understand why is that so, this is something that isn't happening with npm at all.

By doing so, I could successfully get a green success on initialization, which is a good news

@gerhard It seems I could fix the CI, could you do one more benchmark with your example just to see if there's any changes? I think it might get slower, I'll need to find why the yarn cache fails with collision.
A really simple check would be to add a specific cache-key for each module but I'm not sure we want to do that.

Conclusion of this PR
This PR changed several internal things in the TypeScript SDK runtime.
I'm not sure I could succeed in my path to reduce time by 2 but I still want to give a summary of what will happens with this PR:

I  switched from npm to yarn v4 which in theory should make things faster.
I reorganized the SDK initialization to install the SDK before adding the user's source which should in theory improving the cache.
I improved the TS SDK code to be more readable and more clear.
I improve the user's package.json update using npm pkg set instead of a simple npm install which definitelly give at least a second of improvement.
I moved @dagger.io/dagger from devDependencies to dependencies. That allows to use --production flag which in theory is faster than installing all dependencies.
I deduplicate the TS SDK yarn.lock to remove any no-essential dependencies from the lockfile, it's a way to reduce the overall download time.
I gained valuable knowledge around the runtime and how package manager works.

Few things to do as next steps

Use a faster language to update tsconfig.json, this step takes 2s every time.
Add back cache key on yarn module. I still need to understand what's going on with that but we can save it for later, I think it will take some time and current resources on the web are not that helpful in our specific context.
Dig more into cache system, the SDK installation is always trigger but it shouldn't, my theory is that its because of the list files operations, I need to find a way to do it in a different way or reorder steps.

Tentative approval here, I think this definitely lays the foundations to do some more cache analysis/perf improvements here 🎉

Nice start!

Thanks for the approval, I'm gonna merge the PR once CI is green.

There is a lot of helpful detail in your recent comments @TomChv, thank you for going the extra mile with this.
I am doing one more test now and will share the results - will update this comment.

👆 Links to Dagger Cloud Traces inline.

💪 LGTM 🚀
Thanks for these amazing benchmark! I'll add the changie and we can merge it

Release note added in c423bf9

This introduced a bug in provisioning, we will not be able to release without a fix @TomChv: https://github.com/dagger/dagger/actions/runs/9193090706/job/25283718931#step:6:11


Screen cheese when opening editor in small window

re https://github.com/microsoft/vscode/issues/78137

use custom title
make window as small as it allows it to be
open a file (using quick pick)
:bug: the title and status bar are bust (half back, half grey)

/cc joaomoreno
also moving to september

Merging with https://github.com/microsoft/vscode/issues/78167 as they share the same fix

I would expect:

I get:

@misolori Adding you since it was likely broken by https://github.com/microsoft/vscode/issues/81573

Also, after spending hours around these issues, I am now in favor of just having minimum size restrictions for the window, instead of making these unrealistic scenarios work. Toughts, @bpasero @misolori @sbatten ?

@joaomoreno you know I'm in favor. Though we still have to be considerate of zoom levels

Moving to October then.

Our previous min size was 200 by 120. I've been playing with 600 by 600 which is still fairly small but keeps this issue from happening. Do we think this size is too big or realistic?

LGTM


Suggestion: Rename label and button classes

I'm having trouble with generically named classes interfering with my own, namely .label and .button.
I'd suggest renaming to .selectric-label and .selectric-button to avoid as many compatibility issues as possible.

There is an option which allows you to define a custom class prefix.
/*
     * Type: Object
     * Description: Customize classes.
     */
    customClass: {
      prefix: 'selectric', // Type: String.  Description: Prefixed string of every class name.
      camelCase: false     // Type: Boolean. Description: Switch classes style between camelCase or dash-case.
    },

Excellent that's good to know!
I still think the current classes are begging for conflicts though.

Indeed! That's a thing which should be fixed. Namespacing is always a good idea. Would you like to provide a PR?

It's certainly simple enough for me to tackle! Time is my enemy at the
moment but feel free to assign.
On Wed, 10 May 2017, 21:32 Steffen Giers<EMAIL_ADDRESS>wrote:

Indeed! That's a thing which should be fixed. Namespacing is always a good
idea. Would you like to provide a PR?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lcdsantos/jQuery-Selectric/issues/174#issuecomment-300603843,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB4jgM7M5mmPFQIj_WZtLjzEa6gW_Dq-ks5r4h7agaJpZM4MqCcZ
.

Awesome! Don't feel stressed, take the time you need :)


Whether relevant data can be carried when the exception is thrown

If Bulkxxx is used for batch update and creation, can you carry exception related data like "DbUpdateException"

Update Exception can easily be read from the Message.
For example if conflict happens on UniqueIndex it gives Index name and Value.
Sample:

'Cannot insert duplicate key row in object 'dbo.Customer' with unique index 'IX_Customer_Name'.
The duplicate key value is (SomeCustomer).
The statement has been terminated.'


Merge branch 'master' into cli-use-open-api and resolve conflicts

What problem does this PR solve?

Issue Number: close #xxx
What is changed and how it works?
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
Please refer to [Release Notes Language Style Guide](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/release-notes-style-guide.html) to write a quality release note.

If you don't think this PR needs a release note then fill it with `None`.

/cc @asddongmen

/run-all-tests

/run-kafka-integration-test

/run-kafka-integration-test

/run-kafka-integration-test

/run-kafka-integration-test

/run-kafka-integration-test

/run-kafka-integration-test
/run-leak-test

/run-kafka-integration-test
/run-leak-test

/run-kafka-integration-test
/run-leak-test

/merge

/cc @zhaoxinyu

/run-leak-test

/ LGTM

/run-unit-test

/run-unit-test

/merge

/merge


Update README.md

Your PR has been merged. Changes from PR will be synced to the public repository in a few days. Thank you.

PR has already been merged into master.
Thank you!


How is asserting None handled

Given this requests response.json() (note the None instead of null):
    "version": "2.3.4",
    "result": "Multi-Status",
    "data": [
        {
            "derId": 583,
            "warnings": [],
            "status": "success",
            "error": None
        }
    ]
}

why is it that this schema isn't sufficient:
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "",
    "description": "JSON schema for the HTTP REST API response.",
    "type": "object",
    "properties": {
        "version": {"type": "string"},
        "result": {"type": "string"},
        "data": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "derId": {"type": "integer"},
                    "warnings": {"type": "array"},
                    "status": {"type": "string"},
                    "error": {"type": ["null","string"]}
                },
                "required": ["derId", "status", "warnings", "error"]
            }
        }
    },
    "required": ["data", "result", "version"]
}

Even if I remove the requirement for the error property, jsonschema.validate() chokes on the presence of None.
I realize that None is a python thing and not valid json, as I understand it, but it is the calling of the .json() api on the API's response that introduces the None.
Thank you in advance.

Hi, please include a full reproducer (the code you're running + its traceback).
Note though that, presuming you're talking about requests, that requests.Response.json does not return JSON, it returns Python objects, and that jsonschema.validate is expecting exactly that.

Hello,
Sorry Julian, I did not include my actual code b/c it would get a bit tricky since my code is spread out across multiple modules and classes.  I guess I could doctor up an actual example to trigger this rather than modifying my code for illustrative purposes.
But I do think you've hit the nail on the head. Yes I am using python's requests but seems like you are saying that *.json() does not output valid json?
One thing I did notice is that no matter how much I fiddled with my code I kept seeing an error regarding Assert None and instructed to use Assert is None.  Your questions prompted me to try and reduce this down to just the commandline and try to reproduce this from there. So, import jsonschema and such and I was not able to reproduce the issue I was encountering.  Can't believe I spend days on this and it was totally my fault.
I think somewhere along the way I forgot that the validate() returns None on a successful validation?  So my assert valid_per_schema(blah dih dah) was essentially boiling down to `assert None' and it was pytest that was whining at me!!
Classic case of "we see what we want to see". Sheesh!
Thanks again @Julian! Sorry for the hassle.


Remaining to do after the jQuery removal

[x] Update plugin pages

[x] Carousel - still has a few references to $() (#28768)
[x] Collapse - still has a few references to $() (#28768)
[x] Dropdown (#28768)
[x] List group
[x] Modal (#28768)
[x] Navs (#29181)
[x] Popover (#28768)
[x] ScrollSpy (#29181)
[x] Toasts (#28779)
[x] Tooltip (#28779)

[x] Other doc pages

[x] getting-started/browsers-devices.md (#28779)
[x] getting-started/javascript.md (#28768)

[ ] Various

[x] Add a section explaining that it's possible to use this version with and without jQuery
[x] Search docs for jquery (not case sensitive) and $(
[x] Replace https://codepen.io/Johann-S/pen/djJYPb or add a codepen with vanilla JS (#32163)
[ ] Maybe explain when an element is considered visible in the scrollspy callout
[x] See if we really need DOMContentLoaded anymore in tests and docs. #28337
[x] Remove If you’re building our JavaScript from source, it requires util.js. not needed anymore (#28779)
[x] Remove https://twbs-bootstrap.netlify.com/docs/4.3/getting-started/browsers-devices/#android-stock-browser after #28317 or in that branch (#28779)

I am trying to help and port "Replace https://codepen.io/Johann-S/pen/djJYPb or add a codepen with vanilla JS" item
This is what i got until now:
https://paste.headstrong.de/view/08ba7d0b
Too bad I can't test properly, because bootstrap object is not found (I've included https://github.com/twbs/bootstrap/blob/master-xmr-v5/dist/js/bootstrap.bundle.js)

Hi @midzer, thank you for trying to tackle that, but you should wait for our first alpha release

Hi @midzer, thank you for trying to tackle that, but you should wait for our first alpha release

Do you have an ETA when the first alpha is going to be released?

Since the alpha has been released - some updated codepen without the jQuery dependency: https://codepen.io/-alpa-/pen/PoZWzNM
I used querySelectorAll in that case, to keep the logic from the corresponding jQuery example - although I'm not sure if that's adding some confusion. Also to keep things DRY I used a wrapper function for document.querySelector that is named $ - that is what Chrome is doing by default in case $ is undefined - but might be a bit confusing too.
Anyways I guess it'd be better if you add this to your codepen, to keep things streamlined.

@Johann-S what's the status of this? Only 2 TODO are left :)

@alpadev can you submit a PR with your CodePen link?

Sure if you are ok with the updates.

To get this list done. What would be the required information for the "Maybe explain when an element is considered visible in the scrollspy callout" todo?
Like an element is considered visible if scrollTop >= offset or that an element is considered visible if the target element has a valid getBoundingClientRect with either width or height not being 0?

@alpadev it's been a while but IIRC the issue was about https://getbootstrap.com/docs/4.5/components/scrollspy/#non-visible-target-elements-ignored:

Non-:visible target elements ignored
Target elements that are not :visible according to jQuery will be ignored and their corresponding nav items will never be highlighted.

Oh I see. I had a look into the code and in theory one could hide it with visibility: hidden; (and maybe height: 0;) and it would still work, though being barely visible :)
So there's nothing I can help here with I guess?

I don't recall TBH, I know I removed the docs part so that we move forward back then, but I don't know if the statement applies to v5 (it probably does, though).

So, only the scrollspy callout is left 🙂
Now, I'm not sure how to proceed with this, but if we can put it back quickly explaining when an element might not be visible and that scrollspy will ignore it, I think that would be the best solution.
PRs welcome!

@XhmikosR uhm there is some info about the visibility: https://github.com/twbs/bootstrap/blob/main/site/content/docs/5.0/components/scrollspy.md#non-visible-target-elements-ignored
It could be extended though, if you see a benefit from it.

Oh, true. I guess we can finally close this issue.
Thanks everyone for the help!

The package.json file still has jquery as devDepencency. If it is not required anymore, it should not be there anymore.
https://github.com/twbs/bootstrap/blob/v5.0.2/package.json#L125
https://github.com/twbs/bootstrap/blob/v5.0.2/package.json#L55


LPFG-989: Update Learner UI to register learner

…tion to check booking status is not null.

is this actionable?


Add missing migration 0021

Summary
This migration is missing and causing headaches.
Related issues
https://github.com/ArchiveBox/ArchiveBox/issues/1002
Changes these areas

[X] Bugfixes
[ ] Feature behavior
[ ] Command line interface
[ ] Configuration options
[ ] Internal architecture
[ ] Snapshot data layout on disk

Bumping this - Whatever happened here has taken down my instance and I'd love to see this fixed soon if possible.

Thanks again for all your help. ❤❤


use ErrorResponse instead of AccountsErrorResponse

Summary
As discussed with @winder it would make it easier for SDKs not to have to distinguish between different error response types — this merges the AccountsErrorResponse fields into the "data" object in ErrorResponse.
Test Plan
Update tests that were looking for the old fields in AccountsErrorResponse.

Codecov Report

Merging #916 (3d122fb) into feature/unlimited-assets (333fedf) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@                     Coverage Diff                      @@
##           feature/unlimited-assets     #916      +/-   ##
============================================================
+ Coverage                     58.76%   58.78%   +0.01%
============================================================
  Files                            42       42
  Lines                          5673     5675       +2
============================================================
+ Hits                           3334     3336       +2
  Misses                         1897     1897
  Partials                        442      442

Impacted Files
Coverage Δ

api/generated/common/routes.go
33.33% <ø> (ø)

api/generated/v2/routes.go
18.92% <ø> (ø)

api/converter_utils.go
92.18% <100.00%> (+0.04%)
:arrow_up:

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 333fedf...3d122fb. Read the comment docs.


Feature proposal - Improve privacy package to stop dependency between schema and generated code

Right now, in order to create privacy policy we should first compile the ent schema and only then we can use the generated ent/privacy package in order to write down the policy.
My proposal is to move most (if not of all) of generated code in ent/privacy to entgo.io/ent/privacy which would unblock much easier development flow and would prevent potential circular dependency.
Auto-generated code may still exist of course to simplify some code but it won't be mandatory for usage.
The examples shown also use entql which helps with the use of such generic package.

[X] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡
Currently the generated code in ent/privacy creates structs, interfaces and functions like Policy, Denyf etc. that can move easily to "entgo.io/ent/privacy".
Things that cannot move because they depend on other generated code are what extract the Filter for mutations & queries. Example:
func (f FilterFunc) EvalQuery(ctx context.Context, q ent.Query) error {
	fr, err := queryFilter(q)
	if err != nil {
		return err
	}
	return f(ctx, fr)
}

func queryFilter(q ent.Query) (Filter, error) {
	switch q := q.(type) {
	case *ent.ChildQuery:
		return q.Filter(), nil
	case *ent.ParentQuery:
		return q.Filter(), nil
....

func (cq *ChildQuery) Filter() *ChildFilter {
	return &ChildFilter{cq}
}

New proposal

Move Filter definition to entgo.io/ent/privacy

Filter interface {
		// Where applies a filter on the executed query/mutation.
		Where(entql.P)
	}

Change auto-generated Filter functions return value to privacy.Filter

func (cq *ChildQuery) Filter() privacy.Filter {
	return &ChildFilter{cq}
}

In entgo.io/ent/privacy implement the generic FilterFunc version:

type HasFilter interface {
        Filter() Filter
}

type FilterFunc func(context.Context, Filter) error

func (f FilterFunc) EvalQuery(ctx context.Context, q ent.Query) error {
	fr, ok := q.(HasFilter)
	if !ok {
		return Denyf("unexpected query type %T", q)
	}
	frr := fr.Filter()
	return f(ctx, frr)
}

func (f FilterFunc) EvalMutation(ctx context.Context, m ent.Mutation) error {
	fr, ok := m.(HasFilter)
	if !ok {
		return Denyf("unexpected mutation type %T", m)
	}
	frr := fr.Filter()
	return f(ctx, frr)
}

After all that generic privacy rule that only depends on entgo.io/ent/privacy can be written:

func filterTenantRule() privacy.QueryMutationRule {
	type TenantsFilter interface {
		WhereTenantID(p entql.Uint64P)
	}
	return FilterFunc(func(ctx context.Context, f privacy.Filter) error {
		ftf, ok := f.(TenantsFilter)
		if !ok {
			return privacy.Denyf("unexpected filter type %T", f)
		}
		tenantInfo, exists := tenant.FromContext(ctx)
		if !exists {
			return privacy.Skip
		}
		ftf.WhereTenantID(entql.Uint64EQ(tenantInfo.ID))
		return privacy.Skip
	})
}

Motivation 🔦
Privacy policies can be written with no dependency on generated ent code
It has the following benefits:

Privacy policies are easier to write and review
Privacy policies can be shared across different ent projects (for example: as part of generic mixins)
Reduce code dependencies between schema and generated code which can cause circular dependencies, difficult merges, etc.

Running into this currently and I like this solution
Looks like there has been no activity since 2022 though.


Update amazon-web-service-tutorial.md

Adding additional requirement for roles - combined role + saml-provider ARN lengths must be less than 119 characters

@ZollnerdMSFT : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@v-hagamp Can you please update the 240 character limit note to the Known issues section also?

#sign-off

@ZollnerdMSFT: I'm sorry - only the author of this article, @jeevansd, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@ZollnerdMSFT There is a different PR where we are updating this to the correct text. So can you please delete this PR?

@ZollnerdMSFT There is a different PR where we are updating this to the correct text. So can you please delete this PR?

Done - confirming, you're taking my wording re: the 119 character limit for inbound provisioning of roles? I saw mention of a 240 character limit in one of your comments, if that limit exists somewhere else it is different than the one I am calling out with my edit.


Deprecated packages upgrade

Motivation
Solution is not buildable when trying to upgrade deprecated package "Kentico.AspNetCore.LocalizedRouting" to "AspNetCore.Mvc.Routing.Localization"
Proposed solution
I see there is already work in progress in branches, however I wanted to ask about plans and timeline for releasing updates.

Hello @erikakus,
We are migrating the repositories to the new kontent-ai GitHub organization. As a part of that, we are polishing the samples as well.
I have already tested to accommodate the replacement package, but I found an issue in the taghelper (fixed locally in https://github.com/Kentico/kontent-sample-app-net/commit/c33ea6cd4d368d5f4337942c24704f86d583fffa).
The current decision is whether we want to use the package or showcase the standard way of making localization: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-6.0
From my point of view, it is not a good practice a to use community-based package, that is not really being maintained, so we probably end up with the second solution, but I don't have an ETA for that, because we need to define the behavior before we implement it.
I would be interested in getting your point on things. I believe one of our CSMs reach out to you and scheduled a call about that.


Show known service & GATT descriptions: suggestion

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[X] I am running the latest version
[X] I checked the documentation and found no answer (I'm kinda stupid, but I don't see it!)
[X] I checked to make sure that this issue has not already been filed

New behavior
I think this would be helpful for others during debugging and development, especially when dealing with devices that don't have much documentation.
I think you should write a function to retrieve a service name or GATT description from a UUID if it's a known UUID. You could add another field to Service, or you can add a free function to look it up... it doesn't really matter to me! I just found myself doing this while learning the protocol for my Aranet4. No need to be exhaustive.
I extracted my own file containing Javascript Maps of as many descriptions that I could compile from around the internet: https://gist.github.com/ariccio/2882a435c79da28ba6035a14c5c65f22
I'd open a PR, but I'm really not a Java developer, you wouldn't want me touching your codebase :)
In a better world, the Bluetooth consortium might make this more easily retrievable via an API or something. There are a number of similar things implemented one-off all around the internet, including the Linux kernel Bluetooth stack. I'm going to file similar issues with other BLE toolchains/platforms I've used lately, why has nobody thought of this?
Acceptance criteria
Please provide detailed steps to accomplish proposed feature.

Make it easy for devs to find out what services and characteristics they're looking at, without writing our own code.

Breaking changes
None. Might be a few extra KB of overhead.

(There are a whole bunch more 16 bit UUIDs listed on the SIG site, but I reject the idea of using 16 bit UUIDs for anything on principle: https://btprodspecificationrefs.blob.core.windows.net/assigned-values/16-bit UUID Numbers Document.pdf)

We are trying to make this library generic, we let the dev decide how to handle the device that he is using.


⚠ ClamAV has degraded performance

In c422f1f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 249 ms

Resolved: ClamAV performance has improved in 615aefe after 5 minutes.


Issue file templete update

Describe the Issue
issue file template file
Screenshots
Issue file templete update
System

Device: [e.g. iPhone 6, Laptop]
OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]

Additional context
No response

done


Data manager: Download session seems to skip the concatenated_audio.wav and screenshots.mp4 files

I suspect that the Download button just downloads what is needed for the pre-processing steps, and not these additional 2 files once pre-processing completes (no problemo if all steps happen on same device). If so, is there a way to update the logic for the GUI button to include an 'if these files exist: download them too'? Hoping that will make it work as intended both before and after pre-processing.

I did some investigation. I think I understand what the issue is, for the session we looked at together yesterday, the merged.tsv file exists in the S3 bucket. But the concatenated_audio.wav and screenshots.mp4 do not exist in the bucket. This might be because the uploading process got interrupted. @seanholmes77 Can you click the "Uploading preprocessing data" button for that session again? Once done, let me know and we can try downloading the session on the other machine again.


Calendar days out of sync with the right day of the week

Version Number:
JTAppleCalendar (8.0.3)
Description
After changing TimeZone calendar days become out of sync with the right day of the week.
I read issues in this topic and the solutions always was setting TZ in Calendar Configurator.
Unfortunately, it doesn't work in my case.
My calendar:

Apple calendar:

Additional Context
The instance of calendar:
▿ gregorian (fixed)
  - identifier : Foundation.Calendar.Identifier.gregorian
  - kind : "fixed"
  ▿ locale : Optional<Locale>
    ▿ some :  (fixed)
      - identifier : ""
      - kind : "fixed"
  ▿ timeZone : America/New_York (autoupdatingCurrent)
    - identifier : "America/New_York"
    - kind : "autoupdatingCurrent"
    ▿ abbreviation : Optional<String>
      - some : "GMT-4"
    - secondsFromGMT : -14400
    - isDaylightSavingTime : true
  - firstWeekday : 1
  - minimumDaysInFirstWeek : 1

ConfigurationParameters:
var gregorian: Calendar {
  var calendar = Foundation.Calendar(identifier: .gregorian)
  calendar.timeZone = TimeZone.autoupdatingCurrent
  return calendar
}

let formatter = DateFormatter()
  formatter.dateFormat = "yyyy MM dd"
  formatter.timeZone = gregorian.timeZone
  formatter.locale = gregorian.locale
  let startDate = formatter.date(from: "2019 01 01")!
  let endDate = startDate.adding(.year, value: 10)
  return ConfigurationParameters(startDate: startDate, endDate: endDate, calendar: gregorian)

What can help?

awesome.


fix: create RBF by default, do not allow fee smaller than minimum

Description

Use RBF when scanning or entering address by hand
Do not use RBF in case of paying for BT channel
Do not allow set fee bellow mempool.space minimum fee in FeeCustom screen

Linked Issues/Tasks
#1741
Type of change
Bug fix
Tests
No test
QA Notes
Make sure new tx is RBF, test RBF fee bump

Tested on https://github.com/synonymdev/bitkit/commit/af77c19f9476e16fb489b63f8651f228d40e6b95
RBF is correctly enabled for normal tranasactions and not for BT channel opening transactions.


[MOIA-29748] Migrate to GitHub Actions

Migrates the existing circleCI workflow to GitHub Actions.
The workflow includes the jobs:

Compile and run all tests
Check the formatting of the codebase

The corresponding circleCI workflow is defined here. I am not sure how to go about removing the workflow: If I just delete the config in this PR, the circleCI pipeline would still fail with "No configuration was found in your project". I  guess a circleCI admin would have to stop builds in the project settings.

Release in two steps:
First delete the CircleCI file with a direct push to master, then merge this PR and ask @JannikArndt to stop running CircleCI for this project.

So I removed the circleCI config from master and merged the commit into this branch, but now this scapegoat job appeared that the PR is waiting for but doesn't seem to be running.

My bad, fixed it 👍

@JannikArndt Thanks 🙏
Can you explain what was going on and how you fixed it, because I really have no clue 😅

Sure! If you go to the Branch-Settings and edit the settings for the master branch…

…you can select which checks are required to pass to allow merging:

There we've had the Circle-checks selected. I changed it to the GitHub Actions, but included the scapegoat step. Somehow that doesn't run though. I deselected it (for now) until we actually have it 😊


Incorrect Azure CLI compatibility

This is the error:
Skipping 'mesh-0.10.6-py2.py3-none-any.whl' as not compatible with this version of the CLI. Extension compatibility result: is_compatible=False cli_core_version=2.0.45 min_required=2.0.67 max_required=None

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

ID: a9790045-bddf-bfe7-1d13-2738f0a988d0
Version Independent ID: 75b735d5-0a64-7214-417c-b34301c63c79
Content: Set up the Azure Service Fabric Mesh CLI
Content Source: articles/service-fabric-mesh/service-fabric-mesh-howto-setup-cli.md
Service: service-fabric-mesh
GitHub Login: @dkkapur
Microsoft Alias: dekapur

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

@oatsoda Can you please elaborate when are you seeing this error? Which step in this doc? Thanks.

In the section "Install Service Fabric CLI".  It says

You must install the Azure CLI version 2.0.43 or later

Which as you can see from when I tried, isn't true as you need 2.0.67 or later.

Thanks. I have created a PR with the changes and updates will be live shortly.
https://github.com/MicrosoftDocs/azure-docs-pr/pull/87339


Adding "ibs-ol.de" IBS IT & Business School Oldenburg

Added the domain "ibs-ol.de" for the IBS IT & Business School Oldenburg e. V. (Website). IBS offers long-term (3.5 years) economic computer science courses (see https://www.ibs-ol.de/studium/duales-studium-wirtschaftsinformatik/).
This domain is used for email addresses of professors. Students use the subdomain "student.ibs-ol.de", so they are included.
Please let me know if you need anything else. Thank you!

@JanekOstendorf Pull request merged. Thank you!


Implement dynamic date validation defined in CMS

Changes in this PR
Use an optional JSON "criteria" field in the Question model to perform date validations.
Screenshots of UI changes
Before
After
Next steps
Persist the validation criteria and message.

Need to talk to the designers about validations and get examples but I imagine number and currency types could be dealt with in the same way with an upper/lower bound.


"Node with this Hostname already ex…" when running maas-poker.py

This is another rare bug we sometimes see with Proxmaas:
TASK [Run custom MAAS poker to inject Proxmox BMC credentials and correct node name and commission the nodes] ****************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: NoneType: None
fatal: [localhost]: FAILED! => {"changed": true, "msg": "non-zero return code", "rc": 1, "stderr": "Traceback (most recent call last):\n  File \"/home/pcadmin/.ansible/tmp/ansible-tmp-1685525220.6475751-1549851-39731284417382/maas_commission.py\", line 53, in <module>\n    machine.save()\n  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/utils/maas_async.py\", line 43, in wrapper\n    result = eventloop.run_until_complete(result)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/asyncio/base_events.py\", line 653, in run_until_complete\n    return future.result()\n           ^^^^^^^^^^^^^^^\n  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/viscera/machines.py\", line 382, in save\n    await super(Machine, self).save()\n  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/viscera/nodes.py\", line 165, in save\n    return await super().save()\n           ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/viscera/__init__.py\", line 473, in save\n    data = await self._handler.update(**update_data)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/bones/__init__.py\", line 309, in __call__\n    response = await self.bind(**params).call(**data)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/bones/__init__.py\", line 480, in dispatch\n    raise CallError(request, response, content, self)\nmaas.client.bones.CallError: PUT https://maas.estuary.tech/MAAS/api/2.0/machines/yhby3m/ -> HTTP 400 Bad Request ({\"hostname\": [\"Node with this Hostname already ex…)\n", "stderr_lines": ["Traceback (most recent call last):", "  File \"/home/pcadmin/.ansible/tmp/ansible-tmp-1685525220.6475751-1549851-39731284417382/maas_commission.py\", line 53, in <module>", "    machine.save()", "  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/utils/maas_async.py\", line 43, in wrapper", "    result = eventloop.run_until_complete(result)", "             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^", "  File \"/usr/lib/python3.11/asyncio/base_events.py\", line 653, in run_until_complete", "    return future.result()", "           ^^^^^^^^^^^^^^^", "  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/viscera/machines.py\", line 382, in save", "    await super(Machine, self).save()", "  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/viscera/nodes.py\", line 165, in save", "    return await super().save()", "           ^^^^^^^^^^^^^^^^^^^^", "  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/viscera/__init__.py\", line 473, in save", "    data = await self._handler.update(**update_data)", "           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^", "  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/bones/__init__.py\", line 309, in __call__", "    response = await self.bind(**params).call(**data)", "               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^", "  File \"/home/pcadmin/.local/lib/python3.11/site-packages/maas/client/bones/__init__.py\", line 480, in dispatch", "    raise CallError(request, response, content, self)", "maas.client.bones.CallError: PUT https://maas.estuary.tech/MAAS/api/2.0/machines/yhby3m/ -> HTTP 400 Bad Request ({\"hostname\": [\"Node with this Hostname already ex…)"], "stdout": "", "stdout_lines": []}

First time ever seeing this, curious about the specific cause or if any fix is possible.

This is exactly what it says on the tin - a node with that hostname exists in MAAS, so it can't set the hostname for a node you are trying to create to the correct node name. Not actually a bug; it's a result of a partially successful run (ie: a failed run)


Updating emissary docs based on GH issue suggestions

Issue #, if available:
https://github.com/aws/eks-anywhere/issues/5859
Description of changes:
Updating docs based off GH issue suggestions.
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherry-pick release-0.16


inputs lose classes after filled with insertionMarker

the surrounding block has already been styled, it's not new. How do I detect insertionMarkers?


Modernize

Formatting, fix named using, remove some superfluous files from stl dir

Ok, @SimonDanisch seems we ran into https://github.com/JuliaLang/julia/issues/51996 .
As for the docs, it's Documenter v1, I will try to fix this.

IMHO this is ready to go - no resources in the moment to increase coverage.


Latitudinal rotation behaves unexpectedly when allow_upside_down is on

https://github.com/Plonq/bevy_panorbit_camera/assets/128990/35ca07a4-7978-4995-9207-092b4590081c
For the example basic,  I can rotate the plane along the longitudinal axis, but not the latitudinal one. How can I fix this?
How to achieve out of plane rotation instead of in-plane rotation when allow_upside_down?

I made a temporary fix in this commit. But it breaks the allow_upside_down feature.

This is a camera controller that allows rotating a camera around an object. It only supports 2 axes of rotation, so not all angles are possible. Adding a third axis makes controlling it too difficult - a mouse has only 2 axes of control.
Your commit just makes rotation chaotic and hard to control.
It sounds like this plugin is not going to be suitable for what you want.

The commit works for me. But it is a dirty hack and will break other features.
https://github.com/Plonq/bevy_panorbit_camera/assets/128990/40567dfc-9dd9-4ff9-b3d0-865925ae5aa5

Maybe we have different definitions of "works". Because to me, this is not acceptable:
https://github.com/Plonq/bevy_panorbit_camera/assets/7709415/cf7549d1-d437-461e-8813-b5ed89b72031

I appreciate your clarification. I got your point. I'm seeking a more optimal solution.

If you need to control all 3 axes, then you're better off rotating the object instead of moving the camera. Like this: https://draw.plonq.org

I should be clear - I don't think this is the plugin for you. I don't think it makes sense to change this plugin to support 3 axes, because of the complexity that comes with that. I don't even know of a solution that works. Blender has this same "problem".

If you need to control all 3 axes, then you're better off rotating the object instead of moving the camera. Like this: https://draw.plonq.org

Thanks for the tip. I will give it a try.


fix dask utils imports

This PR solves the issue #68.

Thanks, but closed due to additional updates being needed.


always says "disconnected"

Hello,
got deviceId + key with tuyacli. these are the 2 values i configured in the node-red tuya-smart-node.
But i always says "disconnected" - don't get any feedback.
IP i left blank - and that's why node red always says this node is not configured correctly.
Is this related to my problem ?
what ip should i give here ? my internal IP of the doorsensor ?

Yes, you need to provide the local IP address of the device on your network (192.168.x.x).

i did now. but this does not change anything. ok, it don't the errormessage when i deploy the flow anymore.
but status is always disconnected. Trigger never runs.
I don't get the point of giving the local IP anyway. This sensor is not online all the time.
When i open/close the door - i see it on my router: it goes online for maybe a minute (sends the events to tuya) - then it goes offline again.

The tuya api (tuyapi - that this node is built upon) requires an ip address to communicate with the device via your network.
As I understand it, these door sensors are battery powered so the sensor wakes up the board and connects to the network, sends the signal and goes back to sleep to preserve battery power.  So what you're seeing is expected.
What is it that you're trying to do?
If you connect a debug node to the output of the tuyasmart node and trigger the sensor, do you receive any payload data in the node-red debug console?

What is it that you're trying to do?
i want to recorgnize door-open and door-close event.
i assumed tuyapi acts similar as the tuya app on the smartphone. The smartphone app obviously communicates with the tuya server. isn't it that way ?

If you connect a debug node to the output of the tuyasmart node and trigger the sensor, do you receive any payload data in the node-red debug console?
No it just goes on "disconnected" - and does not even runs the following debug node.

Can I just check that you don't have the Tuya app open on your phone while you're trying to use the node-red node?  This is a known limitation of the tuyapi (see https://github.com/codetheweb/tuyapi#-notes).
The mobile app takes over the communication protocol of the device and blocks comms with the NR node/tuyapi.
Make sure the mobile app is fully closed and try triggering the sensor again to check the payload data in the debug node.  If it was the app causing the issue, you should see the device connect to deliver the data.  Fingers crossed...

i shut down the smartphone. but no change. It still does not even call the debug-node. isn't there any advanced log that i can check ?

I'm afraid I don't know.  Maybe @hgross is able to shed some light on this.
For what it's worth, this node was originally built to talk to always-on devices like power strips, bulbs and leds.  The fact that this device only connects when activated (due to battery saving) might be causing the issue.
I did a bit of Googleing to see if you could do something using the IFTTT SmartLife service and found this Reddit post where others are having issues with real time triggers from SmartLife door sensors.
Other posts seem to suggest flashing the device with Tasmota firmware is the way to go but they also don't support battery operated devices.  I'm starting to see a pattern forming here.  See the end of this post.
Sorry I couldn't be of more help.  From what I've read, it sounds like IFTTT/Smartlife might work but there are latency issues.

thank you for all this informations.
But what i still don't understand is: the device works the way you described: goes to sleep mode/offline - to save battery.
But the smartphone app works anyway! that means: the smartphone app does not talk to the doorsensor - it communicates with tuya-server - to query the latest status the sensor sent to the tuya-server.
Actually all i want to have is: have the same logic from the smartphone app on the raspberry pi - so the raspberry pi can query the latest reported status (from tuya server).
But this is not the way tuyapi works - am i right ?
Do you know a way to do this (query the latest reported status from server)?
About Tasmota: interesting project. actually i already thought about it. But you hardly read about success when it comes to doorsensors, that's why i didn't try yet.
In this post they seem to have problems after deep-sleep as well.
If this will work one day - i might try this as well.

You're correct, tuyapi handles all the device traffic locally without accessing tuya-server.
The only way I can think of to handle this is to use IFTTT (which works as a service with tuya-server) and have node-red react to the smartlife trigger using IFTTT broker.
https://flows.nodered.org/node/node-red-contrib-ifttt-broker

the tuya->IFTTT connection is terribly slow! i already tried this.
ok, so looks like there's no other option at the moment.
Thank you for all your help. please keep me in mind, in case you hear of some new development.

I will, of course.  Interesting devices so I might want to play with them myself once the issues have been resolved.  Haven't tried any battery driven sensors yet but I have a few use cases I want to explore.  Good luck.

i have a multiple gosund smart plugs and all was working fine until I got this new batch of plugs last week.  The old plugs have wifi module 1.0.4/ mcu module 1.0.4 and those work just fine and are still working fine.  The new plugs have not worked yet, they have 1.0.5 for both modules and they are also in the disconnected state.  When telneting to port 6668 on the old plugs, the session stays open until i escape out or hit the default timeout value which >=10 secs.  When telneting to the new plugs on port 6668, "Connection closed by foreign host" in < 1 sec.  I do not have the smart life app open on the phone during any of the tests.  If this project is still in development, I would gladly provide whatever info i can get to support these newer modules.  I greatly appreciate the node red community and want to say thanks for all that has already been done.

It looks like the newer firmware implements tls...
https://github.com/codetheweb/tuyapi/issues/175

It looks like tuyapi has been updated to 5.1.1 to support the new tuya firmware.  Is this node red module going to be updated to use 5.1.1?

It looks like tuyapi has been updated to 5.1.1 to support the new tuya firmware. Is this node red module going to be updated to use 5.1.1?

+1 :-)

the same issue
update everything pls)

Should I use devId + localKey ?
"devId":"478803312cf43203f93d
"productId": "8QMq5QyBkZDiA8ME",
"localKey": "6efbee0a47399ec3"

I am getting the same issue. Trying to get a smart plug up and running

was work perfectly before. but now it always disconnected. plzzzzzz update :(

I confirm now it's not working

I also can confirm it's not working, always disconnected !

Same problem here, still disconnected.

Same here. Disconnected

try this
https://github.com/subzero79/node-red-contrib-tuya-local
or ifttt webhooks

Try this.
Its a separate app. but all the smart life devices work with it
On Sat, Feb 22, 2020 at 11:30 AM bogeuh<EMAIL_ADDRESS>wrote:

try this
https://github.com/subzero79/node-red-contrib-tuya-local
or ifttt webhooks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hgross/node-red-contrib-tuya-smart/issues/9?email_source=notifications&email_token=AFB72ECOXGXK7EPV7O6QMQ3REBIYLA5CNFSM4HMMQQ72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMUJ3YI#issuecomment-589864417,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFB72EAUF66XMFVKFRUMT4LREBIYLANCNFSM4HMMQQ7Q
.

Any progress on this? Having the same issue with some Tuya switches. I got the devID and localKey  but they are always "disconnected"

Try this node
https://github.com/razorRun/node-red-contrib-smartlifeair
On Fri, 11 Sep 2020 at 8:06 PM, Pablo Ovelleiro Corral <
<EMAIL_ADDRESS>wrote:

Any progress on this? Having the same issue with some Tuya switches. I got
the devID and localKey but they are always "disconnected"
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hgross/node-red-contrib-tuya-smart/issues/9#issuecomment-690943512,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFB72EGQZHPI56ODWAENPULSFHK7FANCNFSM4HMMQQ7Q
.

I have the same issue.
Any progress on this?


keras-io build failed on windows 10

Posted here, no response.
I tried to buikd keras-io on windows 10 machine.
pip install -r requirements.txt
cd scripts
python autogen.py make
python autogen.py serve

But when I run python autogen.py make
Traceback (most recent call last):
  File "C:\Users\suz\anaconda3\lib\sre_parse.py", line 1039, in parse_template
    this = chr(ESCAPES[this][1])
KeyError: '\\m'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\suz\anaconda3\lib\multiprocessing\pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "C:\Users\suz\Downloads\keras-io\scripts\autogen.py", line 659, in render_single_file
    md_content = re.sub(
  File "C:\Users\suz\anaconda3\lib\re.py", line 210, in sub
    return _compile(pattern, flags).sub(repl, string, count)
  File "C:\Users\suz\anaconda3\lib\re.py", line 327, in _subx
    template = _compile_repl(template, pattern)
  File "C:\Users\suz\anaconda3\lib\re.py", line 318, in _compile_repl
    return sre_parse.parse_template(repl, pattern)
  File "C:\Users\suz\anaconda3\lib\sre_parse.py", line 1042, in parse_template
    raise s.error('bad escape %s' % this, len(this))
re.error: bad escape \m at position 11
"""

Do I need to install TensorFlow from source to fix this issue ??

@tilakrayal I don't need to build keras itself but the keras-io, here is the repo. https://github.com/keras-team/keras-io

@Suzan009 ,
Can you please take a look at this link.Thanks!

@tilakrayal don't you understand the plain English text that I've written here? Please assign someone else if you can't.

@Suzan009,
To get the Keras-io, Install tensorflow pip install tensorflow.
Keras-io repository hosts the code used to generate the keras.io website.
Keras-io internally calls keras.
!pip install tensorflow
from tensorflow import keras

@gadagashwini I have already installed tensorflow. Sorry, why did you think that it might be a tensorflow issue like this?
Here is the thing that I did
git clone https://github.com/keras-team/keras-io.git
activate tensorflow2.7
pip install -r requirements.txt
cd scripts
python autogen.py make

Please follow the above commands. As I said when I run python autogen.py make, after some while the error occurs, mentioned here.

@Suzan009,
Steps mentioned here are for generating Keras-io document.
I tried the steps
#create python virtual environment
python -m venv kerasio
#activate env
source kerasio/bin/activate
#clone Keras-io repo
git clone https://github.com/keras-team/keras-io.git
#Move to Keras-io directory
cd keras-io
#Install requirements.txt
pip install requirements.txt
# Mov to script doc
cd scripts
#run the autogenerated py
python autogen.py make
#Launch the Keras-io doc
python autogen.py serve
Serving on <IP_ADDRESS>:8000   ## can see the Keras-io webpage at 8000 port

If you are looking for keras installation,
you can use pip install keras or pip install tensorflow

Traceback (most recent call last):
File "C:\Users\suz\anaconda3\lib\sre_parse.py", line 1039, in parse_template
this = chr(ESCAPES[this][1])
KeyError: '\m'

The above error looks more related to Anaconda. Try it on different virtual environment without Anaconda package.

I am on windows 10. Do you think it's related to OS? I also create a new and fresh environment, but when I ran the following command, I just faced the above-mentioned error. It looks like the windows path
python autogen.py make

....
re.error: bad escape \m at position 11

I will try again with your approach.

@Suzan009,
It might be depends on OS platform.
From the error its look like, Its failing to fetch required the path.
Did you try steps mentioned in above comment. Thanks!

@gadagashwini unfortunately no. I am still facing that issue. I am using windows 10.  Python version 3.9 (also test on 3.7, 3.8).
When I run the following script, it just gives the re package error, like below.
python autogen.py make

....
re.error: bad escape \m at position 11

Searching the error took me these type of SO questions: https://stackoverflow.com/questions/58328587/python-3-7-4-re-error-bad-escape-s-at-position-0

@Suzan009, I couldn’t reproduce the issue on MAC OS and Linux machine.
May i know, why are you trying to launch Keras-io website from locally. Thanks!

@Suzan009 I haven't tried personally setting up Keras-io in windows but I would suggest you to try using windows subsystem Linux (WSL) to setup Keras-io if you think it a windows OS issue. They have also provided the docker image and if you have docker installed in your system you can always use that which will help remove all the installation and setup headaches.

@mitul01 Even if I did use docker, I also need to run python autogen.py which would cause the same error.
Using WSL is a good suggestion, but I really don't need it for any other stuff. So, I'm not willing to do that unless it's necessary to do so.

@Suzan009, I couldn’t reproduce the issue on MAC OS and Linux machine. May i know, why are you trying to launch Keras-io website from locally. Thanks!

Just wanted to do a f*ng contribution in the code example. I would try another round to setup it up from fresh windows. If it goes well, fine. Otherwise, I'll close this issue.

@Suzan009,
Did you get a chance to build fresh Keras-io on Windows.Thanks!

give up contributing to keras-io.

@mitul01 @gadagashwini Is it also not supposed to work on Colab?


Colored "ls" output in FreeBSD

Colored ls output in FreeBSD might be enabled using the same approach as OpenBSD, darwin using   the following simple diff. Shall I send a PR?
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 96f34aa8..d5907cc5 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -22,6 +22,9 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
   elif [[ "$OSTYPE" == darwin* ]]; then
     # this is a good alias, it works by default just using $LSCOLORS
     ls -G . &>/dev/null && alias ls='ls -G'
+  elif [[ "$OSTYPE" == freebsd* ]]; then
+    # this is a good alias, it works by default just using $LSCOLORS
+    ls -G . &>/dev/null && alias ls='ls -G'

OpenBSD is supported in the lines above darwin:
https://github.com/robbyrussell/oh-my-zsh/blob/8fba503667a477b544bfd1fa33e75430874e228a/lib/theme-and-appearance.zsh#L15-L21
Any reason to change it?

@mcornella I refer to FreeBSD not to OpenBSD.
For instance the OSTYPE variable in FreeBSD holds values like: "freebsd12.0", so your quoted snippet is not sourced because the if statement fails. There has to be another elif statement to support FreeBSD.
On top of that, FreeBSD's ls command supports natively, nowadays, colored output using the -G flag, so no need to install the gnuls package (as per the OpenBSD statement).

Ok, then we could just patch the darwin conditional to support freebsd as well:
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 96f34aa8..d5907cc5 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -22,6 +22,9 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
-   elif [[ "$OSTYPE" == darwin* ]]; then
+   elif [[ "$OSTYPE" == (darwin|freebsd)* ]]; then
     # this is a good alias, it works by default just using $LSCOLORS
     ls -G . &>/dev/null && alias ls='ls -G'

You can send a PR, yes please.


orb-from-main

What does this PR do?
[redo of https://github.com/forcedotcom/source-deploy-retrieve/pull/436 to get correct commit history]
SDR should use the orb and build steps similar sfdx-core does (release off of every commit to main, don't sign).
no publish approval required
And also run the plugin-source NUTs [...has some GC/memory errors consistent with plugin-source itself]. That's why the external NUT is not required for publish yet
retain existing slack notifications to cli-notifications channel (does not include version number)
verify windows tests work with our process
update documentation in the SDR repo to match the new process for contributing, developing, and publishing.
bumps package.json one minor version to "QA" a release when merged into main.
What issues does this PR fix or reference?
@W-9789170@

still picking up wrong commits


Fetch data from React tree using an existing store

Originally posted in: https://github.com/apollostack/react-apollo/issues/153#issuecomment-246741537

I am struggling with server-side rendering when using an existing redux store.
Here is my route handler:
const handleRoute = (res, routes, renderProps) => {
  const client = new ApolloClient({
    ssrMode: true,
    networkInterface: createNetworkInterface('http://<IP_ADDRESS>:8003/')
  });

  const store = createStore(undefined, client);

  const app = <ApolloProvider client={client} store={store} immutable={true}>
    <RouterContext {...renderProps} />
  </ApolloProvider>;

  const test = {client};

  getDataFromTree(app, test)
    .then((context) => {
      console.log('test.client.store.getState().apollo', test.client.store.getState().apollo);
      console.log("context.store.getState().get('apollo')", context.store.getState().get('apollo'));
      console.log("store.getState().get('apollo')", store.getState().get('apollo'));
    });
};

Here is the output:
test.client.store.getState().apollo { queries:
   { '0':
      { queryString: 'query ($blogId: ID!) {\n  blog(id: $blogId) {\n    posts {\n      id\n      body\n      createdAt\n      name\n    }\n  }\n}\n',
        query: [Object],
        minimizedQueryString: 'query ($blogId: ID!) {\n  blog(id: $blogId) {\n    posts {\n      id\n      body\n      createdAt\n      name\n    }\n  }\n}\n',
        minimizedQuery: [Object],
        variables: [Object],
        loading: false,
        networkError: null,
        graphQLErrors: null,
        forceFetch: false,
        returnPartialData: false,
        lastRequestId: 1,
        fragmentMap: {} },
     '2':
      { queryString: 'query ($blogId: ID!) {\n  blog(id: $blogId) {\n    posts {\n      id\n      body\n      createdAt\n      name\n    }\n  }\n}\n',
        query: [Object],
        minimizedQueryString: 'query ($blogId: ID!) {\n  blog(id: $blogId) {\n    posts {\n      id\n      body\n      createdAt\n      name\n    }\n  }\n}\n',
        minimizedQuery: [Object],
        variables: [Object],
        loading: false,
        networkError: null,
        graphQLErrors: null,
        forceFetch: false,
        returnPartialData: false,
        lastRequestId: 3,
        fragmentMap: {} } },
  mutations: {},
  data:
   { '$ROOT_QUERY.blog({"id":"10"}).posts.0':
      { id: '3',
        body: 'a',
        createdAt: 'Wed Aug 31 2016 12:20:09 GMT+0100 (BST)',
        name: 'a' },
     '$ROOT_QUERY.blog({"id":"10"}).posts.1':
      { id: '4',
        body: 'b',
        createdAt: 'Wed Aug 31 2016 12:20:13 GMT+0100 (BST)',
        name: 'b' },
     ROOT_QUERY: { 'blog({"id":"10"})': [Object] },
     '$ROOT_QUERY.blog({"id":"10"})': { posts: [Object] } },
  optimistic: [] }

context.store.getState().get('apollo') { queries: {}, mutations: {}, data: {}, optimistic: [] }

store.getState().get('apollo') { queries: {}, mutations: {}, data: {}, optimistic: [] }

test.client.store.getState().apollo is the expected output. But this state is not registered with either context returned from getDataFromTree or the store passed to the ApolloProvider.
What am I missing?

@gajus did you end up figuring this out?

Same problem, it seems that the existing store passed as prop it is not used, however the Apollo internal store is used.
So you have resolved?

I have ended up using context.store.getState().get('apollo'). This is a workaround, though.

@gajus this is really a lack of documentation on my part. Including context.store is done to make it easy for projects which use a custom redux store. The correct state to pull from is context.client.store. I need to make this clearer

Have you tried using client.getInitialState()? This might be easier


2.10: Can't run db code from plugins

Environment
Node.js: 22
Nitro: 2.10
Reproduction
https://stackblitz.com/edit/github-f7duzj?file=nitro.config.ts,server%2Fplugins%2Fdb.ts
Describe the bug
[nitro] [unhandledRejection] ReferenceError: Cannot access 'instances' before initialization
Seems like plugin that executes SQL is run before Nitro initializes the default sqlite database.
Additional context
Worked fine in 2.9.7
Logs
No response

I've been encountering a similar issue with Nuxt 3.13.2.
Unfortunately I don't have the time to create a reproduction, but here is the error I'm receiving.
file:///frontend/.output/server/chunks/nitro/nitro.mjs:7293
  return base ? prefixStorage(storage, base) : storage;
                              ^
ReferenceError: Cannot access 'storage' before initialization
    at useStorage (file:///frontend/.output/server/chunks/nitro/nitro.mjs:7293:31)
    at file:///frontend/.output/server/chunks/nitro/nitro.mjs:6521:19
    at ModuleJob.run (node:internal/modules/esm/module_job:234:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:473:24)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:123:5)

Overwriting the version in the package.json file fixes it for now.
"overrides": {
  "nitropack": "2.9.7"
}

Thanks for reproduction dear @vladkrasn
I have made #2837 which particularly fixes the useDatabase ordering issue.
There might be more issues similar to this due to rollup wrong chunk ordering. @Ponkhy i will try to investigate however if you can make a nitro-only minimal reproduction that would be super helpful 🙏🏼

Thank you for the quick fix @pi0!
After the update to v2.10.1 my issue has been resolved as well.


daemon: Remove svc-v2 maps when restore is disabled

Previously, in the case of --restore=false, the svc-v2 related BPF map entries were not removed. Also, the daemon was trying to remove the legacy entries even when the legacy svc was disabled. This PR fixes both issues.

This change is

test-me-please

Coverage decreased (-0.04%) to 44.281% when pulling 7149a4d69d7c1600524b3f88169dfa81d9903b45 on pr/brb/rm-svc-v2-maps-if-no-restore-state into f9f05654f1f0865276e37a07290c46978e696f00 on master.


Fix step actions documentation

Changes
Fix step actions documentation
It was referencing a TaskSpec in a task which would fail

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[-] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[-] Has Tests included if any functionality added or changed
[-] Follows the commit message standard
[-] Meets the Tekton contributor standards (including functionality, content, code)
[-] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[-] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[-] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

/kind documentation

/kind documentation

Thanks @chmouel!!
/lgtm

I am not sure what's going with test-dind-sidecar but the mountvolume is timing out?

/retest

/retest

Created an issue on the example test failures: https://github.com/tektoncd/pipeline/issues/7496

/retest


Fix typo

occured→occurred

@eltociear : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@mamccrea: I'm sorry - only the author of this article, @bwren, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off


build: update noodles and other dependencies

Changes

Update noodles to 0.60 and other small dependency changes.
Fix clippy warnings.

noodles 0.60 has some changes that are useful for the crypt4gh branch and I didn't want this to get too out of sync. I'm leaving out changes related to http 1.0, e.g. hyper 1.0, tower 0.5, aws 1.0, etc, because these are recent and quite large, so some of our other dependencies haven't introduced them yet.

Breaking changes on Axum 0.6 to 0.7, btw, but I'm sure you are already aware ;)


Add boolean prql.addTargetDialectToSqlFilenames setting for the generated SQL filenames

to enable users targeting different DBMS systems to create .sql files with the target db/platform filename suffix.
For example, sql file generated from some invoices-total.prql for the duckdb target will be named invoices-total.duckdb.sql.
The same user can then change prql.target to SQLite, create and save somewhat different invoices-total.sqlite.sql file and add it to their project version control system.
In both scenarios we just add sql dialect suffix before .sql file extension name when generating sql files via #42 feature.
To keep it simple, we'll default this setting to false, and advanced users can change it in their workspace settings.
Note: we'll do this for all the supported SQL system dialects, and skip adding this sql filename suffix when the current workspace prql.target setting is Generic or None recently added in #98.

Example of using this new setting:

My guess is that this won't be used that much — folks generally have a single DB they're working with. But no harm in adding
(does VSCode share any telemetry so we can see who is using what settings?)

I can see folks using some transactional db and duckdb for analytics use this feature in some form or the other.
We can set up telemetry later. I don't think we have enough active users to start logging what features are used, or how many times sql preview is shown.
VSCode does have standard telemetry api, but that might require setting up Azure service, or do it with google analytics. i.e. much larger want/ask that should be written down as a separate ticket for us to consider adding it.


Layout Load Function, Data Inheritance, Order

Describe the bug
I am not sure if this is a bug or I am missing something. I have rather comlicated routes structure:
src/routes/+layout.js
src/routes/+layout.svelte
src/routes/(app)/+layout.js
src/routes/(app)/+layout.svelte
src/routes/(app)/[site]/+layout.js
src/routes/(app)/[site]/+layout.svelte
src/routes/(app)/[site]/+page.js
src/routes/(app)/[site]/+page.svelte
src/routes/(app)/[site]/looking-glass/+layout.js
src/routes/(app)/[site]/looking-glass/+layout.svelte
src/routes/(app)/[site]/looking-glass/+page.js
src/routes/(app)/[site]/looking-glass/+page.svelte

When navigating to /siteid/looking-glass my understanding is that the load() functions would be triggered in order such as:
src/routes/+layout.js
src/routes/(app)/+layout.js
src/routes/(app)/[site]/+layout.js
src/routes/(app)/[site]/looking-glass/+layout.js
src/routes/(app)/[site]/looking-glass/+page.js

It seems that on server side this order is honored. However when running in client it is not the case.

As you can see the order gets messed up every refresh.
Another thing is sharing data between those functions. In previous versions with the stuff property this worked just fine. This thime, however I am getting always null when acessing the data object.
// src/routes/+layout.js

export async function load({ data }) {
  console.log('👋 ROOT +layout', data)
  return {
    user: 'User'
  }
}

My guess was that I cas access the data.user property in subsequent layout load functions in same fashion as stuff worked before.
I am wrong here or this is in fact a bug?
Reproduction
https://github.com/lemmon/sveltekit-layout-data-load
Logs
No response
System Info
System:
    OS: macOS 11.6.3
    CPU: (4) x64 Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
    Memory: 55.09 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.15.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 8.18.0 - /usr/local/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 104.0.5112.101
    Firefox: 103.0.2
    Safari: 15.3
  npmPackages:
    @sveltejs/adapter-auto: next => 1.0.0-next.70
    @sveltejs/kit: next => 1.0.0-next.456
    svelte: ^3.44.0 => 3.49.0
    vite: ^3.1.0-beta.1 => 3.1.0-beta.1

Severity
blocking all usage of SvelteKit
Additional Information
No response

This is the intended behavior. Multiple load functions are by default run in parallel rather than in series in order to make things faster. The data argument in +layout.js/+page.js is not the parent load's return value - it is the return value for the corresponding +layout.server.js/+page.server.js (of which you apparently have none). https://kit.svelte.dev/docs/load#input-methods-parent retrieves that parent load's data, and forces those two to run in series.

@Conduitry Okay I get it. When I use *.server.js the inheritance works as expected.
However there's no way, in this case, to build a SPA. When trying to build with adapter-static and trying to run on a static server I get infinite redirects.
I understand that *.server.js are intended to run on server but with this behaviour it becomes impossible to build SPA hosted on a static server with no SSR.


Support for Tetris Forever?

Hello, glad I found this handy tool to apparently look into all the assets of Digital Eclipse games. Wondering if there will soon be support for the latest Digital Eclipse game "Tetris Forever".

The key for Tetris Forever is the same as Jeff Minter.

The key for Teris Forever is the same as Jeff Minter.


DEC-848: Preview links are dead

S3 does not respond to https, changed urls to http.

Coverage remained the same at 96.136% when pulling 26f5036ba622b33628455d118341dd580c77e31b on DEC-848-Bugfix-Preview-Links into dc4ea6568d428b5e5e9f1ed2b7bdb0a0f45ba9bf on master.

:+1:

:+1:


searchText() skips every third row in gridView if items are so big that only 2 rows can fit on screen at once

From<EMAIL_ADDRESS>on March 10, 2014 12:24:43
What steps will reproduce the problem? 1. Have gridView of at least 4 rows of items that are so large that only two rows can fit on screen at once. Items should each contain unique text.
2. Use searchText() to search for text within any item at row 3 What is the expected output? What do you see instead? Expected: screen scrolls to row 3 once text is not found in row 1-2.
Actual: screen scrolls to row 4, skipping row 3 entirely. What version of the product are you using? On what operating system? Robotium 5.0.1
Mac OS X 10.9.1 Please provide any additional information below.
Original issue: http://code.google.com/p/robotium/issues/detail?id=587

From<EMAIL_ADDRESS>on March 10, 2014 12:50:58
Thanks for reporting this. Would it be possible for you to share an app that exhibits this issue'?
Status: Accepted
Owner<EMAIL_ADDRESS>

From<EMAIL_ADDRESS>on March 10, 2014 13:13:06
The app is one of our NDA projects. I'm currently working with the developers to see if we can get you a working app of just the screen that is exhibiting this issue.


Fix QhullError warning

The QhulError was moved in scipy >= 1.8 so if the import fails the old location is imported

thank you! this has been bugging me :)