Incompatibility with play-services-auth 21.0.0 and google_sign_in_android 6.1.22

Describe the bug
I can't compile my (android) app in release mode after upgrading google_sign_in_android to 6.1.22.
I get errors (10+) like:
[   +1 ms] Missing class com.google.android.gms.auth.api.credentials.CredentialPickerConfig$Builder (referenced from: void fman.ge.smart_auth.SmartAuthPlugin.requestHint(io.flutter.plugin.common.MethodCall, io.flutter.plugin.common.MethodChannel$Result))
To Reproduce
Steps to reproduce the behavior:

Have both smart_auth and google_sign_in_android latest versions in a flutter project with android
flutter build apk --release --verbose

Screenshots
N/A
smart_auth version: 2.0.0
Result of: flutter doctor --verbose

[√] Flutter (Channel stable, 3.19.3, on Microsoft Windows [Version 10.0.22621.3296], locale el-GR)
    • Flutter version 3.19.3 on channel stable at c:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ba39319843 (3 weeks ago), 2024-03-07 15:22:21 -0600
    • Engine revision 2e4ba9c6fb
    • Dart version 3.3.1
    • DevTools version 2.31.1
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at [reducted]
• Platform android-34, build-tools 34.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
• Java version OpenJDK Runtime Environment (build 17.0.7+0-b2043.56-10550314)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.7.0)
• Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
• Visual Studio Community 2022 version 17.7.34003.232
• Windows 10 SDK version 10.0.22621.0
[√] Android Studio (version 2023.1)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.7+0-b2043.56-10550314)
[√] VS Code (version 1.87.2)
• VS Code at [reducted]
• Flutter extension version 3.84.0
[√] Connected device (3 available)
• Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22621.3296]
• Chrome (web)      • chrome  • web-javascript • Google Chrome 123.0.6312.59
• Edge (web)        • edge    • web-javascript • Microsoft Edge 120.0.2210.133
[√] Network resources
• All expected network resources are available.
• No issues found!

Smartphone (please complete the following information):

Device: Android Emulator
OS: Android API 33

Additional context
So, going through the release notes, google_sign_in_android says they upgraded play-services-auth to 21.0.0 (url)
The release notes of play-services-auth say that there is a major breaking change: they removed Credentials API! (https://developers.google.com/android/guides/releases#february_15_2024)
The settings.gradle of this plugin I see it depends on play-services-auth 20.7.0 (https://github.com/Tkko/flutter_smart_auth/blob/be97b1bcfb3169d90ab5792393afea574d964630/android/build.gradle#L56)
I guess 21 is preferred over 20.7 during compilation, so no wonder why those classes mentioned in the error log can not be found.
This is why I think this is worthy of a bug report for smart_auth: can you please support the new Credential Manager API?

Did you implemented the Credential Manager API?

Hi @Tkko @gourgouris  i am ready to take up this issue but before that i want some more info about this that with the latest version we get something known as GetPhoneNumberHintIntentRequest.builder() which is completely different from the previous versions, whats you take on this ? Like i want to know your views on this

Same issue:
R8 Missing Classes Error in Release Build: Google Play Services Credentials API
Flutter Version
Flutter 3.24.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 2663184aa7 (6 days ago) • 2024-09-11 16:27:48 -0500
Engine • revision 36335019a8
Tools • Dart 3.5.3 • DevTools 2.37.3

Error Log
ERROR: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in build/app/outputs/mapping/release/missing_rules.txt.

Missing class com.google.android.gms.auth.api.credentials.Credential$Builder (referenced from: com.google.android.gms.auth.api.credentials.Credential fman.ge.smart_auth.SmartAuthPlugin.maybeBuildCredential(io.flutter.plugin.common.MethodCall, io.flutter.plugin.common.MethodChannel$Result))
Missing class com.google.android.gms.auth.api.credentials.Credential (referenced from: com.google.android.gms.auth.api.credentials.Credential fman.ge.smart_auth.SmartAuthPlugin$onGetCredentialRequest$1.$credential and 13 other contexts)
Missing class com.google.android.gms.auth.api.credentials.CredentialPickerConfig$Builder (referenced from: void fman.ge.smart_auth.SmartAuthPlugin.requestHint(io.flutter.plugin.common.MethodCall, io.flutter.plugin.common.MethodChannel$Result))
Missing class com.google.android.gms.auth.api.credentials.CredentialPickerConfig (referenced from: void fman.ge.smart_auth.SmartAuthPlugin.requestHint(io.flutter.plugin.common.MethodCall, io.flutter.plugin.common.MethodChannel$Result))
Missing class com.google.android.gms.auth.api.credentials.CredentialRequest$Builder (referenced from: void fman.ge.smart_auth.SmartAuthPlugin.getCredential(io.flutter.plugin.common.MethodCall, io.flutter.plugin.common.MethodChannel$Result))
Missing class com.google.android.gms.auth.api.credentials.CredentialRequest (referenced from: void fman.ge.smart_auth.SmartAuthPlugin.getCredential(io.flutter.plugin.common.MethodCall, io.flutter.plugin.common.MethodChannel$Result))
Missing class com.google.android.gms.auth.api.credentials.Credentials (referenced from: void fman.ge.smart_auth.SmartAuthPlugin.deleteCredential(io.flutter.plugin.common.MethodCall, io.flutter.plugin.common.MethodChannel$Result))
Missing class com.google.android.gms.auth.api.credentials.CredentialsClient (referenced from: void fman.ge.smart_auth.SmartAuthPlugin.deleteCredential(io.flutter.plugin.common.MethodCall, io.flutter.plugin.common.MethodChannel$Result))


[Bug]: Capitalization related issues

Description
Capitalization of words causing issues:

May cause issues currently if it goes out of sync.
May cause shift keys to remain pressed, need to be "unpressed" by repressing using user input.

Might make more sense to use something like the type function https://pynput.readthedocs.io/en/latest/keyboard.html#controlling-the-keyboard

caps lock and shift are not working properly together at this stage.


Crash in the SpanAttributesProvider.mm file

Crash file is attached
Crash.docx

Hi @AniHovhannisyanAni - thanks for raising this with us. We're investigating and will keep this thread updated 👍

Hi @AniHovhannisyanAni, just to let you know we have fixed this in v0.5.0.
Thanks again for raising. Do let us know if you see any further issues.

Hi @johnkiely1 , thank you so much!


Assets in production use for Rack based application

I have this snippet in config.ru
sprockets = Sprockets::Environment.new
sprockets.append_path 'app/assets/images'
sprockets.append_path 'app/assets/stylesheets'
sprockets.append_path 'app/assets/javascripts'

run Rack::URLMap.new \
  "/"       => App,
  "/assets" => sprockets

What should I do next to access some methods, for some helpers like assets_path of images in css files? And what about production processing?

That looks like a fine start.
First checkout environment.context_class.
sprockets.context_class.instance_eval do
  include MyHelpers
  def asset_path; end
end

For static compiling, you can do something like:
sprockets['application.js'].write_to('public/application.js')


Set up Jenkins job to build pipeline

We can use the Phenoscape pipeline-tools docker container for this. I don't think there's any need to create a separate one for this project. We can revisit that later though if they need to diverge.

This is complete.


Ipopov/fix vadim tests

Fixed broken tests.

 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.:x: IgorPopov-MS sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


RAS-272 Outputting the response chasing report as a csv as well as xlsx

What and why?
Add csv download option to response chase report.
How to test?
You will need this PR and the one for reporting run locally or on GCP.  You will also need to seed some data or run the acceptance tests (if using acceptance, make sure you put enrol some extra respondents, as one user in one business is not overall reliable to test the functionality) Once you have done this make sure the report works as expected
Trello

/deploy robinm3

/deploy robinm3

/deploy robinm3

/deploy scorfs


chore: update responses icon alignment

Summary | Résumé
Update alignment for responses in the left navigation

Before
After

Test instructions | Instructions pour tester la modification

Check alignment for responses icon in the left nav

Pull Request Checklist
Please complete the following items in the checklist before you request a review:

[x] Have you completely tested the functionality of change introduced in this PR? Is the PR solving the problem it's meant to solve within the scope of the related issue?
[x] The PR does not introduce any new issues such as failed tests, console warnings or new bugs.
[ ] If this PR adds a package have you ensured its licensed correctly and does not add additional security issues?
[ ] Is the code clean, readable and maintainable? Is it easy to understand and comprehend.
[ ] Does your code have adequate comprehensible comments? Do new functions have docstrings?
[ ] Have you modified the change log and updated any relevant documentation?
[ ] Is there adequate test coverage? Both unit tests and end-to-end tests where applicable?
[ ] If your PR is touching any UI is it accessible? Have you tested it with a screen reader? Have you tested it with automated testing tools such as axe?

OMG you're the best


[FLINK-21935] Remove 'state.backend.async' option

What is the purpose of the change
Removes the state.backend.async option and makes all state snapshots asnchronous by default.
Brief change log

Removes the flag for async snapshots from the HashMapStateBackend and related examples and tests. This code was not released before, so this change is not breaking any backwards compatibility.
Ignores the flag for async snapshots in the MemoryStateBackend and FsStateBackend and always uses async snapshots. This change does not break any API. Methods and constructors are changed to ignore the flag, JavaDocs updated.
Deprecates the ConfigOption for state.backend.async.

Verifying this change

Existing tests are adjusted.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

@Myasuka I've updated the pydoc in state_backend.py in #15441

@sjwiesman From what I see, you updated the pydoc to mention that the old state backends are deprecated. I think @Myasuka was referring to update the docs that the async flag is no longer taking any effect and that snapshots are always asynchronous.

@sjwiesman Yes, what actually I meant is those pydoc about is_using_asynchronous_snapshots is actually out of date after this PR.


Prototype of an option to tag child images when publishing multi platform

a PoC for the issue I reported here: #3518

@robert-csdisco We periodically close unnecessary pull requests in our repositories. I might be missing context of this pull request. Do you still need this pull request?

@robert-csdisco We periodically close unnecessary pull requests in our repositories. I might be missing context of this pull request. Do you still need this pull request?

It's a PoC for the issue I reported here: https://github.com/GoogleContainerTools/jib/issues/3518

Thank you for explanation. I edited the title/description.

@robert-csdisco Thank you for waiting! We think that this is a helpful feature to have. Can you sign the CLA and we can start reviewing your PR?

@mpeddada1 I used the wrong account to push this. Closing this and the new PR is located here: https://github.com/GoogleContainerTools/jib/pull/3523


Leverage pre-commit for linting

PR Checklist

[x] A description of the changes is added to the description of this PR.
[ ] If there is a related issue, make sure it is linked to this PR.
[ ] If you've fixed a bug or added code that should be tested, add tests!
[x] Documentation in docs is updated

Description of changes
Simplify local development setup by leveraging pre-commit. The advantage is that once installed, the different tools will run on every commit, making it easier to not forget to run linters/formatters locally.
pre-commit is used across a variety of open-source projects, so this is a commonly used tool that many Python open-source contributors already know.

Tested, and works like a charm. Thanks for your contribution!


Add support to multiple languages

This PR add support to multiple languages. To add a new language, you need to execute 3 steps: 1) Add a folder in /resources/lang/{ISO-CODE} with the translation files; 2) Add an image in public/img/{SIO-CODE}-flag.png and 3) Add the iso code in the /config/app.php ['languages'] array.
I also created the package to suport portuguese from Brazil (br) and translated it. you can see an example here: http://www.webunion.com.br/laravel5-blog/
Sorry, my english is horrible!

Hello @bestmomo, thanks for your review. All changes are made.

Hello,
I've just added some changes.


zoomEnabled and runJavascriptReturningResult option is missing

The webview_flutter plugin has zoom option 'zoomEnabled' and 'runJavascriptReturningResult' for Run JavaScript in the context of the current page, and returns the result.
And I appreciate your great work you saved my day.

Please upgrade to the new version 3.0.1 + 2


Missing Obb Folder Has Been Finally Found!

I Have Finally Found Where The Obb Folder For Those Who Got The "Missing Obb Folder" Problem After Installing The Library!
It's In: /data/media/0/android (You Have To Be Rooted)
But There Is Something, You Can't Let The Game Access That Obb Folder, So The Game Won't Run, If Anyone Has A Way To Make The Game Access To The New Obb Folder (/data/media/0/android), I Would Appreciate It!

I Have Finally Found Where The Obb Folder For Those Who Got The "Missing Obb Folder" Problem After Installing The Library!
It's In: /data/media/0/android (You Have To Be Rooted)
But There Is Something, You Can't Let The Game Access That Obb Folder, So The Game Won't Run, If Anyone Has A Way To Make The Game Access To The New Obb Folder (/data/media/0/android), I Would Appreciate It!

@a7md8762 Have you tried creating symlink for it?

I Have Finally Found Where The Obb Folder For Those Who Got The "Missing Obb Folder" Problem After Installing The Library!
It's In: /data/media/0/android (You Have To Be Rooted)
But There Is Something, You Can't Let The Game Access That Obb Folder, So The Game Won't Run, If Anyone Has A Way To Make The Game Access To The New Obb Folder (/data/media/0/android), I Would Appreciate It!

@a7md8762 Have you tried creating symlink for it?

No, I didn't unfortunately, But can you even symlink it? If so, that would fix must of the problems we are facing.
Also, I think I have deleted everything related to Genymotion as I moved to using emulators on Windows.


Release version is not read from all possible cluster app config values

Bug
From @AverageMarcus:

Hey friends, I have an issue with the latest (2) update of cluster-aws that bumped the cluster sub-chart. When I merged in the change I'm now getting the following error with the Kustomization on gazelle:
App/org-team-tinkerers/cicddev apply failed: admission webhook "apps.app-admission-controller.giantswarm.io" denied the request: cluster app user config not set error: Cluster App 'org-team-tinkerers/cicddev does not have the user config

Any hints on what I need to do? There's nothing in the changelog for cluster-aws

Here cluster app config is set under App .spec.config like this:
spec:
  catalog: cluster
  config:
    configMap:
      name: ${cluster_name}-config
      namespace: org-${organization}

And app-admission-controller mutation code was reading only .spec.userConfig.
Fix
Expected behaviour in Giant Swarm app platform is that App's config can come from multiple places, so both .spec.config and .spec.userConfig are correct, as well as .spec.extraConfigs.
The fix here is to properly read and merge all App's configs, and only then read release version. @mcharriere has described here how we can achieve this.

@nprokopic Has this actually been released yet? The Kustomization is still broken on gazelle 😕


Comment wrapping

Description

[x] Source branch in your fork has meaningful name (not master)

Fixes Issue:
#1641
Before Merge Checklist
These items can be completed after PR is created.
(Check any items that are not applicable (NA) for this PR)

[x] JavaScript implementation
[x] Python implementation (NA if HTML beautifier)
[x] Added Tests to data file(s)
[x] Added command-line option(s) (NA if
[x] README.md documents new feature/option(s)

@HanabishiRecca
If you have a minute to look this over, that'd be great.

Comments formatting? I don't think this is a good idea because

Comments can be used for some decorative purposes. This means content must stay untouched.
Example:

<!--
                ._______________.
                |               |
                |   ATTENTION   |
                |_______________|

Please, keep the code clean, don't use things like this
<style>.a{}.b{}.c{}.d{}</style>

Use formatting!
<style>
    .a {}
    .b {}
    .c {}
    .d {}
</style>
-->

Using html comments inside the script and style blocks is a very bad practice.

So I think best way is completley ignore comments.

@HanabishiRecca
Ah, I should have provided context.
Yes, putting html comments in style and script is not recommended,  but it is supported and people do it.  😭
I see your point about not formatting what is inside comments.
However, when they are used inside script and style tags, they have specific and well defined behavior and the stuff inside the comment needs to be treated as style or script of the appropriate type:
https://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.3.2
https://www.w3.org/TR/CSS21/syndata.html#comments
This change doesn't perfectly model those two specification, but it is better and cleaner than what is there now, fixing #1641.  It also fixes the html tokenizer to correctly handle this input (which it would fail on before):
<script>
    <!--
    var a = "</script>";
    // before this change the html beautifier would think that the script tag ended on the line above
    -->
</script>

@bitwiseman, I just think this is not necessary. Because we can't recognize what exactly in the comment section. For people with a such bad style (why just not to move this code to the external js file?) I don't think they care about this.
So I suggest of course detect comments (to avoid var a = "</script>"; situations) but really ignore insides.

CDATA is another complicated case. For example I can do
alert(/*<![CDATA[*/'<!-- This will be the real js string, not a comment -->'/*]]>*/);

Any random insertions will be syntatically valid
var a =
//<![CDATA[
'<!-- bla -->'
//]]>
;
alert(a);

etc.
So I don't think we want to mess with all this s**t :sweat_smile:

This change only effects the one case where you have <script> or <style> followed immediately by a <!-- or <![CDATA[.   All other cases, including your last examples, are unaffected.
We already do support beautifying this:
<script>
    <!--
    var a = "Hello, world.";
    -->
</script>

I understand that you believe that we should not support this, but that isn't an option.  This change makes the existing feature more robust and makes it work for style tags as well.  Do you have any comments/suggestions on the code?

@HanabishiRecca
On a related topic - Would you like to be involved in triaging features and fixes?  Mostly I've been making those choices and putting items that pass the bar or are higher priority into the current milestone.  If you'd like to be more involved, I'm happy to discuss that, but understand there's a lot of history to consider.

This change only effects the one case where you have <script> or <style> followed immediately by a <!-- or <![CDATA[. All other cases, including your last examples, are unaffected.

Oh, ok then.

Would you like to be involved in triaging features and fixes?

Unfortunately I don't have enough time to serious dive in development.

@HanabishiRecca

Unfortunately I don't have enough time to serious dive in development.

Okay, cool.  I want to make sure that you know I am open to input and collaboration in general and that I value your feedback.


feat: add unsafeCache option to speed up recompile times

Issue
Recompile times seem slow in cea-desktop. It was actually faster before upgrading react-scripts
Solution
After digging in the depths of several Github issues and threads, I discovered that unsafeCache was on by default in Webpack 4, but turned off by default in Webpack 5.
Adding the option back sped up rebuild and hot reload time significantly
Visuals
Before making any changes, re-compiling and hot reloading a change to a simple label was consistently around 6-8 seconds.
Once I enabled the setting, the time dropped to 3-5 seconds.

Before
After

@HumbertoL GH Actions are not passing because it cannot find login.main.js. Seems like an odd error.


Add DatArchive#checkout() method

Currently, if you want to access a specific revision of an archive, you have to manipulate the URL. This snippet is an example of what this is like:
// read from latest
let vi = archive.url.indexOf('+')
if (vi !== -1) {
  archive = new DatArchive(archive.url.slice(0, vi))
}

This PR adds a checkout() method to the DatArchive which makes it easy to do this. If no number is passed in, you will get latest. Examples:
var v5 = archive.checkout(5) // get revision 5
var latest = archive.checkout() // get latest
await archive.checkout(5).readdir('/') // read the files listing at root of revision 5

Anybody object to this addition to the DatArchive API?
When more sophisticated version controls (like checkpoints) are added, this method will have to be expanded to support them

sweet!

LGTM!

Response has been good so I'm merging


Reenable mypy test in PRs

With tsuyoshicho/action-mypy#38 implementing some sort of workaround, it is now possible to re-enable the commented-out mypy test section, and check if it works fine.

Confirmed workaround is fine with commit c1480611b4115e12f3c3b6ee5acb6e405c901783 and commit 4f744a66f5b8e778371ee4c611c4951f2ee8ce8d


Improve cancellation checks for CompressedRelationReader

Improves the placement of cancellation checks slightly to avoid spamming the console with warnings.

I still don't think that there was something wrong here. Timeout checks that appear to be in CompressedRelation.h are typically a symptom of timeout check failures in other operations when the evaluation is lazy.


test: prep facet test suites for cypress 12 migration

Improve test isolation by migration before setup to beforeEach where possible for some facet test suites (more to follow in followup PR).
https://coveord.atlassian.net/browse/KIT-2356

1 test failure (unrelated to changes in this PR)
 1) Color Facet Test Suites
       when selecting the "Show more" button
         when selecting the "Show less" button
           verify analytics
             should log the facet show less results to UA:

      AssertionError: expected { Object (language, userAgent, ...) } to have property 'eventValue' of 'showLessFacetResults', but got 'showMoreFacetResults'
      + expected - actual

      -'showMoreFacetResults'
      +'showLessFacetResults'

Couldn't reproduce failure locally (ran it multiple times in headless and headed mode).
Guess it could possibly be related to a race condition in Analytics tracker - as we the showMoreFacetResults req is made before showLessFacetResults. Have seen this test failure in other instances in CI as well.
Proceeding to merge this PR.


Restrict access to only read assets

@alessandrokonrad sorry if this question is out of scope for Lucid, but can't find the answer in anywhere cip-30-web-bridge related place.
Is it possible to only request read access? In this example, I only need read access, the user won't sign any transactions.

Hey that's Nami related. I think it depends on how the wallet implements it or wants to implement it. It's possible, but I'm not sure if the effort is worth it. In order to give full approval for a tx you still have to confirm it with your wallet.

Hey that's Nami related.

Ok, Thanks for clarifying!

In order to give full approval for a tx you still have to confirm it with your wallet.

I agree that there's no harm for the user to accept those conditions since the wallet is only asking if it can request approval, not to actually approve anything - the user has to do that. It just stuck out to me a bit, but it might just be me being paranoid.
Thanks for the answer, I'll close this issue.


Configurable Cache Interface

@equalsgibson Is this something you still want to implement/merge? Or should I just close this MR?


Save versioning and migrations

Even when the bevy_save save format is stabilized, users will need a way to migrate save files between different versions of their app.
Ideally, this should be handled transparently.

Do you have a rough architecture in mind for versioning?  I've hit the point where moving forward with bevy_save doesn't make sense without versioning.  I'm happy to spend some time on a PR, but I don't want to diverge wildly from something you already have planned.

Do you have a rough architecture in mind for versioning? I've hit the point where moving forward with bevy_save doesn't make sense without versioning. I'm happy to spend some time on a PR, but I don't want to diverge wildly from something you already have planned.

Not particularly, maybe something along these lines:
// must be dyn-safe
pub trait Migration {
  fn up(&self, ...);
  fn down(&self, ...) {
    // Default implementation does nothing
  }
}

Note that 'migrations' may be responsible for

Snapshot changes

Changing type names for components and resources
Adding or removing components from entities
Adding or removing entities
Adding or removing resources

Saver / Loader changes

Translating between different save file formats (eg JSON / Bincode / your-savefile-v1 / your-savefile-v2)
Changing save file directory structure (or table layout for databases)

Changing workspace name (affects save directory)
... other things I may have missed

I'm missing a few pieces still:
* Where does `version` sit?

  * Is it in `Snapshot`?
  * Is it in a user-defined, top-level wrapper struct containing a `Snapshot`?
  * Is it per-entity or per-component?

* Similar to the above, where do you envision users implementing the `Migration` trait?

I can see the use of a per-Component Migration, but it could get very ugly when renaming/removing components. I think that would require users to keep dead components around forever, but that may already be a problem.

Version does not belong in the Snapshot type itself
No wrapper types if we can avoid it
There would be a single global AppVersion resource that is initialized by the user
Users will likely have a module called migrations that contains many individual implementations of Migration, similar to how migrations are handled elsewhere
We definitely need the ability to migrate individual components, with both name changes and field changes

Keeping old versions of types is an inherent issue with migrations and can not be avoided. This problem can be mitigated by embedding migrated types within the migrations themselves:

struct Migration000;

impl Migration for Migration000 {
  fn up(&self, ...) {
    struct OldType {
      key: String
      value: f32,
    }

    struct NewType {
      key: String,
      value: String
    }

    todo!()
  }
}

Additionally:

Perhaps the Saver / Loader should be in charge of versioning - databases might write the version to a PRAGMA or a __bevy_save table, file IO would write to version.txt, etc

This does not solve the problem of switching between bevy_save versions or Saver / Loader implementations

Each Migration should not be limited to a single action (or a single component), this would be an ergonomic nightmare

Ok, I see now.  You’re viewing the save data as a single database that is migrated when the new version of the app is run.
I’m actually using bevy_save to write individual save files that can be loaded in any later version of the app (it’s a level editor).  My usage of bevy_save is limited to SnapshotBuilder and SnapshotSerializer directly, as the database approach used at the high-level of bevy_save doesn’t allow me to split levels and/or tilesets out to individual files.
I’m gonna think about this more to see if there’s some overlap here for versioning that I can leverage and implement.

Actually, now that I think about it some more you sre 100% right - we have no real way of discovering all of the individual snapshots to migrate when loading the App!
Using it separately is definitely something I want to support as it is currently very necessary
So "version" really belongs in the SnapshotSerializer and SnapshotDeserializer(?). It would then appear transiently as a field in the save file.

So "version" really belongs in the SnapshotSerializer and SnapshotDeserializer(?). It would then appear transiently as a field in the save file

I'm not sure if SnapshotSerializer & SnapshotDeserializer will work with the addition of &impl Migration on the deserialize size.
struct Migration000;
impl Migration for Migration000 {}

// serialize looks just fine
SnapshotSerializer::new(&snapshot, registry)
    .with_version(1)
    .serialize(&mut serializer)?;

// if the version is only available in the file and not in `Snapshot`, then we must pass
// `impl Migration` to the deserializer
let de = SnapshotDeserializer::new(&registry)
    .with_migrations([Migration000, ...]);
let snap = de.deserialize(deserializer)?;
snap.into_applier(world).apply();

// Compare that to having version in `Snapshot`
let de = SnapshotDeserializer::new(&registry);
let snap = de.deserialize(deserializer)?;
snap.apply_migrations([Migration000, ...]);
snap.into_applier(world).apply();

To me, it feels more logical for migration to be applied to the Snapshot not the Deserializer which makes me want to put version in Snapshot.
That said, if you're opposed to that, perhaps another option is for the Deserializer to return a tuple of (Snapshot, usize), with the second value being the version from the file.

So "version" really belongs in the SnapshotSerializer and SnapshotDeserializer(?). It would then appear transiently as a field in the save file

I'm not sure if SnapshotSerializer & SnapshotDeserializer will work with the addition of &impl Migration on the deserialize size.
struct Migration000;
impl Migration for Migration000 {}

// serialize looks just fine
SnapshotSerializer::new(&snapshot, registry)
    .with_version(1)
    .serialize(&mut serializer)?;

// if the version is only available in the file and not in `Snapshot`, then we must pass
// `impl Migration` to the deserializer
let de = SnapshotDeserializer::new(&registry)
    .with_migrations([Migration000, ...]);
let snap = de.deserialize(deserializer)?;
snap.into_applier(world).apply();

// Compare that to having version in `Snapshot`
let de = SnapshotDeserializer::new(&registry);
let snap = de.deserialize(deserializer)?;
snap.apply_migrations([Migration000, ...]);
snap.into_applier(world).apply();

To me, it feels more logical for migration to be applied to the Snapshot not the Deserializer which makes me want to put version in Snapshot.
That said, if you're opposed to that, perhaps another option is for the Deserializer to return a tuple of (Snapshot, usize), with the second value being the version from the file.

I really think migrations belong in the Deserializer.
This allows us to have some guarantee that once you have a Snapshot it is valid for the current version of the application.
The same reasoning is why Snapshot is immutable and you must create one via Builder. It is an attempt to make invalid state unrepresentable.
It might be a little less ergonomic like this but I don't see any reason it couldn't work.
Also, version should be a String.


Possible fixes from fork

Thanks for this great package! I forked the repo to tweak a few things to help my use case, and some of them might be useful to merge back into the master branch. I haven't submitted a PR because some of them might not be appropriate/desirable to merge, so I figured you could tell me which ones you want and I could clean up the code/add some tests  if necessary and submit a PR then.
Fork is at https://github.com/nmfisher/charsiu
Changes are:

don't require sampling rate to be explicitly provided as librosa can resample to 16000Hz when loading a file
re-instate punctuation and insert the punctuation token, rather than silence, into the phone list
downweight silence to minimize erroneous insertion of silence in the middle of a word (this should probably be a parameter rather than a hardcoded 0.1)
ignore silence where left and right phones are identical (to completely avoid inserting silence frames in the middle of consecutive frames for a single phone). This works for me right now but needs a bit more thought because if phones are intentionally repeated (e.g. "ai ai"), this will fold silence between them into the left phone, so "ai [SIL] ai") will always becomes "ai ai". Solution is probably just to pass a parameter for a minimum silence duration (so if silence is greater than X, it's presered, otherwise it's folded into the left phone).

Thank you for your help! I had undergone many changes in my life so I didn't update this repo regularly. So there changes are highly appreciated!
I think 2 is really helpful for some applications but not for others. For example, sometimes people only want to work with phonemes so punctuations are not necessary for them. Could you make it optional?
3 and 4 are really, really helpful! Thank you so much!!!
Let me know if I can help in any way. I am working on a improved model so hopefully I can also incorporate your features in the new models. But that might take a few months to complete :)

Firstly, I would like to express my gratitude for the development of such an excellent tool. During my testing using L2 Mandarin speech, it became clear that these speakers tend to speak more slowly, which often results in the insertion of false [SIL]. The modified script has shown to produce better results with this speech, but I am curious to know if there is a way to completely avoid the insertion of [SIL], particularly when it is inserted in the middle of one Chinese character, given this is a rare occurrence in Mandarin.

@phliulei I think the best way is to specify a minimum silence duration, so anything shorter is ignored/treated as part of the previous phone. I mentioned this in point (4) above but I haven't had a chance to implement yet.


WIP: Superschemes for sketcher

Alright this is still very rough and ready: both the code, and what we're calling stuff will want some tweaking but we have here a first pass at having subschemes to which interventions belong. https://acteng.github.io/atip/superschemes-for-sketcher/scheme.html?schema=pipeline&authority=TA_Lincolnshire&style=streets#9.32/53.1242/-0.4517
Currently you should be able to:

name your (super) scheme
Add and name subschemes
When adding an intervention you select a subscheme to which it belongs
Delete a subscheme and all its interventions
Change which subscheme an intervention belongs to by using the edit form

I realize we haven't written down a design doc or anything to describe the purpose of this idea, so I want to start with that. I'll review what this PR does next.
Use cases

Short-term: LCWIP PDFs tend to show many schemes on one map. People sketching them likely want to do the same -- so this is a way to edit multiple schemes at the same time.
Speculative long-term: When some future funding round starts, if an authority already has a bunch of planned schemes mapped out, they could load their one or more LCWIP schemes, then extract/select/copy some things into a new scheme for submission.

Data modelling questions
Should a feature belong to exactly one scheme, or can it belong to multiple at a time? #372 brings up some ambiguous cases:

Multiple routes with a common shared middle
A desire line with a few alternative routes that could satisfy the goal. The alternatives might share some common segments or not.

As soon as multiple schemes share the same feature, we have to decide how that should work -- are there two copies of something that can diverge, or do they reference the same single object? My inclination is towards the latter -- otherwise we have to communicate through the UI something quite confusing.
A minimal design
The simplest UX I can think of to satisfy the two use cases would look like this:

The user can load multiple disjoint schemes at a time, as long as they're for the same area.

Think of each scheme as a layer in a GIS tool. There's a way to create a new scheme, load a scheme from a file, show/hide a layer that's loaded, and remove a layer from the "working set" that's been loaded.

Each feature belongs to exactly one scheme.

When you edit a feature, you have a dropdown to change its scheme
We still have just the one list of features on the left, but we show the grouping with colors or labels. We could also re-order things to group a scheme's features together; the order shown (and stored in the file) is not meaningful.
We could also color features on the map by their scheme, auto-assigning colors and letting people change them.

The GeoJSON representation would pretty much match what's used for all_scheme_data in the browse page right now.

Every feature has a scheme_reference field
The top-level JSON object has a schemes dictionary, keyed by this scheme_reference. The contents are a dictionary with whatever scheme-wide metadata is relevant -- right now that's just the scheme name, but that's likely to grow soon with #355.

Implementing this should be pretty straightforward, except for the problem of how to save files. Right now one exported GJ file (and equivalently, one stringified GJ object in local storage) represents one scheme, and is named by authority and scheme name. We could save multiple files / local storage keys, one per scheme? Or maybe we should natively handle a file that has everything bundled together with this extra schemes object, and in simple cases, just have one scheme. Both approaches are perfectly compatible with properly storing data in a DB through a future API call.

Re: the bug you mentioned. I wasn't seeing that locally. I will try to work out if I failed to push some key change or what.
Re sub/super schemes the naming got away from me a bit, because I wanted to use existing infrastructure for populating 'schemes' but my idea is that the subschemes are effectively schemes. They will have more data collected about them and this is the use case we are trying to deal with: an LCWIP is a superscheme, and then the (sub)schemes are meaningfully distinct: they will have (some of the following:) names, routes with segments, a priority level (low, medium, high).
Ultimately it's editing multiple schemes at the same time, I agree. I think what I've done is already equivalent to all_schemes_data.geojson, no?

an LCWIP is a superscheme, and then the (sub)schemes are meaningfully distinct: they will have (some of the following:) names, routes with segments, a priority level (low, medium, high).

I'm confused by this... based on the latest data spec doc, #380 adds a bunch of fields at the scheme/LCWIP level, and changes the per-feature ones. I don't think priority is in there?
If our goal is editing multiple schemes at a time without trying to establish relationships between schemes, I think there's a simpler design possible

Timescale is synonymous with priority here. Timescale was what Robin and I spitballed early on, I've hear Guy use priority since. In any case if there's a simpler solution I'd be down, although I think it's going to end up similar data wise to what I've already done? Might be another one for a call to work out where we're differing, but I think that PR you linked looks great abut could presumably be plugged into something like what I've done here (bug of interventions not showing notwithstanding)

About to look at this again, but just to note, it's failing tests / TS checks currently

About to look at this again, but just to note, it's failing tests / TS checks currently

Seems to pass locally, might be one of the flakey tests

npm run check breaks for me locally too https://github.com/acteng/atip/actions/runs/6708978389/job/18258013700

I need to figure out how to repro this, but I lost everything on the map after making something:

Yep I ran npm run test not check. Solved most except an issue with turf bbox is puzzling because it was simply me moving around some code which preexisted

Another bug: if I delete the default subscheme and wind up with none, then creating something new breaks:

There are enough big structural changes here that I think some Playwright tests would be helpful. How about:

creating a feature
creating a new subscheme and moving the feature to it
deleting an empty subscheme
deleting a subscheme with stuff in it
deleting all subschemes
splitting a route within a subscheme
renaming a subscheme with features in it

Good idea, I'll get on em

I'm happy to merge this into main and iterate. Some thoughts on follow-ups:

We should discuss with our partner, but "super-scheme" and "sub-scheme" still feel semantically complicated to me. Also if you click "add subscheme", you wind up with "Untitled subscheme" and then "Unnamed scheme 1". I would vote to use "scheme" in favor of "subscheme", and think of "superscheme" just as "file that's been loaded" -- not sure of wording
The list of interventions being nested under schemes feels a bit confusing to me, especially in the simple case of just one scheme. I would vote for showing the full list of interventions and just grouping by scheme. Something like:
 where that's my attempt at the eye open/closed for show/hide layer
And if we auto-assign some colors (and let people change them), we can change on the map. And in map tooltips, show the scheme name in the tooltip


Feature/rusu1/visit 3324 reverse cli docs generation mechanism b reverse gen

Description
Please note: this is NOT a merge into develop. This is a merge into another branch.
Created a reverse generation script (/src/doc/functions_to_method_doc.py) that writes the MethodDoc.h and MethodDoc.C files from the functions.rst file.
This script does not support documentation aliasing, so all previously aliased functions now all have their own documentation. If aliasing is desired, please let me know and I can include that in the script.
Type of change

[X] Other (please describe below)
cli-documentation process update

How Has This Been Tested?
I meticulously compared the new and old MethodDoc.C files to verify that the documentation matches. There are some places where the documentation had some issues, so I updated those places.
Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have assigned reviewers (see VisIt's PR procedures for more information).

This script does not support documentation aliasing, so all previously aliased functions now all have their own documentation. If aliasing is desired, please let me know and I can include that in the script.

Its probably not a big deal but...what does this mean for documentation writers (us developers)? Do we wind up having to either cut-n-paste identical text blocks for each alias?
On another issue, I was worried a bit about anchors for cross-references. This would allow authors to refer to a particular method or attribute object easily and would be most obviously best to support via initial auto-gen of the functions.rst and attributes.rst files.
However, after reading this reference about Sphinx cross-referencing, I am convinced authors will be able to achieve whatever cross referencing they wish using...
`<link-text> FunctionName`_

or
`<link-text> AttributesObjectName`_

which relies upon the automatic cross-referencing to section headings available in Sphinx.

Its probably not a big deal but...what does this mean for documentation writers (us developers)? Do we wind up having to either cut-n-paste identical text blocks for each alias?

Yes, it does. Previously, when the sphinx extractor script wrote the functions.rst file, it pulled directly from the visit module, which shows each aliased function as its own and has its own copy of the documentation. So the sphinx extractor was able to show each as its own function with its own, albeit copied, documentation. Now, we decided that functions.rst will be the document that we modify and that MethodDoc.C will be built from functions.rst. Remember that RTD will show exactly what we have in functions.rst, so every function we want in RTD needs to have its own entry in functions.rst.

However, after reading this reference about Sphinx cross-referencing, I am convinced authors will be able to achieve whatever cross referencing they wish using...

Hmmm... I'm not sure about that. This line "Labels that aren’t placed before a section title can still be referenced, but you must give the link an explicit title, using this syntax: :ref:Link title <label-name>" seems like it may indicate implicit referencing, but it also can be read as "You can place a label anywhere, not just above section titles, and reference them in this specific way." We should test it and see if it works. If we need references at the start of each section, then we should hold off on this merge so that I can regen functions.rst and attributes.rst with the references.

Its probably not a big deal but...what does this mean for documentation writers (us developers)? Do we wind up having to either cut-n-paste identical text blocks for each alias?

Yes, it does. Previously, when the sphinx extractor script wrote the functions.rst file, it pulled directly from the visit module, which shows each aliased function as its own and has its own copy of the documentation. So the sphinx extractor was able to show each as its own function with its own, albeit copied, documentation. Now, we decided that functions.rst will be the document that we modify and that MethodDoc.C will be built from functions.rst. Remember that RTD will show exactly what we have in functions.rst, so every function we want in RTD needs to have its own entry in functions.rst.

There may be a way to support aliasing by including text files (https://stackoverflow.com/questions/2921724/include-a-text-file-as-is-in-python-sphinx-docs). I can look into this if its a priority.

Hmmm... I'm not sure about that. This line "Labels that aren’t placed before a section title can still be referenced, but you must give the link an explicit title, using this syntax: :ref:Link title <label-name>"

That is their recommendation...to use :ref:`Link title <label-name>` , which then requires the label (anchor) to be explicitly defined in the document like so...
.. _label-name:

However, if you read this tiny bit of text...

Sphinx does wind up defining implicit anchors for section headings (as you deduced), which you can link to using `Section Heading`_ which they claim are poorer because of the possibility of those headings changing names. However, in our case, the section headings are CLI method names or attribute object names which are not likely to change. So, I think its fine to not expect the initial (final really before the change-over to human editing of .rst content) gen of functions.rst and attributes.rst to explicitly define labels.

Sphinx does wind up defining implicit anchors for section headings (as you deduced), which you can link to using `Section Heading`_

Okay, I see that now. Good catch! If we decide to use ref's in the future, this can be done with an off-the-cuff script that modifies functions.rst to include the refs.
Regarding linking, do we want to link both ways between attributes and functions? How do you envision the linking? By the section name?


fix: Revert deleted tags from many resources since release 2.7.0

v2.14.0 has been released with this fix.
See complete diff since 2.6.0:
https://github.com/terraform-aws-modules/terraform-aws-atlantis/compare/v2.6.0...v2.14.0


Refr doesnt work with GET request

The referer URL doesn't work with GET

Hey @nesbtesh - can you provide more detail on this bug report please?

Hey when I try sending everything in a get request it doesnt include the referer url

Hey @nesbtesh, can you provide a public URL with tracking code?

Unable to reproduce this in 2.13.0. refr field is populated fine with GET requests.
Will reopen if we get a reproducable example.


isNotifying incorrectly reports true only on iOS

I am querying isNotifying on a custom characteristic. On Android, it correctly reports false. Using the nRF Connect app, it confirms it is false. However, on iOS, it is reporting true.
On Android, it reports false because inside the isNotifying, when it asks the cccd descriptor for its last value, an empty array is returned.
On iOS, an array of [1,0,0,0] is returned, coming from the _wrapper member variable. So it appears that for some reason the iOS side is incorrectly filling the notification stream before it is even turned on.

Have you solved this problem?


Add tests for retriable errors to the spoof client

Changes
To avoid mistakes like https://github.com/knative/pkg/pull/2276 in the future, this adds a set of tests that make sure the retries are actually done. The tests fail without https://github.com/knative/pkg/pull/2276.
/assign @nak3

/retest
TestMetrics stuff.

/lgtm


Error launching games over Citra vulkan builds

Player error: Unable to find explicit activity class error trying to launch 3DS games while using org.citra.citra_emu as default player (installed Citra vulkan development build)
Android 12

3DS citra variants are no longer maintained by Daijishou Official. #121

The 3DS citra support will be back when things get more stable.

Tnx, i gave up on Daijishō so.


minor refactor & remove wait group to see actual rates

Previously, makePods() would wait until all CreatePods request sent. When result showed up the first time, there are already many pods scheduled:
=== RUN   TestScheduling1000Nodes10KPods
0s rate: 170 total: 170
1s rate: 4 total: 184

After removing the wait group,
=== RUN   TestScheduling1000Nodes10KPods
0s rate: 0 total: 0
1s rate: 5 total: 5
2s rate: 12 total: 17

We don't need to wait group either because the loop checks all pods are scheduled and it's kinda like a wait group itself.
At the mean time, some minor fixes. :)

@xiang90

LGTM

@hongchaodeng I think we might need some warmup (fill in the initial queue before start the timer) to avoid the slow start of the rate. But it is fine for now.

Since the code is already in upstream. I'm gonna close this and delete the directory here.


talent solution: moving published samples into master

admin merge - all was green

@nnegrey All your requested changes appear to have been done.  Apparently I can't admin merge until you approve.


More permissions work

Redo permissions chart
Allow changing of view channel on voice
Option to ignore the allowed_values in case it gets outdated again

Thank you!


Incorrect stack item padding

Hi,
There seems to be an error with the way evm.codes does the padding.
For example,
If we have a function with one argument (an address) and we load it to the stack:
addr = 0xb172f70266cF082EB38C0B7FDE42fe5c8028429A
0x04 calldataload

We get the following stack output:
b172f70266cf082eb38c0b7fde42fe5c8028429a000000000000000000000000
It is in reversed order (compared to foundry and remix).
We should be getting:
000000000000000000000000b172f70266cf082eb38c0b7fde42fe5c8028429a

hey @rodrigoherrerai,
i'm not sure why you see an error with the current behavior of calldataload - what it does is copy 32-bytes of data from the calldata you provided to the call.
if the calldata ends before it reads 32-bytes, it will right pad the value with zeroes - hence the right padded value you see pushed to the top of the stack as a result.
you can refer to the opcode definition here and see the examples for more details :)


Warning of exceeding the maximum number of listeners

Bug Description
Randomly, an error is displayed in the console (Warning of exceeding the maximum number of listeners).
Reproduction Steps

Playing music.

Expected Result
No errors.
Attachments

Versioning:

OS: Microsoft Windows 10
Node Version: v16.13.0
Module Version: 8.3.1

Can you provide more information? What part of your code originates from?

This is not from my code. I went to get help and I should increase the listeners limit.
I'll try with client.player.setMaxListeners(15) and see if it happens again.

You are defining the listeners in the message, probably. Can you show me the code?

It defines them in my index.js when I run my bot.
const { Player } = require("discord-music-player")
const player = new Player(client, {
    quality: "high",
    leaveOnEnd: false,
    leaveOnStop: false,
    leaveOnEmpty: false,
    deafenOnJoin: true,
})
client.player = player
client.player.setMaxListeners(15)

const musicEvents = [
    "songAdd",
    "playlistAdd",
    "songChanged",
    "queueEnd",
    "queueDestroyed",
    "clientDisconnect",
    "clientUndeafen",
    "error",
]

fs.readdir("./events", (error, f) => {
    if(error) console.log(error)
    console.log(`[-] Events: ${f.length}`)

    f.forEach((f) => {
        const events = require(`./events/${f}`)
        const event = f.split(".")[0]

    if(musicEvents.find(e => e === event)) client.player.on(event, events.bind(null, client))
    else client.on(event, events.bind(null, client))
    })
})

Is it a problem to put it in the loop? I've always done it this way.

If you get that warning means that you have more than 10 listeners for one event (10 is the default). so you should check the names of those

Okay, thanks 👍

I just checked and it's not coming from there. There is a listener for an event and even if I put the listener outside the loop I get this error. So I still don't understand why I have this problem :(

I look at the error again and it says 'stateChange' in VoiceConnection, is there some point that you make a new instance of StreamConnection?

No, I didn't do anything with SteamConnection.

I also sometimes have these errors:
(node:86) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 ready listeners added to [VoiceConnection]. Use emitter.setMaxListeners() to increase limit
(node:86) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [VoiceConnection]. Use emitter.setMaxListeners() to increase limit

I have an idea of what may it be, but I don't know how to reproduce it. Can you show me some code of play and join?

also, run your code with --trace-warnings something like "node --trace-warnings index.js"

Yes I will run my bot with this.
Here is a code for play and join:
client.musicPlay = async (guild, channel, music) => {
    if(!queue[guild.id]) {
        queue[guild.id] = client.player.createQueue(guild.id)
        await queue[guild.id]?.join(channel)
    }
    queue[guild.id]?.play(music).catch(error => {
        if(!queue[guild.id]) queue[guild.id]?.stop()
    })
}

The error just happened again, here are more details:
(node:10552) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 stateChange listeners added to [VoiceConnection]. Use emitter.setMaxListeners() to increase limit
    at _addListener (node:events:469:17)
    at VoiceConnection.addListener (node:events:491:10)
    at new StreamConnection (C:\Bots\Flopy\node_modules\discord-music-player\dist\voice\StreamConnection.js:47:25)
    at Queue.<anonymous> (C:\Bots\Flopy\node_modules\discord-music-player\dist\managers\Queue.js:113:31)
    at Generator.next (<anonymous>)
    at fulfilled (C:\Bots\Flopy\node_modules\discord-music-player\dist\managers\Queue.js:5:58)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

You are adding the same event to the VoiceConnection or somehow using the same instance of VoiceConnection to create StreamConnection. You could try an older version of the module, but if that doesn't work, is probably your code.

I just found out how the error happens with my bot.
Try doing this: Play and stop a music 11 times in a row.

I finally reproduced it, it's doing that while having the option leaveOnStop: false.
I use the stop to leave and have a custom stop, but now I know where to look.

It creates a new listener with each play, after stop

Yes, that's it. He should know how to destroy the listener when he stops playing.

Fix in #249, push later today.
Thanks for the report, I wasn't aware of me setting stop, not leave :)

Thanks :)


drivetrain FOC High Frequency Odom

Milly, we'll test this Monday night.

If we start to run into errors we can go back to this commit which is only switching to FOC

Thur:  fix canbus quickly then retest FOC code.  Expect it to work.  Then proceed to bot rewire of can and sensors.

Functioning correctly.
Merged into integration branch 20240315 14:35


Improve SV Update env vars description

…he SV Update messages.

Description

Pull Request Type

[X] Documentation content changes
[ ] Bugfix / Missing Redirects
[ ] Docusaurus site code changes

PR Checklist

[X] The commit message follows our guidelines included in the CONTRIBUTING.md
[X] All tests of Lint, cspell and check-content pass. (How to launch them?)
[X] No sensitive content has been committed

Other information

Can we merge it?


Globalize changes Time delimiter despite repository?!

I can't uderstand why and how this happens, but looks like a bug. JSON repository seems ok, but time delimiter is persistently dot!
Take a look at StackOverflow I wrote already:
http://stackoverflow.com/questions/41671500/globalize-cldr-globalize-formatdatenew-date-datetimelong-resulted

I've replied there http://stackoverflow.com/a/41681149/798133. Implementation is correct.


System dependent

any chance this can turn on dark mode if the client has dark mode set as system theme, else use the light mode??

not sure,as there is no JS involved
On Sat, Feb 5, 2022 at 12:43 AM Gillardo @.***> wrote:

any chance this can turn on dark mode if the client has dark mode set as
system theme, else use the light mode??
—
Reply to this email directly, view it on GitHub
https://github.com/vip32/Hangfire.Dashboard.Dark/issues/7, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AABIDTYO2BNJEBQJBFK7UHDUZRQD5ANCNFSM5NTCLGYQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

There is an CSS media feature available: prefers-color-scheme - CSS: Cascading Style Sheets | MDN (mozilla.org)

There is an CSS media feature available: prefers-color-scheme - CSS: Cascading Style Sheets | MDN (mozilla.org)

This is exactly how i thought it would be done to be honest

Please start PR, thx
On Thu, Aug 4, 2022, 11:24 Gillardo @.***> wrote:

There is an CSS media feature available: prefers-color-scheme - CSS:
Cascading Style Sheets | MDN (mozilla.org)
@.***/prefers-color-scheme>
This is exactly how i thought it would be done to be honest
—
Reply to this email directly, view it on GitHub
https://github.com/vip32/Hangfire.Dashboard.Dark/issues/7#issuecomment-1204996180,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABIDTZDCY5IRC3HBTVD4S3VXOD4RANCNFSM5NTCLGYQ
.
You are receiving this because you commented.Message ID: <vip32/Hangfire.
@.***>


Why does BaseGraphWindow.InitializeGraph call Resources.UnloadAsset on the previous graph?

This took a while for me to track down lol. I was having an issue where SerializeFields for BaseGraph would lose their references to a graph, and it was because of that call. Eventually I figured out that it lost their reference if I opened a different graph, and tracked it down to that line of code

Originally it was to free the memory of the graph and everything temporary in it but now the code has evolved in a different way, so I don't think it's necessary anymore

Removed it in https://github.com/alelievr/NodeGraphProcessor/commit/2a6bfd56b6764d924deafea2cc2412dd06dce536


test: check more metrics

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Files
Coverage Δ

client/client_5.x.go
68.04% <100.00%> (+20.61%)
:arrow_up:

... and 4 files with indirect coverage changes
:loudspeaker: Thoughts on this report? Let us know!


Filter repetitive structures

When lots of the works were digitised, structures with multiple pages such as table of contents were created individually, rather than as a single structure with a range of pages.
This means we will often display repetitive links to the essentially the same thing.
Until we can improve the data at source, this function groups structures that have the same label attached to consecutive pages into a single structure.
Before:

After:

closing in favour of #6229


Test case error - undefined reference to 'BoatHlchainmakerContractQuery'

Describe the bug
When I run the chainmaker test cases, I got the below error.

Code updated, problem solved


remove extra license

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
Fixes # (issue)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

it seems, dependent module tests failing due to eslint: https://git.corp.adobe.com/nui/worker-ffmpeg-transcoding/pull/15


no module named moviepy

can anyone help?

just edited my requirements.txt, from:
torch == 1.6.0 to torch >= 1.6.0
and run pip3 install -r requirements.txt again


Update dlp-learn-about-dlp.md

Added permissions and roles needed for DLP

@JohanFreelancer9 Please copy review

issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/7497

@chrfox Please merge this PR. Thanks

@chrfox Kindly merge this PR. Thanks

This content is already presented in https://docs.microsoft.com/en-us/microsoft-365/compliance/create-test-tune-dlp-policy?view=o365-worldwide, you've just cut and pasted it into the purely conceptual Learn about article where it doesn't belong


added projects to readme.md

Updated README.MD

 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.


Not able to use "replace" for the column headers

I would like to change the text in the column headers but the "replace" did not work on the first row of the CSV file which contains the column header texts.

Thanks for this, @MichaelUray! Could you send a URL that includes an example query?
I guess if you use csv -H it will work, but that might not be what you’re after…

Hi Andy,
thanks for your response.
I would like to change the column header "Schlusskurs" to "Schluss".
With the -H option which you proposed gets the column row removed and the header names are shown in the first row. I would like to import the data into a program which requires certain names in the header and on this way it unfortunatly does not work for me.
http://datapipes.okfnlabs.org/csv -t/replace Schlusskurs Schluss/html/?url=http%3A%2F%2Fwww.ariva.de%2Fquote%2Fhistoric%2Fhistoric.csv%3Fsecu%3D293%26boerse_id%3D6%26clean_split%3D1%26clean_payout%3D0%26clean_bezug%3D1%26min_time%3D1.1.2010%26max_time%3D16.1.2017%26trenner%3D%2509%26go%3DDownload
Is there any other way to take influence on the header names?


[Bug]: The new Name already exists in the current page Error When Using the Name of a Deleted JS Function

Is there an existing issue for this?

[X] I have searched the existing issues

Description
The user has deleted some JS functions from their app and is not able to create new functions with the same name. They get the error that it already exists.

Zendesk ticket
Slack thread
Steps To Reproduce
Create a new JS function using the same name as a deleted one.
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Self-Hosted

@satbir121 this needs an RCA

Waiting on @ame-appsmith to add more details for reproducing this issue. It's not reproducible.

@bharath31 Moving this to product backlog. Verified the issue.


[REFACTOR] Use a code formatter

Which part to refactor
Refactor all the code to follow a code formatter's standards.
Why this should be refactored
When contributing to a project, people have different coding styles and are used to different formatting. Standardizing this by using a code formatter will result in consistent formatting across the project and therefore also better readability.
What breaking changes does this have for the end-user
No changes will be made to any functionality. This is simply a formatting refactor.

Formatted with black, isort and flake8. Closed with merge #32.


[FEATURE] List features ....

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like

List features to be considered for the frontend. Could be broken down to smaller bit fo a developer to work on within a few days.
Create Issues with the features
Assign issues to members of the frontend team

FRONTEND TEAM
1.Shadrack
2. Frederick
3. Bernice
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Refer to this document if necessary:
https://drive.google.com/open?id=1lyEHSX9gR94GXYBc74CSzol4NT1jzhB4

Seen


Fix #1758: Use long for Feature.timeOut

This is a fix for https://github.com/JSQLParser/JSqlParser/issues/1758

Thank you for your contribution. It makes a lot of sense and looks good.
@wumpz Please approve.

@zaza Thx for your PR. I resolved some minor merging conflicts and merged.


Loading does not properly work without mask for BLOCK_SIZE < 128

Hi,
I am playing with the following example where I compute the maximum value of the rows of a matrix X of size 16 x BLOCK_SIZE where BLOCK_SIZE is a power of 2 progressively increased.
This can be run in parallel across rows: each thread loads all the entires of a row then compute the maximum.
For some reason, when BLOCK_SIZE < 128, if I simply try to run the code below, the operation won't work. In fact what happens is that the next 128 entries of the flattened matrix will get loaded.
If I now add the trivial condition mask=tl.arange(0, BLOCK_SIZE) < BLOCK_SIZE, the code works fine (See This loading works).
Do you have any idea why this is happening?
Thanks,
Antoine
import torch
import triton
import triton.language as tl

@triton.jit
def get_max_rows(x_ptr, x_row_max_ptr, **meta):
    # BLOCK_SIZE the also column size of x
    BLOCK_SIZE = meta['BLOCK_SIZE']
    pid = tl.program_id(0)

    indices = tl.arange(0, BLOCK_SIZE)
    # This loading works
    # x = tl.load(x_ptr + pid * BLOCK_SIZE + indices, mask=indices < BLOCK_SIZE)
    # This loading does not work
    x = tl.load(x_ptr + pid * BLOCK_SIZE + indices)

    x_max = tl.max(x, axis=0)
    single = tl.arange(0, 1)
    tl.store(x_row_max_ptr + pid + single, x_max)

N_ROWS = 16
for BLOCK_SIZE in [8, 16, 32, 64, 128]:
    torch.manual_seed(0)
    X = torch.randn(size=(N_ROWS, BLOCK_SIZE), device='cuda', dtype=torch.float64)
    X_row_max = - torch.ones(N_ROWS, device='cuda', dtype=torch.float64)

    g = get_max_rows[((N_ROWS),)](X, X_row_max, BLOCK_SIZE=BLOCK_SIZE)
    print(bool((X_row_max - X.max(1)[0]).abs().max() == 0)) # Should be True

This might be related to https://github.com/openai/triton/issues/359

This problem should have been fixed in master. Please let us know if there's till any problem.


Azure AD authentication error

Hi,
Authentication against Azure AD fails with this error https://flareapp.io/share/o7AnDjJ5
The problem comes from that Azure needs the grant_type parameter to be set to client_credentials and passed in the body of the related request.
The authentication process is done here https://github.com/maicol07/laravel-oidc-client/blob/ecb27a1a8214d6d8cde76fd41446b93b62aad7f7/src/Controllers/OIDCController.php#L37 and unfortunately I didn't find any obvious way to pass this setting.
Any idea ?

Microsoft doc : Get a token

Done! You can now use the new custom query parameters setting! Check it in the readme!

Hi @maicol07,
unfortunately the authorization_endpoint_query_params, even if it works as expected, does not solve this issue as the grant_type parameter must be passed in the request body and not in the query string.
At this time, this problem appears a little bit more complex to me.
I think this issue should be re opened.
Best

@eviweb oh wait, you're seeing OAuth2 docs. You must check the OIDC ones: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc.
There are some differences between OAuth2 and OIDC (explained in that docs). Check if all the required parameters have been already fetched from the OIDC discovery JSON, otherwise you must override them manually via ENV.
Example for response_type:
Docs says the response_type must be set to id_token, so you might want to set OIDC_RESPONSE_TYPES to id_token.
I never used Azure AD, so I don't know much... It seems they're using a slightly different OIDC flow. However, you should be able to setup the Client with your configs. Let me know how it goes!

@maicol07, I take just one second to tell you that you are right for the response_type parameter, many thanks.
And sorry for the confusion with the docs.
But the nightmare is not finished, I stay blocked on the Microsoft authentication screen even if my test user is logged.
There is a loop between the page and the callback URL.
I will continue to investigate and hope to find what's going wrong.
I will keep you informed.
If you'd like to check against Azure AD, Microsoft offers a complete environment for developers : https://developer.microsoft.com/en-us/microsoft-365/dev-program for free.

Found, I need to add 'authorization_endpoint_query_params' => ['response_mode' => 'form_post'], in the oidc.php config file.
Thanks to your last improvement.
One step further, we progress...

Hi @maicol07,
the new problem I encounter is that the response sent by Azure AD uses the POST method and generates this error : https://flareapp.io/share/17W6398P.
I also have noticed that the Client::getCurrentURL method only relies on $_SERVER['HTTPS'] and $_SERVER['SERVER_PORT'] to detect the HTTP protocol https://github.com/maicol07/oidc-client-php/blob/4d16b7be3dc01e4915f373979a1726435ca76be4/src/Client.php#L565, which should fail if the site is hosted by a web server listening on port 80 and set behind an SSL reverse proxy.
Maybe also checking $_SERVER['HTTP_X_FORWARDED_PROTO'] and $_SERVER['HTTP_X_FORWARDED_SSL'] variables would be more reliable.

May I suggest to redefine the route oidc.callback as is:
Route::match(['get', 'post'], config('oidc.callback_route_path'), [OIDCController::class, 'callback'])
        ->name('oidc.callback');

@eviweb I agree adding the post method. Can you make a PR for that, referencing this issue?
When I have time I'll update the client to support all the known and additional flows of OIDC

Hi @maicol07,
no problem for the PR.
I just tried the modification manually and now I'm stuck on the oidc.callback route with a page expired error.
I will continue to investigate but time is missing...
Any idea about this issue?
The exception seems to be thrown before the callback is called.

@eviweb that's probably caused by Laravel CSRF verification. You can disable the middleware in that route:
Route::match(['get', 'post'], config('oidc.callback_route_path'), [OIDCController::class, 'callback'])
		->withoutMiddleware('csrf')
        ->name('oidc.callback');

Or check if you can say to Azure to include the token in the callback

Did not work using the withoutMiddleware('crsf') on the oidc.callback route, but adding an exception directly to the middleware class VerifyCsrfToken did the trick.
I'm now stuck in an infinite loop between the authenticate call from the OIDCGuard::getUserInfo.

@maicol07
I just create a draft PR for review.

I succeed to got out from the loop to fall down in another issue, but I progress.

@eviweb where are you stuck at the moment?

@maicol07  I just find.
This is due to a mismatch between token signing algorithms, Azure AD provides RS256 while the JWT package expects HS256.
I'm looking for a setting to specify the right algorithm.
May you help me please?

@maicol07,
how can I use RSA signing algorithm instead of HMAC?

Oh yeah, sorry I've forgot about this. Currently, only Hmac works out-of-the-box in the Client: https://github.com/maicol07/oidc-client-php/blob/11ee3e91cf26113c28c8b475737bcc007afa99e4/src/Client.php#L105
The JWT package supports RSA: https://lcobucci-jwt.readthedocs.io/en/latest/configuration/#for-asymmetric-algorithms
I should update the Client to also support this. I have a few ideas, however I don't know when this will be implemented, since I'm a bit busy in this period. If you want to try to add that, this is my idea:

Add the types HS256, HS512, ... and RSA ones (RS256, RS512, ...). Since I want to be backward compatible, the old sha256, sha512, ... should default to HMAC signing.
Then detect if the chosen one uses HMAC or RSA
Finally, build the correct configuration object

Probably it will also require the private key.
Otherwise, I'll do it when I have a bit of time.

@eviweb I've just pushed the update to support RSA:

Client: https://github.com/maicol07/oidc-client-php/commit/0ee533edd6d5f5afbb17993cbcf03f860c6ce84d (v2.2)
Laravel Client: https://github.com/maicol07/laravel-oidc-client/commit/a0b69965f5fa15770e46cbe99af14477402a9fca

Hi @maicol07,
many thanks, I will give a try once the PR #5 will be merged.

@maicol07,
I get the following error
Error
Typed property Maicol07\OpenIDConnect\Client::$jwt_signing_key must not be accessed before initialization

here: https://github.com/maicol07/oidc-client-php/blob/577bcadd853bc33329b580d57c2e8e869b1a48ef/src/Traits/JWT.php#L75
with implicit flow on.
Sorry I can not share the stack trace on Flare (server issue).

Fixed in ff2d24a636b6486b464a1757cdbcf14373b5f53d
Thank you for the report

So the PR I've done just add the setting in the related comment.

What PR?

 Changed in maicol07/oidc-client-php@fe0df96

Hi @maicol07,
currently the laravel-oidc-client relies only on official releases of the oidc-client-php package, which prevents stable versions with bug fixes to be used before they are effectly released.
Maybe adding a branch alias would be a good idea, don't you think so?
Another question, is there a particular reason why the issue tracker is not opened for the oidc-client-php package?
I think that activating it would be more practical.
best

Currently the laravel-oidc-client relies only on official releases of the oidc-client-php package, which prevents stable versions with bug fixes to be used before they are effectly released.
Maybe adding a branch alias would be a good idea, don't you think so?
You should be able to set dev-master as version constraint. However, I'll release the fix as a new version if there aren't issues

Another question, is there a particular reason why the issue tracker is not opened for the oidc-client-php package?
I think that activating it would be more practical.

Since it's a fork, issues are disabled by default. However, I'm thinking of moving to my own issue tracker at https://tracker.maicol07.it (has more options and I can organise things better than GitHub)

You should be able to set dev-master as version constraint. However, I'll release the fix as a new version if there aren't issues
This had to be done is the composer.json file of the laravel-oidc-client installed package, not in the Laravel site one, which is a little bit annoying.

You should be able to set dev-master as version constraint. However, I'll release the fix as a new version if there aren't issues
It generates a conflict of versions.
And finally find no way.

@eviweb just released: https://github.com/maicol07/oidc-client-php/releases/tag/2.2.1

Nice, thanks

@eviweb I've setup the tracker. You can find this issue also on the tracker: https://tracker.maicol07.it/issue/LARAOIDC-3
Since the tracker automatically imported your user from Github, I don't know if you are able to login. If not, let me know and I'll find a way to get you in!

Hi @maicol07,
thanks, unfortunately the Github authentication is not working.
Here is the URL I'm redirected to https://bugs.maicol07.it/hub/api/rest/oauth2/interactive/login/f595197e-f6b9-4175-a3d5-d7978c09c0bb/land?error=redirect_uri_mismatch&error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application.&error_uri=https%3A%2F%2Fdocs.github.com%2Fapps%2Fmanaging-oauth-apps%2Ftroubleshooting-authorization-request-errors%2F%23redirect-uri-mismatch&state=bs86Cr3B
Hope that helps.

@eviweb now it should work. That was the old subdomain of the tracker

It works like a charm ;)

Hi,
I'm renewing it, but unfortunately it's not instantly. You can chat with me on Telegram (you can check the link in my Github Profile readme)

@maicol07 have you received my invitation on Telegram? It seems that I cannot contact you.

Mmm... no. Try to search me (I'm maicol07 even on Telegram)

I found your account and wrote to you, but I got a message that indicates that due to your privacy policy I cannot send you any message...

Sent you a message


OAuth2ServerFactory is not returning instance of OAuth2\Server

The ZF\OAuth2\Factory\OAuth2ServerFactory is no longer returning a OAuth2\Server instance?
https://github.com/zfcampus/zf-oauth2/blob/master/src/Factory/OAuth2ServerFactory.php
The file has been changed in the latest version and it returns a closure (Factory!?) now. My code is broken since I simply used $serviceLocator->get('ZF\OAuth2\Service\OAuth2Server'); elsewhere to get the OAuth2\Server instance from the server manager.
The documentation has also not been updated accordingly and is no longer up to date since it still states it will give me an OAuth\Server.
Is returning another factory from a factory really the way to go? How should I now get my oauth server instance? Is it maybe possible to separate the keys so getting the server is still possible?

My code editor also doesn't agree on a closure being returned by ServiceManager :)
Deep down in the ZF2 ServiceLocatorInterface the return values from a service manager should be either an object or an array:
    /**
     * Retrieve a registered instance
     *
     * @param  string  $name
     * @throws Exception\ServiceNotFoundException
     * @return object|array
     */
    public function get($name);

In the ZF\MvcAuth\Factory\DefaultAuthenticationListenerFactory the following is done:
return new OAuth2Adapter($factory()); (https://github.com/zfcampus/zf-mvc-auth/blob/master/src/Factory/DefaultAuthenticationListenerFactory.php#L105)
return new OAuth2Adapter($serverFactory(null)); (https://github.com/zfcampus/zf-mvc-auth/blob/master/src/Factory/DefaultAuthenticationListenerFactory.php#L128)
Because of this my code editor puts big fat red lines under my classes :)
All because it doesn't expect a closure and we cannot instantiate a array or an object.
I think it would be better to return the OAuth2\Server instead of the factory here.

@Wilt PR ? :)

@jguittard I was awaiting response from someone working on this repository to get some feedback on how to improve this...
@weierophinney Do you have time to take a quick look and make a suggestion on how to deal with this in a PR?

@Wilt This was done due to issues with the design of oauth2-server. Essentially, the OAuth2\Server instance does work on initialization that can lead to issues with the HTTP request, database connections, and more. We had to provide a way to lazy-load it to solve the problems.
We can maybe solve the IDE issues with typehints, and some of these may be solved now (I did some work on the AuthControllerFactory earlier today). But I'm not sure we can make any other changes unless we change out the oauth2 server infrastructure or get changes pushed upstream to oauth2-server-php.

@weierophinney Thanks for the explanation. I am not sure wha
Would it be possible to use a Lazy Services pattern for this instead of this invokable factory? Or is this not sufficient to solve those issues you refer to?

This repository has been closed and moved to laminas-api-tools/api-tools-oauth2; a new issue has been opened at https://github.com/laminas-api-tools/api-tools-oauth2/issues/14.


Virtual Desktop for Microsoft Teams

Provide a description of the new feature / enhancement
Hey there,
i'm using a 49" CRG9 from Samsung for working purposes. I have a lot of Teams-Meetings and also virtual Trainings where i have to share my screen. For optimal working with attendees in trainings i have to switch my resolution to 16:9 instead of 32:9.
So my proposal would be that i can create something like a virtual desktop overlay with FanzyZones where i only can share one half (or something) of my screen. I work a lot with just sharing on application but as a trainer i have to switch a lot between the tool, presentation and a whiteboard tool. So the workflow is a bit exhausting. With the extension i could just share one half of my screen and slide all the applications in and out as i want.
So a Virtual Desktop for Microsoft Teams with FancyZones would be prime!
Best wishes
Timo

Tracked in #279

@crutkas
actually this can be achieved in a completely different way that doesn't require a virtual monitor, you only need a transparent window and share that transparent window.


Changes the working directory to the script location

Hello.
This line changes cwd to whatever directory manga_downloader is installed. I'd guess usual location is somewhere in /usr/lib, or, as in my case, /usr/bin.
I'm not sure why would anyone want to download manga next to his python sources, but even if that is desired, it's gonna crash:
Downloading all chapters...
Unable to create download directory. There may be a file
					with the same name, or you may not have permissions to write
					there.
Traceback (most recent call last):
  File "/usr/bin/manga_downloader", line 278, in <module>
    main()
  File "/usr/bin/manga_downloader", line 267, in main
    threadPool.append(SiteParserThread(options, None, None))
  File "/usr/share/manga_downloader/parsers/thread.py", line 41, in __init__
    os.makedirs(self.downloadPath)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/bin/something.something/'

Usually you would specify the download location anyway though?

Well, I was imagining it would download to current directory, as wget or curl does. But even if there is some other default, it should at least default to something less crash-prone.

Maybe change the default working directory to the users home?
Something like:
os.chdir(os.path.expanduser("~"))
Will default to the users home under both windows and linux.


feat: replace wasmedge_rustls_plugin to rustls

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!


Created LCIS(LCS+LIS).cpp

Created Longest Common Increasing Sub-Sequence which is the combination of
Longest Common Sub-Sequence and Longest Increasing Sub-Sequence

@all-contributors please add @mohitbaran  for his code


aXe audits for end-to-end tests

I'm running through my end-to-end tests and noticed that aXe is only running the audit at the end of the end-to-end test.  Correct me if I'm wrong, audits should be done all the time and not just at the end.  Has anyone encountered this problem?

aXe operates similarly to Chrome's Accessibility Developer Tools by injecting axe-core into all frames and checking the content against 53 accessibility rules.

Thank you.

@angela-choo you are correct, you should be running the audit each time the UI gets into a new state, if you want to be sure to catch all the issues.
One of the strengths of this plugin is that it is VERY easy to use. The downside is that it does only what you have identified.
It would be great if we could enhance the plugin so that you could tell it at what points in your test to perform accessibility analysis.
The underlying axe-webdriverjs plugin does have this capability. I am not sure whether it would be possible to expose that through the plugin so that the test writer could call AxeBuilder.analyze() at the appropriate points (maybe one of the contributors could comment on this)?
In the interim, you could use the axe-webdriverjs plugin directly to achieve what you want.

@angela-choo Check out https://github.com/angular/protractor-accessibility-plugin/pull/9 and https://github.com/angular/protractor/issues/2951 for more details.


<EMAIL_ADDRESS>download via aria2 failed

Cannot reproduce.
All files could be downloaded without any issue.
Problems with download could be caused by:

Network error
Site is blocked (Great Firewall of China, Corporate restrictions, ...)
Antivirus settings could block URL or block downloaded file
Proxy configuration


Feature/landing

Engineers Checklist
What this PR does?

List of updates for features, enhancements, or bugfixes

How can it be tested?

Please provide step-by-step guide on how to test
If web or mobile, screenshots will be very helpful in addition

Where is it documented?

List JIRA tickets

Backend Updates

[ ] Updated Postman Documentation

[ ] Requests
[ ] Examples
[ ] Tests

[ ] Updated Tasks on JIRA
[ ] Tested API updates in dev environment
[ ] CI Checks Passed

Your work looks good and clean


Add avi-version-config configMap with kapp versioned annotation so ako will be recreated at its updates.

…will be recreated at its updates.
Make sure the ako pod will be reloaded whenever there is an update on the avi-k8s-config configmap.
What this PR does / why we need it

Which issue(s) this PR fixes

Fixes: #
Describe testing done for PR

Special notes for your reviewer

Fixed in another PR: https://github.com/vmware-tanzu/community-edition/pull/5209


Fields with question mark in SepaRemittenceInformation cause error

I received a file with a question mark in the MREF field:
... ?21MREF+5LT?SI6SNX...?22
The question mark in front of SI causes an exception "System.IO.InvalidDataException: Unknown field code: SI".

The separator of the information field is defined after the transaction code. From what you show, the separator is "?" and correctly detected as such. So the parser will indeed try to parse "SI6SNX..." as a data field. To me, the specifications do not clearly state whether data like this is valid, however, so I would assume it is.
The problem could be attacked by adding an additional check after having found the separator in AdditionalInfoParser.cs line 153: Check whether the separator is followed by one of the valid field codes defined in DetectFieldCode(). If it is not, the separator should be ignored. I will look into this.


Siter Deployment error.

Hi @jasondev01 i tried deploying the code to vercel but i recieved the below error can u help me in this matter.

Build error occurred
--
--Error: You cannot use different slug names for the same dynamic path ('episode' !== 'id').
--at handleSlug (/vercel/path0/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js:94:31)
--at UrlNode._insert (/vercel/path0/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js:131:17)
--at UrlNode._insert (/vercel/path0/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js:142:40)
--at UrlNode._insert (/vercel/path0/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js:142:40)
--at UrlNode._insert (/vercel/path0/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js:142:40)
--at UrlNode.insert (/vercel/path0/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js:13:14)
--at /vercel/path0/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js:165:46
--at Array.forEach ()
--at getSortedRoutes (/vercel/path0/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js:165:21)
--at /vercel/path0/node_modules/next/dist/build/index.js:616:65
--error Command failed with exit code 1.
--info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
----------Error: Command "yarn run build" exited with 1------------

Hi, my bad. I should have not put the deployment button there since you need to configure first the NEXT_PUBLIC_URL on the environment variable. The best course of action you can do is clone the repo

git clone https://github.com/jasondev01/soma-v2.0.git
then yarn install or npm install (before you use this command, you need to delete/remove the yarn.lock first
rename .env.sample to .env
comment out every function calls from the pages that calls the utils functions that lets you connect to the api route handlers also comment out the components that receives data from that response from the function call
then commit/push the this to your own repo (4 and 5 are the most cumbersome step, apologies again)
deploy and setup a domain name on the vercel settings
setup the environment variables to that same settings (refer to the .env)
uncomment everything you commented out and deploy.

Hope this helps.

Hey @jasondev01 iam new to coding can you tell me which files i have to change cause according to step 4 i need to change something but i didn't get what i need to change can u elaborate pls.

You have to navigate to

app > page.tsx
app > anime > [anime] > 'page.tsx'
app > anime > 'watch'  > [id] > page.tsx

comment all fetching there

hey @jasondev01 after commenting out the fetching code the issue still presisits. deleted the yarn.lock file. commented out utils>getanimes the whole code i commented out the whole code in getanimes file. did the same with the above mentioned files to check if the still accours or not.
but the error is still the same.
what can i do next.

Bro, you dont need to comment out the get-anime.ts just the components/pages that's calling for them. also after deleting the yarn.lock  you need to run npm install and for commenting out the functions to it like this:
for example i have this:
`export default async function Home() {
const [ topAiring, recent, popular ] = await Promise.all([
getTopAiring(),
getRecent(),
getPopular()
])
return (
    <main>
        <Banner data={topAiring}/>
        <Watched />
        <Recent data={recent}/>
        <TopAiring data={topAiring}/>
        <Popular data={popular}/>
        <TopSeasonal />
    </main>
)

}`
just comment them like this:
export default async function Home() {
// const [ topAiring, recent, popular ] = await Promise.all([
//     getTopAiring(),
//     getRecent(),
//     getPopular()
// ])
return (
    <main>
        //<Banner data={topAiring}/>
        <Watched />
        // <Recent data={recent}/>
        // <TopAiring data={topAiring}/>
        // <Popular data={popular}/>
        // <TopSeasonal />
    </main>
)

}
and do the same with

app > anime > [anime] > page.tsx
app > anime > watch > [id] > page.tsx


Improved code to make segments on pipeline page responsive(#245drgx)

Related Issues

Closes #
Short Description and Why It's Useful

Screenshots of Visual Changes before/after (If There Are Any)

IMPORTANT NOTICE - Remember to add changelog entry
Contribution and Currently Important Rules Acceptance

[ ] I read and followed contribution rules


Automatically resize command-palette for small screens

Fixes #10603
Now command palette is automatically resized when global window size is very small.

Are there any unit tests that can be written for this to prevent us from accidentally breaking it in future changes?

Also, it looks like this makes the modals always scale to the width of the window. I think, if we are to fix this, we should keep the current width, and only scale when the window is too small.

Although the resize function is called every time window is resized, modals are scaled only when window width is less than the default modal size, ie, 50em. otherwise it sets the modal size to default value.
Is there any problem with this?

I think this could be completly solved in CSS, or do i miss something? @simurai
width: 80%; /* or different */
max-width: 50em;
transform: translateX(-50%); /* instead of - margin left */

And what if a theme wants to overwrite the width?

Yeah, some themes are probably overriding it. The 50em comes actually from the One themes. Default from core is 500px.
I can take a look.. maybe it's also possible with Flexbox or using a Media Query.

Ok, here a fix using a CSS Media Query: https://github.com/atom/atom/pull/10782
@philipgiuliani transform: translateX(-50%); would work too, but it seems to make text blurry.
Flexbox would be nice, but more themes might be affected and needs more testing for side effects.

#10782 that uses a CSS Media Query is now merged and closes this one. It should be easier to customize and maybe less taxing on performance.
@Aakash1312 Thanks alot for your initial PR. 🙇


Selecting Albums for Viewing

Hello again,
I am trying to select a couple of albums only to show in a gallery is there an easy way to do this?
Thank you

There is an option to exclude albums from the layout, so you can exclude the ones you do not want to show. Check the description for skipAlbums option.
Let me know if this works for you. Maybe an option which does the oposite (shows listed albums only) makes more sense

The issue with that is that I am adding more albums quite frequently and do not want to have to edit the page every time a new one is posted.

So an option that does the opposite would be amazing.

Ok, so you wold like to list the albums which will be the only ones to be loaded, so when you add and album on the Facebook page it does not affect the page where the plugin is used, correct?

Correct

Hi, I made an update for this issue. Take the latest ante try it out. You only need to set includeAlbums option.
Check the test.html file for usage of this.
Please close the issue if this resolves your problem.

@lukepsauer have you checked the update related to this?


Net present value should be calculated as well

Perhaps we could make an alternative 'business case form' for NPV.
The NPV calculates if your investment in a technology (in solar PV for example) will yield more money over the lifetime of the technology than putting the investment in a savings account.

I think this not such a great idea after all. NPV calculations make sense to get a feeling for how sensible an investment is. As we calculate all costs of a stakeholder together, revenues are not easy to assign to a certain investment. If you install solar PV, for instance, the incomes from net-metering should be used to calculate the NPV, but we do not couple net-metering to solar PV anywhere in the calculations.
Closing.


findByText still fails after adding await.

This is related to ticket #513
with by getByText, the test passed, and attached is the screenshot.
   const header = await this.screen.findByTestId('erow-GroupCode-0');
    console.log(" header" + header)
    const base = this.within(header).getByText("LINEHOLDER")
    console.log("base value" + base);
    const check = this.within(header).getByText("check")
    console.log(" value " + check)
    await expect(base).toContainText(text);

when I tried to test this findByText with await as suggested by #513, and i see the following error
const header = await this.screen.findByTestId('erow-GroupCode-0');
console.log(" header" + header)
    const base = await this.within(header).findByText("LINEHOLDER")
    console.log("base value" + base);

    const check = await this.within(header).findByText("check")
    console.log(" value " + check)

    await expect(base).toContainText(text);

html structure:

This is the same issue as #521, see my comment there https://github.com/testing-library/playwright-testing-library/issues/521#issuecomment-1253014806:

It looks like you're attempting to click on the SVG  element, which is not a visible element.

This does bring up an issue of consistency between queryBy + getBy and findBy in that the findBy queries use Playwright's waitFor and default to { state: 'visible' }, but getBy and queryBy don't check the state of the element with Playwright which is effectively { state: 'attached' } I think.
This is related to #506, but I will create a separate issue specifically for the consistency issue I described above.