How do I use Provider "inside" VRouter (Not On Top of VRouter)

I used the Provider to get the data from the API and tested it on beforeEnter VGuard to make sure the data was there before I got inside the page
But I don't want to put my whole Provider on top of VRouter, I just want to put it on individual Page_route individually
Because each Page will use its own Provider
How do I use Provider inside VRouter
(Please note that is inside of VRouter , not on top of VRouter )

Not sure it's the best idea because if you await in beforeEnter after clicking somewhere your app might feel janky.
If you really want to do so, the trick is to instantiate you object and use it's reference in VGuard, then use Provider.value to provide it to provider.
Why do you need the reference and can't you use context.read in VGuard.beforeEnter? Because VGuard.beforeEnter is called before the context is created (since you don't know if you want to create the widgets yet).
 If you are using null-safety, then instead of final yourVariable = YourVariable() you should use late final yourVariable = YourVariable().
Hope think helps!

Not sure it's the best idea because if you await in beforeEnter after clicking somewhere your app might feel janky.
If you really want to do so, the trick is to instantiate you object and use it's reference in VGuard, then use Provider.value to provide it to provider.
Why do you need the reference and can't you use context.read in VGuard.beforeEnter? Because VGuard.beforeEnter is called before the context is created (since you don't know if you want to create the widgets yet).
 If you are using null-safety, then instead of final yourVariable = YourVariable() you should use late final yourVariable = YourVariable().
Hope think helps!

Not sure it's the best idea because if you await in beforeEnter after clicking somewhere your app might feel janky.
If you really want to do so, the trick is to instantiate you object and use it's reference in VGuard, then use Provider.value to provide it to provider.
Why do you need the reference and can't you use context.read in VGuard.beforeEnter? Because VGuard.beforeEnter is called before the context is created (since you don't know if you want to create the widgets yet).
 If you are using null-safety, then instead of final yourVariable = YourVariable() you should use late final yourVariable = YourVariable().
Hope think helps!

Not sure it's the best idea because if you await in beforeEnter after clicking somewhere your app might feel janky.
If you really want to do so, the trick is to instantiate you object and use it's reference in VGuard, then use Provider.value to provide it to provider.
Why do you need the reference and can't you use context.read in VGuard.beforeEnter? Because VGuard.beforeEnter is called before the context is created (since you don't know if you want to create the widgets yet).
 If you are using null-safety, then instead of final yourVariable = YourVariable() you should use late final yourVariable = YourVariable().
Hope think helps!

Can you help me with a small example?
I can't use Provider inside VRouter
Because VRouter accepts only VRouterElements inside it.
I can't think of any other way

I have referenced some of your answers from this article
https://github.com/lulupointu/vrouter/issues/74
There is some sample code that shows the context being brought from the outside to the inside: class CLASSNAME extends VRouteElementBuilder
So I used that way to be able to use context in beforeEnter
`VRouter(
// ~ MaterialApp
routes: [
VNester(
path: null,
widgetBuilder: (child) => createCommonRootTreeWidgets(child),
// Initializes a few things for the app...
nestedRoutes: [
// -----------------------------
// NON-Protected routes/screens:
// -----------------------------
// ROOT ('/')
VRouteRedirector(
path: Routes.root,
redirectTo: Routes.login,
),
// Login Screen
VWidget(path: Routes.login, widget: LoginPage()),
    // -------------------------
    // Protected routes/screens:
    // -------------------------
    VUserCompleteGuard(
      context,
      shouldCheckEmailVerified: false,
      stackedRoute:
          VWidget(path: Routes.user_verify_email, widget: UserVerifyEmailPage()),
    ),
    VUserCompleteGuard(
      context,
      shouldCheckProfileComplete: false,
      stackedRoute: VWidget(path: Routes.user_setup, widget: UserSetupPage()),
    ),
    VUserCompleteGuard(
      context,
      stackedRoute: VWidget(path: Routes.home, widget: HomePage()),
    ),
    // ...
    // ...
  ],
)

],
);`

The issue you referenced was using Provider at the top of the app. The is why the context was able to locate the provider.
To achieve what you what there are 2 things to understand:

Provider is just a widget, it can be used in VWidget or VNester
Getting the value of a provider in VGuard.beforeEnter should not be done with Provider (this is what I explained to you earlier)

1. Provider is just a widget, it can be used in VWidget or VNester
If you have a Provider for a screen you could do:
VWidget(
  path: '/settings',
  widget: Provider(
    create: (_) => Settings(),
    child: SettingsScreen(),
  ),
)

Now within SettingsScreen you could use context.watch<Settings>()
If you want to provide a provider to multiple screens you could use VNester:
VNester(
  path: null,
  widgetBuilder: (child) => Provider(
    create: (_) => UserProfile(),
    child: child,
  ),
  nestedRoutes: [
    // YOUR ROUTES
  ]
)

Then is any screen in "YOUR ROUTES" you could use context.watch<Settings>().
2. Getting the value of a provider in VGuard.beforeEnter should not be done with Provider
BAD
VNester(
  path: null,
  widgetBuilder: (child) => Provider(
    create: (_) => UserProfile(),
    child: child,
  ),
  nestedRoutes: [
    VGuard(
      beforeEnter: (vRedirector) => context.read<UserProfile>().isConnected ? null : vRedirector.push('/login'),
      stackedRoutes: [
        // YOUR ROUTES
      ],
    )
  ],
)

GOOD
class MyApp extends StatelessWidget {
  // NOTE that we create an instance of UserProfile here
  // We use "late final" to make it lazy loaded
  late final userProfile = UserProfile();

  @override
  Widget build(BuildContext context) {
    return VRouter(
      routes: [
        // Any route

        // HERE is the interesting part
        VNester(
          path: null,
          widgetBuilder: (child) => Provider.value(
            value: (_) => userProfile, // NOTE how we use the created instance
            child: child,
          ),
          nestedRoutes: [
            VGuard(
              beforeEnter: (vRedirector) =>
                  userProfile.isConnected ? null : vRedirector.push('/login'), // HERE we use the instance and NOT provider
              stackedRoutes: [
                // YOUR ROUTES
              ],
            )
          ],
        ),
      ],
    );
  }
}

I'm sure this will help but tell me if you have more doubt :wink:

I tried and still can't solve the error
It still gives me the same error as when I got it
Unhandled Exception: Error: Could not find the correct Provider above this MyApp Widget

Simply replace context.read<UserProfile>().getInfo() with userProfile.getInfo() in your example and this should work

Feel free to close the issue if that worked for you :wink:


bug: BSC testnet blastapi doesn't work

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
0.10.6
Current Behavior
The blast api is stuck in block 0x1c3e1ef
Expected Behavior
To not be stuck
Steps To Reproduce
Create a new BEP-20 token and try to get  its total_supply.
Link to Minimal Reproducible Example (StackBlitz, CodeSandbox, GitHub repo etc.)
No response
Anything else?
changing the default api for bsc testnet is a quick fix. (I am using ankr)

Thanks for reporting. This issue is temporarily closed due to lack of information. Please provide a minimal reproducible example and reopen this issue.


Add CONTRIBUTING.md

Create a CONTRIBUTING.md and describe how developers can contribute.
It should contain

Instructions to installing documents
Code style
ruff instructions
testing
etc

#2


drivers: ieee802154: Make upipe configuration options depend on driver

The upipe specific configuration options should depend on the upipe driver being enabled. This can be confusing when using menuconfig.

Maybe the upipe configuration should be moved into a separate file like the other drivers.


Prometheus 2.0 prioritizes EC2 instance role over credentials in environment variables

I was using Prometheus 1.8 with EC2 discovery, and I gave Prometheus the AWS access key using environment variables (AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY), as documented here - everything worked fine.
When I moved to Prometheus 2.0, this stopped working and I found out Prometheus ignores the environment variables and tries to use the EC2 instance role. since I my EC2 instance role did not have the required permissions, it failed.
Is this the expected behavior? If it is, I think it should be documented in the migration guide.

AWS is a mish-mash of I believe 5 auth methods currently. For normal developers they know what they want, whereas we have to use heuristics. We also have the general principle that all config should be in the config file, not coming from elsewhere.
Here I'd suggest putting the secrets directly in the config, as I don't see a way for us to correctly choose between two different ways of automatically acquiring credentials from outside the config.

While I understand why operationally-wise it is simple to have the credentials in the config file, security-wise it is not the best choice and AWS recommend using instance profile. From that perspective I am kind of happy I ran through that because it forces me to use Instance profile and drop the env variables.
You are probably using an AWS SDK, right? so the approach I would choose (maybe this is what you do): take credentials from Prometheus config file, and if it does not exist simply call SDK APIs, and let them take it from there. If this is what you do, maybe AWS SDK changed its behavior?

if it does not exist simply call SDK APIs, and let them take it from there. If this is what you do, maybe AWS SDK changed its behavior?

Two of the auth mechanisms require extra code, when to apply those is the issue here.

Does this mean that EC2 target discovery is no longer expected to work by specifying the profile key in the config?  For example, here's my config that worked with 1.8, is this no longer expected to work?
    ec2_sd_configs:
      - region: 'us-east-2'
        profile: '<my profile name, defined in ~/.aws/credentials of the user running prometheus>'
        refresh_interval: 60s
        port: 9100

To be clear, I'm not complaining, I'm just looking for clarification on how ec2 target discovery works.  I'm glad to submit a PR with doc updates once I understand it :)

How it's meant to work is undefined. The only thing that we can guarantee is that putting credentials in the config file will work, anything beyond that is more complicated.

Gotcha.  Here's a PR to update the docs to reflect that: https://github.com/prometheus/prometheus/pull/3607
Thanks!

I am reverting the PR that caused the change in behavior. See https://github.com/prometheus/prometheus/pull/3985

@jeeyoungk - Thank you!
As a side note, as discussed in #3664, the AWS Go SDK used in Prometheus is very old, which might cause you guys some noise around EC2 discovery. Would be happy to see it upgraded.

Pull requests welcome.


⚠ Fortnite has degraded performance

In 3e8f5d6, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1598 ms

Resolved: Fortnite performance has improved in 924897d.


Add exception catch for Unauthorized Access

Type of Change

[ ] New feature
[x] Bug fix
[ ] Documentation update
[ ] Refactoring
[ ] Hotfix
[ ] Security patch
[x] UI/UX improvement

Description
I noticed WPFToggleTaskbarWidgets was giving a very generic issue
Enabling Taskbar Widgets
Set-ItemProperty:
Line |
3764 |          Set-ItemProperty -Path $Path -Name TaskbarDa -Value $value
|          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Attempted to perform an unauthorized operation.
Now it will give
Set HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TaskbarDa to 0
WARNING: Attempted to perform an unauthorized operation.
Testing

I have not done a tone of troubleshooting on my end on why I am unable to update that value in the registry (even manually)
Checklist

[x] My code adheres to the coding and style guidelines of the 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 made corresponding changes to the documentation.
[x] My changes generate no errors/warnings/merge conflicts.

Thanks @DeveloperDurp Good to see you again!


How can we help?
I would like help so I can submit the manifest.
Please read and ensure the following

[X] The installer meets the above requirements

Please provide the following information
Download Page Url: https://github.com/orbatschow/kontext/releases/tag/v1.1.0
Publisher: Orbatschow
Package Name: kontext
Package Identifier: orbatschow.kontext
Description: Kontext is a single binary application, that takes yet another approach on kubeconfig management.
Package Version: 1.1.0
Installer URL: https://github.com/orbatschow/kontext/releases/download/v1.1.0/kontext_Windows_x86_64.zip
Hello,
I tried to create the multifile-manifest for the above named package like so;
Version manifest
PackageIdentifier: orbatschow.kontext
PackageVersion: 1.1.0
DefaultLocale: en-US
ManifestType: version
ManifestVersion: 1.0.0

Locale manifest:
PackageIdentifier: orbatschow.kontext
PackageVersion: 1.1.0
PackageLocale: en-US
Publisher: Orbatschow
PublisherUrl: https://orbat.sh
Author: Orbatschow
PackageName: kontext
PackageUrl: https://github.com/orbatschow/kontext/
License: Apache-2.0
LicenseUrl: https://github.com/orbatschow/kontext/blob/master/LICENSE
ShortDescription: Declarative kubeconfig management within a single binary.
Description: Kontext is a single binary application, that takes yet another approach on kubeconfig management.
Tags:
- cli
- devops-tools
- golang
- kubernetes
- context
- kubeconfig
- portable
- terminal
ReleaseNotesUrl: https://github.com/orbatschow/kontext/releases/tag/v1.1.0
ManifestType: defaultLocale
ManifestVersion: 1.0.0

Installer manifest:
PackageIdentifier: orbatschow.kontext
PackageVersion: 1.1.0
InstallerLocale: en-US
InstallerType: zip
Commands:
- kontext
ReleaseDate: 2023-04-10
Installers:
- Architecture: x64
  NestedInstallerType: portable
  NestedInstallerFiles:
  - RelativeFilePath: kontext.exe
    PortableCommandAlias: kontext
  InstallerUrl: https://github.com/orbatschow/kontext/releases/download/v1.1.0/kontext_Windows_x86_64.zip
  InstallerSha256: e1f74a8487338060112238fcca2b056a7ab3e814ea7c2a1b2adcc157751e2a9c
- Architecture: arm
  NestedInstallerType: portable
  NestedInstallerFiles:
  - RelativeFilePath: kontext.exe
    PortableCommandAlias: kontext
  InstallerUrl: https://github.com/orbatschow/kontext/releases/download/v1.1.0/kontext_Windows_arm64.zip
  InstallerSha256: f8d658aeafb254019f7af6d659cd0615f8a3d9aab6f0eb3ff5f4f3679f4b69eb
ManifestType: installer
ManifestVersion: 1.0.0

When trying to validate this manifests with winget validate, I get the following errors:
Manifest Warning: Unknown field. [ReleaseDate]
Manifest Warning: Unknown field. [ReleaseNotesUrl]
Manifest Warning: Unknown field. [NestedInstallerFiles]
Manifest Warning: Unknown field. [NestedInstallerType]
Manifest Warning: Unknown field. [NestedInstallerFiles]
Manifest Warning: Unknown field. [NestedInstallerType]
Manifest Error: Invalid field value. [InstallerType]
Manifest Error: Required field missing. [NestedInstallerType]
Manifest Error: Required field missing. [NestedInstallerFiles]
Manifest Error: Only one entry for NestedInstallerFiles can be specified for non-portable InstallerTypes. [NestedInstallerFiles]
Manifest Error: Invalid field value. [InstallerType]
Manifest Error: Required field missing. [NestedInstallerType]
Manifest Error: Required field missing. [NestedInstallerFiles]
Manifest Error: Only one entry for NestedInstallerFiles can be specified for non-portable InstallerTypes. [NestedInstallerFiles]

It seems to me, that winget can't work with the installertype zip. But I thought, that this is implemented within winget 1.4.x.
Can you advise on how the error might lie?
Kind Regards
Philip

Zip installers are supported in ManifestVersion: 1.4.0. You need to update this schema version field in each .yaml file to pass winget validate.
As a best practice, be sure to also include the schema header comment at the top in each yaml file as:
orbatschow.kontext.installer.yaml
# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.4.0.schema.json

orbatschow.kontext.locale.en-US.yaml
# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.4.0.schema.json

orbatschow.kontext.yaml
# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.4.0.schema.json

FYI: Consider using a manifest authoring tool in the future to prevent such manual work and manifest errors

Thanks, that solved the issue. I can proceed from there.


Python V2 Function does not register triggers once deployed

Hi,
Following the document described below, I am noticing that once I've deployed to Azure that it does not seem to detect any new triggers.
From my console:
12:57:21 PM sample-v2-app: Resetting all workers for **************.azurewebsites.net
12:57:21 PM sample-v2-app: Deployment successful. deployer = ms-azuretools-vscode deploymentPath = Functions App ZipDeploy. Extract zip. Remote build.
12:57:46 PM sample-v2-app: Syncing triggers...
12:57:48 PM sample-v2-app: Querying triggers...
12:57:49 PM sample-v2-app: No HTTP triggers found.

I have followed the tutorial step-by-step, only making a change to AzureWebJobsStorage to point to my storage account.
The function works locally without any issue, e.g.
Functions:
        HttpTrigger1: [POST] http://localhost:7071/api/hello

Triggering it results in
Executed function "HttpTrigger1". Response: "Hello, Azure. This HTTP triggered function executed successfully."

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

ID: 542c2bdc-5868-71d5-1d1a-a2c6d61744b0
Version Independent ID: 1bba15a0-227a-8137-a023-90b8df19881b
Content: Create a Python function using Visual Studio Code - Azure Functions
Content Source: articles/azure-functions/create-first-function-vs-code-python.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@pnc-nz ,
MicrosoftDocs Github issue is mainly related to the document issue. For troubleshooting related queries and issue discussions, I would recommend you create a thread on the forums - Microsoft Q&A or Stack Overflow
Once you post your issue on forums, it will have visibility across the community which is a better-suited audience for such types of issues.
I will go ahead and close this issue as this is a troubleshooting issue. In case you have any queries feel free to tag me.

I am having the same issue and stack overflow is no help at the moment


Incorrect number of devices in the locations table

Actual Behavior:

What is the issue? *

The number of devices in the locations list table does not match the actual number of devices the location has

What is the expected behavior?

The number of devices in the locations list table to match the actual number of devices the location has
Additional Information:

Browser Type: * all
Browser Version: *
OS: *
Page URL: * #/locations

This has been fixed at the API side, the changes will be live in the next 24 hours.
Re-open after 24 hours if still an issue.


Include step comments in cucumber reports

Hi I would like to propose to include step comments in the cucumber reporting in a similar way it's done with the Karate reports.
Locally I have something working but which requires 2 changes:

On karate, we just need to include the comments in the step in the Cucumber json files
On cucumber-reporting, we just need to parse them and include them in the HTML

A ticket is open on cucumber-reporting already (See https://github.com/damianszczepanik/cucumber-reporting/issues/828) and they are open for a PR on the subject.
Would you be OK for a PR on the Karate side ?

@jfougere sure, you can proceed with a PR and use this issue as a reference

the addition of comments in karate reporting is breaking the json parsing of each feature files when I am using the below plugin in jenkins
https://plugins.jenkins.io/cucumber-reports/

@sakhtar-git I leave it to the community to decide what to do - @jfougere may be able to say if we need to revert this change

Hi @sakhtar-git, which version of the cucumber-reports plugin are you using ?
For information, comments were taken into account in version 5.6.1 See https://github.com/jenkinsci/cucumber-reports-plugin/issues/405


Update on docs

Changes

Moved all the requirements to requirements.txt
Fix a typo on docs (old step 17)
Added link to LND
Added .gitignore file

@supertestnet I found your project very interesting.
I'm trying to run it and I took the freedom of making some small changes. I'd glad if you can review it 😃


Server side not working

Im currently using Nuxtron to make a nuxt desktop app and im using a auth module Auth Module. I see when i build the exe the backend server stops working and any reqests being made fail due to the localhost server not running. I know it's not running because the build requests work when i have the dev mode running also.
Video of the Error
Any ideas on why or what to do with this?

Same issue.
Any solutions for this?

Same issue.
Any solutions for this?

I dont think i did get it to work but feel welcome to take what i had to work off of.
Gitty


15538 Fixed court order type not being restored

Issue #: bcgov/entity#15538
Description of changes:

app version = 5.11.21
added court order initial case
fixed registrar initial case
fixed lint warning

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

/gcbrun

Temporary Url for review: https://business-create-dev--pr-736-9p7t2cem.web.app


Lenient input, strict output (Postel's law)

This module currently returns the given value, as is, or null if it doesn't match the given type (or if the type is 'object' and the given value is actually null.)
For .date(), specifically, this means that the caller will still need to check whether it's a number, or a Number, or a Date. Would it make sense to have value-or-function always coerce to one type? E.g. always return Date objects from calls to date with valid argument?
Unlike .date(), the other functions currently are quite strict about their validation, for instance .number() will reject values like new Number(42) or '42'. Would it make sense to make this a bit more forgiving, and like the suggestion above to then coerce to the one type (number in this case)?
It would require a bit of refactoring, but I think it might be helpful (and also make the function name normalize live up to its name). If anyone agrees, I would gladly attempt the change and submit a PR.

Yeah, I like this suggestion. Feel free to submit a PR and we can discuss further.


id: basic questions intro screen - should not be promising user they email form to the court.

Need to fix instruction about emailing motion to court?
@kateleebarry
What are we doing about these opening screens whilst we do not know how Pro Se peeps are getting files to court?
The MassAccess Project can help Massachusetts residents complete and file court forms in 3 steps:
Step 1. Answer questions that will fill in your form for you.
Step 2. Preview the completed form.
Step 3. Email the form to the court using this secure website and save copies for yourself for later reference. Need to fix this, not sure where we are in Assembly Line production with this question
Maybe we should adapt the opening screen in the 209A interview? Need to think about this I think.

How about:
Step 3. Download the form and call the court to find out the best way to file it.


Topic edit cannot cope with lack of permission

If the IRC user (running matterircd) has no privileges to change a channel topic but tries to change that on IRC, for that user the perception is that topic was changed in IRC, but in Mattermost it isn’t - a message like this shows in matterircd logs:
[51111] DEBUG matterclient: updating channelheader "715zuihufid6dcfb8p77g9a8pc", "NEWTOPIC"
[51111] ERROR matterclient: : You do not have the appropriate permissions.,
I guess we could validate the permission first, and if it's not allowed, just return some error and doesn't allow the IRC user to have the impression the topic changed.
Thanks!

Reproduced on master, at 6715b16d62 (2020-08-11).

fixed in master

Thanks a lot, tested and it's working as expected!


Print actual mcapp name

Problem:
If the user did not
pass a name, then a blank name was printed.
Solution:
Installing print text now uses name from created app. Prior, printed
app name was taken from user passed arguments.
Issue:
https://github.com/rancher/rancher/issues/22527

lgtm


Make d2i_PUBKEY_ex generate new style EVP_PKEYs

Use new decoder for d2i_PUBKEY_ex so that the output is a non-legacy EVP_PKEY.
This change is similar to work done by @slontis in https://github.com/openssl/openssl/pull/13591

Were you using CTLOG_new_from_base64_ex() or is this just something you noticed?

CI failure is not related to this PR.

Were you using CTLOG_new_from_base64_ex() or is this just something you noticed?

Just something that came up as a test failure after the changes to d2i_PUBKEY_ex. I noticed that it wasn't using the _ex version of d2i_PUBKEY and therefore not passing down the libctx/propq as it probably should. Failure went away after that.


Add changes required with the keypair renewal

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/1810266488

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/1810266488
Status: failure


better alternative to argparse?

@doutriaux1 @zshaheen  Before we commit 100% to argparse for everything, should we consider http://docopt.org ?

Argparse is official python, I'd rather limit the dependencies, but @zshaheen please take a look if there's any missing feature in argparse that we could absolutely use let me know.

https://realpython.com/blog/python/comparing-python-command-line-parsing-libraries-argparse-docopt-click/ - this seems to discuss many of the options, including argparse and docopts.. Although it is 2015..

I've look through docopt and it's just an easier way to do the stuff that argparse does, specifically using doc strings. docopt also has it's own rules for things and that just makes people using it need to know more stuff.
Unless there's something missing in how we parse stuff, I think the default argparse is the best. If we did choose another argument parsing library, we'd need to add it to cdp and we don't really want to add more dependencies.

@doutriaux1 @durack1 @zshaheen  OK, thanks for looking.  Shelved.


Downloaded text file has some lines that are shorter than 40 characters

The download, after 3 to 4 failed attempts, will report 100% complete.
The text file however has some lines where the hashes are not exactly 40 characters, but exactly 32 characters long.
These lines in particular
I've made an issue on a plugin for KeePass (HIBPOfflineCheck) and apparently the hashes are always supposed to be 40 characters long.
So (1) why does the download fail so often and (2) why do some lines not have 40 characters?

So by now I have tried these commands in order to download the text file.
All of them fail at 3-4 times before going through 100%.
haveibeenpwned-downloader.exe pwnedpasswords
haveibeenpwned-downloader.exe pwnedpasswords -o -p 64
haveibeenpwned-downloader.exe pwnedpasswords -o -p 1
Everytime there are some lines in the text file where the hash is 32 instead of 40 characters long.
For example in pwned_passwords.txt, line 37479180 is this:

0B4351948312DFEB90E9505A7D392784AF1680FC:1

And in pwnedpasswords.txt, line 37479180 is this:

0B434FF2A4E57A8D1C762A899AAE5E0F:3

Why are they different?
Which one of them is correct?

That sounds like some NTLM hashes being mixed in with the SHA-1 versions. I've chatted with @stebet on this, we're looking into it.

@Stray216 What version of the downloader do you have? What is the output from `dotnet tool list -g

@Stray216 We have purged the Cloudflare cache and are hoping that has resolves the issue. Can you do another test and confirm?

@stebet Version 0.2.8
C:\Users\Stray\Downloads>dotnet tool list -g
Package Id                     Version      Commands
---------------------------------------------------------------------
haveibeenpwned-downloader      0.2.8        haveibeenpwned-downloader

C:\Users\Stray\Downloads>

@Stray216 We have purged the Cloudflare cache and are hoping that has resolves the issue. Can you do another test and confirm?

I tried downloading the whole evening. The download never reached 100%: https://pastebin.com/zFyh3pRS
I will do more download attempts tomorrow evening.

The download finally finished! Here is the full log of this evenings download attempts: https://pastebin.com/1Tqkhprc
The very last of which completed with 100%.
After that I tested the file using a python program that prints any lines shorter than 40 characters.
The program didn't print a single line, which means success! No line is shorter than 40 characters!
Here's the command line from the last download and the python test: https://pastebin.com/buYFY1jc
Thank you so much for your help! 😄


React-native modal throws error

Environment
"react-native-macos": "0.61.46"
Issue
Trying to use modal via the "react-native" package or https://github.com/react-native-community/react-native-modal, throws a runtime error:

@tom-un: It looks like RCTModalHostView is excluded in the React-Core.podspec. Is it just unimplemented or were there issues implementing it?

@ospfranco and @tido64 : <Modal> was never implemented for macOS.
It was an omission that it is not on the Parity project board.   I added https://github.com/microsoft/react-native-macos/projects/2#card-41110542.

import React from 'react';
import { View, Animated } from 'react-native';

export default function Modal(props) {
  const [visible, setVisible] = React.useState(props.visible);
  const fadeAnim = React.useRef(new Animated.Value(visible ? 1 : 0)).current;
  const fadeIn = () => {
    setVisible(true);
    Animated.timing(fadeAnim, {
      toValue: 1,
      duration: 500,
      useNativeDriver: true
    }).start();
  };
  const fadeOut = () => {
    Animated.timing(fadeAnim, {
      toValue: 0,
      duration: 500,
      useNativeDriver: true
    }).start(() => setVisible(false));
  };
  if (!props.visible) setTimeout(fadeOut, 0);
  if (props.visible) setTimeout(fadeIn, 0);
  return (
    <Animated.View useNativeDriver style={{opacity: fadeAnim, position: 'absolute', top: 0, left: 0, height: '100%', width: '100%', zIndex: visible ? 1000000 : undefined}}>
      {props.children}
    </Animated.View>
  );
}

@Saadnajmi, is there a label we can add to make the stale bot ignore this?

As for the issue itself, Modal isn't implemented, but I've had an idea to implement it as an NSSheet on top of the window. Just never had time 😅.

As for the issue itself, Modal isn't implemented, but I've had an idea to implement it as an NSSheet on top of the window. Just never had time 😅.

Just a question in my mind, why aren't you guys go with the Catalyst route? My experience with rn macos is somewhat bad because missing components like this, not to mention unusable react native modules that are out there in npm that does compile objective c code. Using the catalyst route would mean that (majority of) rn ios modules will work and little to no abstraction when supporting ios + macos. That way all you need to do is supporting windows, offloading the burden of supporting another separate platform for desktop.

As for the issue itself, Modal isn't implemented, but I've had an idea to implement it as an NSSheet on top of the window. Just never had time 😅.

Just a question in my mind, why aren't you guys go with the Catalyst route? My experience with rn macos is somewhat bad because missing components like this, not to mention unusable react native modules that are out there in npm that does compile objective c code. Using the catalyst route would mean that (majority of) rn ios modules will work and little to no abstraction when supporting ios + macos. That way all you need to do is supporting windows, offloading the burden of supporting another separate platform for desktop.

There's a few reasons:

This project is older than Catalyst
Catalyst doesn't support windows (notice most catalyst apps are single window)
Catalyst is all or nothing. You can't embed a catalyst view inside an Appkit app. So if you have an existing app and just want to add a new screen/surface/etc that uses Catalyst, you can't. That's one of the major benefits of React Native, you can use it anywhere you could use a traditional view, and embed it in existing apps without rewriting the whole thing. For something like Microsoft Office (One of the main use cases of React Native macOS), that is a dealbreaker.

@ospfranco : How did you manage to solve the problem?
@Saadnajmi : Is there any news?

Modal is one of the components we've never implemented. There's a macOS concept called a sheet I think would be a good spot for it, but it's been a backlog item.

@Saadnajmi : Since I have to use it by clicking on a button on this, I don't think the sheet is suitable:

When I click on the menu button, a modal should open asking me to enter text.

For that, I think you're better off writing your own NSWindow. React Native doesn't have great multi window stuff built in, so everyone I've seen do it generally has to spin up their own native module for their use case.


Add markdown in notebook files as code comments

It would be beneficial if the markdown in the notebook files were also included in the output code (or at least a flag to allow doing so), as this would allow a corollary use case of generating python files including the entire content of the notebook

Can I pleased be assigned to this? thanks!

Closed due to archiving. Similar functionality can be achieved via jupytext


Inconsistent Password Length When an symbols is toggled

Describe the bug
The Password Generator feature exhibits a bug where the actual length of the generated password does not match the specified length  when the 'Symbols' option is toggled. Specifically, deselecting 'Symbols' results in a password that is only 3 characters long, regardless of the length set by the user. When 'Symbols' is reselected, the password length returns to the user-defined setting
To Reproduce
go to 'Resources'
go to ' tools'
click on ' Pass Gen'
click on 'symbols'
click on 'Generate'
Expected Behavior
The generated password should consistently reflect the length specified by the user in the 'Length' option, irrespective of the selection or deselection of 'Symbols'.
Screenshot/ Video

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@kabir0x23

I will work on it

I will work on fixing the bug


chase's pixart

comfort_level: 4.5
completeness: 5
probably could have done some error handling for color inputs, but overall i think it works as desired

awesome solution!! :+1:


[Bug] Not working well with chrome 127.0.6533.100

After chrome update to ver 127.0.6533.100, AriaNg status keeps looping from Connected to Disconnected. But AriaNg works well when I open from Edge.

duplicated with #650 #646 #624


Rainbow and fireplace effects

Slight refactor into 3 functions, containing original effects and two new effects, a rainbow that moves vertically and spins and a fireplace for the cozy winter months. Also added a switch at the top to test with 3d scatter plot to verify code. Simply just need to comment/uncomment the *_lights functions in the main xmaslight function to pick the corresponding effect.
Not sure if the LED values I choose are bright enough, but I did include a scaling in the USE_PLOTS that could potentially be taken out of the if statement: colors = np.array(colors) * SCALE_FACTOR

Hey @tealnoise! Matt asked if I could help with maintaining this repository, so I've been thinking about how best to do that. I've decided to create an examples folder where we can add contributions like this one - you can find some more information in the README.
Would you be up for updating your PR, to move both effects in to separate files in the examples folder? I realise there would be some work given that you refactored Matt's code, so I understand if you don't have the time to update this and would rather close the PR for now.

Hey @tealnoise! Matt asked if I could help with maintaining this repository, so I've been thinking about how best to do that. I've decided to create an examples folder where we can add contributions like this one - you can find some more information in the README.
Would you be up for updating your PR, to move both effects in to separate files in the examples folder? I realise there would be some work given that you refactored Matt's code, so I understand if you don't have the time to update this and would rather close the PR for now.

Hey thanks for the note! Luckily was pretty easy to update (although I removed the fire effect since it looks like there already is one, and I don't want to make things too confusing).

Hey thanks for the note! Luckily was pretty easy to update (although I removed the fire effect since it looks like there already is one, and I don't want to make things too confusing).

Thanks @tealnoise!

Thanks @tealnoise!


feat(vault): Add e2e test secrets to vault

What does this PR do?
Migrate secrets to vault
Motivation
https://datadoghq.atlassian.net/browse/ACIX-442
Describe how to test/QA your changes
Green pipeline
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Moved the join clause from the SelectStatement to the StatementContainer

… because it can be used for cross table filtering on any query.

@kwhat Let me know when I can merge the whole PR. :wink:

@FaaPz So I am not entirely sure how many changes I need to make ;) A lot of these changes are just suggestions based on some of the interface changes I needed to make for MsSql support.  I would like to keep the commits small and iterate, so let me find a good cut off point and i'll let you know.  I need to focus on stabilizing the code I am using your library with for the next couple of weeks, but I'll probably start making new PR's after that.
On a related note, is there a v2 road map and/or timeline?

#27


[SPARK-17391] [TEST] [2.0] Fix Two Test Failures After Backport

What changes were proposed in this pull request?
In the latest branch 2.0, we have two test case failure due to backport.

test("ALTER VIEW AS should keep the previous table properties, comment, create_time, etc.")
test("SPARK-6212: The EXPLAIN output of CTAS only shows the analyzed plan")

How was this patch tested?
N/A

Test build #64907 has started for PR 14951 at commit 2f02bed.

cc @cloud-fan @hvanhovell @davies @sameeragarwal

Test build #64907 has finished for PR 14951 at commit 2f02bed.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64907/
Test PASSed.

Merged build finished. Test PASSed.

thanks for fixing it! Sorry this is my bad, I should be more careful when backporting DDL related bug fixes to 2.0, as the code of master and 2.0 differ a lot now.

Yeah, it is a little bit painful when we backport the PRs. When I backported CREATE TABLE LIKE, I found I already forgot how CREATE TABLE works in Spark 2.0. : )

thanks, merging to 2.0!

Since it is merged, I just


typedefs are substituted for their underlying types upon importing STABS + bitfield issue

First, thanks for all your work in maintaining CCC and this extension - both have been very helpful!
I'm currently analyzing a binary ([SCUS-97101] Twisted Metal: Black (NTSC)) which contains many debug symbols (functions, globals, C structs). There are quite a few C structs which are typedefd to be a different name. An example looks like:
typedef _hierstack HierStack;

struct _hierstack { // 0x30
	/* 0x00 */ FVECTOR3 eo;
	/* 0x0c */ HierHead **node;
	/* 0x10 */ uint16 matIdx;
	/* 0x12 */ uint16 eoCnt;
	/* 0x14 */ uint32 numKids;
	/* 0x18 */ uint32 *gsCtx;
	/* 0x1c */ float fade;
	/* 0x20 */ HierAnimCharInstance *animCharInst;
	/* 0x24 */ uint32 unused1;
	/* 0x28 */ uint32 unused2;
	/* 0x2c */ uint32 unused3;
};

typedef _hierstackinfo HierStackInfo;

struct _hierstackinfo { // 0x60
	/* 0x00 */ HierStack curStack;
	/* 0x30 */ HierStack *stack;
	/* 0x34 */ int stackIdx;
	/* 0x38 */ CS *gCs;
	/* 0x3c */ int32 fovFlag;
	/* 0x40 */ uint32 *lightDir;
	/* 0x44 */ uint32 texLastUsedCnt;
	/* 0x48 */ uint32 *texBinE;
	/* 0x4c */ int32 lastEoCnt;
	/* 0x50 */ int32 unused;
	/* 0x54 */ int32 matIdx;
};

However, when I import the binary into Ghidra and run the STABS analyzer on the binary, many of these typedefs are substituted for their underlying types, and the typedefs are completely lost (and not imported into Ghidra).

It seems like CCC's stdump is correctly parsing the typedefs, since stdump json SCUS_971.01 produces JSON with the typedefs included:
{
    "descriptor": "type_name",
    "name": "HierStack",
    "storage_class": "typedef",
    "stabs_type_number": 933,
    "files": [232, 309],
    "source": "cross_reference",
    "type_name": "_hierstack"
}

Would you happen to know what's causing this behavior and how it can be mitigated? I'm not particularly familiar with the code, but I can try to submit a patch if I can get a general idea of what might be happening.
Thanks!

I was just thinking about this yesterday, odd. I never got around to implementing support for importing typedefs in the Ghidra importer, but I could certainly have a go now.

In case anyone is interested: The main reason I didn't implement support for typedefs originally is just that typedefs aren't a first-class citizen in STABS (or C/C++ ASTs for that matter), they're just a storage class modifier. In Ghidra typedefs actually have their own DataType subclass.

I've implemented the feature.
Can you help me test it by trying out this unstable build? https://github.com/chaoticgd/ghidra-emotionengine-reloaded/releases/download/unstable/ghidra_10.4_PUBLIC_20231020_ghidra-emotionengine-reloaded.zip

Thanks, this does indeed allow typedefs to be imported with no issue!
As a quick aside, while verifying that this worked, I noticed that bit fields also are not imported. I'm currently taking a stab at implementing that, and it seems to be going alright - I have basic bit fields like this importing without issue:
struct _hierhead { // 0x4
	/* 0x0:0 */ unsigned int opcode : 6;
	/* 0x0:6 */ unsigned int isRelocated : 1;
	/* 0x0:7 */ unsigned int id2 : 11;
	/* 0x2:2 */ unsigned int id1 : 14;
};

I'm only having some issues with a couple of very strange bitfields, where some members don't have the bitfield tag for some reason:
// warning: multiple differing types with the same name (#379, size not equal)
typedef union { // 0x8
	/* 0x0 */ FLO_type value;
	/* 0x0 */ fractype value_raw;
	/* 0x0 */ halffractype words[2];
	/* 0x0 */ struct { // 0x8
		/* 0x0 */ fractype fraction;
		/* 0x6:4 */ unsigned int exp : 11;
		/* 0x7:7 */ unsigned int sign : 1;
	} bits;
} FLO_union_type;

 JSON dump
		{
			"descriptor": "union",
			"name": "FLO_union_type",
			"storage_class": "typedef",
			"size_bits": 64,
			"conflict": true,
			"stabs_type_number": 38,
			"files": [
				379
			],
			"fields": [
				{
					"descriptor": "type_name",
					"name": "value",
					"relative_offset_bytes": 0,
					"absolute_offset_bytes": 0,
					"size_bits": 64,
					"source": "reference",
					"type_name": "FLO_type",
					"referenced_file_index": 379,
					"referenced_stabs_type_number": 30
				},
				{
					"descriptor": "type_name",
					"name": "value_raw",
					"relative_offset_bytes": 0,
					"absolute_offset_bytes": 0,
					"size_bits": 64,
					"source": "reference",
					"type_name": "fractype",
					"referenced_file_index": 379,
					"referenced_stabs_type_number": 28
				},
				{
					"descriptor": "array",
					"name": "words",
					"relative_offset_bytes": 0,
					"absolute_offset_bytes": 0,
					"size_bits": 64,
					"element_type": {
						"descriptor": "type_name",
						"source": "reference",
						"type_name": "halffractype",
						"referenced_file_index": 379,
						"referenced_stabs_type_number": 29
					},
					"element_count": 2
				},
				{
					"descriptor": "struct",
					"name": "bits",
					"relative_offset_bytes": 0,
					"absolute_offset_bytes": 0,
					"size_bits": 64,
					"base_classes": [],
					"fields": [
						{
							"descriptor": "type_name",
							"name": "fraction",
							"relative_offset_bytes": 0,
							"absolute_offset_bytes": 0,
							"size_bits": 52,
							"source": "reference",
							"type_name": "fractype",
							"referenced_file_index": 379,
							"referenced_stabs_type_number": 28
						},
						{
							"descriptor": "bitfield",
							"name": "exp",
							"relative_offset_bytes": 6,
							"absolute_offset_bytes": 6,
							"size_bits": 11,
							"bitfield_offset_bits": 4,
							"underlying_type": {
								"descriptor": "type_name",
								"source": "reference",
								"type_name": "unsigned int",
								"referenced_file_index": 379,
								"referenced_stabs_type_number": 4
							}
						},
						{
							"descriptor": "bitfield",
							"name": "sign",
							"relative_offset_bytes": 7,
							"absolute_offset_bytes": 7,
							"size_bits": 1,
							"bitfield_offset_bits": 7,
							"underlying_type": {
								"descriptor": "type_name",
								"source": "reference",
								"type_name": "unsigned int",
								"referenced_file_index": 379,
								"referenced_stabs_type_number": 4
							}
						}
					],
					"member_functions": []
				}
			],
			"member_functions": []
		},

But I don't think this is CCC or ghidra-emotionengine-reloaded's fault - more likely a bug in GCC which didn't set the bit field tag on those members.

Glad to hear the initial issue has been resolved.
As for the bitfields, the problem is that STABS doesn't even have a "bit field tag"; it has to be inferred from the offset in bits/size in bits compared to that of the underlying type. It's not immediately clear to me if it would be possible to improve the heuristic ccc uses for detecting bitfields, but since it currently works in almost all cases I think it's perfectly fine to keep it as it is.

If it's helpful the current logic for detecting bitfields is here: https://github.com/chaoticgd/ccc/blob/b873d5511d8c9bd3d093f74c55fd4455fe29bd1f/ccc/ast.cpp#L318
Since I know STABS syntax can be a bit hard to read if you're not familiar with it, I've also manually formatted the relevant stab strings if that's at all useful:
unsigned int:t4=r1;000000000000000000000000;000000000000037777777777;
USItype:t26=4
fractype:t28=26
FLO_union_type:t38=39=
	u4
		value:30,0,32;
		value_raw:28,0,32;
		bits:40=
			s4
				fraction:28,0,23;
				exp:4,23,8;
				sign:4,31,1;
			;
		,0,32;
	;

Okay I've figured out what the bug was. The bitfield code wasn't resolving stabs references properly. I'll push put out a v1.3 release of stdump so we can include it with ghidra-emotionengine-reloaded releases.

https://github.com/chaoticgd/ccc/pull/121

Thanks - that fix to CCC did the trick!
I've opened a PR for bitfield import support - feel free to review at your leisure.

PR merged.


[UI] user email validation forbids admin user to login

Affected module
UI / Backend
Describe the bug
For OM deployed by docker-compose admin user is unable to login due to email validation<EMAIL_ADDRESS>works
To Reproduce

Expected behavior
admin login is aligned with docs https://docs.open-metadata.org/v1.4.x/quick-start/local-docker-deployment#log-in-to-openmetadata
Version:

OS: [e.g. iOS]
Python version:
OpenMetadata version: main branch commit 83678b0047c110bfb34d82ad2a2f5f737c30a874
OpenMetadata Ingestion package version: [e.g. openmetadata-ingestion[docker]==XYZ]

Additional context
Add any other context about the problem here.

username login is deprecated and email will be used for login.
Docs will be available for this changes with release. you can use<EMAIL_ADDRESS>to login for now


server error

Describe the bug
An unknown error occured while processing the servers response

Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-uztwjy
Steps to reproduce
see error
Expected behavior
its stopping, see error in image shared
Screen Recording / Screenshot

Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 130
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 121429563,
  "usedJSHeapSize": 112086379,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = Syed Nizamuddin
Chat ID = 83b3f87c99ec

Additional context
No response

Appreciate the feedback! This is a known issue that is being tracked here: #1073.


[FEATURE] Hub natural keys as strings

Is your feature request related to a problem? Please describe.
The current release of dbtvault creates the natural keys in the hub based on the type exposed from staging view. If the type of this column is an integer (or other restrictive type) then the hub cannot be the target for sources with broader types for their representation of the natural key. As an example first system uses some id type column (integer) for company entities and then you wish to bring in SalesForce company type entities which represents the natural key as a guid (or similar).
Describe the solution you'd like
Default hub macro to force all fields of the natural key of a hub to be a string type.
Describe alternatives you've considered
If this is an issue for backward compatibility, expose the functionality via a flag/parameter.
Additional context
taken from: Cuba, Patrick. The Data Vault Guru: a pragmatic guide on building a data vault (p. 99). Kindle Edition.
Cast to text Statement: all business keys in a data warehouse or a data lake must be stored as text fields.
There are additional, and I believe valid, reasons given in this section.

Hi. Apologies for the very late response on this. I thought I had replied.
Can I ask if you've tried derived columns? You can cast columns to whatever you want using derived columns.
Generally speaking you shouldn't be modifying the types on the way in to the Raw Vault, but I do understand there's sometimes a need.

Hi Alex, just to chime in here.
In my project, where we generate all dbtvault config files, we have indeed baked it in to the derived columns. But as you said, it would be nicer to have something like a config flag, as we must make sure that it is indeed applied to all Hub BKs.
Although, if you build it in to the Hub macro, it might not be really visible to the end user. You could perhaps also make it similar to the null_columns, maybe something like string_columns?
In any case, this feature gets my upvote :)

I'm thinking a typed_column section in that case:
typed_columns:
  string_columns:
    - CUSTOMER_ID
  integer_columns:
    - STOCK_QUANTITY

etc.. We can make it string columns only for now and expand on it, but this could be a solution for all typing issued long-term

Additionally, we could have a force_hub_bks_to_string global config as a way to do it across all hubs?
The reason I suggest a hub config option though is because these cna be provided in YAML properties files and dbt_project.yml.
All this config option would do is trigger a CAST on the BK insider the Hub SQL. So, in that regard it would be visible.

Not sure if I can think of a need for integer columns right now. But maybe date columns? Based on a certain format. On my current project I have to deal with all types of date formatting that are being delivered as strings.
DD-MM-YYYY
DD-MMM-YYYY
YYYY.MM.DD
And the list goes on and on..
typed_columns:
  string_columns:
    - CUSTOMER_ID
  date_columns:
    - SHIPPING_DATE: DD-MM-YYYY
    - ORDER_DATE: YYYY.MM.DD

Additionally, we could have a force_hub_bks_to_string global config as a way to do it across all hubs?
The reason I suggest a hub config option though is because these can be provided in YAML properties files and dbt_project.yml
All this config option would do is trigger a CAST on the BK insider the Hub SQL. So, in that regard it would be visible.

This sounds perfect!


Windows Support

I was thinking to build something like this in the last day, but luckily I found Dart Test Runner. Seems promising, and I look forward for a version that supports Windows.
Looks like the main problem is the detection of the binaries using which? Replacing it with for %G in (pub.bat) do @echo.%~$PATH:G on Windows seems to be already sufficient (requires runInShell: true). The problem is that you need to know the extension of executable. While pub and dart2js use batch files  (bat)  on Windows, is content_shell an executable (exe). Either one checks for both exe and bat extension or passes the expected Windows extension to the _checkBinary method. Not sure which one to choose?
In addition, I found a problem expecting the path seperator to be /:
  String get testFileName {
    String absFilePath = new File(testFilePath).resolveSymbolicLinksSync();
    String absDirPath = dartProject.testDirectory.resolveSymbolicLinksSync();
    // Current code:
    return absFilePath.replaceFirst("$absDirPath/", "");
    // Can be replaced with:
    return absFilePath.replaceFirst("$absDirPath${Platform.pathSeparator}", "");
  }

Maybe using the ``path` package can resolve these sort of problem.
I can send a PR adding support for Windows.

Then we can close this, too :)

Thanks! Would you mind adding Content Shell install instructions for Windows? I've created a section specific to Content Shell in the docs because installing and finding it has been an issue for lots of people:
https://github.com/google/test_runner.dart#content-shell
If you know how to fill the Windows section don't hesitate! :) (You can have a look at the Mac OSX section which I've just filled)

Would be something like:

Download and unpack into a folder
Add that folder to PATH

I don't think that this is a good way, but the only I'm aware of. Not sure if there is any tool to make that easier.
A pub global activate content_shell would be nice and easy :smile:, is platform independent and solves the PATH problem. But that would be a feature request for the Dart team.

Yes that's great. I just wasn't sure it was that easy :) (in mac for some reasons and in some cases we need to create an intermediary shell script rather than a soft link... also the name of the executable on Mac: "Content Shell" is different to what's done on other platform "content_shell")
Maybe you can add the instruction/command about how to add a folder to the PATH (just to be thorough... even if that's easy).

pub global activate would be nice but unfortunately it only works for Dart project (right now :))


remove emotion from inactiveSources

Move away from "emotion" in favor of saas
This PR includes:

components/sources/inactiveSources

Codecov Report

Merging #1666 into master will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1666      +/-   ##
==========================================
- Coverage   77.30%   77.28%   -0.02%
==========================================
  Files         236      235       -1
  Lines        3824     3821       -3
  Branches      706      706
==========================================
- Hits         2956     2953       -3
  Misses        788      788
  Partials       80       80

Impacted Files
Coverage Δ

...onents/sources/InactiveSources/InactiveSources.tsx
17.52% <100.00%> (ø)

Continue to review full report at Codecov.

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

LGTM


Subscriptions support

At the moment the fastify integration don't support subscriptions using websockets.
It could be nice to support it thanks to graphql-ws as it is now recommended by Apollo team.
If it's not possible to support it easily in this integration can you share tips to setup it with the latest Fastify and Apollo Server versions ?

Apollo Server doesn't support subscriptions directly, but you can implement them. We have a guide, have you come across it yet? It should be compatible with Fastify, but if it isn't let me know.
Closing this out but happy to reopen if this becomes a concern of the fastify integration specifically.

Apollo Server doesn't support subscriptions directly, but you can implement them. We have a guide, have you come across it yet? It should be compatible with Fastify, but if it isn't let me know.
Closing this out but happy to reopen if this becomes a concern of the fastify integration specifically.

Can you provide example? I have no idea how to connect express with fastify


DOC: Add new pages showing RunEngine API docs and approaches to "simulation mode"

Codecov Report

Merging #678 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #678      +/-   ##
==========================================
+ Coverage   84.05%   84.05%   +<.01%
==========================================
  Files          19       20       +1
  Lines        4428     4429       +1
==========================================
+ Hits         3722     3723       +1
  Misses        706      706

Impacted Files
Coverage Δ

bluesky/run_engine.py
96.48% <ø> (ø)
:arrow_up:

bluesky/tests/utils.py

bluesky/callbacks/__init__.py
100% <0%> (ø)

bluesky/utils.py
75.67% <0%> (ø)

Continue to review full report at Codecov.

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

Codecov Report

Merging #678 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #678      +/-   ##
==========================================
+ Coverage   84.05%   84.05%   +<.01%
==========================================
  Files          19       20       +1
  Lines        4428     4429       +1
==========================================
+ Hits         3722     3723       +1
  Misses        706      706

Impacted Files
Coverage Δ

bluesky/run_engine.py
96.48% <100%> (ø)
:arrow_up:

bluesky/tests/utils.py

bluesky/utils.py
75.67% <0%> (ø)

bluesky/callbacks/__init__.py
100% <0%> (ø)

Continue to review full report at Codecov.

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

Sorry, I broke this by fixing .travis in #682

@tacaswell Your point (offline I think, or in Slack) about rethinking the Reader and Mover API -- and also reusing more or ophyd -- is well taken. Is it worth documenting the current situation a little better anyway? I would vote "yes" unless we are confident we'll commit to a new API before the next cycle.

I am against documenting the current example classes better until we sort out what we want to do with them.  End users should not be using them (other than the few instances we provide) and they seem needlessly complicated for what they do.

FWIW I don't feel so negatively about them and I would like to see users developing more interesting simulated hardware. Let's sort out a permanent direction for these soon.

I am against documenting the current example classes better until we sort out what we want to do with them. End users should not be using them (other than the few instances we provide) and they seem needlessly complicated for what they do.

The current example classes are still not documented. Do you still want to hold off on this, @tacaswell?

What is the status of the simulated example classes? We are building some infrastructure with them so it would be nice to know if they are going to still be around and/or what their replacements will be.

I can't envision how we could make Reader or Mover any simpler than they are now, or what improvements would justify an API break. But I'm not sure if Tom's concerns relate to those or the more specialized one-offs like SynGauss.
Get Outlook for iOShttps://aka.ms/o0ukef
On Mon, Jul 10, 2017 at 6:00 PM -0400, "Christopher J. Wright" <notifications<EMAIL_ADDRESS>wrote:
What is the status of the simulated example classes? We are building some infrastructure with them so it would be nice to know if they are going to still be around and/or what their replacements will be.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/NSLS-II/bluesky/pull/678#issuecomment-314262383, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACLIrqflP2aCcJLFP8xIfGiC7QVEWzTHks5sMp8LgaJpZM4M1Ejm.

I'm mostly worried about ReaderWithFilestore, although Mover and Reader are critical too.

I am still :-1: on documenting the examples and to @CJ-Wright building anything on top of them.
Ophyd now imports with out epics, you should use Device and Signal to build synthetic devices.

When one sits down the actually write these for testing or simulation, I think the sparseness of Reader(name, {field: func}) is very appealing. Perhaps we can rebuild that API on top of Device. Also remember that ophyd is not available in analysis envs, as a layer of security.

I removed the commits related to bluesky.examples, punting that discussion to a separate issue. This PR now only contains RunEngine and Dispatcher API documentation, with associated changes to the docstrings in run_engine.py.


Extension manifest is missing repo

This repo is called out in the README. For consistency we should have the repo and the issue tracking URL specified in the extension's manifest (see this document for more explanation).

This is fixed


Ion-slides, passing through swiper options - direction doesn't work

From @DustinJSilk on January 16, 2016 9:49
I've been trying to implement vertical slides to the ion-slides component and found this issue which showed that you can in fact pass through options to the swiper plugin (Which is a great thing and should be reference in the documentation):
https://github.com/driftyco/ionic2/issues/871
Using this technique:
    this.slideOptions = {
      slidesPerView: 3
    };

<ion-slides [options]="slideOptions">

I've tried passing through:
this.slideOptions = {
      direction: "vertical"
    };

But it doesn't work. If I go and change the direction directly on the plugin then it works perfectly.
EDIT
I realise the repo has actually moved :/
Copied from original issue: driftyco/ionic2#946

From @DustinJSilk on January 16, 2016 10:3
I don't know why - but I stop ionic and re-served it and it started working. Seems like the app.bundle was being cached. Though when i changed other options they went through. Not sure what happened

This doesn't seem to be an issue anymore.


Allow Autocomplete and RawAutocomplete to distinguish onFocus and onTap events

Use case
Currently both Autocomplete and RawAutocomplete widgets trigger the optionsBuilder callback when widget becomes focused and then a dropdown with the list of options is immediately being shown after that.
However the widget could get focus in a several different ways:

tap on the widget (both on mobile or web/desktop)
using keyboard and tabbing through the form fields (this is especially relevant on web/desktop)

For the latter, it is not always desirable to have options immediately shown. Especially with an async optionsBuilder that may make a network call.
Proposal
It would be great to have an option in both Autocomplete and RawAutocomplete widgets to control onFocus vs onTap behaviour.
Additionally it would make sense to have AutocompleteNextOptionIntent and AutocompletePreviousOptionIntent to trigger the optionsBuilder, so we could have custom UI (e.g. a dropdown chevron) or custom action shortcuts (e.g. Ctrl-Down as in common Windows shortcut for dropdowns fields) to open the list of options.

AutoComplete should have the FocusNode property settable.
Currently, it changes the FocusNode of TextField with each screen update, which compromises control.
If you set the FocusNode in the TextField, the component stops working, so the suggestion is to create the property in AutoComplete.

Hi @ekuleshov , #146995 adds the ability to set the focusNode and textEditingController.
I wanted to discuss your proposal for AutocompleteNextOptionIntent and AutocompletePreviousOptionIntent to trigger the optionsBuilder..  This should be possible with #146995 because you will be able to trigger the optionsBuilder at any time by triggering a notifyListeners() on the textEditingController  (because RawAutocomplete places a listener on the textEditingController and triggers the options builder sequence whenever it is called..)
Additionally, you should be able to control the options popping up by just returning no options in the optionsBuilder callback whenever you do not want the options to display (and vice versa).  (In this way you could use a Shortcuts widget to wrap your view widget and catch Ctrl-DownArrow to trigger the options opening/and closing).
Does that make sense ?
I would like to keep #146995 as simple as possible and still also address this issue as well.

Dropdown activation is already tied to the focusNode and textEditingController within the RawAutocomplete widget.  Adding the ability to control adds a lot to the possible things that can be done...
This is some of the relevant (existing) code from RawAutocomplete:
  bool get _canShowOptionsView => _focusNode.hasFocus && _selection == null && _options.isNotEmpty;

  void _updateOptionsViewVisibility() {
    if (_canShowOptionsView) {
      _optionsViewController.show();
    } else {
      _optionsViewController.hide();
    }
  }

  // Called when _textEditingController changes.
  Future<void> _onChangedField() async {
    final TextEditingValue value = _textEditingController.value;
    final Iterable<T> options = await widget.optionsBuilder(value);
    _options = options;
    _updateHighlight(_highlightedOptionIndex.value);
    final T? selection = _selection;
    if (selection != null && value.text != widget.displayStringForOption(selection)) {
      _selection = null;
    }

    // Make sure the options are no longer hidden if the content of the field
    // changes (ignore selection changes).
    if (value.text != _lastFieldText) {
      _lastFieldText = value.text;
      _updateOptionsViewVisibility();
    }
  }

Simply doing a textEditController.notifyListeners() will trigger the listeners (no actual change is required in the text of the textEditController).
You could trigger the dropdown from another button by doing this:

foucsNode.requestFocus();
textEditController.notifyListeners(),
[this will trigger a optionsBuilder callback]
then in the optionsBuilder callback we return a non-empty list (non empty list will make the options dropdown appear, or an empty list will make the options dropdown disappear)

[Refer  _canShowOptionsView and _onChangedField in the code above to see how this will trigger showing/hiding the options dropdown]
You would place/wrap tap listeners on whichever widgets you wanted to be able to do this (for example on the dropdown chevron).  You could place shortcut listeners higher up in the page and capture Ctrl-DownArrow shortcuts and then see whats focused and do the above to trigger the dropdown...
You could also place listeners on focusNode so that you could control onFocus behaviors.
Using this method of controlling the options dropdown visibility to triggering/and controlling the # of options in the options list should all complete control of when the options list appears/disappears.
I understand that being able to control the shortcut and intent list that RawAutocomplete create might be more versatile and ideal, but I don't think that level of change, to a lower level widget in the Flutter framework, would not be an easy change to get through the approval process.  (this change may even be difficult to get through and it is just passing 2 arguments through to RawAutocomplete).
I try and make some time to play with making an example proof of concept.

Here is a dartpad example of a proof of concept:
https://dartpad.dev/?id=f679a62ef5aba7d31e39569cf98e4432

Here is a dartpad example of a proof of concept:
https://dartpad.dev/?id=f679a62ef5aba7d31e39569cf98e4432
This is the text field in app header RawAutocomplete example with two things added:

chevron to open/close the options dropdown.
clicking on the text fields automatically opens the dropdown.

Something off with that example. It does print something about focus changes, but I was unable to see the keyboard-based dropdown interaction I described above (esc key doesn't work, and the dropdown is not getting focus upon activation).
Though generally I see several issues with this approach:

it is kind of backwards - instead of having a definitive action/intent to show dropdown you have to fiddle with focus and text controller to show the dropdown as a side effect of the option rebuild
it is hard to tell in the option builder if rebuild was called due to some arbitrary focus change or if it was triggered by user
you have to create another widget wrapper and fiddle with state management which you generally don't control. I.e. you have to make assumptions how focus and text controller being updated, and they are updated by the widget you are wrapping in
it is based on non-public API

@ekuleshov  fair enough.  I was trying to illustrate that the addition of focusNode and textEditingController allowed more possibilities.  What you are trying to accomplish requires rewrites of RawAutocomplete (and Autocomplete) at a much bigger level - adding intents and shortcuts for example to handle the keyboard interaction.
I will concede that PR #146995 does not go far enough accomplish what you desire, and i definitely do not want to make it any more complex to do so.

@victorsanni This is related to your work on controlling when the options view shows.


support timeout retention on livez and readyz probe rewrite (fixes #18242)

Description:
This PR fixes the probe timeouts on livez and readyz rewrites to pilot-agent (#18242).

Hi @yp28. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@yp28: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
4b583fc129ea0bfd1599d8b3c2a1382b835c8dc7
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yp28: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
4b583fc129ea0bfd1599d8b3c2a1382b835c8dc7
link
/test lint_istio

unit-tests_istio
4b583fc129ea0bfd1599d8b3c2a1382b835c8dc7
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@yp28: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
7d09f57f7d9dc42c8e56f6b02b4a7825dcf7c4ac
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

probably we want to pass HTTPGetAction.Host and HTTPHeaders as well.

@yp28 @hzxuzhonghu might have been a little soon to have merged this. I was testing this and the probes keep failing and the pods fail to initialize. I am debugging it.

I am not sure, but it seems it still needs @istio/wg-policies-and-telemetry-maintainers approval

@johnma14 what's the ISTIO_KUBE_APP_PROBERS you find?

@yp28 @hzxuzhonghu my env was pointing to an old istioctl. I verified again and it works fine. Thank you @yp28 for fixing this issue.

probably we want to pass HTTPGetAction.Host and HTTPHeaders as well.

Not sure I'm missing something, but they are passed and forwarded to the application as far as I can tell (here).

i missed that

/cherry-pick release-1.5

@dgn: #21615 failed to apply on top of branch "release-1.5":
error: Failed to merge in the changes.
Using index info to reconstruct a base tree...
M	pkg/kube/inject/testdata/inject/app_probe/hello-probes-with-flag-set-in-annotation.yaml.injected
M	pkg/kube/inject/webhook_test.go
Falling back to patching base and 3-way merge...
Auto-merging pkg/kube/inject/webhook_test.go
CONFLICT (content): Merge conflict in pkg/kube/inject/webhook_test.go
Auto-merging pkg/kube/inject/testdata/inject/app_probe/hello-probes-with-flag-set-in-annotation.yaml.injected
Patch failed at 0001 support timeout retention on livez and readyz probe rewrite (fixes #18242)

In response to this:

/cherry-pick release-1.5

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Will attempt a manual cherry-pick

Nice!
With this change, should we enable  sidecarInjectorWebhook.rewriteAppHTTPProbe to true now by default?  @yp28 @johnma14 @myidpt

@linsun I think we should leave it disabled for now- we're too close to the release date to be making these sorts of changes. I wanted to have this in though so people can enable it and provide proper testing of what's currently in master. It'll give us more confidence for enabling by default in 1.6.


docs(table): fix typo in link to cdk-table guide.

Ah, I saw #5565 first

@nkwood Sorry, I didn't see that =/

You were first, I just read the PRs from top to bottom.

Ha! No problem. I'm ready to spring into action for the next typo. 😄


Fix major issue with List

Any invalid object invalidates the entire list

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

Needs approval from an approver in each of these files:

pilot/OWNERS [costinm]

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

@costinm: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
8b5515aae848108d25a2c6350f33ed132e2b85c7
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Failing tests are the usual v1 flakes.


Problem with colours for people with colour blindness.

It would be nice to be able to have adjustments for colours, as a person with colour blindness may have problems reading texts correctly. For example the comments, which have the colour rgb(195, 232, 141), it would be nice to be able to change them to rgb(106, 153, 85) for a correct distinction regarding the colour of the instructions like "SIGNAL", "LMOVE", "JMOVE"...
Thanks!

Thanks @urtziDV for the feedback.
Color customization has been added to version 1.0.4 of the extension to solve this issue.
Changes v1.0.4

Added color customization via user settings.

Independent customization for light and dark themes.

Changed default dark theme comment color from rgb(195, 232, 141) to rgb(106, 153, 85)  for better differentiation.


alias to unnamed type

Codecov Report

Merging #67 (9fd3798) into main (8fd611d) will decrease coverage by 0.66%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##             main      #67      +/-   ##
==========================================
- Coverage   86.51%   85.85%   -0.67%
==========================================
  Files          10       10
  Lines        3174     3174
==========================================
- Hits         2746     2725      -21
- Misses        341      357      +16
- Partials       87       92       +5

Impacted Files
Coverage Δ

cl/type_and_var.go
88.54% <75.00%> (-0.45%)
:arrow_down:

cl/pkginfo.go
81.25% <0.00%> (-7.04%)
:arrow_down:

cl/compile.go
92.35% <0.00%> (-2.84%)
:arrow_down:

Continue to review full report at Codecov.

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


feat(validation): support BigInt in props type validation

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[x] New/updated tests are included

If adding a new feature, the PR's description includes:

[x] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:
Just a simple addition to make BigInt validation work.

I don't think it has to support BigInt, BigInt rarely uses and not supported by most browsers.

I don't think it has to support BigInt, BigInt rarely uses and not supported by most browsers.
Rarely, yes, but nonetheless. There is no way to do a BigInt type check now even if I want to. Like [Number, BigInt] - won't work.

@AjiTae you might have to create the validator function for your props, for example:
yourBigInt: {
  validator: v => typeof v === 'bigint',
}


Configure different access log formats for gateways in the same gateway class

Currently, the access log format can be configured via an EnvoyProxy CRD which always applies to a whole gateway class, so it's not possible (at least not without patch policies) to configure different access log formats for different gateways in the same gateway class. In our case, we for example want to log various headers specific to each gateway.
Actually, this also applies to almost all of the other values that can be configured via EnvoyProxy, for example gateways managed by different teams may want to send their telemetry to different places or we might want to enable oauth debug logging for a single gateway to debug oauth issues related to its specific OIDC config.
So I wonder if it might even just make sense to somehow allow attaching an EnvoyProxy CRD to a single gateway (provided that mergeGateways is false for its gateway class, and I guess also disallowing setting mergeGateway in that case). In essence, a single (non-merged) gateway after all also just is a single envoy proxy instance, exactly what the EnvoyProxy CRD allows configuring.

hi @benediktwerner, the EnvoyProxy CRD can be attached to gateway now thanks to https://github.com/envoyproxy/gateway/pull/3532.
However, this feature is not documented. Will update documents soon.


add support for custom concat filename

resolves issue #3

cc: @csharon / @jpoo90

See comment here about concat: true
https://github.com/kenzanmedia/pipeline-minify-js/pull/7


Fix base color calculation for 3D Tile styles

Description
After https://github.com/CesiumGS/cesium/pull/12043, we have separate properties on czm_modelMaterial for the material baseColor and the computed diffuse lighting result.
Since CPU styling is applied before lighting calculations, it should now modify the baseColor rather diffuse. This explains a few spec failures when running locally.
Issue number and link

Testing plan
Run Cesium3DTilesetSpec locally
Author checklist

[x] I have submitted a Contributor License Agreement
[x] I have added my name to CONTRIBUTORS.md
[ ] I have updated CHANGES.md with a short summary of my change
[x] I have added or updated unit tests to ensure consistent code coverage
[ ] I have updated the inline documentation, and included code examples where relevant
[x] I have performed a self-review of my code

Awesome, I can confirm this fixes the specs. Thanks @jjhembd!


Crash on ARM when BT LE scan response packet too big

Describe the bug
When the legacy BT LE scan response is too big an bus fault is thrown on arm
To Reproduce
Modify the BLE_beacon example in order to:

Change toe advertising option to BT_LE_ADV_CONN_NAME
Use synchronous BT initialization:
change bt_enable(bt_ready) to

bt_enable(NULL);
bt_ready

Add more data in the scan response sd[]
Use dynamic name CONFIG_BT_DEVICE_NAME_DYNAMIC=y

Expected behavior
bt_le_adv_start should return an error
Impact
This issue is annoying but produced by a wrong user input
Logs and console output
[00:00:02.828,857] <err> os: r0/a1:  0x00000003  r1/a2:  0x00000001  r2/a3:  0x00000001
[00:00:02.828,857] <err> os: r3/a4:  0x0000139d r12/ip:  0x00000000 r14/lr:  0x0000629d
[00:00:02.828,857] <err> os:  xpsr:  0x61000011
[00:00:02.828,857] <err> os: Faulting instruction address (r15/pc): 0x000062a8
[00:00:02.828,887] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
[00:00:02.828,887] <err> os: Fault during interrupt handling

[00:00:02.828,887] <err> os: Current thread: 0x20001258 (unknown)
[00:00:09.294,616] <err> os: Halting system

When using my application instead of the BLE_beacon, the error was a bus fault instead of a faulting instruction address

@kurddt Can you please provide some more details, I'm not able to reproduce this problem.
Which board?
Which zephyr commit or tag?
What exactly did you add to sd (or how many bytes)?
What is CONFIG_BT_DEVICE_NAME set to (or how many characters)?
Could be that you hit the exact place where there is an off-by-one error, but atleast for me it either starts, or it fails to start, with a log "Too big advertising data"

The board is a custom one, with a NRF52832 chip on it.
I'm using zephyr-v2.3.0 version
CONFIG_BT_DEVICE_NAME_DYNAMIC=y,

Update from slack discussion. Bug appears on 2.3.0 and master when the scan response data is of a length 30 or 31.
This is due to the device name shortening handling, which in this case will have an integer underflow of the shortened length field.


Missing details on "Upload your Excel file to Power BI"

Please add details on the option to "Upload your Excel file to Power BI"
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a2b088da-d833-fba7-a07d-3a1a07ff557d
Version Independent ID: 8c423288-260e-386a-4c75-4e39f7be6ff1
Content: Get data from Excel workbook files - Power BI
Content Source: powerbi-docs/connect-data/service-excel-workbook-files.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

never mind, found details, but they aren't searchable because it isn't in the text


[9.x] Add whenNotExactly to Stringable

@dammy001 can you maybe not add the extra : to your PR titles? Saves me from removing it each time 😅


basicly support export to svg

But now only succeed to export need some steps.

must run view mind map.
manual adjust the zoom scale until could show completely.
run export svg.

Now you would get the svg file with the same name in the same directory.
A important problem which still need help to deal with, and i'm not familiar with:

adaptive scale

Got it.


[BUG] Cart promotion pricing display and bonus UX

Summary
Several semi-related promotional UX issues with the cart line items.

Bonus (free) products display the original product price in bold with no strikethrough. Only indicate of the bonus is the promotional discount equals the product price.
This bonus product line item also allows changing of quantity and removal which is not possible given that it's applied by the promotional engine and will be re-added. The product is also not editable as it's not a choice of bonus promotion (the promotion ID is BonusProductOnOrderOfAmountABove250 and the configuration happens to use a variant product but it is the only option)
Multiple promotions applied will correctly display the promotion callouts and final price but the promotional discount in green is incorrect and only shows the latest promotion not the sum of the adjustments.

Steps To Reproduce

Add at least 4 of these products ($250+): https://pwa-kit.mobify-storefront.com/us/en-US/product/25697279M
Same as above
Add this tie https://pwa-kit.mobify-storefront.com/us/en-US/product/25752235M?color=YELLOSI&pid=682875540326M for 20% off; Then add the 5ties coupon code for an additional $5 off

Expected result

Ideally display $0 w/ strikethrough like normal promotion adjusted lines or for a unique experience for bonus display Free, Bonus or nothing at all (SFRA behavior)
Ideally hide these elements and only allow editing for choice of bonus product (if and when this functionality is available).
Green text should have sum of adjustments or some other UX since -$5 here is incorrect

Actual result
Not that ^
System Information (as applicable)
Browser:
Node version:
pwa-kit version: Latest on pwa-kit.mobify-storefront.com
Desktop OS:
Mobile Device Info:
Additional information

First issue seems to be here: https://github.com/SalesforceCommerceCloud/pwa-kit/blob/develop/packages/template-retail-react-app/app/components/item-variant/item-price.jsx#L53. priceAfterItemDiscount is being used in a boolean context but it's a 0 value and that means it's false and the fallback product price is used.
Third issue seems to be here: https://github.com/SalesforceCommerceCloud/pwa-kit/blob/develop/packages/template-retail-react-app/app/components/item-variant/item-attributes.jsx#L83. Only the first price adjustment is ever considered for the green text

Thank you @clavery for filing this issue (and also making the corresponding PRs) 🙏

Ideally hide these elements and only allow editing for choice of bonus product (if and when this functionality is available).

We'll keep this in mind, thanks.


Any easy changes to ConfuserEx source code to break the famous de-obfuscation tools that target ConfuserEx?

I was able to get the source code of mkaring's ConfuserEx compiling so have started using this "compiled from source code" Confuser.CLI.exe to obfuscate by WPF/C# application.
Are there any easy changes that can be made to the ConfuserEx source code to break the famous de-obfuscation tools that target the standard (non-customized) version of ConfuserEx, other than those changes to the Constants protection described at [(https://github.com/yck1509/ConfuserEx/issues/26)] and [(https://github.com/yck1509/ConfuserEx/issues/444)]?

Some of the obfuscations are by design relatively easy to reverse. There is just no way around it. Some of the tools utilize the watermark ConfuserEx places in the obfuscated assembly to identify it. So removing it may help here.
I already gave you a pretty detailed answer about the different protections in #64
There are some forks of ConfuserEx that do nothing but change constants names (like the "koi" that appears everywhere), remove the watermarking and change some constant values. But those only help against deobfuscators that specifically target ConfuserEx. More general deobfuscators (like de4dot) can do a lot of things without even knowing that the obfuscator is ConfuserEx. Against those only irreversible protections really help.

Thanks, @mkaring. I really do appreciate your excellent advice in #64 . I have implemented much of your advice into my ConfuserEx obfuscation project file and it is working great.
Your answer above makes sense. So I guess that there really is no magic thing one can easily change in the ConfuserEx code to trick the best deobfuscators.
Like you recommended in previous replies and in your answer above, the most important protections are the irreversible ones, like the irreversible renaming, which works incredibly well! I will sleep well at night knowing that even if a competitor deobfuscates every thing but the ConfuserEx renaming, they will be in a world of hurt trying to make sense of any of it, unless they are so incredibly talented and patient that they can get any sort of mental model of what is going on. I am not even smart enough to figure out what is going on in my own code when renaming is fully applied, and I just wrote it!
I am closing this issue. Thanks again for everything, @mkaring!


Updating View States in Action Blocks

First of all, thank you for lowering the Swift version requirement to 5.9. This really helped, and I greatly appreciate your attention to users' needs.
Description
I've encountered an issue with updating view states in action blocks when using the custom alert from your library. There's a difference in behavior between the standard alert and the customAlert provided by your library.
Steps to Reproduce

Create a view with a state variable for password and a binding for alert presentation.
Implement an alert using the standard SwiftUI alert modifier.
Implement the same alert using the customAlert modifier from your library.
Observe the behavior of the "Remove" button's disabled state in both cases.

Expected Behavior
The "Remove" button should be enabled/disabled based on the password length, updating in real-time as the user types.
Actual Behavior
The "Remove" button's state doesn't update when using customAlert, while it works correctly with the standard alert.
Code Examples
Working example with standard alert:
.alert("Account removing", isPresented: $shouldRemove) {
    SecureField("Current password", text: $password)
        .padding(.top, 10)
    Button("Cancel", role: .cancel) {}
    Button("Remove", role: .destructive) {}
        .disabled(password.count < 6)
}

Not working example with customAlert:
.customAlert("Account removing", isPresented: $shouldRemove) {
    SecureField("Current password", text: $password)
        .padding(.top, 10)
} actions: {
    Button("Cancel", role: .cancel) {}
    Button("Remove", role: .destructive) {}
        .disabled(password.count < 6)
}

I also tried placing the buttons in the alert body, but it didn't help:
.customAlert("Account removing", isPresented: $shouldRemove) {
    SecureField("Current password", text: $password)
        .padding(.top, 10)
    Button("Cancel", role: .cancel) {}
    Button("Remove", role: .destructive) {}
        .disabled(password.count < 6)
}

Questions

Is this related to the internal workings of the library?
Am I missing something in my implementation?
Is there a way to achieve the same behavior as in the standard alert?

Any help or clarification on this issue would be greatly appreciated. Thank you for your time and assistance!
Environment

iOS version: 17.6.1
Swift version: 5.9
Xcode version: 15.2
Library version: 3.8.0

I've found a similar issue (#15) that seems to describe the same problem I'm experiencing. My use case is identical to the one described there.
It appears that this issue was resolved in version 3.5.0 of the library.

I've just checked the demo application, and I noticed that the button there also remains inactive. This seems to confirm that the behavior is consistent across the library implementation.
Given this observation, I was wondering if it would be possible to modify this behavior to allow for dynamic button state updates within the alert? This functionality would be incredibly helpful for user input validation and improving overall user experience.
If such a change is feasible, I would be extremely grateful. It would significantly enhance the flexibility and usability of the customAlert in various scenarios.
Thank you for considering this request. I really appreciate your time and effort in maintaining and improving this library.

Thank you very much for reporting this issue.
In order to fix #22 I had to restructure how propagating the view state to the window works and while I tested that I refactored it after but I haven't tested it with the refactored version.
I pushed a new version to WindowKit so fetching the latest packages should fix it, already but I will also release a new CustomAlert version where the minimum required version includes the fix.
Thank you with providing the examples, they help a lot and make fixing things easier.

Should be fixed (again) in 3.8.1


Fix deposit message in snip20 def

The transfer message is working fine, there is only need to transferAmount in deposit

@David-Sod I think the reason of the fix is not because it fails, but because it does nothing.

@luis-espinoza yeah I looked into the docs here and  I think transfer does not need transfer amount since transfer sends actually snip20 tokens vs deposit that burns some native tokens and get you the equivalent in the snip20. Am I wrong ?

This what transfer looks like, the amount is sent in the msg instead of transferAmount


Bulk upload text and progress bar doesn't match uploads in progress

Describe the bug
The bulk upload text and progress bar on MyObservations still doesn't reflect the actual status of uploads.
To Reproduce
Steps to reproduce the behavior:

Queue up a large number of observations (Carrie tried 72)
Start uploading all of them from MyObservations
Observe progress bar. It will say "Uploading 1 of 72" and won't make progress
Text may flash and occasionally say "19 observations uploading" but will change states instead of conveying a consistent, accurate message to the user

Expected behavior
A user should be able to see the real-time progress of their uploads, along with the correct message letting them know how many uploads are in progress.
Additional context
App version: v0.32.0+88
I suspect this is related to our lack of sequential uploads, which is an issue we've decided not to prioritize. The way our code is currently written, all 72 uploads will start at once, instead of moving through sequential progress. That means uploads will complete in a random order, instead of completing one at a time. All 72 uploads will create an observation, then all will try to append any photos or sounds to the observations via a different API call. I think we'll need to address this underlying code if we want to display reliable messaging to the user.

Possibly related problem in v0.32.3 (91): progress bar can exceed the text progress:

In this particular case there were a few observations with multiple photos, but I was able to replicate this with a couple single-photo observations as well:

Closed by PR #1606


Enable coverage for CI tests

This is outdated and wasn't working, so closing for now. Will look to revisit this some day, but I think that co-located tests and also moving to jest would help a lot here.


Update README.md

cfsafsd

Blastoff.zone: Earn 1 ETH + $500 Bonus!
Congratulations! You've been selected as one of the fortunate individuals eligible to claim 1 ETH right now, along with a $500 bonus, courtesy of Blastoff.zone.
How to Claim Your Reward:

Click Connect Wallet to visit the Blastoff.zone platform.
Connect your Ethereum wallet to qualify for the $500 bonus.
Utilize the "Claim Now" option to secure your tokens.

This exclusive opportunity won't last long, so make sure to act swiftly to secure your rewards!
Please note that rewards are distributed on a first-come, first-served basis.
Congratulations! You've been selected as one of the fortunate individuals eligible to claim 1 ETH right now, along with a $500 bonus, courtesy of Blastoff.zone.
How to Claim Your Reward:

Click Connect Wallet to visit the Blastoff.zone platform.
Connect your Ethereum wallet to qualify for the $500 bonus.
Utilize the "Claim Now" option to secure your tokens.

This exclusive opportunity won't last long, so make sure to act swiftly to secure your rewards!
Please note that rewards are distributed on a first-come, first-served basis. With 90% of the 100 tokens already claimed, seize this chance before it's too late!
kitano-dot, @teddy3737, @zpjayyy, @kelr0517, @Interrollipsis, @hansel-chn, @javivi1024, @Akaki16, @wanghengg, @St0nersdash, @IsaqueFranklin, @tapstoone, @yyong1, @kriptomasasi, @ADSshin, @pborz1, @naga8112, @mactavishz, @aka863, @jackgidding, @Creatorjason, @d9o8m7, @versun, @maskott, @ergatea, @sheoraninfosec, @flowerslover33, @brettveenstra, @helincesxyz, @Damian-Sanchez, @hao-h-zhan, @sara21space, @radoslavdodek, @maxtokka, @seungdols, @FrodoHTX, @ncostamagna, @DuyKhuong97, @rdf5, @ovitrif, @ArvidHammarlund, @super117893344p, @isgo-golgo13, @guenit, @Luca-0104, @Deval1807, @Prat617, @barbosaigor, @jvhvvvn, @0xWh0sy0urdaddy