src/params/*.js files with a - in their name cause svelte-kit to throw an error

Describe the bug
If you add src/params/foo-bar.js and use it on a directory like src/routes/foo/[category=foo-bar] dev/build runtimes crash due to a thrown error (see logs).
Reproduction
https://github.com/UltraCakeBakery/svelte-kit-param-matcher-dash-name-bug
Logs
file:///P:/named-layouts-bug/svelte-kit-param-matcher-dash-name-bug/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.354_svelte@3.48.0/node_modules/@sveltejs/kit/dist/chunks/sync.js:241
                                                                                const [, rest, name, type] = /** @type {RegExpMatchArray} */ (
                                                                                ^

TypeError: object null is not iterable (cannot read property Symbol(Symbol.iterator))
    at file:///P:/named-layouts-bug/svelte-kit-param-matcher-dash-name-bug/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.354_svelte@3.48.0/node_modules/@sveltejs/kit/dist/chunks/sync.js:241:74
    at Array.map (<anonymous>)
    at file:///P:/named-layouts-bug/svelte-kit-param-matcher-dash-name-bug/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.354_svelte@3.48.0/node_modules/@sveltejs/kit/dist/chunks/sync.js:239:12
    at Array.map (<anonymous>)
    at parse_route_id (file:///P:/named-layouts-bug/svelte-kit-param-matcher-dash-name-bug/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.354_svelte@3.48.0/node_modules/@sveltejs/kit/dist/chunks/sync.js:223:8)
    at file:///P:/named-layouts-bug/svelte-kit-param-matcher-dash-name-bug/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.354_svelte@3.48.0/node_modules/@sveltejs/kit/dist/chunks/sync.js:432:15
    at Array.forEach (<anonymous>)
    at create_manifest_data (file:///P:/named-layouts-bug/svelte-kit-param-matcher-dash-name-bug/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.354_svelte@3.48.0/node_modules/@sveltejs/kit/dist/chunks/sync.js:358:39)
    at update (file:///P:/named-layouts-bug/svelte-kit-param-matcher-dash-name-bug/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.354_svelte@3.48.0/node_modules/@sveltejs/kit/dist/chunks/sync.js:1001:24)
    at update_manifest (file:///P:/named-layouts-bug/svelte-kit-param-matcher-dash-name-bug/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.354_svelte@3.48.0/node_modules/@sveltejs/kit/dist/vite.js:1961:29)

System Info
System:
    OS: Windows 10 10.0.22000
    CPU: (12) x64 Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
    Memory: 2.33 GB / 15.75 GB
  Binaries:
    Node: 16.15.1 - C:\Program Files\nodejs\node.EXE
    npm: 8.5.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22000.120.0), Chromium (102.0.1245.44)
    Internet Explorer: 11.0.22000.120
  npmPackages:
    @sveltejs/adapter-auto: next => 1.0.0-next.52
    @sveltejs/kit: next => 1.0.0-next.354
    svelte: ^3.46.0 => 3.48.0

Severity
serious, but I can work around it
Additional Information
My project heavily relies on fall through routes. I expect to have quite a lot of files in src/params by the end of my refactor here. I need the - to represent a /, to simulate what it would be like if param matchers lived inside the routes folder.

Since the route names get turned into Javascript property names (off of the params object), it's unlikely that - will ever be supported; the design intent is for only valid Javascript identifier characters to be supported (as you can tell from that regex), so that you can do this:
const { foo, bar } = params;
console.log(`Got params ${foo} and $[bar}`);

If - or other characters were allowed, that would be harder to write:
const { foo, bar } = params;
const other = params['baz-quux'];

Not impossible, but significantly harder. So it's rather unlikely that Rich will decide to allow non-identifier-legal characters as param names.
Any chance you could use _ instead of - to represent a slash in your use case? Or, if _ is impractical because you're already using underscores in your route names, you could work around that by representing a slash by a combination of characters highly unlikely to appear elsewhere in your names, like _SLASH_ or something. That would at least let you proceed now, without waiting for an enchanceent request that's unlikely to be implemented.

@rmunn This is valid js
const { foo, bar, 'baz-quux': baz_quux } = params

Since the route names get turned into Javascript property names (off of the params object), it's unlikely that - will ever be supported; the design intent is for only valid Javascript identifier characters to be supported (as you can tell from that regex), so that you can do this:
const { foo, bar } = params;
console.log(`Got params ${foo} and ${bar}`);

If - or other characters were allowed, that would be harder to write:
const { foo, bar } = params;
const other = params['baz-quux'];

Not impossible, but significantly harder. So it's rather unlikely that Rich will decide to allow non-identifier-legal characters as param names.
Any chance you could use _ instead of - to represent a slash in your use case? Or, if _ is impractical because you're already using underscores in your route names, you could work around that by representing a slash by a combination of characters highly unlikely to appear elsewhere in your names, like _SLASH_ or something. That would at least let you proceed now, without waiting for an enchanceent request that's unlikely to be implemented.

Is there also a more technical reason for this to be supported? I find it an uncommon convention and somewhat random limitation in sveltekit. I understand that it is harder to write, but that can't be the only reason right? If so, why is it not forced on properties added to the $session store or $page.stuff?

why isn't the same regex forced on properties added to $session or $page.stuff

Those come from users and get passed to users without any intervention from SvelteKit, param/matcher names have to be parsed to extract information.
It's not impossible but does add some complexity to route parsing which imo isn't all that worth it considering underscores serve the purpose of separators just as well. There's also the question of at what characters do we stop.

I find it an uncommon convention and somewhat random limitation

FWIW, path-to-regexp does so too https://github.com/pillarjs/path-to-regexp#named-parameters


logging

the item "log" does not exist in config.json
I've tried adding ""log": "true", at the lop level and within a server but logging does not start
Also the "server.log" file does not exist
downloaded from the apple app store

I just checked and it's working on my mac with the mac app store version. The log option goes at the top level. You need to make sure to completely restart the app if you have "Keep running when closed" enabled. Click "Stop & Quit" and then reopen it, and then it'll work.
Please let me know if these steps don't work for you. Thanks!

I’m on Mojave, could that be the reason? Was there logging on version 1.2.9 (27)?On Mar 5, 2024, at 15:32, Terren @.***> wrote:
I just checked and it's working on my mac with the mac app store version. The log option goes at the top level. You need to make sure to completely restart the app if you have "Keep running when closed" enabled. Click "Stop & Quit" and then reopen it, and then it'll work.
Please let me know if these steps don't work for you. Thanks!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

It doesn’t seem like I can update since I’m running Mojave? (OSX 10.14)On Mar 6, 2024, at 13:22, Terren @.***> wrote:
Why don't you go ahead and update to 1.2.10 from the app store. That way we'll know that you definitely restarted the program.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

It looks like the minimum supported macos version for the mac app store build went from 10.13 to 10.15 with the last update. Sorry about that. You'll have to download new versions from our website instead of the App Store until you are able to update past Mojave.
I checked and I don't think there's anything significant that changed from 1.2.9 -> 1.2.10 which would have affected logging.
Could you confirm for me that you definitely tried adding the log option set to true at the top level in the config, and then fully restarting the program by clicking the "Stop & Quit" button?

Yes I definitely restarted without the “stay running when stopped” unchecked and the “log” option is at the top level. I’ll try to delete the program and reinstall On Mar 6, 2024, at 18:14, Terren @.***> wrote:
It looks like the minimum supported macos version for the mac app store build went from 10.13 to 10.15 with the last update. Sorry about that. You'll have to download new versions from our website instead of the App Store until you are able to update past Mojave.
I checked and I don't think there's anything significant that changed from 1.2.9 -> 1.2.10 which would have affected logging.
Could you confirm for me that you definitely tried adding the log option set to true at the top level in the config, and then fully restarting the program by clicking the "Stop & Quit" button?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

I really don't know what to tell you, because it works on my machine. Are you sure that you're editing the right config file? (If you make it blank do all of your servers disappear?) Are you sure that logging isn't working? (Are you looking for the log file in the right place?)
@ethanaobrien Any ideas?

I tried reinstalling still not logging.
I'm in 32bit Mojave and unable to update to a newer version which requires 64 bit
{
"background": true,
"updates": true,
"theme": "system",
"log": "true",
"servers": [
{
"enabled": true,
"path": "/Users/johnbruckner/Sites/bigshash.com",
no "server.log" file

On Mar 7, 2024, at 08:07, Terren @.***> wrote:
I really don't know what to tell you, because it works on my machine. Are you sure that you're editing the right config file? (If you make it blank do all of your servers disappear?) Are you sure that logging isn't working? (Are you looking for the log file in the right place?)
@ethanaobrien https://github.com/ethanaobrien Any ideas?
—
Reply to this email directly, view it on GitHub https://github.com/terreng/simple-web-server/issues/188#issuecomment-1983853315, or unsubscribe https://github.com/notifications/unsubscribe-auth/BGW4QGMGK6DI54RH44B52JDYXCGCTAVCNFSM6AAAAABEIAIUDGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBTHA2TGMZRGU.
You are receiving this because you authored the thread.

It should be set to true without quotes around it.
  "log": true,

instead of
  "log": "true",

OH, duh.Yup that worked. Thank you.

On Mar 9, 2024, at 10:46, Terren @.***> wrote:
It should be set to true without quotes around it.
"log": true,
instead of
"log": "true",
—
Reply to this email directly, view it on GitHub https://github.com/terreng/simple-web-server/issues/188#issuecomment-1986946508, or unsubscribe https://github.com/notifications/unsubscribe-auth/BGW4QGOGMM54PJU7PJCDANLYXNKHHAVCNFSM6AAAAABEIAIUDGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBWHE2DMNJQHA.
You are receiving this because you authored the thread.

Great!


Backward and forward-compatible changes to support zarr-python v3

This is a cutdown version of #288 with all the straightforward changes that work with zarr-python v2, but still has some failures with v3 (mainly around string handling).
It should be OK to merge this and tackle the other v3 changes in another PR.

coverage: 98.829% (-0.08%) from 98.91%
when pulling 325675863a3eda049c42750f92042a732268d0ca on tomwhite:zarr-python-v3-compatibility
into b9340c41bc3ebfbe921c19d70284977cffc49d2e on sgkit-dev:main.


Any way to disable the gem at runtime?

Some systems do not support listen. Windows Subsystem for Linux (Bash on Ubuntu on Windows) has a flawed fd, though the RUBY_PLATFORM is reported as x86_64-linux, so I can't use platform in Gemfile.
Spring autorequires all the /^spring-/ gems from the Gemfile, so require: false doesn't do a thing too
Is there a way to turn off the gem without touching the Gemfile? Lke Rails has config.file_watcher option

You can probably switch to a non-listen watcher with:
Spring.watch_via = :polling


As a developer, I want to review the app for consistency regarding error handling

There seem to be cases where errors are logged, but no email or chatter notification is sent. It's possible that the method from ERR_Handler being called is not the correct one. (This may be related to the original code performing a try-catch and swallowing the exception, and the replacement code thus not sending a notification, but it should in any case be reviewed.)

This was worked on together with #1195.


Delete data-platform/analytics/analytics-questionnaire directory

Deleting analytics-questionnaire directory from Analytics folder.
I will put this later under Oracle-analytics-cloud.

Please approve this.


Fix duplicate-alt-text suggestions #6

Global effort to fix validation errors
The Content & Learning team is fixing build validation errors on docs.microsoft.com. This effort will eliminate potential accessibility, security, and usability issues. This PR includes only build validation fixes and does not change other content. I’d very much appreciate your timely review and feedback on these changes I’ve suggested. Thanks!

@Rick-Anderson: Ready to merge.


Add random_browser & random_mobile

It would be useful to be able to use the very nice "random" behavior but ensure to always or never get a useragent corresponding to a mobile device

Can You give me an example when "random" returned mobile device?

Also we were talking about mobile devices here https://github.com/hellysmile/fake-useragent/issues/10 and I do not know where to get list of mobile device headers.

ah! interesting! I assumed there were some a I'm using these agents to do some urls redirection resolving and twitter urls strangely end up as mobile.twitter.com, so I guessed it came from the useragents but maybe not in the end. let me investigate a bit more and get back to you!

All right, forget I said anything! For some weird reason, Twitter actually returns a noscript markup in each page that provides a redirect url to its mobile version. i'll just deactivate collecting redirect url from noscript parts
Thanks for the prompt answer!


Change default output template for MET tools that write multiple files

The default behavior for grid_stat was to add sub-directories under the GRID_STAT_OUTPUT_DIR with the runtime YYYYMMDDHHMM and grid_stat included. The default behavior for point_stat was to not include any sub-directories. METplus 2.1 adds these directories by default to point_stat. We should change the default behavior (not setting POINT_STAT_OUTPUT_TEMPLATE) to not add any additional directories unless the user specifies it.

Since this is a minor change, I added it to the branch bugfix_2.1_213 tc_pairs instead of creating a new branch. This change will also be added to the develop branch

Changes were pushed to the develop branch.

Since we aren't adding the TcPairs refactor to a bugfix release, I made the changes for this and merged them into master_v2.1


{{ in }} should work with html.Template type

Fixes #7002

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

 All committers have signed the CLA.


v8 prep: merge main into 8.0.0 branch

:scroll: Description

merge main into v8 branch
#skip-changelog
:bulb: Motivation and Context

Preparation for v8 pre-release
:green_heart: How did you test it?
ci
:pencil: Checklist

[x] I reviewed submitted code
[ ] I added tests to verify changes
[ ] No new PII added or SDK only sends newly added PII if sendDefaultPii is enabled
[ ] I updated the docs if needed
[x] All tests passing
[ ] No breaking changes

:crystal_ball: Next steps

It the sentry-dio package analysis fail due to some changes in the v8?


Build fixups

Tags are required to get the dev version number and JJB multibranch
fetches without tags.
Signed-off-by: Richard Berg<EMAIL_ADDRESS>

LGTM


clean override in Makefile

It seems that in commit 91b2923e the  typical clean command has been overridden.
'make CGM_BASE_DIR=<cgm_dir> clean' will now only removes the sphinx build directory (on my machine at least).

Aaah... yes - Line 94 needs to have the clean removed

Shall I go ahead and take care of that?

You can go ahead and take care of this.  I would do it, but maybe someone with more creativity can take care of  #18 at the same time

Alrighty can do.

Addressed in #19


Corrections

Do not worry about the PR Label failing action. But please crop and resize you picture to be under 100KB

Hey, done

Saed Farah
*IT Consultant *
Information Communications Technology/ Infrastructure Engineer
If your email is regarding Consultancy work please re-direct your email to
my work email: @.** @.***> and request for my
number *
T: Available upon request
E: Saed<EMAIL_ADDRESS>On Fri, 8 Nov 2024 at 22:16, Christophe Sauthier @.***>
wrote:

Do not worry about the PR Label failing action. But please crop and resize
you picture to be under 100KB
—
Reply to this email directly, view it on GitHub
https://github.com/cncf/people/pull/698#issuecomment-2465835226, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APUC3TR65XRSHSUGAWOHF4LZ7UZ4FAVCNFSM6AAAAABROMARHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRVHAZTKMRSGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

latest pr: https://github.com/cncf/people/pull/698
On Fri, 8 Nov 2024 at 22:37, Saed Farah @.***> wrote:

Hey, done

Saed Farah
*IT Consultant *
Information Communications Technology/ Infrastructure Engineer
If your email is regarding Consultancy work please re-direct your email
to my work email: @.** @.***> and request for
my number *
T: Available upon request
E: Saed<EMAIL_ADDRESS>On Fri, 8 Nov 2024 at 22:16, Christophe Sauthier @.***>
wrote:

Do not worry about the PR Label failing action. But please crop and
resize you picture to be under 100KB
—
Reply to this email directly, view it on GitHub
https://github.com/cncf/people/pull/698#issuecomment-2465835226, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APUC3TR65XRSHSUGAWOHF4LZ7UZ4FAVCNFSM6AAAAABROMARHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRVHAZTKMRSGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Saed Farah
*IT Consultant *
Information Communications Technology/ Infrastructure Engineer
If your email is regarding Consultancy work please re-direct your email to
my work email: @.** @.***> and request for my
number *
T: Available upon request
E: Saed<EMAIL_ADDRESS>


Displayed height isn't balanced between blocks when translating

Since the French translation is available the "Vector" box is higher than the "Background" box and this is looking a bit strange. The translated string cannot be compressed and this issue could appear in other languages too, that's why I'm issuing here this. Maybe it would be great to force the two blocks to have the same height.
Here is a screenshot:

try to reduce the text there :) image is enough for the user to understand

So you can change it if you want

fixed


added goals to readme.md

closed for further code coverage testing within my fork since commits are going automatically into an open pullrequest - what i did not know :D


When polling adb for devices, run adb reconnect first

Attempts to resolve https://github.com/flutter/flutter/issues/148193
See https://github.com/flutter/flutter/issues/125971#issuecomment-2101147423 for the inspiration of this code change. To summarize, we will call adb reconnect before running adb devices -l.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[x] All existing and new tests are passing.

Closing since I don't know whether adb reconnect risks interfering with other processes interacting with adb. This also doesn't work since adb reconnect appears to briefly cause adb devices -l to always list zero devices. See the failed Linux_android_emu android views check. However, as a future idea, running adb kill-server might be a sufficient alternative to adb reconnect.


was Uni.replaceWith(Supplier) a mistake

I hate opening this issue, since it's something I had already considered from one point of view when I originally proposed adding the replace() method, and decided was OK, but that I'm now thinking might have been a mistake.
So originally I thought of it this way. When I looked at replaceWith(Supplier) I immediately thought that:

it looked more like an overload of map() than an overload of replaceWith(), and
it was a bit weird having replaceWith(Supplier<T>) and replaceWith(Uni<T>) but no replaceWith(Supplier<Uni<T>>).

But:

by its very name, map() should be mapping something to something else, not supplying something, and
the "replaceWith(Supplier<Uni<T>>)" method actually already exists and is called chain().

And, it seemed clear that replaceWith(Supplier<Uni<T>>) was useful, so I included it in the proposal, and nobody complained.
However, after having now actually used this stuff in anger, and having tripped up on thinking of replaceWIth() as a sort of chain(), which it's definitely not, I'm wondering if we need to make it more clear that replaceWIth() is an operation that can't depend on side effects of previous stages.
Having replaceWith(Supplier<T>) there makes it a lot less clear that the other two overloads should never be used when their argument depends on the completion of a previous stage, and I feel like users are sure to trip up on that.
I'm not saying we should necessarily fix this, but I wanted to draw your attention to my mistake, so we can at least discuss it.
Sorry about this.

By the way, after considering this, together with #318, I think that probably the cleanest API would have been for Uni and UniOnItem to both offer all the following operations:

replaceWith(Y) and replaceWith(Uni<Y>)
transform(Function<X,Y>) and transform(Supplier<Y>)
chain(Function<X,Uni<Y>>) and chain(Supplier<Uni<Y>>)
invoke(Consumer<X>) and invoke(Runnable)
call(Function<X,Uni<?>>) and chain(Supplier<Uni<?>>)

Where:

the existing map() and flatMap() on Uni would be aliases for transform() and chain() respectively, and
one or perhaps two of the overloads of UniOnItem.transformToUni() would be deprecated in favor of chain(), since they are the exact same thing and it's confusing that they have different names on the two interfaces.

Again, I'm not saying we should do this, I'm just saying I now realize it would be the cleanest and most consistent organization of these methods, and it would fix both #319 and #318.

In my defense, the UniOnFailure.recoverWithXxxx() methods suffer from the same "mistake", which I was also aware of when I was writing the proposal.

Thanks @gavinking, this is a good set of thoughts.
I see where you are going, what you want is a clean separation between:

value-transforming operations, possibly accepting a Supplier<T> when you want to discard the item, and
operation-chaining, possibly accepting a Supplier<Uni<?>> when you want to discard the item.

I have tried to summarize the proposed changes as follows, please correct me if I'm wrong. Comments in nested bullets.

Discard Uni.replaceWith(Supplier<T>)`` in Uni`
Add transform to Uni with Function and Supplier overloads
Keep chain, call  and invoke as-is in Uni and UniOnEvent
Add transform, transformToUni and transformToMulti overloads in UniOnEvent with Suppliers of values (not Supplier<Uni<?>>)

Since these variants would drop the item I'd suggest replaceWith, replaceToMulti and replaceToUni
Alternatively: replaceWith, discardToMulti and discardToUni

Replicate chain of Uni in UniOnEvent

Aren't we creating a feature envy here?
Instead of uni.onItem().chain(...), don't we simply want uni.chain(...) here?

Replicate replaceWith(T and Uni) of Uni in UniOnEvent

BTW @gavinking could you please point me to some snippets where these API changes would help?
I'm not necessarily interested in all, just 1-2 relevant ones. Thanks!

what you want is a clean separation between:

what you want is a clean separation between:

value-transforming operations, possibly accepting a Supplier<T> when you want to discard the item, and
operation-chaining, possibly accepting a Supplier<Uni<?>> when you want to discard the item.

Well, it's more of a question: do we need such a clean separation? The issue is that I think I've seen that it's potentially dangerous to have the replacing value be evaluated at stream-construction time. I mean, it's not conceptually wrong, it's just that if that semantic isn't completely clear to the user, then they could be in for nasty surprises. Now, whether the naming really helps make that clear (or more clear than it already is from the signature) I'm not sure.
I'm not sure that your summary exactly captures what I'm saying (which I hesitate to call a proposal, it's more of a straw man, and I'm not actually advocating that we do it) so let me clarify a bit. I apologize in advance. This is going to be long-winded.
First of all, I want to say that I think I've finally nailed down precisely why I was uncomfortable with the older revisions of the Mutiny API: I was continuously forced to write onItem() when I just didn't have any item: I was often working with Uni<Void> to chain side-effecty computations, not to transform streams of values. From that point of view all the onItem() calls, apart from being very verbose, were also kinda misleading about what was going on. With the current revision of the API, that discomfort is almost completely gone: i.e. it was really the separation of Uni and UniOnItem that I had a problem with, not any of the other UniXxxxx interfaces, which quite nicely model "special" states of the stream.
Anyway, that's a long way of saying I've grown comfortable with UniOnFailure and friends but I still have trouble convincing myself about what essential role UniOnItem fills. I mean, I'm very OK with it having more specialized methods related to processing the item that don't belong on the main Uni and that's fine. But then I'm finding it sorta difficult to mentally model the real distinction between these types, given the restriction that I don't want to force people to call onItem() all the time for basic things.
So in response to your comment about "feature envy" @jponge, well, I guess my response is that they should share a basic set of operations because AFAICT they're not very different in terms of what they model.
Now, sure, if you wanted to be completely disciplined about enforcing the paradigm of having a type to represent each distinct "stream state", then I guess you could say that we should eliminate versions of chain() and call() and invoke() which accept an item, leaving only those which ignore the item, and make you call onItem() if you want access to it. That would leave you with a very clean separation between these types. But the cost of that is a lot of verbosity and people winding up finding map() and flatMap() just too tempting, and .... well, we've been through all this already and I don't think we should revisit that. I think the current API is much more enjoyable to use than what was there earlier and I wouldn't want to go back.
So my suggestion is that we should consider regularizing the operations shared between Uni and UniOnItem, instead of having to remember that Uni.map() is the same thing as UniOnItem.transform() and Uni.chain() is UniOnItem.transformToUni() etc. (Again, I'm not strongly advocating this, I'm just putting it out there.)
To my list:

replaceWith(Y) and replaceWith(Uni<Y>)

Here I'm removing one overload of replaceWith() on Uni.
Also I'm copying the to UniOnItem. But perhaps that's a bad idea. Why would you be calling onItem() just to throw away the item?

transform(Function<X,Y>) and transform(Supplier<Y>)

This is the same operation as Uni.map() and UniOnItem.transform(), plus the overload of replaceWith() that I've removed above.

chain(Function<X,Uni<Y>>) and chain(Supplier<Uni<Y>>)

These are just the existing operations on Uni, which I think are great, but I'm suggesting replicating them to UniOnItem.

invoke(Consumer<X>) and invoke(Runnable)
call(Function<X,Uni<?>>) and call(Supplier<Uni<?>>)

These we already have everywhere.
So what this naming largely achieves is separation of:

operations which return Unis from operations which return values or void (this is needed b/c of Java overload resolution rules), and
operations with arguments that might be evaluated at stream-construction-time.

It doesn't separate operations which process the item from the previous stage from operations which ignore it, and I think that's completely OK because it's just so obvious from the signature. @jponge, I think that was something you wanted to do, but I'm not convinced it's necessary or helpful.
Anyway, these are just thoughts.
A further thought that only just occurred to me. Again, I which I had thought of this sooner is: perhaps none of the operations which ignore the item belong on UniWithItem! Why would you call onItem() to throw it away?


As a courier, I want to know how many delivery orders I have to complete

so that I can plan ahead.

Resolved in #239


Get messages from API Response + extends ImportResponse class to work with Xml Response from API

The method doesn't work as it should. (I figured it out later in my code).

It would probably be better suited for upstream here, anyway...
https://github.com/mhujer/fio-api-php


Upgrade Tomcat to 8

Tomcat 7 has reached end of life so we must upgrade the Registry service of the International Planetary Data Alliance to use Tomcat 8.

Hi @nutjob4life , can you add an estimate for this ticket ? You can also change the status if it is done (you mentioned last stand up that you worked on that). Thanks

Hi @tloubrieu-jpl: the estimate is 8 hours.
(I can't find this ticket on Zenhub otherwise I'd enter the estimate directly there.)

@nutjob4life +1 you should see "Estimate" to the right below "Assignees" and "Labels". If not, you may need to install the Zenhub extension and/or sign-in. https://www.zenhub.com/extension

@jordanpadams thanks. I had to unload and reload the extension on Chrome to get it to work. It's active now and I can see the estimate.

This is now complete and testing shows good data from the IPDA registry and Tomcat 8.5.64


Feat/lamp color card

Owner

[x] Nickname(Tuya): Asuka（马易安）
[x] Intra-group review（组内审阅人员）：若叶（金晓）

Description
add lamp sleep format and color card component.complete the music drawer component
Package
Please select the relevant package.

[ ] tuya-panel-animation-sdk
[ ] tuya-panel-api
[ ] tuya-panel-electrician-sdk
[ ] tuya-panel-ipc-sdk
[x] tuya-panel-lamp-sdk
[ ] tuya-panel-lock-sdk
[ ] tuya-panel-robot-sdk
[ ] tuya-panel-outdoor-sdk

Type of change
Please select the relevant option.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Self CheckList
Please check all options.

[x] Intra-group review
[x] ESLint lint
[x] Example Run
[x] Jest Run
[x] No Grammer Error
[x] No Spell Error
[x] No Merge Conflict

LGTM

Codecov Report

Merging #180 (b0312e7) into main (e31445f) will decrease coverage by 0.15%.
The diff coverage is 55.52%.

@@            Coverage Diff             @@
##             main     #180      +/-   ##
==========================================
- Coverage   62.00%   61.85%   -0.16%
==========================================
  Files         342      346       +4
  Lines       12829    13162     +333
  Branches     2900     2998      +98
==========================================
+ Hits         7955     8141     +186
- Misses       4854     5000     +146
- Partials       20       21       +1

Impacted Files
Coverage Δ

...mp-sdk/src/components/music/music-drawer/index.tsx
59.25% <20.00%> (-4.75%)
:arrow_down:

...mp-sdk/src/components/picker/color-card/Slider.tsx
26.53% <26.53%> (ø)

...amp-sdk/src/components/picker/color-card/index.tsx
72.72% <72.72%> (ø)

...ya-panel-lamp-sdk/src/formatter/sleepMode/index.ts
83.15% <83.15%> (ø)

...amp-sdk/src/components/picker/color-card/Colors.ts
100.00% <100.00%> (ø)

packages/tuya-panel-lamp-sdk/src/utils/index.ts
59.81% <100.00%> (+2.81%)
:arrow_up:

packages/tuya-panel-lamp-sdk/src/utils/support.ts
60.60% <0.00%> (+3.03%)
: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 e31445f...b0312e7. Read the comment docs.

LGTM

LGTM~


Update parsing for nodeTimeout durations

Summary
Fixes #6275

When a cluster has been defined with an unhealthyNodeTimeout greater than 1m prior to this version, the value would appear as seconds (i.e. 1 seconds).
Occurred changes and/or fixed issues

Added some logic to the parseDuration method to return the full amount of Duration time in seconds.
Areas or cases that should be tested

Creating/Editing clusters with a different unhealthyNodeTimeout duration.

@catherineluse If the possibility of having hours or days for a timeout should we continue with displaying it as seconds?

I believe so. Maybe in a future release we could have a reasonable limit on the number of seconds, as you suggested, and/or change the display to account for longer intervals using a library such as luxon, as Phil suggested.

I added parsing for days, hours, minutes, and seconds. I agree, we should revisit this in the future. There are some planned updates to javascript which would help us parse these without the need for a library.


x86: enable CONFIG_USERSPACE on x86-64

This patch series implements CONFIG_USERSPACE on x86-64.
Kernel Page Table Isolation (KPTI) is still a work-in-progress, so user mode cannot be enabled unless the target board sets CONFIG_X86_NO_MELTDOWN, indicating it is immune to these attacks. This is set for qemu_x86_64 to allow testing.
All tests are reliably passing with SMP disabled. With SMP enabled, the sporadic data corruption issue described in #21317 may be observed in CI runs, although this issue has been present before this patch series.
Major changes:

CPU exceptions are now recoverable on x86_64, allowing z_arch_user_string_nlen() to be implemented similar to how it is done in 32-bit.
GDT data descriptors for TSS regions (used to set %gs for per-cpu data) removed; instead we use MSRs to set GS_BASE. "swapgs" management implemented on privilege transitions to ensure the kernel is always using its expected GS segment. lfences added to mitigate the swapgs Spectre V1 variant.
Support for creating 64-bit thread page tables
Nearly all the userspace code written in C up-leveled to be used by both 32-bit and 64-bit
arch_new_thread() simplified for both 32-bit and 64-bit, with userspace logic moved to new functions in common code.
Linker script additions for kernel object tables and automatic memory partitions
System calls implemented using syscall/sysret instructions
hardware-assisted kernel oops exceptions implemented, Kconfig option removed (there's no compelling reason not to build this)
bit-rotted retpoline macros removed (we use Extended IBRS to mitigate Spectre V2 anyway)
Some test case fixes/workarounds for open bugs

Please see individual commit messages for more details.

updated:

cleanup checkpatch whines
fix test cases per @andyross suggestion
add extra lfence per @ceolin suggestion
clean up arch_start_cpu to discard unused parameter and add a typedef for cpu start functions
move some per-cpu initialization to C domain per @andyross review
fix an incorrect comment I found

@vonhust I made a minor ARC change for https://github.com/zephyrproject-rtos/zephyr/pull/21710/commits/4f6e64095d677fdff7bb77a23d17efa53d10e659

:+1:


docker: enable rgw container on Atomic host environment

This will allow RGW to be started by systemd when it is an Atomic host environment.  This is what is done for OSD and MON.

roles/ceph-rgw/defaults/main.yml needs to be updated as well, then you need to run generate_group_vars_sample.sh.

Made the updates as requested.


windows platform compile error！

https://github.com/dart-lang/sdk/wiki/Building
I followed the documentation exactly, but got an error.
Environment: win11+vs2022 Enterprise Edition
error:
J:\deskstop\flutter-engine\dart-sdk\sdk>.\tools\build.py --no-goma --mode debug --arch x64 create_sdk
ERROR at dynamically parsed input that //build/toolchain/win/BUILD.gn:247:24 loaded :4:3: Invalid token.
C:\Program Files/Microsoft Visual Studio/2022/Enterprise
^
I have no idea what this is.
See //build/toolchain/win/BUILD.gn:283:1: whence it was called.
win_toolchains(target_cpu) {
^---------------------------
See //BUILD.gn:11:1: which caused the file to be included.
group("default") {
^-----------------
Command failed: J:\deskstop\flutter-engine\dart-sdk\sdk\buildtools\gn.exe gen out\DebugX64 --ide=vs --args=target_os="win" host_cpu="x64" target_cpu="x64" dart_target_arch="x64" dart_use_compressed_pointers=false dart_use_crashpad=false dart_snapshot_kind="app-jit" dart_use_fallback_root_certificates=true bssl_use_clang_integrated_as=true dart_use_tcmalloc=false dart_use_mallinfo2=false is_debug=true is_release=false is_product=false dart_debug=true dart_runtime_mode="develop" exclude_kernel_service=false is_clang=true dart_vm_code_coverage=false is_asan=false is_lsan=false is_msan=false is_tsan=false is_ubsan=false is_qemu=false dart_platform_sdk=false use_goma=false goma_dir="None" verify_sdk_hash=true
buildtools/ninja/ninja -C out\DebugX64 create_sdk
ninja: error: loading 'build.ninja': 系统找不到指定的文件。
ninja: Entering directory `out\DebugX64'
BUILD FAILED
I have to complain that your build tools are so hard to use. When I compiled flutter, a third-party library reported an error. Simply compiling dart still reports an error, which is really unfriendly.

J:\deskstop\flutter-engine\dart-sdk\sdk>.\tools\build.py --no-goma --mode release --arch x64 create_sdk
Traceback (most recent call last):
File "J:/deskstop/flutter-engine/dart-sdk/sdk/build/toolchain/win/setup_toolchain.py", line 315, in
main()
File "J:/deskstop/flutter-engine/dart-sdk/sdk/build/toolchain/win/setup_toolchain.py", line 273, in main
env = _LoadToolchainEnv(cpu, toolchain_root, win_sdk_path, target_store)
File "J:/deskstop/flutter-engine/dart-sdk/sdk/build/toolchain/win/setup_toolchain.py", line 189, in _LoadToolchainEnv
return _ExtractImportantEnvironment(variables)
File "J:/deskstop/flutter-engine/dart-sdk/sdk/build/toolchain/win/setup_toolchain.py", line 67, in _ExtractImportantEnvironment
raise Exception(
Exception: Path "C:\Program Files (x86)\Windows Kits\10\include\10.0.20348.0\um" from environment variable "include" does not exist. Make sure the necessary SDK is installed.
ERROR at //build/toolchain/win/BUILD.gn:248:24: Script returned non-zero exit code.
win_toolchain_data = exec_script("setup_toolchain.py",
^----------
Current dir: J:/deskstop/flutter-engine/dart-sdk/sdk/out/ReleaseX64/
Command<EMAIL_ADDRESS>J:/deskstop/flutter-engine/dart-sdk/sdk/build/toolchain/win/setup_toolchain.py "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" "C:\Program Files (x86)\Windows Kits\10" "C:\WINDOWS\System32;C:\WINDOWS\SysWOW64;Arm64Unused" win x64 environment.x64
Returned 1.
See //build/toolchain/win/BUILD.gn:284:1: whence it was called.
win_toolchains(target_cpu) {
^---------------------------
See //BUILD.gn:11:1: which caused the file to be included.
group("default") {
^-----------------
Command failed: J:\deskstop\flutter-engine\dart-sdk\sdk\buildtools\gn.exe gen out\ReleaseX64 --ide=vs --args=target_os="win" host_cpu="x64" target_cpu="x64" dart_target_arch="x64" dart_use_compressed_pointers=false dart_use_crashpad=false dart_snapshot_kind="app-jit" dart_use_fallback_root_certificates=true bssl_use_clang_integrated_as=true dart_use_tcmalloc=false dart_use_mallinfo2=false is_debug=false is_release=true is_product=false dart_debug=false dart_runtime_mode="develop" exclude_kernel_service=false is_clang=true dart_vm_code_coverage=false is_asan=false is_lsan=false is_msan=false is_tsan=false is_ubsan=false is_qemu=false dart_platform_sdk=false use_goma=false goma_dir="None" verify_sdk_hash=true
buildtools/ninja/ninja -C out\ReleaseX64 create_sdk
ninja: error: loading 'build.ninja': 系统找不到指定的文件。
ninja: Entering directory `out\ReleaseX64'
BUILD FAILED
J:\deskstop\flutter-engine\dart-sdk\sdk>

It looks like the script build/vs_toolchain.py is not correctly finding your WIndows SDK and your MSVS installation.
The environment variables 'WINDOWSSDKDIR' and 'GYP_MSVS_OVERRIDE_PATH' can be used to specify the correct values of these.

It looks like the script build/vs_toolchain.py is not correctly finding your WIndows SDK and your MSVS installation. The environment variables 'WINDOWSSDKDIR' and 'GYP_MSVS_OVERRIDE_PATH' can be used to specify the correct values of these.

Thanks for the reply, I found that the windows sdk version 10.0.20348.0 must be installed before compiling. My computer contains other versions of sdk, but it cannot build normally. I hope that the build script can output more logs, which is convenient for users to troubleshoot problems, thank you!


Ignore Notes.txt in Helm charts

Describe the bug
Helm charts can hold Notes.txt in their templates subfolder. If present, this file will break Cyclops, and the module won't be deployed.
To Reproduce
Steps to reproduce the behavior:

Add Notes.txt in the templates subfolder of your Helm chart
Open Cyclops
Click on the Add New Module button and load your Helm chart
Try to deploy it and fail :/

This error message might be related to the issue:
error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go value of type map[string]interface {}
Expected behavior
We want Cyclops to ignore this file when deploying modules.

@KaradzaJuraj I would like to take this issue.

@Sheikh-Abubaker Great! Feel free to post updates and questions here

@KaradzaJuraj Please checkout #221

Your PR does not solve this issue; Petar explained more in the review.
I suggest you look into cyclops-ctrl/internal/template/helm.go. The issue is in the mapHelmChart function when it wants to map the "templates" section.
I believe the condition should be expanded with something like && parts[2] != "Notes.txt"

I believe the condition should be expanded with something like && parts[2] != "Notes.txt"

There was some misunderstanding I'll take a look again.

I suggest you look into cyclops-ctrl/internal/template/helm.go. The issue is in the mapHelmChart function when it wants to map the "templates" section.
I believe the condition should be expanded with something like && parts[2] != "Notes.txt"

@petar-cvit I modified the code with the above instructions from @KaradzaJuraj and then tried building it by referring to CONTRIBUTING.md but as I ran make start, It was then stuck at the same logs for a while then I had to Ctrl+C to exit.
Here are the logs from my machine:
$ make start
go run -tags musl ./cmd/main
2024-04-22T14:45:37+05:30       INFO    setup   starting handler
2024-04-22T14:45:37+05:30       INFO    setup   telemetry disabled

unable to connect to redis
error bootstrapping redis dial tcp <IP_ADDRESS>:6379: connect: connection refused
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] [WARNING] Running in "debug" mode.  We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
[GIN-debug] Environment variable PORT="8888"
[GIN-debug] Listening and serving HTTP on :8888
2024-04-22T14:45:37+05:30       INFO    controller-runtime.metrics      Metrics server is starting to listen    {"addr": ":8081"}
2024-04-22T14:45:37+05:30       INFO    setup   starting manager
2024-04-22T14:45:37+05:30       INFO    Starting server {"kind": "health probe", "addr": "[::]:8082"}
2024-04-22T14:45:37+05:30       INFO    starting server {"path": "/metrics", "kind": "metrics", "addr": "[::]:8081"}
2024-04-22T14:45:37+05:30       INFO    Starting EventSource    {"controller": "module", "controllerGroup": "cyclops-ui.com", "controllerKind": "Module", "source": "kind source: *v1alpha1.Module"}
2024-04-22T14:45:37+05:30       INFO    Starting Controller     {"controller": "module", "controllerGroup": "cyclops-ui.com", "controllerKind": "Module"}
2024-04-22T14:45:37+05:30       INFO    Starting workers        {"controller": "module", "controllerGroup": "cyclops-ui.com", "controllerKind": "Module", "worker count": 1}
^C2024-04-22T16:52:07+05:30     INFO    Stopping and waiting for non leader election runnables
2024-04-22T16:52:07+05:30       INFO    shutting down server    {"path": "/metrics", "kind": "metrics", "addr": "[::]:8081"}
2024-04-22T16:52:07+05:30       INFO    Stopping and waiting for leader election runnables
2024-04-22T16:52:07+05:30       INFO    Shutdown signal received, waiting for all workers to finish     {"controller": "module", "controllerGroup": "cyclops-ui.com", "controllerKind": "Module"}
2024-04-22T16:52:07+05:30       INFO    All workers finished    {"controller": "module", "controllerGroup": "cyclops-ui.com", "controllerKind": "Module"}
2024-04-22T16:52:07+05:30       INFO    Stopping and waiting for caches
2024-04-22T16:52:07+05:30       INFO    Stopping and waiting for webhooks
2024-04-22T16:52:07+05:30       INFO    Wait completed, proceeding to shutdown the manager
make: *** [Makefile:159: start] Error 1

Hey @Sheikh-Abubaker, what do you mean by getting stuck on the same logs? After you run make start, you should see logs:
.
.
.
2024-04-22T13:43:36+02:00	INFO	setup	starting manager
2024-04-22T13:43:36+02:00	INFO	starting server	{"path": "/metrics", "kind": "metrics", "addr": "[::]:8081"}
2024-04-22T13:43:36+02:00	INFO	Starting server	{"kind": "health probe", "addr": "[::]:8082"}
2024-04-22T13:43:36+02:00	INFO	Starting EventSource	{"controller": "module", "controllerGroup": "cyclops-ui.com", "controllerKind": "Module", "source": "kind source: *v1alpha1.Module"}
2024-04-22T13:43:36+02:00	INFO	Starting Controller	{"controller": "module", "controllerGroup": "cyclops-ui.com", "controllerKind": "Module"}
2024-04-22T13:43:36+02:00	INFO	Starting workers	{"controller": "module", "controllerGroup": "cyclops-ui.com", "controllerKind": "Module", "worker count": 1}

It will not log anything else until you start deploying new Modules. Have you tried starting the cyclops-ui and deploying a new module? You should then see a log that a new Module has been created. You can start the UI by following this section

@petar-cvit thanks for the explanation, the thing is I've contributed to observability projects like prometheus and grafana before and during building the code it behaves differently, I don't have much experience in contributing to projects like this one so I think I got confused.
There are some more things I need to clarify, since make start was executed successfully, the controller part is done right ? after starting the cyclops-ui do I also need to build the web part ?

@Sheikh-Abubaker, no worries. We are also working on our contributing docs, so feel free to ask/propose anything that might help you.
make start will start the backend part of Cyclops, which serves as a Kubernetes controller and a CRUD API. After that, you need to start the Cyclops frontend in the cyclops-ui, which connects to the mentioned backend.
That should be it. From here, you should be able to change the code and test it on your cluster.
Hope I helped. If you have any more questions, feel free to post them here.

make start will start the backend part of Cyclops, which serves as a Kubernetes controller and a CRUD API. After that, you need to start the Cyclops frontend in the cyclops-ui, which connects to the mentioned backend. That should be it. From here, you should be able to change the code and test it on your cluster. Hope I helped. If you have any more questions, feel free to post them here.

Thank you @petar-cvit as of now I am stuck with the UI part, I ran yarn install inside cyclops-ui following yarn start but it throws this error due to which I'm having a hard time moving forward, I've been trying to fix it all day:
Failed to compile.

Module not found: Error: Can't resolve '/mnt/g/OpenSource/cyclops/Issue#203-Ignore-Notes-txt/cyclops/cyclops-ui/node_modules/webpack-dev-server/client/index.js?protocol=ws%3A&hostname=<IP_ADDRESS>&port=3000&pathname=%2Fws&logging=none&overlay=%7B%22errors%22%3Atrue%2C%22warnings%22%3Afalse%7D&reconnect=10&hot=true&live-reload=true' in '/mnt/g/OpenSource/cyclops/Issue#203-Ignore-Notes-txt/cyclops/cyclops-ui'
ERROR in Module not found: Error: Can't resolve '/mnt/g/OpenSource/cyclops/Issue#203-Ignore-Notes-txt/cyclops/cyclops-ui/node_modules/webpack-dev-server/client/index.js?protocol=ws%3A&hostname=<IP_ADDRESS>&port=3000&pathname=%2Fws&logging=none&overlay=%7B%22errors%22%3Atrue%2C%22warnings%22%3Afalse%7D&reconnect=10&hot=true&live-reload=true' in '/mnt/g/OpenSource/cyclops/Issue#203-Ignore-Notes-txt/cyclops/cyclops-ui'

webpack compiled with 1 error
Files successfully emitted, waiting for typecheck results...
Issues checking in progress...
No issues found.

did you pull the latest main? I see that the sidebar menu is blue which we changed recently

did you pull the latest main?

Yes I did

This is really weird. I tried cloning your fork and ran yarn install and yarn start in the cyclops-ui repo and it worked (image below)

Can you try cloning again, I'm out of ideas

This is really weird. I tried cloning your fork and ran yarn install and yarn start in the cyclops-ui repo and it worked (image below)

Can you try cloning again, I'm out of ideas

Yep that is weird, no worries let me clone it and try again.

Tried cloning again this time and testing it the original code from main not the modified code that I wanted to test, though the compile was successful:
Compiled successfully!

You can now view cyclops-ui in the browser.

  Local:            http://localhost:3000
  On Your Network:  http://<IP_ADDRESS>:3000

Note that the development build is not optimized.
To create a production build, use yarn build.

webpack compiled successfully
Files successfully emitted, waiting for typecheck results...
Issues checking in progress...

But it throws the same error in the UI:

We added another CRD but forgot to update CONTRIBUTING.md. Can you try running this command:
kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/main/install/chart/crds/cyclops-module.yaml \
  -f https://raw.githubusercontent.com/cyclops-ui/cyclops/main/install/chart/crds/template-auth-rule.yaml \
  -f https://raw.githubusercontent.com/cyclops-ui/cyclops/main/install/chart/crds/template-store.yaml

I updated the docs now. Thanks for noticing this

@petar-cvit thanks for adding another CRD, it worked fine this time:

But when I proceeded with adding a new template it throws this error:
Error creating module
namespaces "cyclops" not found

You can solve that with:
kubectl create namespace cyclops

Sorry for the inconvenience, will fix it in the CONTRIBUTING.md

@petar-cvit please checkout #225 and let me know if it is up to mark


How to pass variable to relation in yii2

I want to pass to_date to relation so i can get the values on to_Date condition. can anyone know how we pass the "$to_date" to relational function.
This is my code that currently producing error due to second variable.
$history = Advance::find()
->with(['advanceHistory' => function  ($query, $to_date) {
$query->where(['<=', 'date', $to_date]);
}
])
->where(['status' => Advance::APPROVED, 'user_id' => $user_id])
->all();

https://php.net/manual/en/functions.anonymous.php
You should read the docs instead ask the question. This is a issue tracker.


Input: Fix unlock mouse warp

Unconstraining a locked mouse would result in the mouse warping to (0, 0), since wlroots give us these as the current mouse position. This PR adds a rather hacky fix for this by manually storing the last mouse position and warp the cursor upon unlocking
Tested with GLFW and glfwSetInputMode() (For reference, GLFW uses zwp_relative_pointer and zwp_locked_pointer)
Current behavior

Lock cursor at (x,y) with glfwSetInputMode(GLFW_CURSOR_DISABLED)
Move mouse
Unlock mouse with glfwSetInputMode(GLFW_CURSOR_NORMAL)
Cursor is warped to the topleft of the window (0,0)

Behavior with this PR

Lock cursor at (x,y) with glfwSetInputMode(GLFW_CURSOR_DISABLED)
Move mouse
Unlock mouse with glfwSetInputMode(GLFW_CURSOR_NORMAL)
Cursor is warped back to (x,y)

Unfortunately I'm not that familiar of wlroots so I don't know if (un)constraining a mouse is the only time newConstraint/destroyConstraint is called.
This PR is ready for merging, though I'm open for suggestions/improvements

Not how the protocol works.
If you lock the cursor you should also send a cursor_hint if you want the cursor to reappear at a specific location.

Thanks for the correction on the protocol.
The protocol suggests however that a "compositor may use this information to warp the pointer upon unlock in order to avoid pointer jumps", meaning that a compositor is allowed to ignore it.
I understand that it is probably best to honor the cursor hint, but warping the cursor to (0,0) if it isn't set doesn't seem right to me. Sway for example does the same thing as (wrongly) implemented in this PR(meaning not warping to (0,0)).
Should I open an Issue instead, or is the warping to (0,0) 100% as intended?

it is as intended. wlroots does not offer a signal for setting the hint. Maybe I should make a PR to wlroots to expose this signal so that we can track whether the surface has actually provided a hint or not.

actually, nvm. There already is a way to get that information
https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/types/wlr_pointer_constraints_v1.c#L103
I'll sort it out tomorrow if I don't forget.

Thanks!

fyi 62f4503f07066762af9546bb4a2acdd58b72d4bf


fatal: [localhost]: FAILED! => {"changed": false, "command": "/usr/local/bin/terraform apply

Caught one more.
TASK [terraform] *******************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "command": "/usr/local/bin/terraform apply -no-color -input=false -auto-approve=true -lock=true /tmp/tmpekvbdoti.tfplan", "msg": "Failure when executing Terraform command. Exited 1.\nstdout: libvirt_domain.k8s-master[1]: Creating...\nlibvirt_domain.k8s-master[0]: Creating...\nlibvirt_domain.k8s-master[2]: Creating...\n\nstderr: \nError: Error defining libvirt domain: virError(Code=9, Domain=20, Message='operation failed: domain 'k8s-test-master-1' already exists with uuid d4a59107-7719-4beb-84ef-349ff7fabf47')\n\n  on k8s-master.tf line 68, in resource \"libvirt_domain\" \"k8s-master\":\n  68: resource \"libvirt_domain\" \"k8s-master\" {\n\n\n\nError: Error defining libvirt domain: virError(Code=9, Domain=20, Message='operation failed: domain 'k8s-test-master-0' already exists with uuid 70a8ecb8-5c0a-4ea0-b151-63e650054a7a')\n\n  on k8s-master.tf line 68, in resource \"libvirt_domain\" \"k8s-master\":\n  68: resource \"libvirt_domain\" \"k8s-master\" {\n\n\n\nError: Error defining libvirt domain: virError(Code=9, Domain=20, Message='operation failed: domain 'k8s-test-master-2' already exists with uuid fcbcf5dc-dc02-4714-aed1-e9b796a7c538')\n\n  on k8s-master.tf line 68, in resource \"libvirt_domain\" \"k8s-master\":\n  68: resource \"libvirt_domain\" \"k8s-master\" {\n\n\n"}

could you please run:
ansible-playbook 99_cleanup.yml -v
And try again launching the main playbook?

could you please run:
ansible-playbook 99_cleanup.yml -v
And try again launching the main playbook?

ansible-playbook 99_cleanup.yml -v

Using /home/organic/dev/libvirt-k8s-provisioner/ansible.cfg as config file

PLAY [Cleanup playbook] ************************************************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************************************************
ok: [localhost]

TASK [Destroy cluster VM] **********************************************************************************************************************************************************************************
failed: [localhost] (item=workers) => {"ansible_loop_var": "item", "changed": false, "item": "workers", "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: provider registry registry.terraform.io does not have a\nprovider named registry.terraform.io/dmacvicar/libvirt\n\nIf you have just upgraded directly from Terraform v0.12 to Terraform v0.14\nthen please upgrade to Terraform v0.13 first and follow the upgrade guide for\nthat release, which might help you address this problem.\n\u001b[0m\u001b[0m\n"}
failed: [localhost] (item=workers-rook) => {"ansible_loop_var": "item", "changed": false, "item": "workers-rook", "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: provider registry registry.terraform.io does not have a\nprovider named registry.terraform.io/dmacvicar/libvirt\n\nIf you have just upgraded directly from Terraform v0.12 to Terraform v0.14\nthen please upgrade to Terraform v0.13 first and follow the upgrade guide for\nthat release, which might help you address this problem.\n\u001b[0m\u001b[0m\n"}
failed: [localhost] (item=masters) => {"ansible_loop_var": "item", "changed": false, "item": "masters", "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: provider registry registry.terraform.io does not have a\nprovider named registry.terraform.io/dmacvicar/libvirt\n\nIf you have just upgraded directly from Terraform v0.12 to Terraform v0.14\nthen please upgrade to Terraform v0.13 first and follow the upgrade guide for\nthat release, which might help you address this problem.\n\u001b[0m\u001b[0m\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to install provider\u001b[0m\n\n\u001b[0mError while installing hashicorp/template v2.2.0: open\n.terraform/providers/registry.terraform.io/hashicorp/template/2.2.0/linux_amd64/terraform-provider-template_v2.2.0_x4:\npermission denied\n\u001b[0m\u001b[0m\n"}
failed: [localhost] (item=loadbalancer) => {"ansible_loop_var": "item", "changed": false, "item": "loadbalancer", "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: provider registry registry.terraform.io does not have a\nprovider named registry.terraform.io/dmacvicar/libvirt\n\nIf you have just upgraded directly from Terraform v0.12 to Terraform v0.14\nthen please upgrade to Terraform v0.13 first and follow the upgrade guide for\nthat release, which might help you address this problem.\n\u001b[0m\u001b[0m\n"}

PLAY RECAP *************************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

ansible-playbook 99_cleanup.yml -v

Using /home/organic/dev/libvirt-k8s-provisioner/ansible.cfg as config file

PLAY [Cleanup playbook] ************************************************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************************************************
ok: [localhost]

TASK [Destroy cluster VM] **********************************************************************************************************************************************************************************
failed: [localhost] (item=workers) => {"ansible_loop_var": "item", "changed": false, "item": "workers", "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: provider registry registry.terraform.io does not have a\nprovider named registry.terraform.io/dmacvicar/libvirt\n\nIf you have just upgraded directly from Terraform v0.12 to Terraform v0.14\nthen please upgrade to Terraform v0.13 first and follow the upgrade guide for\nthat release, which might help you address this problem.\n\u001b[0m\u001b[0m\n"}
failed: [localhost] (item=workers-rook) => {"ansible_loop_var": "item", "changed": false, "item": "workers-rook", "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: provider registry registry.terraform.io does not have a\nprovider named registry.terraform.io/dmacvicar/libvirt\n\nIf you have just upgraded directly from Terraform v0.12 to Terraform v0.14\nthen please upgrade to Terraform v0.13 first and follow the upgrade guide for\nthat release, which might help you address this problem.\n\u001b[0m\u001b[0m\n"}
failed: [localhost] (item=masters) => {"ansible_loop_var": "item", "changed": false, "item": "masters", "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: provider registry registry.terraform.io does not have a\nprovider named registry.terraform.io/dmacvicar/libvirt\n\nIf you have just upgraded directly from Terraform v0.12 to Terraform v0.14\nthen please upgrade to Terraform v0.13 first and follow the upgrade guide for\nthat release, which might help you address this problem.\n\u001b[0m\u001b[0m\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to install provider\u001b[0m\n\n\u001b[0mError while installing hashicorp/template v2.2.0: open\n.terraform/providers/registry.terraform.io/hashicorp/template/2.2.0/linux_amd64/terraform-provider-template_v2.2.0_x4:\npermission denied\n\u001b[0m\u001b[0m\n"}
failed: [localhost] (item=loadbalancer) => {"ansible_loop_var": "item", "changed": false, "item": "loadbalancer", "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: provider registry registry.terraform.io does not have a\nprovider named registry.terraform.io/dmacvicar/libvirt\n\nIf you have just upgraded directly from Terraform v0.12 to Terraform v0.14\nthen please upgrade to Terraform v0.13 first and follow the upgrade guide for\nthat release, which might help you address this problem.\n\u001b[0m\u001b[0m\n"}

PLAY RECAP *************************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

Supported terraform version at the moment is the one bundled with the playbooks. 0.13.x.

Supported terraform version at the moment is the one bundled with the playbooks. 0.13.x.

Should the Terraform version be even lower?
terraform --version
Terraform v0.13.5

Your version of Terraform is out of date! The latest version
is 0.14.3. You can update by downloading from https://www.terraform.io/downloads.html

Should the Terraform version be even lower?
terraform --version
Terraform v0.13.5

Your version of Terraform is out of date! The latest version
is 0.14.3. You can update by downloading from https://www.terraform.io/downloads.html

Bumped version to 0.14.3 on all branches.
BTW didn't you try to apply the plan without running the playbook? I just ran and destroyed 3 clean installations and didn't get the error

Bumped version to 0.14.3 on all branches.
BTW didn't you try to apply the plan without running the playbook? I just ran and destroyed 3 clean installations and didn't get the error

Updated to 0.14.3 and it doesn't help :(
Nope, I ran straightforward ansible-playbook main.yml from quickstart.

Updated to 0.14.3 and it doesn't help :(
Nope, I ran straightforward ansible-playbook main.yml from quickstart.

Pulled changes, updated to 0.14.3, but it doesn't help :(
Nope, I ran straightforward ansible-playbook main.yml from quickstart.
UPD: trying to delete VMs manually.

Yep, let me know if it works!

Pulled changes, updated to 0.14.3, but it doesn't help :(
Nope, I ran straightforward ansible-playbook main.yml from quickstart.
UPD: trying to delete VMs manually.

Yep, let me know if it works!

Underlining of shut off VMs doesn't solve it as well.

I can reinstall Ubuntu 20.04 and try it on a fresh one.
virsh net-list --all
 Name                    State      Autostart   Persistent
------------------------------------------------------------
 default                 active     yes         yes
 k8s-test                active     yes         yes
 Ubuntu0                 inactive   no          yes
 vagrant-libvirt         inactive   no          yes
 vagrant-provisioning0   inactive   no          yes

sudo virsh list --all
 Id   Name                State
------------------------------------
 -    k8s-test-master-0   shut off
 -    k8s-test-master-1   shut off
 -    k8s-test-master-2   shut off

Failed on another SSD with Ubuntu 20.04.
organic@kmaster:~/Dev/libvirt-k8s-provisioner$ terraform -v
Terraform v0.14.3

TASK [terraform] *******************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: no available releases match the given constraints 0.6.2\n\u001b[0m\u001b[0m\n"}

PLAY RECAP *************************************************************************************************************************************************************************************************
localhost                  : ok=28   changed=22   unreachable=0    failed=1    skipped=13   rescued=0    ignored=0

Failed on another SSD with Ubuntu 20.04.
organic@kmaster:~/Dev/libvirt-k8s-provisioner$ terraform -v
Terraform v0.14.3

TASK [terraform] *******************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: no available releases match the given constraints 0.6.2\n\u001b[0m\u001b[0m\n"}

PLAY RECAP *************************************************************************************************************************************************************************************************
localhost                  : ok=28   changed=22   unreachable=0    failed=1    skipped=13   rescued=0    ignored=0

No I tested both Ubuntu and centos actually.. would you mind pulling again the master branch?

No I tested both Ubuntu and centos actually.. would you mind pulling again the master branch?

But it's Already up to date. mate :)
Do you mean to delete it and git clone the repo again?

But it's Already up to date. mate :)
Do you mean to delete it and git clone the repo again?

But it's Already up to date. mate :)
Do you mean to delete it and git clone the repo again?
UPD: swapped back to my previous SSD.

Thank you for pointing that out, I forgot to push and merge the branch with the fix to the version, I was sure I did 🗡

But it's Already up to date. mate :)
Do you mean to delete it and git clone the repo again?
UPD: swapped back to my previous SSD.

Thank you for pointing that out, I forgot to push and merge the branch with the fix to the version, I was sure I did 🗡

On Stackoverflow someone pointing that it can be related with parsing/passing of an Ansible string list itself. That's Terrable :)
Now with sudo it cleanup passes though almost successfully except item=masters
What's your tested Ubuntu version, maybe I can avoid this error on another version like 18.04?
sudo ansible-playbook 99_cleanup.yml -v

Using /home/organic/dev/libvirt-k8s-provisioner/ansible.cfg as config file

PLAY [Cleanup playbook] ************************************************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************************************************
ok: [localhost]

TASK [Destroy cluster VM] **********************************************************************************************************************************************************************************
ok: [localhost] => (item=workers) => {"ansible_loop_var": "item", "changed": false, "command": "/usr/local/bin/terraform destroy -no-color -force -lock=true", "item": "workers", "outputs": {}, "state": "absent", "stderr": "", "stderr_lines": [], "stdout": "\nDestroy complete! Resources: 0 destroyed.\n", "stdout_lines": ["", "Destroy complete! Resources: 0 destroyed."], "workspace": "default"}
ok: [localhost] => (item=workers-rook) => {"ansible_loop_var": "item", "changed": false, "command": "/usr/local/bin/terraform destroy -no-color -force -lock=true", "item": "workers-rook", "outputs": {}, "state": "absent", "stderr": "", "stderr_lines": [], "stdout": "\nDestroy complete! Resources: 0 destroyed.\n", "stdout_lines": ["", "Destroy complete! Resources: 0 destroyed."], "workspace": "default"}
failed: [localhost] (item=masters) => {"ansible_loop_var": "item", "changed": false, "item": "masters", "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: locked provider registry.terraform.io/dmacvicar/libvirt\n0.6.2 does not match configured version constraint 0.6.3; must use terraform\ninit -upgrade to allow selection of new versions\n\u001b[0m\u001b[0m\n"}
ok: [localhost] => (item=loadbalancer) => {"ansible_loop_var": "item", "changed": false, "command": "/usr/local/bin/terraform destroy -no-color -force -lock=true", "item": "loadbalancer", "outputs": {}, "state": "absent", "stderr": "", "stderr_lines": [], "stdout": "\nDestroy complete! Resources: 0 destroyed.\n", "stdout_lines": ["", "Destroy complete! Resources: 0 destroyed."], "workspace": "default"}

PLAY RECAP *************************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

sudo virsh list --all
 Id   Name   State
--------------------
sudo  ansible-playbook main.yml

TASK [terraform] *******************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: locked provider registry.terraform.io/dmacvicar/libvirt\n0.6.2 does not match configured version constraint 0.6.3; must use terraform\ninit -upgrade to allow selection of new versions\n\u001b[0m\u001b[0m\n"}

PLAY RECAP *************************************************************************************************************************************************************************************************
localhost                  : ok=28   changed=6    unreachable=0    failed=1    skipped=13   rescued=0    ignored=0

On Stackoverflow someone pointing that it can be related with parsing/passing of an Ansible string list itself. That's Terrable :)
Now with sudo it cleanup passes though almost successfully except item=masters
What's your tested Ubuntu version, maybe I can avoid this error on another version like 18.04?
sudo ansible-playbook 99_cleanup.yml -v

Using /home/organic/dev/libvirt-k8s-provisioner/ansible.cfg as config file

PLAY [Cleanup playbook] ************************************************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************************************************
ok: [localhost]

TASK [Destroy cluster VM] **********************************************************************************************************************************************************************************
ok: [localhost] => (item=workers) => {"ansible_loop_var": "item", "changed": false, "command": "/usr/local/bin/terraform destroy -no-color -force -lock=true", "item": "workers", "outputs": {}, "state": "absent", "stderr": "", "stderr_lines": [], "stdout": "\nDestroy complete! Resources: 0 destroyed.\n", "stdout_lines": ["", "Destroy complete! Resources: 0 destroyed."], "workspace": "default"}
ok: [localhost] => (item=workers-rook) => {"ansible_loop_var": "item", "changed": false, "command": "/usr/local/bin/terraform destroy -no-color -force -lock=true", "item": "workers-rook", "outputs": {}, "state": "absent", "stderr": "", "stderr_lines": [], "stdout": "\nDestroy complete! Resources: 0 destroyed.\n", "stdout_lines": ["", "Destroy complete! Resources: 0 destroyed."], "workspace": "default"}
failed: [localhost] (item=masters) => {"ansible_loop_var": "item", "changed": false, "item": "masters", "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: locked provider registry.terraform.io/dmacvicar/libvirt\n0.6.2 does not match configured version constraint 0.6.3; must use terraform\ninit -upgrade to allow selection of new versions\n\u001b[0m\u001b[0m\n"}
ok: [localhost] => (item=loadbalancer) => {"ansible_loop_var": "item", "changed": false, "command": "/usr/local/bin/terraform destroy -no-color -force -lock=true", "item": "loadbalancer", "outputs": {}, "state": "absent", "stderr": "", "stderr_lines": [], "stdout": "\nDestroy complete! Resources: 0 destroyed.\n", "stdout_lines": ["", "Destroy complete! Resources: 0 destroyed."], "workspace": "default"}

PLAY RECAP *************************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

sudo virsh list --all
 Id   Name   State
--------------------
sudo  ansible-playbook main.yml

TASK [terraform] *******************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Failed to initialize Terraform modules:\r\n\u001b[31m\n\u001b[1m\u001b[31mError: \u001b[0m\u001b[0m\u001b[1mFailed to query available provider packages\u001b[0m\n\n\u001b[0mCould not retrieve the list of available versions for provider\ndmacvicar/libvirt: locked provider registry.terraform.io/dmacvicar/libvirt\n0.6.2 does not match configured version constraint 0.6.3; must use terraform\ninit -upgrade to allow selection of new versions\n\u001b[0m\u001b[0m\n"}

PLAY RECAP *************************************************************************************************************************************************************************************************
localhost                  : ok=28   changed=6    unreachable=0    failed=1    skipped=13   rescued=0    ignored=0

If you created the machines before my push, you should try deleting it manually. I tested it with Ubuntu 20.04 and 20.10

If you created the machines before my push, you should try deleting it manually. I tested it with Ubuntu 20.04 and 20.10

Freshly installed Ubuntu 20.04 - same error :)
Anyway, the bug was already fixed and tested hence I'm doing something wrong. Thanks for your massive help, Alex :)

Freshly installed Ubuntu 20.04 - same error :)
Anyway, the bug was already fixed and tested hence I'm doing something wrong. Thanks for your massive help, Alex :)


Enable arming alarm when some sensors (doors, windows) are open

From https://github.com/guerrerotook/securitas-direct-new-api/issues/202
@hajar97 wrote:
When I tried to connect alarm using the My Securitas app it would give me a warning that one of the windows was opened. I would then say to ignore all warnings and setup full alarm and it would work fine. Then trying to do full alarm via HA would always fail as I was describing before. Then I closed the window and tried to do full alarm via the My Securitas app and it would set alarm without any warnings. This is when trying to enable full alarm in HA started to work. So it seems your integration works in full alarm (Away Alarm) only when there are no warnings. There is no way to ignore those warnings in HA. Question: can you check integration APIs to see if it would be possible to make setting alarm work also when there are warnings such as as an opened window?

Thank you, Erick. Since ignoring the warnings to proceed with full alarm is possible via the webpage I'd image that Securitas APIs support it. So it is a matter of adding support for this.
It would be really useful to have it, since only then I can reliably automate locking up the house when I leave. If I do it now, half the time it would not set full arm because some window was open.

Same here, my issue continues and was never resolved. On 10 Jun 2024, at 23:23, elsegura @.***> wrote:
Same behavior as @hajar97 and when I try to connect the alarm with some windows sensors open, the HA integration breaks. Then i need to wait a few minutes to reload and it works again.
I see this log in the report file, when i reolading HA integration:
image.png (view on web)
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Add BORG Eisenerz

High school in Eisenerz, Austria

@MaxiHuHe04 First stage of verification passed, official domain is borg-eisenerz.at as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@MaxiHuHe04 Please provide us with an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course. The school seems to be a sport school, not an IT college.

Oh, I'm sorry. I did this for my sister and thought the IT course would be longer, but apparently it is just for one year.

@MaxiHuHe04 Yes, one year course is also fine. What is the URL of the course page?

It's right that it is not the main focus of the school. That's why it is not advertised much and you can only find it on this table which shows the lessons per week: https://borg-eisenerz.at/index.php/bildungsangebot/kreativzweig/stundentafel. Informatik is IT.

@MaxiHuHe04 Thank you for your patience while waiting for a review and processing your request. Pull request merged.


vscode terminal isn't working

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: version 1.78
OS Version: Windows 11

Last week I faced an issue with VScode. The window wasn't responding. I was able to fix that issue later by your suggestions. But before fixing it, I tried to fix it by deleting all vscode files and extensions and removing its path. And then I reinstalled it hoping it would work fine.
The editor is working perfectly but the terminal isn't working at all.
I tried to fix it through the settings but nothing works
This is deprecated, the new recommended way to configure your default shell is by creating a terminal profile in `#terminal.integrated.profiles.windows#` and setting its profile name as the default in `#terminal.integrated.defaultProfile.windows#`. This will currently take priority over the new profiles settings but that will change in the future.

"terminal.integrated.defaultProfile.windows": "Command Prompt"  ,

It is showing me a warning for the following 2 lines of code:
"C_Cpp.updateChannel": "Insiders",
"terminal.integrated.shell.windows": "C:\\windows\\System32\\cmd.exe",

What changes do I need to make in order to fix this.

by not working at all, what do you mean?
is a terminal opening? if so, what kind?

by not working I mean it opens up completely blank. Doesn't allow me to type anything

It did occur to me that it might have something to do with the path. But that's not the case. Was I supposed to update the settings.json file after the recent version update? because the error says that this way is "deprecated".

Can you share your settings.json file and also do a trace log while creating a terminal? https://github.com/microsoft/vscode/wiki/Terminal-Issues#enabling-trace-logging

also, if you go to Help -> Toggle Developer tools what happens?

settings.json
{
    "python.pythonPath": "C:\\Users\\HETARTH RAVAL\\AppData\\Local\\Programs\\Python\\Python39\\python.exe",
    "C_Cpp.updateChannel": "Insiders",
    "terminal.integrated.shell.windows": "C:\\windows\\System32\\cmd.exe",
    "code-runner.runInTerminal": true,
    "python.defaultInterpreterPath": "C:\\Users\\HETARTH RAVAL\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
    "[html]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "workbench.iconTheme": "eq-material-theme-icons-palenight",
    "vsicons.dontShowNewVersionMessage": true,
    "workbench.editorAssociations": {
        "*.html": "default"
    },
    "[css]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "javascript.updateImportsOnFileMove.enabled": "always",
    "workbench.colorTheme": "Material Theme Darker High Contrast",
    "files.exclude": {
        "**/node_modules": true
    },
    "[typescriptreact]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[json]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "editor.accessibilitySupport": "off",
    "terminal.integrated.fontFamily": "Consolas",
    "editor.fontFamily": "Consolas, 'Courier New',monospace",
    "git.openRepositoryInParentFolders": "never",
    "[python]": {
        "editor.formatOnType": true
    },
    "dotnetAcquisitionExtension.existingDotnetPath": [],
    "terminal.integrated.defaultProfile.windows": "Command Prompt"  ,
    "terminal.integrated.profiles.windows": {
        "PowerShell": {
            "source": "PowerShell",
            "icon": "terminal-powershell"
        },
        "Command Prompt": {
            "path": [
                "${env:windir}\\Sysnative\\cmd.exe",
                "${env:windir}\\System32\\cmd.exe"
            ],
            "args": [],
            "icon": "terminal-cmd"
        },
        "Git Bash": {
            "source": "Git Bash"
        }
    },
    "terminal.integrated.defaultProfile.linux": ""
}

also, if you go to Help -> Toggle Developer tools what happens?

I'm not too sure about it, but I think the trace gets logged in the console.

what happens if you change the path to "C:\\windows\\System32\\cmd.exe" within the Command Prompt profile?

Nothing happens. Still doesn't work. In fact none of the profiles are working. That includes Git Bash, Javascript debug terminal, and Powershell in vs code.
Also under Terminal->PROBLEMS, I noticed there are two warnings:
1-This setting is deprecated. Pre-release extensions are now available via the Marketplace.
2-This is deprecated, the new recommended way to configure your default shell is by creating a terminal profile in `#terminal.integrated.profiles.windows#` and setting its profile name as the default in `#terminal.integrated.defaultProfile.windows#`. This will currently take priority over the new profiles settings but that will change in the future.

Do you have anti-virus software that could be blocking the terminal? If so try following the instructions in https://code.visualstudio.com/docs/supporting/troubleshoot-terminal-launch

still nothing

what happens if you comment out your settings.json file and disable all installed extensions via the command disable all installed extensions?

the editor background and text customizations get changed to default but still nothing in the terminal

I did it.
Here it is
2023-06-13 10:52:10.916 [warning] [twxs.cmake]: Cannot register 'cmake.cmakePath'. This property is already registered.
2023-06-13 10:52:11.337 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-py
2023-06-13 10:52:11.337 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-css
2023-06-13 10:52:11.338 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-sql
2023-06-13 10:52:11.338 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-html
2023-06-13 10:52:11.339 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-json
2023-06-13 10:52:11.341 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-rb
2023-06-13 10:52:11.341 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-toml
2023-06-13 10:52:11.341 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-yaml
2023-06-13 10:52:11.341 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-latex
2023-06-13 10:52:11.342 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-groovy
2023-06-13 10:52:11.343 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-md
2023-06-13 10:52:11.343 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-terraform
2023-06-13 10:52:11.343 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-dockerfile
2023-06-13 10:52:11.343 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-js
2023-06-13 10:52:11.344 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-shell
2023-06-13 10:52:11.344 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-systemd
2023-06-13 10:52:11.346 [error] [WyattFerguson.jinja2-snippet-kit]: Unknown language in `contributes.jinja2-snippet-kit.language`. Provided value: jinja-properties
2023-06-13 10:52:13.435 [info] [perf] Render performance baseline is 53ms

ptyhost.log
2023-06-14 13:11:13.786 [trace] IPty#resize 165 15
2023-06-14 13:11:14.284 [trace] ptyService#setLayoutInfo [{"isActive":true,"activePersistentProcessId":1,"terminals":[{"relativeSize":1,"terminal":1}]}]
2023-06-14 13:14:32.485 [trace] ptyService#setLayoutInfo [{"isActive":true,"activePersistentProcessId":1,"terminals":[{"relativeSize":1,"terminal":1}]}]
2023-06-14 13:14:33.448 [trace] ptyService#shutDown 1 false
2023-06-14 13:14:33.700 [trace] IPty#kill
2023-06-14 13:14:33.969 [trace] ptyService#setLayoutInfo []
2023-06-14 13:14:37.225 [trace] persistentTerminalProcess#ctor 2 [object Arguments]
2023-06-14 13:14:37.233 [debug] MutationLogger "Persistent process "2" interaction state" set to "None", reason: initialized
2023-06-14 13:14:37.309 [trace] ptyService#start 2
2023-06-14 13:14:37.310 [trace] persistentTerminalProcess#start 2 false
2023-06-14 13:14:37.312 [trace] IPty#spawn C:\WINDOWS\System32\cmd.exe [] {"name":"cmd.exe","cwd":"C:\\Users\\HETARTH RAVAL","env":{"ALLUSERSPROFILE":"C:\\ProgramData","APPDATA":"C:\\Users\\HETARTH RAVAL\\AppData\\Roaming","CHROME_CRASHPAD_PIPE_NAME":"\\\\.\\pipe\\LOCAL\\crashpad_2872_WQCXCECORJVXYCFR","classpath":"C:\\mysql-connector-j-8.0.32.jar;.;","CommonProgramFiles":"C:\\Program Files\\Common Files","CommonProgramFiles(x86)":"C:\\Program Files (x86)\\Common Files","CommonProgramW6432":"C:\\Program Files\\Common Files","COMPUTERNAME":"LAPTOP-9LQD08CU","ComSpec":"C:\\WINDOWS\\system32\\cmd.exe","DriverData":"C:\\Windows\\System32\\Drivers\\DriverData","EFC_11040":"1","HOME":"C:\\Users\\HETARTH RAVAL\\AppData\\Roaming\\SPB_Data","HOMEDRIVE":"C:","HOMEPATH":"\\Users\\HETARTH RAVAL","JAVA_HOME":"C:\\Users\\HETARTH RAVAL\\AppData\\Local\\Programs\\Eclipse Adoptium\\jdk-<IP_ADDRESS>-hotspot\\","LOCALAPPDATA":"C:\\Users\\HETARTH RAVAL\\AppData\\Local","LOGONSERVER":"\\\\LAPTOP-9LQD08CU","MSMPI_BENCHMARKS":"C:\\Program Files\\Microsoft MPI\\Benchmarks\\","MSMPI_BIN":"C:\\Program Files\\Microsoft MPI\\Bin\\","NUMBER_OF_PROCESSORS":"8","NVM_HOME":"C:\\Users\\HETARTH RAVAL\\AppData\\Roaming\\nvm","NVM_SYMLINK":"C:\\Program Files\\nodejs","OneDrive":"C:\\Users\\HETARTH RAVAL\\OneDrive","OneDriveConsumer":"C:\\Users\\HETARTH RAVAL\\OneDrive","OnlineServices":"Online Services","OPENSSL_ia32cap":"~0x200000200000000","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","OS":"Windows_NT","Path":"C:\\Program Files\\Microsoft MPI\\Bin\\;C:\\Program Files\\Common Files\\Oracle\\Java\\javapath;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\windows\\System32\\OpenSSH\\;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files\\Git\\cmd;C:\\Users\\HETARTH RAVAL\\Downloads\\mongosh-1.5.0-win32-x64\\mongosh-1.5.0-win32-x64\\bin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Users\\HETARTH RAVAL\\AppData\\Roaming\\nvm;C:\\Program Files\\nodejs;C:\\Program Files\\Java\\jdk-20\\bin;C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin;C:\\Users\\HETARTH RAVAL\\AppData\\Local\\atom\\app-1.60.0\\resources\\cli;C:\\Program Files\\MySQL\\MySQL Shell 8.0\\bin\\;C:\\Users\\HETARTH RAVAL\\AppData\\Local\\.meteor/;C:\\Users\\HETARTH RAVAL\\AppData\\Roaming\\nvm\\v14.21.3\\node_modules\\npm\\node_modules\\npm-lifecycle\\node-gyp-bin;C:\\Program Files\\nodejs\\node_modules\\meteor\\node_modules\\.bin;C:\\Program Files\\nodejs\\node_modules\\.bin;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\windows\\System32\\OpenSSH\\;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files\\Git\\cmd;C:\\Users\\HETARTH RAVAL\\Downloads\\mongosh-1.5.0-win32-x64\\mongosh-1.5.0-win32-x64\\bin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Users\\HETARTH RAVAL\\AppData\\Roaming\\nvm;C:\\Program Files\\nodejs;C:\\Users\\HETARTH RAVAL\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\;C:\\Users\\HETARTH RAVAL\\AppDat;;C:\\Users\\HETARTH RAVAL\\Hyper\\resources\\bin;C:\\Users\\HETARTH RAVAL\\AppData\\Local\\Programs\\Microsoft VS Code\\bin","PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL","platformcode":"KV","PROCESSOR_ARCHITECTURE":"AMD64","PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 158 Stepping 10, GenuineIntel","PROCESSOR_LEVEL":"6","PROCESSOR_REVISION":"9e0a","ProgramData":"C:\\ProgramData","ProgramFiles":"C:\\Program Files","ProgramFiles(x86)":"C:\\Program Files (x86)","ProgramW6432":"C:\\Program Files","PROMPT":"$P$G","PSModulePath":"C:\\Users\\HETARTH RAVAL\\Documents\\WindowsPowerShell\\Modules;C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules","PT8HOME":"D:\\Cisco Packet Tracer 8.2.0","PUBLIC":"C:\\Users\\Public","RegionCode":"APJ","SESSIONNAME":"Console","SystemDrive":"C:","SystemRoot":"C:\\WINDOWS","TEMP":"C:\\Users\\HETART~1\\AppData\\Local\\Temp","TMP":"C:\\Users\\HETART~1\\AppData\\Local\\Temp","USERDOMAIN":"LAPTOP-9LQD08CU","USERDOMAIN_ROAMINGPROFILE":"LAPTOP-9LQD08CU","USERNAME":"HETARTH RAVAL","USERPROFILE":"C:\\Users\\HETARTH RAVAL","windir":"C:\\WINDOWS","__COMPAT_LAYER":"Win8RTM","TERM_PROGRAM":"vscode","TERM_PROGRAM_VERSION":"1.79.1","LANG":"en_US.UTF-8","COLORTERM":"truecolor","GIT_ASKPASS":"c:\\Users\\HETARTH RAVAL\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass.sh","VSCODE_GIT_ASKPASS_NODE":"C:\\Users\\HETARTH RAVAL\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"--ms-enable-electron-run-as-node","VSCODE_GIT_ASKPASS_MAIN":"c:\\Users\\HETARTH RAVAL\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass-main.js","VSCODE_GIT_IPC_HANDLE":"\\\\.\\pipe\\vscode-git-dec746a63e-sock"},"cols":165,"rows":15,"useConpty":false,"conptyInheritCursor":false}
2023-06-14 13:14:37.576 [trace] IPty#resize 177 15
2023-06-14 13:14:38.074 [trace] ptyService#setLayoutInfo [{"isActive":true,"activePersistentProcessId":2,"terminals":[{"relativeSize":1,"terminal":2}]}]
2023-06-14 13:14:47.251 [trace] ptyService#shutDown 2 false
2023-06-14 13:14:47.506 [trace] IPty#kill
2023-06-14 13:14:47.762 [trace] ptyService#setLayoutInfo []

I started and killed the terminal once or twice just to make sure its tracing.
I hope this is what you wanted.
ps: I dont really understand whatever's being logged here.


Could you bring this to Nuxt3?

I'm very interested : >

I was going to ask the same. At least to Vue 3. If there are any plans on doing this.
I was thinking in doing the same but found your open source project and I will check it out. Only that I have experience only with Vue 3.

Hi, I'm really glad to see interest in my template. I've attempted to port it to Vite + Vue3 + Pinia in the past, my memory fails me but I do believe that I ran into some trouble with the windows movement as the library I was using had not been ported to Vue3 just yet. I might take a second look at porting the template soon, but this may take some time as I am quite caught up with work.

I developed a similar project, available here that runs on Vue3. I hadn't found this one, which may be more complete (and mine only tackles MacOS environment, at this point at least, and is still missing some features).
My project is fairly easy to use (and hopefully well-enough documented), but it may be lacking for now. See my demo.
I'll actually likely check this project to see how to improve/complete mine. Thanks Don for the great work!

That's awesome! I'm actually working on the nuxt3 version of my repo right now 👀, decided to bite the bullet and have it updated. I'll be sure to take a look at your repo @peergum

i want vue 3 + pinia version too.
Maybe npm version better


US_ASCII should not allow decoding bytes with bit 7 on

All JDK implementations I could try consistently report an error for such bytes. And I cannot find any source on US-ASCII supporting my original implementation, which was to ignore that bit.

Spawned off #2041.