Login after Installation not Working

Hello,
the Login-Window is frozen at visit. Some weird bugs with the tesla api are showing up? Did Tesla Change something or is my Setup wrong? Tested on Ubuntu 20.04 on Raspberry Pi and vServer. Same issue for TeslaLogger
regards

2021-07-08 01:44:58.850 [info] GET https://auth.tesla.com/oauth2/v3/authorize -> 200 (216.916 ms)
2021-07-08 01:44:58.868 [error] GenServer TeslaMate.Api terminating
** (FunctionClauseError) no function clause matching in Regex.match?/2
(elixir 1.12.1) lib/regex.ex:279: Regex.match?(~r/^https?:///i, ["/captcha"])
(tesla 1.4.1) lib/tesla/middleware/core.ex:34: Tesla.Middleware.BaseUrl.apply_base/2
(tesla 1.4.1) lib/tesla/middleware/core.ex:29: Tesla.Middleware.BaseUrl.call/3
(teslamate 1.23.4) lib/tesla_api/middleware/follow_redirects.ex:51: TeslaApi.Middleware.FollowRedirects.redirect/4
(teslamate 1.23.4) lib/tesla_api/auth.ex:194: TeslaApi.Auth.load_captcha_image/2
(teslamate 1.23.4) lib/tesla_api/auth.ex:183: TeslaApi.Auth.load_form/2
(teslamate 1.23.4) lib/tesla_api/auth.ex:97: TeslaApi.Auth.prepare_login/0
(teslamate 1.23.4) lib/teslamate/api.ex:122: TeslaMate.Api.handle_call/3
Last message (from #PID<0.2427.0>): :prepare_sign_in
2021-07-08 01:44:58.871 [error] GenServer #PID<0.2427.0> terminating
** (stop) exited in: GenServer.call(TeslaMate.Api, :prepare_sign_in, 120000)
** (EXIT) an exception was raised:
** (FunctionClauseError) no function clause matching in Regex.match?/2
(elixir 1.12.1) lib/regex.ex:279: Regex.match?(~r/^https?:///i, ["/captcha"])
(tesla 1.4.1) lib/tesla/middleware/core.ex:34: Tesla.Middleware.BaseUrl.apply_base/2
(tesla 1.4.1) lib/tesla/middleware/core.ex:29: Tesla.Middleware.BaseUrl.call/3
(teslamate 1.23.4) lib/tesla_api/middleware/follow_redirects.ex:51: TeslaApi.Middleware.FollowRedirects.redirect/4
(teslamate 1.23.4) lib/tesla_api/auth.ex:194: TeslaApi.Auth.load_captcha_image/2
(teslamate 1.23.4) lib/tesla_api/auth.ex:183: TeslaApi.Auth.load_form/2
(teslamate 1.23.4) lib/tesla_api/auth.ex:97: TeslaApi.Auth.prepare_login/0
(teslamate 1.23.4) lib/teslamate/api.ex:122: TeslaMate.Api.handle_call/3
(elixir 1.12.1) lib/gen_server.ex:1024: GenServer.call/3
(teslamate 1.23.4) lib/teslamate_web/live/signin_live/index.ex:121: TeslaMateWeb.SignInLive.Index.handle_info/2
(phoenix_live_view 0.15.7) lib/phoenix_live_view/channel.ex:248: Phoenix.LiveView.Channel.handle_info/2
(stdlib 3.15.1) gen_server.erl:695: :gen_server.try_dispatch/4
(stdlib 3.15.1) gen_server.erl:771: :gen_server.handle_msg/6
(stdlib 3.15.1) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
Last message: :prepare_sign_in
2021-07-08 01:45:00.711 [info] GET /sign_in
2021-07-08 01:45:00.720 [info] Sent 200 in 8ms
2021-07-08 01:45:03.885 [info] Application teslamate exited: shutdown
{"Kernel pid terminated",application_controller,"{application_terminated,teslamate,shutdown}"}
Kernel pid terminated (application_controller) ({application_terminated,teslamate,shutdown})
Crash dump is being written to: erl_crash.dump...done
2021-07-08 01:45:09.701 [info] Migrations already up
2021-07-08 01:45:12.707 [info] System Info: Erlang/OTP 24 (emu)
2021-07-08 01:45:12.707 [info] Version: 1.23.4
2021-07-08 01:45:12.771 [info] Running TeslaMateWeb.Endpoint with cowboy 2.9.0 at :::4000 (http)
2021-07-08 01:45:12.773 [info] Access TeslaMateWeb.Endpoint at http://localhost
2021-07-08 01:45:12.787 [info] MQTT connection has been established

gn

having this issue as well

having this issue as well

Looks like Tesla have re-enabled the captcha.

Can you try the latest release (v1.23.5) and see if that fixes the login issue?

Can you try the latest release (v1.23.5) and see if that fixes the login issue?
After logging in, red font prompts
The following:
Error: An unexpected error occurred

Chinese account?

Chinese account?

yep.Chinese account does not work?

Yeah, it looks like with v1.23.5 only Chinese accounts cannot login. v1.23.6 will be out in a few minutes. That hopefully fixes that issue as well but it's hard to test because I don't have a valid account to verify.

Working again. Thanks


Outdated version in PyPi

Latest version of this tool installed via pip from PyPi is 0.4.3 and that version is not working with new NodeMCU firmware. The only workaround is to install it directly from this repository. I know this project is not actively maintained but I think updating it on PyPi would be beneficial and possible without big effort.

Hi,
The master branch is the developing branch so it's quite normal that the versions does not match between that and pypi.
There are changes in the master branch that I was waiting for verification on but without no feedback, for example #89
So I thank you because you are the first one confirming that the changes actually work.
I will release a new version in the next couple of days.

Sure - if you want any help with testing just ping me. I think this project is really important to NodeMCU firmware and I would be happy to help.

Published


Non perminent session appear individually

Steps to reproduce

Open Chrome and Firefox
Log into Chrome and Firefox without checking the "Remember me" checkbox
Look at your browser sessions in Firefox ... you'll see a session for each browser
Close and reopen chrome. You'll be logout of the site because your session was impermanent
Log into chrome again
Look at your sessions

Expected result: I only see one chrome and one firefox session
Actual result: I see two chrome sessions and one firefox session
https://youtu.be/n_kIXSlZ4dE
What's the problem
Basically, session manager doesn't have a way of linking non-permanent sessions on the same device. So when you close and reopen your browser, you get a new session each time. But session manager doesn't have a way of knowing that this is the same device as the old session.
Login::getCurrentSessions() will show non-permanent sessions if they have been active within the last hour. So it's unlikely you'll get into a situation where you have 5 entries for the same device ... unless you are opening and closing your browser like crazy.
Note

Do we rely on the garbage collection task to remove these entries?

Looking at the Garbage collection service, it relies on LoginSession::$default_session_lifetime to decide if your session is inactive. That's set to an hour by default.
If you don't install/configure the queued job, you'll get this problem. If you restart your computer/browser you'll get this problem as well.
Looks like this bit of code is trying to mitigate this problem by returning only session that our persistent or within the default_session_lifetime. I'm not 100% sure it's working thought, because I seem to be getting session carry over from day to day.
https://github.com/silverstripe/silverstripe-session-manager/blob/f70cb2c7a8ae9159e2c185414ee1ca717cdd130c/src/Model/LoginSession.php#L282-L291

Wait, I'm guessing that the garbage collection task should be deleting records for already expired sessions, and not be responsible for actually expiring the sessions. Is that right?
The readme covers this in a bit more detail too: https://github.com/silverstripe/silverstripe-session-manager#developer-details

On each request, a middleware (LoginSessionMiddleware) checks if the current PHP session is pointing to a valid LoginSession record. If a valid record is found, it will update the LastAccessed date. Otherwise, it will force a logout, destroying the PHP session.
A periodic process (GarbageCollectionService) cleans up expired LoginSession records. Due to the way PHP sessions operate, it can not expire those sessions as well. The PHP sessions will be invalidated on next request through LoginSessionMiddleware, unless they expire independently beforehand (through PHP's own session expiry logic).
Silverstripe allows persisting login state via a "remember me" feature. These RememberLoginHash records have their own expiry date. This module associates them to LoginSession records, and ensures their expiry is consistent with the new session behaviour (see "Configuration" below for details).

More generally speaking, I think being able to link non-permanent sessions on the same device to one record would be ideal. Especially because this component is centred around 'Devices', not 'Sessions'. I'm not sure how far away that would be from what the module is currently doing though... What do you think @maxime-rainville ?

Thats going to cause concern for users when they see so many sessions active when a single device is used (probably worse than not showing any info at all). This is going to be something we really need to sort for this piece to be successful.
If we can't resolve technically (which I hope we can) I'm wondering if only displaying permanent sessions in the area we have designed makes sense, the other sessions are displayed as "session history" differently (e.g. hidden list).

I've confirmed that Login::getCurrentSessions() will only show non-permanent sessions if they have been active within the last hour. So it's unlikely you'll get into a situation where you have 5 entries for the same device ... unless you are opening and closing your browser like crazy.
But you might occasionally get 2 for a short while.

Okay so not as big of an issue then, if it's of concern you can still force log out of sessions. Think it would still confuse people if they tested the functionality and raise a few eyebrows.

One way we could solve this is to have a device ID for all sessions, even the none-permanent ones. When you come back after closing your browser, we don't let you back in but we can invalidate other sessions with the same device ID.
That's probably not a big change, but it is a somewhat intricate. So it wouldn't be trivial.

I've confirmed that Login::getCurrentSessions() will only show non-permanent sessions if they have been active within the last hour. So it's unlikely you'll get into a situation where you have 5 entries for the same device ... unless you are opening and closing your browser like crazy.

Thanks for checking this again @maxime-rainville. I've updated the description to note this.
Agree that even if it's less likely, it could still be confusing to the user.

I've just come across this on GitHub, so it's not abnormal. One notable difference with their view is they title the information as 'Sessions', not 'Devices'

Funnily enough the say both - "list of devices" then in the next sentence "revoke any sessions" - heh :-)
Agree that 'sessions' is the safer word and more technically correct term to here rather that 'devices'.  I think we could probably just make this text change and avoid having to do an overhaul on the internals of session manager

I think we could probably just make this text change and avoid having to do an overhaul on the internals of session manager

Agreed. I talked to @clarkepaul and he liked the UI idea. I've spun up a separate issue to talk about that...
Back to this issue though. @maxime-rainville I can't recreate your issue. @bergice reported that he couldn't either. For me, my session will stay active on exiting and reopening Chrome (without selecting the 'remember me' option)

I use Chrome on Ubuntu to detect the issue: https://www.youtube.com/watch?v=n_kIXSlZ4dE.
I think MacOS might not technically close your browser when you close it ... it keeps it running in the background so it's faster to access the application again later on ... that probably keeps the session alive. Not sure what Windows will do in this situation. If you reboot your OS or if you force quite Chrome on MacOS, you should see the behaviour as well.
In any case, given my understanding of how session cookies work, there's no way our current implementation wouldn't have this bug. If it doesn't then we have a much bigger problem on our hands.

While testing the module I had another look at this issue. Seems like in my previous case the browser is just being smart.
Both Chrome and Safari store session cookie information even after a force quit in at least MacOS - that's using the default OS user profiles so it doesn't really require any extra set up from the user's end - I have a feeling most people would find themselves in this position. IT administrators obviously might have some more control over this in a workplace setting.
Given the above, I can do this:

Open Chrome, Incognito Chrome, and Safari in MacOS
Log into Chrome, Incognito Chrome, and Firefox without checking the "Remember me" checkbox
Look at your browser sessions in Chrome ... you'll see three sessions for each browser
Force quite Chrome and Safari. You'll be logged out of the Incognito window because the session was impermanent
Open Chrome again, you're session is retained, so access the CMS Profile section

Expected result: You see two sessions (one for Safari and one for Chrome)
Actual result: You see three sessions (the incognito session remains when ideally it wouldn't).
Given the above, this feels like a low impact issue to me and not high on the list to resolve before the beta tag.

I don't see us getting around the issue of the incognito session showing up after the browser is closed. It's kind of expected if they haven't signed out, at least if they are concerned they can manually kill the session now.

To be honest, without user fingerprinting (which has privacy implications) or some other permanent cookie to identify a "device" (and thus de-dupe sessions), this isn't going to be possible to solve and I would say the current behaviour is expected.

websockets?

@brynwhyman I don't think the incognito session showing is a problem ... Incognito will blast whatever cookie gets created each time, so there's absolutely nothing we can do about that anyway.
The main problem I would see is someone rebooting their computer and seeing another session another session in there list.

Closing this issue. While a little confusing, the behaviour is expected.


[i18n] Unsupported loc characters in file names on Failed to Publish dialog

Description
High Ascii and 2-4byte characters are not converted and rendered correctly on Failed to Publish dialog.
Issue applied to singular, plural and mix files.
To Reproduce
Steps to reproduce the behavior:

Go to Google Drive
Add project via extension
Create Word and/or Excel document with name that contain localized characters
Select file
Click on Publish on extension panel

Expected behavior
File name displayed correctly on Failed to Publish dialog
Actual behavior
Loc characters is not rendered correctly on Failed to Publish dialog
Screenshots

This is working as designed: Only normalized, small latin letters, digits and hyphens are allowed in folder and file names.


Cannot use 'figurewidth' or 'figureheight' when saving a plot on Ubuntu 18/Python3.6 & 3.7

When saving a figure, I cannot use 'figurewidth' or 'figureheight' on my Ubuntu machine. The same code works on my macOS machine, but not on my Ubuntu. There is absolutely no mention of 'figureheight' or 'figurewidth' in the documentation pages.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot (x, y)
import tikzplotlib
tikzplotlib.save ('output.tex', figurewidth='15cm', figureheight='5cm')

This results in an error:
TypeError: get_tikz_code() got an unexpected keyword argument 'figurewidth'

You may be looking for axis_width.

Uha! That actually worked! Thank you so much! I wasn't sure why figurewidth and figureheight worked on my macOS, but not Ubuntu. Has it been changed to axis_width and axis_height in recent versions? Because I have seen many examples suggesting the use of figurewidth & figureheight, and I was going crazy looking for that in the documentation.

It has changed at some point in the past, certainly not recently. When in doubt, just look at the code.

Sorry for responding to a closed issue, but would it be a good idea to print a warning message pointing people to the new parameters if the old parameters are used? It would save people having to look at the code.


Allow to disable WrapperWidgetUI

Added disabled: boolean = false property to WrapperWidgetUI props.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 3 (66.67%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 72.628%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/react-ui/src/widgets/WrapperWidgetUI.js
2
3
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
1588

Relevant Lines:
2052

💛  - Coveralls


Request to increase the set accessibility focus API

First of all, thank the flutter team for their contribution to accessibility.
I am a blind person and a developer，Because I don't speak English, I use a translator, and the description may not be very accurate. If you have any questions, please ask.
There are many accessibility standards around the world, and one of them is a very important standard, which is to maintain a stable focus.
Currently,  flutter's management of accessibility focus is not perfect, and there are many problems.
For example, when you jump to a new page return, the Android side should set the accessibility focus to the previous position, but currently, it is set to the first control on the page.
The accessibility focus may be lost when the list item is rebuilt, and so on.
These problems can be solved using APIs that set accessibility focus.
Whether it is Android, iOS, web, or Windows, there are corresponding native APIs that can set the accessibility focus.
iOS：
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, view);

Android:
view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);

web:
view.focus();

Windows:
NotifyWinEvent(EVENT_OBJECT_FOCUS, hwnd, OBJID_CLIENT, childId);

Now only the input focus can be set in flutter, but the accessibility focus cannot be set.
This issue was raised and discussed two years ago at the earliest, but it has not yet been resolved.
And I read the previous issue:
#91290
#59594
#77200
The result of these discussions is that although Android provides an API for setting accessibility focus, it is not intended to allow developers to actively set accessibility focus, and it may not take effect in the future.
But I want to say that in addition to Android, iOS, Windows, and the Web also have APIs for setting accessibility focus. Are they all redundant?
the people of Android said that it might not be allowed to take effect in the future, but it has been around for a long time, and there are many great accessibility applications, using this feature to meet the accessibility standards.
At least until now, APIs for setting accessibility focus on all platforms can work well.
Even if Android is no longer supported in the future, there are still iOS, Windows, web, so many platforms that support it.
That being the case, why doesn't flutter add an API for setting accessible focus now?
Some people say that if the developer actively sets the accessibility focus, it will make the application difficult to understand.
I want to say, is there any developer who will take the initiative to set the accessibility focus indiscriminately?
And flutter can now set the input focus, why has no one said to remove this API?
I believe that so many platforms have this API natively, and the purpose is definitely to make the software more accessible. Otherwise, why would they add this API?
Developers actively set accessibility focus to bring users a better experience.
Maybe because there is no blind person in the flutter team, so don't know the importance of this API to the disabled.
As a blind user and developer, I very much begged to increase the accessibility focus API!
It is very important to blind people all over the world!
And only in this way, a lot of software can be truly accessible, in line with global accessibility standards!
thank you very much!
@chunhtai

There are a lot of feature requests to add this functionality. The reason why we haven't added it is due to the Android team strongly discourage people from changing the accessibility focus. The Android API you mentioned work but it is an unofficial API, and it is not guaranteed to work. So it may not be maintainable if we put that in flutter. If this is very critical we can think about putting it in a third party package.

After some offline discussion with the team. I think it may make sense to fix the android behavior in flutter using the unofficial API. However, I still think we should not expose the  focus management API through flutter since it may not be maintainable.
@luomo-pro will this solve your use case?

hi
@chunhtai
thank you very much!
I think that unless the system itself manages the accessibility focus very well, it would be very helpful to expose this API.
But up to now, there are still a lot of problems with the system itself in managing the accessibility focus. Even if it is native, there are some problems. The developer can only manage the accessibility focus manually.
In addition, in wcag (Web Content Accessibility Guidelines) accessibility standards, there is such a standard:
2.4.1 Bypass Blocks: A mechanism is available to bypass blocks of content that are repeated on multiple Web pages. (Level A)
In many websites, developers will use the method of setting accessibility focus to meet this standard.
Therefore, I think it is necessary to set the accessibility focus API publicly now, so that developers can better comply with accessibility standards.
As for the Android team may no longer support this API in the future, I don't think you need to worry too much, there should be other ways to implement this feature at that time.
This API is already used by many softwares. As far as I know, there are China's Alibaba and Tencent. In order to ensure the stability of the accessibility focus in the software, they have manually set the accessibility focus.
In addition to Android, iOS, Windows, and Web also have this API. It can be seen that developers have a need for this API on all platforms.
Anyway, at least it works well now, isn't it?

My plan now would be try to better manage the focus in Flutter itself. I am still not confident enough to open up the API, the Android team strongly discouraging using the private API. They also mentioned such API may not be available in the future.

[语义][Android]：开始新页面时焦点不返回页面顶部 #97522

Every time you open a new page, the accessibility focus will automatically fall on the back button, and a dialog box will pop up, and the accessibility focus will automatically fall on the title bar. Every time you return from a page to the previous interface, the focus will also fall automatically On the first element, these experiences are very bad for a blind user. I think you should simulate a blind person to operate the phone for a while and then look at this problem. You will find that this is really a very needed function. , otherwise I think the application developed with flutter is very bad for blind users. If there is a chance, I hope to communicate with you individually, thank you

My plan now would be try to better manage the focus in Flutter itself. I am still not confident enough to open up the API, the Android team strongly discouraging using the private API. They also mentioned such API may not be available in the future.

Every time you open a new page, the accessibility focus will automatically fall on the back button, and a dialog box will pop up, and the accessibility focus will automatically fall on the title bar. Every time you return from a page to the previous interface, the focus will also fall automatically On the first element, these experiences are very bad for a blind user. I think you should simulate a blind person to operate the phone for a while and then look at this problem. You will find that this is really a very needed function. , otherwise I think the application developed with flutter is very bad for blind users. If there is a chance, I hope to communicate with you individually, thank you

@wapscccs
Those issues you mentioned are what i am trying to fix, the idea is that Flutter will remember the previous focused item in a page and automatically shift the focus when that page comes to the front.

I think these two things can be implemented simultaneously.
The first one is to allow flutter to manage accessibility focus better, including remembering exactly where the focus was on previous pages.
The second, the API for setting accessibility focus could be provided as a package, which would allow developers to manage it themselves in cases where flutter itself cannot manage it well, and could be done to complement it.
As I said before, with this API publicly available, developers don't use it indiscriminately, and the API is working fine now.

Yes, this issue is a pain! Is there a chance to work on a package that could circumvent it in the meantime @chunhtai ? At least for iOS. This would be one step forward.

Hi @chunhtai
Given that #97747 was moved to P2 a few weeks ago, is there a chance to change this issue to P2 as well?
Also, just thinking out laud now... if I were to implement native code through a method channel to try to manage VoiceOver focus whilst this issue is being looked into, do you you know how I can convert a Flutter Widget to a UIKit equivalent that I could pass as the argument to the native .screenChanged notification?

You would have to read through the UIAccessibility tree from the FlutterView, which is pretty hard I think. I am not sure if that is possible as I am not a objective c expert.
I think it would probably be easier to submit a PR to add the API to flutter. I am still not sure whether the API should support android, but It looks like we would need to support iOS.

Thanks @chunhtai !
The reason why I asked for this issue to be P2 is that in #97747 you commented:

let's discuss the API for explicit control in the https://github.com/flutter/flutter/issues/94523. For this issue, we should focus on how or whether we should work around the android behaviour.

I thought that #97747 would sort out the way TalkBack focus behaves when pushing and popping routes but it would not try to resolve moving VoiceOver focus to a correct widget when you remove the widget that had the VO focus.
It would be great if that was added to the Flutter API, even with iOS support only to start with.

@dnfield If this is for iOS, then it is WAI as that is the native behavior, but like other had said, iOS let developer control the focus.
If this is for Android, they the other issue  https://github.com/flutter/flutter/issues/97747 may be the root cause.

it would not try to resolve moving VoiceOver focus to a correct widget when you remove the widget that had the VO focus.

That is true, but we usually suggest to redesign to avoid that if possible. To a VO user, it would be confusing not matter which element the focus jump to. Compares to the Android problem where there isn't a workaround, thus the other issue has higher priority.

(Issue I was referring to was for iOS. Developer specifically commented "we could control this in the native version of our app")

Yes, I think adding API to support platforms other than Android make sense.
@vick08 I remember we have talked about this before that we should not add API to set a11y focus for Android since it is not a stable API. Do we have guideline on other platforms like iOS, macOS, windows...etc?

A related issue came up in internal bug b/277986652 where an app is loading a new Android screen with a native bottom nave and Flutter top app bar, and focus is going to the bottom nav because Flutter loads asynchronously. Maybe exposing a focus changing API would make it easier for developers to fix this kind of integration issue, e.g. by focusing the Flutter view when it appears.

customer:chalk escalated this to me today as b/249445398, which is soon to be blocking them for iOS.  Updating priority to P2 here.

Current Plan:
Add a FocusSemanticEvent
Use the sendSemanticsEvent function in RenderObject
Handle the focus event on engine side

Update: working on prs https://github.com/flutter/flutter/pull/126171 and https://github.com/flutter/engine/pull/41777

PRs in review

Triage update: Looks like the engine change was just submitted, so we need to wait for a roll to continue on the framework side.

@hangyujin can this be closed?

@chunhtai Will this change address https://github.com/flutter/flutter/issues/97522, which was closed in favor of this issue? To clarify, the issue there was not returning focus to the original position after popping a page, but rather when pushing a new page the focus was not set to the top of the new page on Android.

Great stuff! Thank you!
Which version it's going to be in?


Added dropshots extension

As I found a TODO in the source code I decided to bring my little contribution.
I am not sure if this referenceScreenshotDirectory should only affect recording of screenshots, or validation part too?
Although I see that it records screenshots to the provided directory, but it still tries to find reference in src/androidTest/screenshots during verification

 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.


Interface docs need updating

The docs for the interface submodels should match the folder structure here.

hello @rtimms I would like to work on this issue, can you please assign it to me?

Thanks @dikwickley ! Let me know if you have any questions.

Hello, @rtimms
I would like to work on this issue, can you please assign it to me? I am a beginner and looking forward to contributing.

Can you please specify the order as most of the names of folders do not match with the doc?

Thanks @Yash-Sajwan24!
The docs should follow the folder structure, e.g.

BaseInterface
TotalInterfacialCurrent
Open Circuit Potential

BaseOpenCircuitPotential
CurrentSigmoidOpenCircuitPotential
SingleOpenCircuitPotential

Kinetics

...

...

@dikwickley @Yash-Sajwan24 can you coordinate between yourselves who is going to work on this to avoid duplication of effort?

I still don't get it .☹

The interface docs need to be modified to match the file structure in the interface submodel directory. You will need to add extra folders and .rst files.
Take a look at how the electrode docs are set up based on the electrode submodels directory.

@rtimms i have made a new interface folder and have completed kinetics and Interface Utilisation.
Here is the demo: https://dikwickley-pybamm.readthedocs.io/en/latest/source/models/submodels/interface2/
let me know if it's okay

Looks good, thanks! Please open a PR

@rtimms please review the PR. if there are any other modules that require documentation updates let me know. thanks :)


raw_sqlite3: reset returns ok on success

Fixes #2
Updated doc for step/1: you can easily test that prepared statements are in fact automatically reset by calls to sqlite3_step subsequent to the latter returning SQLITE_OK for a given statement. This is also reflected in the following comments found on line 83608 in sqlite3.c:

     /* We used to require that sqlite3_reset() be called before retrying
     ** sqlite3_step() after any error or after SQLITE_DONE.  But beginning
     ** with version 3.7.0, we changed this so that sqlite3_reset() would
     ** be called automatically instead of throwing the SQLITE_MISUSE error.
     ** This "automatic-reset" change is not technically an incompatibility,
     ** since any application that receives an SQLITE_MISUSE is broken by
     ** definition.

Looks good to me. Thanks!


Improvements to snap refresh related to nvidia support

This addresses two current known issues to snap refresh if nvidia support is in use.
The previous CDI config is never valid for a newer revision, as some paths contain the snap revision.

This PR ensures the previous config is always purged

If the nvidia-container-toolkit service fails to start properly for some reason, it prevents the snap refresh from completing, even though dockerd would remain functional for non nvidia images use cases.

This PR enables nvidia-container-toolkit to fail setting up the CDI and dockerd config, and print a warning instead.
It also ensures that dockerd config is only attempted if CDI config is generated.
CDI config can fail on refresh due to: ERROR_LIB_RM_VERSION_MISMATCH [ nvidia kernel module and user space libs do not match ].

@xnox PTAL when you get a chance - thanks.


Height teleport exclusion?

Is it a possibility to eventually exclude things from the height teleporter?
For instance, in a multi storey house, you'd want to be able to scale stairs and move up/down levels, but not be able to climb on prop like a table, or something like a statue.
Another problem is that a table(assume one with legs) could have physics objects on top of and underneath it. This would mean you could teleport into it, as well as on top of it; depending on what type of teleporter you're using.

Yeah, this is something I've been pondering the best way to do it.
Effectively you want to be able to have something applied to the objects that the teleport beam is hitting. If "whatever" the thing is that is applied to that object is present then you don't want to throw the destinationSet event in the world pointer.
This is how the new "Interactable Object" pointer beam activates thing works. If that is ticked on an interactable object then you don't teleport.
Could do it easily enough with a script (like no_teleport) that simply is used as a marker. I'd use tags, but they're so limiting as you can only have 1 tag per object.
Any other suggestions?

Not a suggestion, but just a realization that it would also need to take into account the "room scale" height movement too. Not just the pointer/cursor.

I've been giving the height thing some thought recently. The play area cursor prevents you teleporting to places where your head would clip, but if you were crouching then you should be able to teleport there. Would make for some interesting game mechanics.
Teleporting is definitely something that can be improved upon, let's keep this discussion going, hopefully more will join in too!

Generally I'm trying to do somthing like this https://www.youtube.com/watch?v=wsWibz4aCto. I do it by scaling the [CameraRig]. The scale transition works, but it won't teleport me from "god mode" to the right place down. There is also a problem of the size of the pointers, as they are created at the beginning of the scene. When I change scale they remain either too small or too big. Is it possible to make it work without too much struggle?

First of all thank you thestonefox for this excellent package, it really helps me with my own development!
In general the teleporting with meshes works well, but I have issues with sloped meshes like roof of a house. If you go to the top you sink in the mesh and if you teleport near the edge you hover high in the air. Also stairs as one mesh causes the same scenario. Can you think of a way to work around this?

@Epseni
Do you have "Play Space Falling" option checked on the HeightAdjustTeleporter on the CameraRig?
This should always adjust your Y height to the nearest collidable floor. So when you walk up and down stairs, you should naturally just move up and down the objects.

@couba yeah I think just scaling things around you will probably cause some issues. I'll take a look when I get chance

@thestonefox I have tried with it too, but it does not change the behavior. Falling will work excellent if each step has been modeled as single mesh, then you can go up and down walking in your space. However if the whole staircase is one single mesh then I have the before mentioned result.
You can test this by creating a plane and angling it for example 20 degrees if you go to high end you sink in, and at low end you hover.

@Epseni hmm that may be to do with the raycast code that checks to see if it should move you. It only moves you if the colliding object is the same.. Perhaps it would be better to move you if the y has changed.
I think that's what it does. I'll take a look later.

@Epseni Yeah it's what I thought the issue was.
Problem is because the y distance changes so much when you're walking over a mesh, you're stuck in a constant fade. If you take the fade out in this instance you get a sickly feeling.
I'll make the commit, push it up to a branch and you can check it out on that separate branch and see what you think

@thestonefox This works absolutely perfect! I have no issues with sickness, as my problem was teleporting up a staircase, teleporting on sloped roof and teleporting on long sloped road made out of single mesh. Now it is possible to go up on each step without going in or above the object.
Thank you very much, your work is really awesome! I hope I can contribute something going forward. There is not a lot of people pioneering this stuff.

@Epseni That's cool, ok I'll merge the changes in to the main branch

I'd be really interested in being able to limit teleportation as well to certain surfaces.
Thanks for all your awesome work!

@Epseni Your mesh traversal stuff is in the main branch now :)

Hey Stonefox I was trying to make a simple change to restrict my teleporting to just the floor mesh, as I keep moving into desk, walls and what not. I've added some code to the SteamVR_BasicTeleport script.
if (e.target && e.enableTeleport && GameObject.FindWithTag("Teleport"))
I tried just adding a simple check to look for a Tag "Teleport" that I've only addd to my flood, but it just seems to bypass the code. Am I inserting this in the right place?

if you're trying to check the target tag then you need to check it on e.target.
so something like
if (e.target && e.enableTeleport && e.target.gameObject.tag == "Teleport")
This will check the target object for the "teleport" tag.
Doing GameObject.FindWithTag just finds any game object in the world with that tag.
Hope that helps.

Perfect! Thanks a ton for all of your help. It insane how quickly your toolkit is shaping up and improving!

Rolling this issue up into a new issue:
https://github.com/thestonefox/SteamVR_Unity_Toolkit/issues/105


kube2conf?

Thanks @kelseyhightower this project is absolutely fantastic and saves a lot of effort doing shell kung-fu.
I had a suggestion to improve it even more, what about enabling the reverse process to make an already pushed secret easy to read directly from the API?

I guess the -x flag is actually enough for most use cases I've seen so far.


Upgrading from 2.0.0 to 2.0.1rc2 causes an error when setting owner and roles on dashboard

Spin up an 2.0.0 Superset instalation in docker
Create Dashboard.
Edit setting on dashboard and you are able to set owner, and roles on dashboard
Upgrade to 2.0.1rc2
Edit setting on dashboard

Expected results
In owner and roles you should be able to select user / role
Actual results
An error appears in drop down: Cannot read properties of undefined (reading 'active'). This happens both in Owner and Role
Screenshots

Environment
(please complete the following information):

browser type and version: Chrome 106.0.5249.119
superset version: 2.0.1
python version: 3.8.12
node.js version: node -v
any feature flags active: {"ALERT_REPORTS": True, "DASHBOARD_CROSS_FILTERS": True, "DASHBOARD_RBAC": True, "THUMBNAILS" : True, "THUMBNAILS_SQLA_LISTENERS": True, "ENABLE_TEMPLATE_PROCESSING": True, "ENABLE_TEMPLATE_REMOVE_
FILTERS": True, "ENABLE_SCHEDULED_EMAIL_REPORTS": True, "EMAIL_NOTIFICATIONS": True, "EMBEDDED_SUPERSET": True}

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[X] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[X] I have reproduced the issue with at least the latest released version of superset.
[X] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context

We are also facing the same issue while adding owners to dashboards.

Faced this error too. Found out that browser gets data for users and roles if you're clicking on the field. Also this happens only if you're editing dashboard properties.

just for the record, I tried this migration some weeks ago .. and the entire application (frontend) wasn't work
maybe it was something about custom html pages or maybe some configurations .. or something in the structure of package is different than the previous one .. and my own conda package (based on the conda-forge version) for that was not working properly

also have the same issue

Is this still an issue with the newer 2.0.1 release candidates? rc4 is up for testing, and rc5 is en route.

yes still open. on my instance I get this error message in the newest rc5

CC @eschutho @AAfghahi

I think @eric-briscoe is hot on the trail of this one.

This should be fixed for 2.0.1. Closing the issue, but feel to reopen if you find it again while testing.

The error is gone now with 2.0.1-rc6 but we are still unable to change the dashboard ownership. If we try to save the changes nothing happens. I've checked the backend logs and looks like we are getting a 400 error on the API call to update the dashboard:
[16/Dec/2022:11:07:08 +0000] "PUT /api/v1/dashboard/6 HTTP/1.1" 400 75 "https://<ENDPOINT_REDACTED>/dashboard/list/?pageIndex=0&sortColumn=changed_on_delta_humanized&sortOrder=desc&viewMode=table" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"

2.0.1rc6 seems to fix this. Saving owner and roles does work in my test environment.

Unfortunatelly, after upgrade superset to 2.0.1, it still cant update owners for dashboard:(

Yeah, we'll take another look. Thanks for reporting. cc @eric-briscoe

FYI I can't replicate this bug in 2.0.1, I can add/remove owners and roles on both existing (from 2.0.0) and new dashboards.

@eschutho is this issue fully resolved. Is it safe to upgrade to 2.0.1 with dashboard_rbac enabled?

@mdeshmu Does this issue only happen when you have dashboard_rbac enabled?


Desscompresion progress

I'm not sure if this is possible or useful,
but would be nice to keep track of the decompression progress.

I'm going to close this bug for now. uncompress.js already shows the percentage of uncompressing progress.


chore(main): release megaparse 0.0.28

:robot: I have created a release beep boop
0.0.28 (2024-08-16)
Features

rye: added package manager (#81) (a3a50a3)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/QuivrHQ/MegaParse/releases/tag/megaparse-v0.0.28 :sunflower:


[Bug]:pagination control in List is not taking the theme colors [inconsistent]

Is there an existing issue for this?

[X] I have searched the existing issues

Description
pagination control in List is not taking the theme colors  .The issue is inconsistent and seems to have regreesed and we are unable to replicate this .
This seemed to have happened in one of our team's apps 'CYPRESS DASHBOARD'.
Have copied the buggy list in another app and shared the JSON to debug
Steps To Reproduce
LOOM --> https://www.loom.com/share/c471d4df8ff94101ac79d9f747b6a996
App JSON-->
List pagination color bug.json.zip
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Cloud/SelfHosted

Hi I am facing the same issue, till yesterday the icon was showing up in blue color( which is my default color) but from today it just goes white and not visible.


macOS 15 - all jobs stuck at "Waiting for the VM to boot and be SSH-able..."

Hey there we updated our mac mini M1 runner from 14.7 to 15.0 yesterday.
The gitlab-tart-executor stopped working after the update to macOS 15.
Running with gitlab-runner 17.4.0 (b92ee590)
  on ...
Preparing the "custom" executor
03:00:05
Using Custom executor...
2024/09/23 16:56:51 Pulling the latest version of ghcr.io/cirruslabs/macos-runner:sonoma...
2024/09/23 16:56:52 Cloning and configuring a new VM...
2024/09/23 16:56:52 Waiting for the VM to boot and be SSH-able...
ERROR: Preparation failed: unknown Custom executor executable exit code -1; executable execution terminated with: signal: terminated

When looking at tart list and the graphs of the activity viewer I can see that the vm should be booted and is in a idle state afterwards.
We have a customized the gitlab-runner config, but the problem is also present with the default config.
concurrent = 2

[[runners]]
  # ...
  executor = "custom"
  [runners.feature_flags]
    FF_RESOLVE_FULL_TLS_CHAIN = false
  [runners.custom]
    config_exec = "gitlab-tart-executor"
    config_args = ["config"]
    prepare_exec = "gitlab-tart-executor"
    prepare_args = ["prepare"]
    run_exec = "gitlab-tart-executor"
    run_args = ["run"]
    cleanup_exec = "gitlab-tart-executor"
    cleanup_args = ["cleanup"]

Hope someone can help me with this.

This is likely related to the newly introduced "Local Network" permission in macOS Sequoia and the fact that GitLab Runner's binary has no LC_UUID identifier, which is critical for the Apple's Transparency Consent and Control framework.
Can you check if the work around in https://github.com/cirruslabs/gitlab-tart-executor/issues/85#issuecomment-2363353178 works for you?
Without re-building the GitLab Runner the permission cannot take effect, even if you've explicitly allowed it in the GUI.

Thanks alot! This worked.
Hopefully the LC_UUID Identifier is included when gitlab-runner 17.5 is released.
Never thought it would be a gitlab-runner issue, as our other mac runs just fine using the shell executor and macOS 15.

Update: Upstream is still not fixed in gitlab-runner 17.5

Thanks to @waddles, this is now fixed in the latest Homebrew version of GitLab Runner (>=17.6.0).
I've created https://github.com/cirruslabs/gitlab-tart-executor/pull/94 to reflect this in the README.md.


[music3] add method to retrieve a specific layer interactor

From https://github.com/Inria-Asclepios/medInria-public/pull/502
Commit: https://github.com/medInria/medInria-public/commit/aec11005558657846d70b134ffbef323966e5d80

Add templated method in medToolBox to retrieve a specific interactor from layered views.

:m:

@ocommowi @Florent2305 i tried to see if there is already a function in medInria 3 sending interactors by type, but i did not found it

PR rebased!


"National Institute of Technology, Oita College"

The following is a description of what was pointed out.

the school official website URL
　→ https://www.oita-ct.ac.jp/
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
　→ https://onct.oita-ct.ac.jp/seigyo/
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students

@algoRithm3030  Thank you very much for the clarifications and your patience while waiting for a review and processing your request. Pull request merged.


Cleanup incorrect? "MicroProfile Health Check" spec names in spec/doc.

Signed-off-by: Scott Kurz<EMAIL_ADDRESS>Went looking for whether the official name was "MP Health" vs. "MP Health Check".
I found this discussion: https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/microprofile/eyz7MSIFUVg/-siZRL6pAgAJ
So I submitted this PR.   I won't feel bad if it turns out you already discussed this... seemed easier to just send a PR than start another discussion.

@Emily-Jiang  ^^^


Improved sim handling of $display/$print

This contains 3 changes that improve support for $display calls / $print cells in the context of simulating formal verification counterexample and cover traces using sim (used by SBY with fst on or vcd_sim on, will become the default in the future):
0e92cc1
Adds printed output to the JSON summary that SBY parses. This includes source and hierarchy information of the $print cell which might be useful even for other sim uses. I still have to add functionality to SBY to actually do anything with this data.
8c89b46cb
Prior to this, $display calls inside initial statements were not emitted as $print cells and generated an error if they were not using constant values. During FV it's common to have constant-but-solver-determined values (rand const reg or $anyconst) and outputting those in a structured way using $display in an initial block is something I very much want to do. This change still produces an elaboration time output when the values are constant but downgrades the error otherwise to an info message for calls that output the formatted string. In both cases it emits a $print cell so that the output during simulation is complete. It remains an error to use non-constant inputs for formatting functions that return the formatted string.
1dbd3cc01
The current handling of %m statically inserts the module name, while the SV spec says that the hierarchical name should be output. Printing the hierarchical name is very useful when inserting debug logging to a module instantiated several times in the design. Since the hierarchical name is not known at the time the format string is processed, this requires actually keeping it as a format arg. To support it during sim, I added an argument to render() so sim can supply the correct hierarchical name. For the other elaboration time calls to render() I keep using the module name as the hierarchical name isn't statically known in that context.
Additionally render() assumed that the time is always 0 as it was only used for constant elaboration time calls before #3915, but since this isn't the case anymore I added another argument so that sim can supply the correct simulation time.
What is still missing, and the main reason this is a draft PR, is hierarchical %m support for CXXRTL. As I haven't really used CXXRTL so far I'm not sure what needs to be done and wanted to get some feedback on the general approach before I figure out what to do there. I'd also want to add some tests for the added functionality.

That's what I get for not trying a local build after rebasing...

FYI: In anticipation of this to be merged, I made a PR in sv-tests to invoke the simulation pass in Yosys: #5498.
Merging of the current PR will then better reflect on the capabilites of Yosys in sv-tests, and make more working tests available for further development of Yosys. Yes, I have tested this :smile:
The only issue I can see with the current PR right off the bat is that a $display in an initial block is now invoked three times (jix/fmt-hiername merged into master after fixing a small conflict). Try e.g. this example: https://github.com/chipsalliance/sv-tests/blob/master/tests/chapter-7/arrays/packed/querying-functions/size.sv


Web - Clicking on browser back button brings back the removed thread from LHN

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

Action Performed:

Send a message from account A to account B
Reply in thread from account B
Observe the thread shows up on LHN
Delete the reply from account B
Click on another chat and observe the thread gets removed from the LHN
Click on the browser back button

Expected Result:
The removed thread should not show up again on the LHN
Actual Result:
The removed chat shows up again on the LHN even if there is no reply in it.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.35-5
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/62c76aa7-2a0f-4186-b8f1-2fc397bb40f3
https://github.com/Expensify/App/assets/93399543/6eed4bf6-aa18-4193-9a24-6a971612239c
Expensify/Expensify Issue URL:
Issue reported by: @Nathan-Mulugeta
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688210657901479
View all open jobs on GitHub

I can't reproduce. @Nathan-Mulugeta anything I should be doing differently here?
https://github.com/Expensify/App/assets/22508304/8b8ba96e-40df-42a0-89c2-1e3857234ce6

I am still able to reproduce it, I will attach a video below. One thing I have noticed is that when clicking back the removed thread appears down at the bottom of the chat list on LHN. Have you checked it down the list there? And also it might be easily visible if you test this on a new account, just to minimize any confusion with many of the chats. @mallenexpensify
https://github.com/Expensify/App/assets/111440031/3e99d041-da53-47b5-9cf5-a5f3fec5268b

Thanks @Nathan-Mulugeta , I was able to reproduce with a fresh account.
Checking here to see if it's related to 'dynamically updating' or not
https://expensify.slack.com/archives/C01GTK53T8Q/p1689046709870159?thread_ts=1688646398.596839&cid=C01GTK53T8Q

Coming from here @mountiny posted

this is different related to navigation refactor

I'm going to move this along via the External tag and we can fix these bugs independently (unless anyone disagrees)

What is the expected behaviour when we remove a thread ? Should it appear in the LHN or not ?

If you leave a thread you should not see it in LHN
I thinkI would put his on hold for the SWM work, this has same rootcause as many other issues we got and not sure of the best solution so far

Thanks @mountiny, I'm going to remove Bug too for now since it's on hold and might be a while til we get to.

On hold

Hey, I am thinking do we really want to remove this thread from the history?
After deleting the response the user is not redirected to another page. This is still a page that the user can access to write a new response
Same if the user just.

Presses reply in thread
Select another chat without replying

Should this be removed from history? What would be the exact condition to remove the thread screen from history?
What if the user opens a thread just to read other people's replies? Should this also be removed from history?

@kbecciv @Nathan-Mulugeta, can you please retest to see if the issue is reproducible?  I took this off hold, the below was closed

#20908

Hey @mallenexpensify I just retested this and it is still reproducible.
https://github.com/Expensify/App/assets/111440031/8ca361c5-00c2-43e6-a601-9d6b654a2a65

Checking here to see if we  have a higher-level plan for back/forward navigation and if we want to put navigation issues on hold
https://expensify.slack.com/archives/C01GTK53T8Q/p1696255673662679

I think this is not a bug, I am sorry I did not catch this earlier but I think deleting the message and leaving should not clear this from the history and clickign back takes you back to the thread

Thanks Vit


fix: update to eye v10.7.6

fix: update to eye v10.7.6

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

npm package (@latest dist-tag)
GitHub release
v16.4.7

Your semantic-release bot :package::rocket:


Minor fixes and refactors to calc-cbs-params script

Hi folks,
This PR contains some minor fixes and refactors to the CBS helper scripts. No new functionality is added.
Regards,
Andre

Hi @edersondisouza, just pushed a new version, please take a look. I ended up fixing calc_sr_class_params() instead of main() since we need idleslope to calculate the other CBS parameters.

:8ball:

Thanks for the review, @edersondisouza! I'm merging this now.


update changelog in main branch

As title.

These changelog contents will update when released, so close it.


Add user case345

Also under UC1 MSS step 2, help correct to "Bibliotek shows a list of the books."


Create es_ar translation

Not exactly sure if I need to make a PR for each branch so for now simply making one PR.

Just built and tried it out, I noticed there are a lot of missing objects within the translation .json template (copied es_ar from en_us), not sure if these are able to be added so we can have a more complete translation of the mod. Some examples:

Thanks!

Not exactly sure if I need to make a PR for each branch so for now simply making one PR.

No, this is fine. I'll merge it into the other branches when i publish a new release

I noticed there are a lot of missing objects within the translation

Yeah all those are not strings from XaeroPlus. Those are from Xaero's WorldMap/Minimap mods. I don't have any control over what his translations are or aren't in those. There's a repo for Minimap: https://github.com/thexaero/xaero-minimap-translations but I don't think there's a repo for WorldMap.

Understood, well then I guess this is the best that can be done then.


chore: use .vv extension for meta- and testdata files

The files contain code that will encounter problems when running v fmt with some flags.
Updating the extension keeps them working while allowing to add a formatting verification to the projects CI workflows.
Thanks @spytheman. Ref.: https://github.com/vlang/v/pull/21057#issuecomment-2009172545

Can't reproduce the analyzer test failure locally 🤔

There is a conflict in embed.v, otherwise it LGTM.


Invocation failure for API Product when relevant API has a sequence

Description:
500 internal server error due to $subject.
Steps to reproduce:
First, create an API with an in sequence. You can use the default offering (disable_chunking etc.).
This API execution will happen successfully without any issue.
Then create an API Product out of this API.
API Product execution will fail with an internal server error.
Affected Product Version:
APIM 4.0.0

It causes the following error as the synapse mediate trying to find the sequence named Prod:v1.0.0--In
{"code":"0","type":"Status report","message":"Runtime Error","description":"Sequence named Value {name ='null', keyValue ='Prod:v1.0.0--In'} cannot be found"}%

But the actual name is appended with uuid as bellow (from 400)
Prod:v1.0.0--0e74b3b9-fc08-4250-8a59-42804ca1f45a--In

Since the sequence related implementation has been changed in APIM 4.1 with OPA feature, this issue Cann't be reproduced in latest post alpha APIM 4.1 pack.

Duplicate issue https://github.com/wso2/product-apim/issues/12587 . For 4.0.0 this will be fixed from U2 update

Closing as per the above comments.


⚠ Samsung has degraded performance

In 491456a, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2237 ms

Resolved: Samsung performance has improved in 8afc945.


Fix unit conversions for derived variables

The derived variable retrieval only worked if you selected the default variable. For example, you could grab dew point in Kelvin, but not degF or degC. This PR fixes that issue.

hooray all works now! just needs black formatting

Ugh it's actually a failing windows test, unrelated to black, but related to weirdness in the conda testing env? Hopefully will go away once the testing cache is reset after merging.


better way to handle select response

Description
I'm not sure, but i read select is non blocking.
So my question would be how to better handle the select when the data required is being fetch.
Should I add a take with a timeout if the data returned by the select is empty?
I leave some examples to better understand the question.
The case 3 explains my problem. If the staticData is resolved during the select, the take would not finish ever, unless it has a timeout.
I don't know how to replicate my scenario either.

If the staticData is resolved during the select, the take would not finish ever, unless it has a timeout.

fetching staticData is asynchronous, and execution of select effect is synchronous, so select is always executed before staticData is resolved.

If I understand correctly, I translate your figures into the following code, and there is just one possible case in your scenario:
function* gen() {
  yield fork(fetch, '/staticData')
  yield fork(fetch, 'sections/profile')
  // at this point, /staticData is NOT resolved
  const questionTypes = yield select(staticData.questionTypes)
  // at this point, /staticData is NOT resolved
  yield take(STATIC_DATA_SUCC) // staticData may be resolved during waiting STATIC_DATA_SUCC
  return map(section, questionTypes)
}

If u want to fork ur requests, then you should join those tasks and make your select after the join resolves - that way it will run AFTER ur store got updated with fetched data

@shinima ah ok, so it should never happend the 3 case.
I have something like this in the fetchById, the staticData fetch is called from another action:

function* selectStaticData() {
    const staticData = yield select(state => state.staticData);
    if (!isEmpty(staticData)) {
        return staticData;
    }
    return (yield take(STATIC_DATA_SUCCEEDED)).data;
}

const mapSection = (section, staticData) => ...

export function* fetchSectionById({id}) {
    try {
        const sectionJson = yield call(SectionService.fetchById, id);
        const staticData = yield selectStaticData();
        const section = mapSection(sectionJson, staticData);
        yield put(receiveSection(section));
    } catch (err) {
        yield put(handleError(err));
    }
}

@NormanPerrin this seems good me.


Feature/fix enum empty bug

Fixed the bug. The selector have an empty option, when use enum and the default value is 0 or false or ''.
Reasons for making this change
[Please describe them here]
Fixed the bug. The selector have an empty option, when use enum and the default value is 0 or false or ''.
Checklist

[ ] I'm updating documentation

[ ] I've checked the rendering of the Markdown text I've added

[x] I'm adding or updating code

[ ] I've added and/or updated tests
[ ] I've updated docs if needed
[x] I've run npm run cs-format on my branch to conform my code to prettier coding style

[ ] I'm adding a new feature

[ ] I've updated the playground with an example use of the feature

@huhuaaa Can you explain what issue you are solving? When the default value is 0 or false or "", what do you expect the dropdown to look like?
When the default value is "" or false or "" for me, it looks like this:

Yes, i use "typeof default === 'undefined'" to check the default value.

Why would we not want to have an empty option when the default is 0 or false or ''?

Yes, when the default is 0 or false or '' , we need an option. But i think an empty option is not the best one.  And there's another bug here，i set enum = [0,1] and enumNames = ['zero', 'one'] , the empty option also showing. This result is not i expected.
code sample

Oh, I see, so this is solving #1177

@huhuaaa Can you add some tests for this?

OK

I had commited the tests.


generator.getSVG(...) strange behaviour (viewport/layers blinking)

Something strange is happening when using generator.getSVG(documentId, layerId). Here is the movie I have captured when getting SVGs for few layers - https://www.dropbox.com/s/kqm7d5rrrhhylur/get-layer-svg.mov?dl=1. As you can see the upper PS menu is blinking and also layers for which I am getting SVGs are showing for a moment on viewport and disappear again. Moreover (it is not captured on screen) layer tree is expanding automatically, for the layers for which SVGs are retrieved. This is ONLY happening when I am calling generator.getSVG (If I comment this function call everything is fine; also I am not ingereting in PS UI, I am not selecting any layers etc.). Any idea why this is happening? I don't remember this issue on PS 14.x and Generator 2.x.
Right now I am testing on PS CC 2014.2.1 (15.2.1) and Generator 3.1.0.

For some reason svgOMG does not work for me:
svgOMG = require 'svgobjectmodelgenerator'
options =
   layerSpec: 123
   layerScale: 1
   documentId: 456
promise = svgOMG.getGeneratorSVG generator, options
promise.then(
   (data) ->
      console.log 'OK'
   ,
   (err) ->
       console.log 'ERROR
)

Promise from code above is never resolved or rejected... it just hangs forever
And following code WORKS (printing 'OK'):
promise = generator.getSVG 456, 123
promise.then(
   (svg) =>
      console.log 'OK'
   ,
   (err) =>
      console.log 'ERROR
)

I am using generator-core 3.1.0 and svgobjectmodelgenerator "git+https://github.com/adobe-research/svgObjectModelGenerator.git#release-0.2
Any ideas what might be wrong?

@alekbarszczewski The bug/problem in the last comment should probably be filed in the adobe-research/svgObjectModelGenerator repo
Also, I'm going to change this issue to being a feature request to bring svgOMG into generator-core (which we should do, and which should solve the original problem).


Added event for the default rule create hidden file or directory

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind documentation

/kind tests

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area commands

/area pkg

/area events

What this PR does / why we need it:
Added an event for the default rule create hidden file or directory as mentioned here
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: GLVSKiriti
Once this PR has been reviewed and has the lgtm label, please assign fededp for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/area events

Similarly I tested it by enabling this rule in rules file as by default it is disabled
But just a general doubt why 4 notice logs are produced in terminal instead of 1 log?

Similarly I tested it by enabling this rule in rules file as by default it is disabled. Producing notice log as expected on left terminal

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: GLVSKiriti, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Added a new hook useObjectArray with many utility functions that is a…

Description

Added a new hook useObjectArray with many utility functions that is available to be used at all places where we have an array of objects.
Type of change

[] 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 before)

Checklist

[x] Read the Contributing Guide
[x] Perform a code self-review
[x] Comment the code, particularly in hard-to-understand areas
[x] Add documentation
[x] Add hook's story at Storybook
[x] Cover changes with tests
[x] Ensure the test suite passes (yarn test)
[x] Provide 100% tests coverage
[x] Make sure code lints (yarn lint). Fix it with yarn lint:fix in case of failure.
[x] Make sure types are fine (yarn lint:types).

yes


Delete df feature

Adds a memory quota that tracks the memory consumption of each user. The default value is 5 MB and is set in the config.toml.
Authentication must be enabled for memory quotas to work.
Deletion of a dataframe releases the memory it consumed for the user who created it. Dataframes can be deleted by either the data owner or the data scientist that created the dataframe.
A notebook called memory_quotas is added in tutorials, it describes memory_quotas and how to delete dataframes. The python server is modified to support authentication for this notebook. However, since the python server is still based off the last available release, the deserialization of the policy fails. This will be fixed by a new release of the python server.

The test notebook fails because of the changes I made to the python server to add authentication. It passes an argument to enable authentication and the test notebook expects no arguments.

Don't merge this, I need to improve the tutorial.


collect/store data for "scenarios"

A "scenario" is a particular combination of factors that are present in a match.
We want to store the count of matches where this happens, and the number of matches that were wins.
Examples
For the following: How often does this happen and what is the winrate when it does?

Hero: Earthshaker is picked
Hero + Item: Earthshaker buys a blink dagger at any point
Hero + Item + Time: Earthshaker buys blink dagger before 10 minutes.
Hero + Stat: Earthshaker gets 10 kills
Hero + Lane: Earthshaker goes mid
Hero + Item + Tier: Earthshaker buys blink dagger in a Herald game

Design

We would want to add a new postgres table called "scenarios" with the following columns:

hero
item
lh10 (and another column for each stat we might want to use in a scenario)
time (in seconds, as a before condition)
games
wins

After each parsed match, as part of the insertion step, evaluate the list of conditions (they will be "true" or "false" for each match and "won" or "lost") and increment the counts accordingly.

If "true" and "won", increment both games and wins
If "true" and "lost", increment games but not wins
Otherwise, ignore

We can assemble a list of conditions to check by permuting a list of items with cost over 2000 (as an example) and heroes, and adding any additional scenarios such as LH10 that we might care about.
Eventually we should be able to establish a list of conditions with high winrates, as well as allow users to query for scenarios involving certain heroes/items/etc. and discover what the winrates for those scenarios are.
Considerations:
We might need to do something to avoid duplicating inserts if the match is requested for reparse.  Possibly only do this if the source is scanner.
Since this step might be somewhat expensive, we may want to implement this logic as a new service, and have the parse insertion randomly push match IDs into a redis list.  The new service can consume this list as a queue, request the match object (using buildMatch) and do the scenario checks on that.

this sounds like a great epic.
some suggestions...

i think keeping track of the games where the scenario isn't met is still a somewhat valuable metric. this would could give us an insight on how difficult it is to pull something like that off or ratio at which the scenario occurs in the wild.
MMR might also be interesting to track in buckets(or mmr groups) so we can check if MMR plays a role in the success of a certain scenario

a "base" scenario consisting of just hero_id and no other columns could serve as a value to divide against.  That would always evaluate to true for a match that contained that hero.
MMR data is slowly drifting out of date since the ranked change, but we could do something similar with rank tier.

that sounds great. would love to work with you on some parts of this feature

For An Help i like to know, how i coverse my 2500 win and 5k match 8k hour
play to Medel Rank like Archone Or Legend, I Never Play Dota Seriously For
MMR And in the End I found Myself @ 1/2 medels, where my 22 lvl id got
legend :o ANy Way to fix the medel dota give to my original id?
On Wed, Dec 27, 2017 at 3:11 PM, Maru de Vera<EMAIL_ADDRESS>wrote:

that sounds great. would love to work with you on some parts of this
feature
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/odota/core/issues/1575#issuecomment-354081144, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Ag_7QwGz2e6AWFZ1raAkciR0rWeDbX-pks5tEgnXgaJpZM4Q4_JZ
.


opensci, sciencecore: add SCHOOL specific profile

See https://2i2c.freshdesk.com/a/tickets/1454. Profile change only; self-merging

@jmunroe in case you observe issues with bucket permissions for user servers started after this PR merged, I've redeployed #3932 rebased on main with this merged in it, making the added bucket functionality come back.


fix image styles in article pages

Details

We published the The Free Plan article but noticed we didn't have the correct configuration for images. cc @johncschuster
Fixed Issues

$ https://github.com/Expensify/Expensify/issues/238904
Tests

Pre-requisites (only in dev):
In order to run the site locally you would need ruby and bundler installed in your machine, more info here.
Then just execute the following commands in your command-line:
cd docs
bundle install
bundle exec jekyll serve

And open http://localhost:4000/ in the browser.
Steps:

Navigate to The Free Plan article (http://localhost:4000/articles/send-money/The-Free-Plan in dev, https://help.expensify.com/articles/send-money/The-Free-Plan in production)
Verify the images are displayed correctly in all screen sizes.

[x] Verify that no errors appear in the JS console

QA Steps

Follow the steps from the Test section (This can only be tested on production, there's no staging server for the Expensify Help).

[ ] Verify that no errors appear in the JS console

PR Review Checklist

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots

Web

https://user-images.githubusercontent.com/6829422/197892593-54922f1c-a187-4f8b-8dc9-3f96ddc64e07.mov
Mobile Web - Chrome

https://user-images.githubusercontent.com/6829422/197898307-d17c61c7-7569-460a-a320-76d7c5b8babb.mov
Mobile Web - Safari

https://user-images.githubusercontent.com/6829422/197898547-3acfdaac-367d-4694-968e-28d084967f31.mov
Expesify Help only works on web.

Don't have the bandwidth right now, could you unassign me, please?

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @Luke9389 in version: 1.2.21-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @Julesssss in version: 1.2.21-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


first version of datasets inventory

It would be good to add a script description at the top of the file (module docstring).
Minor cosmetic changes. Standard library imports should be placed at the top, and related third-party imports (from pip) should come after them, separated by empty lines:
"""Speakleash datasets inventory"""
import os
from speakleash import Speakleash
from termcolor import colored

The variable total_size_mb is used for summing up the size_mb values, but there are no other places where it is used, for example: printing outside the loop as the final value.


Feature request - support --profile (consistency with aws cli)

In order to switch a profile, in aws cli one can either use environment variables or use the --profile parameter. For consistency it would be nice if cdk cli would have the same support.

Duplicate of #480.

How do you use this option? These commands both result in the default profile being quietly used instead of the specified my-profile:
cdk --profile my-profile deploy
cdk deploy --profile my-profile

Meanwhile this works using the same profile:
AWS_PROFILE=my-profile cdk deploy

Version: 0.8.2 (build 934ca5f)

Can you post a trace of running with -v?

@rix0rrr I tested now with AWS CDK version 0.18.1 (build 9f7af21) and it's working correctly with cdk --profile my-profile, thanks.


Browser build does not start

If i open the index.html File, I only get an Load circuit.
.

@Sqorx we have moved the web wallet out into its own repo. it has an updated readme with more details as to how to run it there. you will need to run a simple python HTTP server in order to serve the site.
https://github.com/mymonero/mymonero-web-js.
If you still having issues after running the HTTP server I can assist you further.


Problems with functioning for Dart.

First of all, I would like to start by thanking the contributors for their work, this extension is very useful.
Depending on your availability, I would like to point out that, at least in my virtual environment, I could not implement Dart functionality. I'm using a Linux based Ubuntu, Zorin 16 Core. According to the guidelines, I made the following command in the terminal: "which dart", the following path was returned: /usr/bin/dart. When I set this path to the extension and then run the code, I get the following error: "/bin/sh: line 1: /usr/bin/dart: No such file or directory". However, when I try to open this file in the terminal it works as it should.
I already uninstalled and installed dart. I'm in version: Dart SDK version: 3.0.6 (stable) (None) on "linux_x64"
If I'm doing something wrong, please let me know, and I'm sorry for opening a question about something frivolous.

I am experiencing the same issue. I am using macOS with an M1 core. However, I do not have Ttemp_1716182236133.dart in my directory. It seems that the backslash before the T is missing because /T does exist, and based on naming conventions, this appears to be the case. I hope this issue gets resolved soon.

You should use the full path of dart:
For example:E:/SDK/Dart_Stable_3.4.1/bin/dart.exe
@ArthurValada


ajv-cli can't see regex format in ajv-formats

Not sure if this is something I'm doing wrong, or an issue in ajv-formats, or ajv-cli...?
I have:
$ npm -g list
/usr/local/lib
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
(and no local packages)
When I run as:
ajv -s ... -m ... -d ...

I get lots of unknown formats, as expected (I guess).
When I run add -c ajv-formats as:
ajv -c ajv-formats -s ... -m ... -d ...

I still get the following unknown formats:
unknown format "uri-reference" ignored in schema at path "#/properties/%24id"
unknown format "uri-reference" ignored in schema at path "#/properties/%24id"
unknown format "uri" ignored in schema at path "#/properties/%24schema"
unknown format "uri" ignored in schema at path "#/properties/%24schema"
unknown format "uri-reference" ignored in schema at path "#/properties/%24ref"
unknown format "uri-reference" ignored in schema at path "#/properties/%24ref"
unknown format "uri-reference" ignored in schema at path "#/properties/%24recursiveRef"
unknown format "uri-reference" ignored in schema at path "#/properties/%24recursiveRef"
unknown format "uri" ignored in schema at path "#/properties/%24vocabulary/propertyNames"
unknown format "uri" ignored in schema at path "#/properties/%24vocabulary/propertyNames"
unknown format "regex" ignored in schema at path "#/properties/patternProperties/propertyNames"
unknown format "regex" ignored in schema at path "#/properties/patternProperties/propertyNames"
unknown format "regex" ignored in schema at path "#/properties/pattern"
unknown format "regex" ignored in schema at path "#/properties/pattern"

I can see those formats are defined in the installed ajv-formats module. Is there some reason they wouldn't be being recognised by ajv-cli?
Thanks! 🙂

There is an (almost) undocumented -c option (you need to know what to look for to find it). To enable format support, add -c ajv-format to the command line. I discovered that on https://stackoverflow.com/questions/66355820/how-to-make-ajv-cli-to-consider-formats (but first I gave up and I wrote my own CLI).
Obviously, it's still a bug. The default behavior should be functional. I like that AJV is strict by default, that's such a great contrast to other validators! So let me suggest this behavior:

If ajv-format is installed and format checks are not disabled, use ajv-format.
If ajv-format is not installed and format checks are not disabled, display a warning and disable format checks.
If format checks are disabled, don't use ajv-format unless forced by the -c option.

Thank @proski. Yep, as explained above, I am already using -c ajv-formats, which does help - without it, I also get warnings about unknown formats uri and uuid, eg:
ajv -s ... -m ... -d ... 2> without.txt
ajv -s ... -m ... -d ... -c ajv-formats 2> with.txt
diff without.txt with.txt

15,20d14
< unknown format "uri" ignored in schema at path "<redacted>/properties/schema"
< unknown format "uri" ignored in schema at path "<redacted>/properties/schema"
< unknown format "uuid" ignored in schema at path "#/properties/<redacted>"
< unknown format "uuid" ignored in schema at path "#/properties/<redacted>"
< unknown format "uri" ignored in schema at path "#/properties/<redacted>"
< unknown format "uri" ignored in schema at path "#/properties/<redacted>"

So it helps, but doesn't solve the problem. I'm using the (current) latest versions from npmjs:
├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
And the ajv-formats docs specifically says it defines the uri, uri-reference and regex formats, so still not sure what I'm doing wrong.
Thanks! 🙂

Sorry, I came to this page looking for my issue and neglected to read it carefully!
In my case, ajv-cli complains about formats in the schema I specify on the command line. In your case, it appears that ajv-cli is complaining about formats in the meta-schema while validating your schema.
I cannot reproduce your issue even if I downgrade ajv to version 8.6.2 (the current version is 8.11.0).
I suggest that you upgrade ajv anyway and retry. I'm afraid you removed too much context for others to reproduce this issue. Maybe you could make a minimal case and post it as is?
I'm posting the script I wrote as a replacement for ajv-cli with one change, it disables schema validation. See if it makes any difference for you. Try replacing false with true to see if it makes any difference.
#!/usr/bin/env node

// Validate JSON document against JSON schema.
//
// Run "npm install ajv ajv-formats" to install the dependencies.
//
// Usage: validate_json_schema schema document

"use strict";

const fs = require("fs");
const Ajv = require("ajv");
const ajv = new Ajv({validateSchema: false});
const addFormats = require("ajv-formats");

addFormats(ajv);

if (process.argv.length !== 4) {
    console.log("Usage: validate_json_schema schema document");
    process.exit(2);
}

const schema_file = process.argv[2];
const schema = JSON.parse(fs.readFileSync(schema_file, "utf-8"));
const validator = ajv.compile(schema);

const document_file = process.argv[3];
const document = JSON.parse(fs.readFileSync(document_file, "utf-8"));

if (validator(document)) {
    console.log("Valid file");
    process.exit(0);
} else {
    console.log(validator.errors);
    process.exit(1);
}

In your case, it appears that ajv-cli is complaining about formats in the meta-schema while validating your schema.

That's an interesting observation. Indeed, the schemas and metaschemas all validate fine on their own, its only when they're used to validate sample data that the issue occurs. A minimal test case will likely help.

the current version is 8.11.0 ... I suggest that you upgrade ajv anyway and retry.

The ajv-cli version I'm using already includes ajv 8.11.0
├─┬<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>

you removed too much context for others to reproduce this issue. Maybe you could make a minimal case and post it as is?

Yep, if there's no obvious problem (ie it should work via -c ajv-formats), then I'll strip it down to bare-minimum, and share the result.
Thanks again 🙂

Ah, ok, I've found the problem... I have a recursive meta-schema, which (based on Draft 7 capabilities) stated it's $schema property as itself, like:
{
  "$id": "https://example.com/meta",
  "$schema": "https://example.com/meta",
  ...
}

Which worked fine (for the limitation so of the time). But, when updating to drafts 2019-09 (and then 2020-12), and using the new $recursiveAnchor ($dynamicAnchor in 2020-12) and $vocabulary keywords, it became like:
{
  "$id": "https://example.com/meta",
  "$schema": "https://example.com/meta", # <- this was the problem.
  "$dynamicAnchor": "meta",
  "$vocabulary": {
    "https://json-schema.org/draft/2020-12/vocab/core": true,
    "https://json-schema.org/draft/2020-12/vocab/applicator": true,
    "https://json-schema.org/draft/2020-12/vocab/validation": true,
  },
  "allOf": [
    {"$ref": "https://json-schema.org/draft/2020-12/meta/core"},
    {"$ref": "https://json-schema.org/draft/2020-12/meta/applicator"},
    {"$ref": "https://json-schema.org/draft/2020-12/meta/validation"},
  ],
  ...
}

Which meant that, for this meta-schema, ajv was seeing the formats in the vocabularies, but actually had no definition for those formats in the context of this meta-schema, as the schema itself had not included the dynamic-anchor source.
So, at least for draft 2019-09 and 2020-12 recursive meta-schemas, the $schema should be the canonical draft schema URI.
Big thanks to @proski for helping me work this one through! 😄


fix : add missing usr/bin into plugin discover path

to maintain backward compatibility, add missing usr/bin and usr/local/bin paths in plugin discovery

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 77.733%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
7785

Relevant Lines:
10015

💛  - Coveralls