Support adding multiple custom options

Is there an existing issue for this?

[X] I have searched the existing issues

Are you using the latest Super-linter version available?

[X] I am using the latest Super-linter version.

[X] I can reproduce the issue running Super-linter using complete version identifier (example: vX.Y.Z), and not just with a partial one (example: vX)

[X] I am using the super-linter/super-linter action or container image, and not the deprecated github/super-linter action or container image.

Are you resonably sure that it's a Super-linter issue, and not an issue related to a tool that Super-linter runs?

[X] I think that this is a Super-linter issue.

Current Behavior
Using a .env file for shared configuration as documented (https://github.com/super-linter/super-linter/blob/main/docs/run-linter-locally.md#share-environment-variables-between-environments) and setting multiple command line arguments for kubeconform requires using an unquoted string, which causes dotenv-linter to flag it as an error.
Quoting the string to resolve the error results in kubeconform to be unable to parse the command line arguments, since they are treated as a singular quoted argument.
Adding a comment to the top of the shared .env configuration, casues the github action to fail, with an invalid format error.
# dotenv-linter:off ValueWithoutQuotes
KUBERNETES_KUBECONFORM_OPTIONS=-schema-location default -schema-location https://json.schemastore.org/kustomization.json

Which required me to update loading the shared config to use | grep -v '^# before appending to "$GITHUB_ENV"
Expected Behavior
To be able to leverage shared configuration, configure kubeconform to properly support the schema needed for linting kustomize configuration, and keep dotenv linting enabled without needing to worry about hacky workarounds and error prone config.
Super-Linter version
v7.0.0

Super-linter configuration
# yaml-language-server: $schema=https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/github-workflow.json
---
name: lint

on:
  push:
    # Run superlinter on pushes to default branch
    branches:
      - main
  # Run superlinter on pull request events
  pull_request:

# Declare default permissions as read-only
permissions: read-all

jobs:
  super-linter:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: read
      statuses: write
    steps:
      - name: 🔒 harden runner
        uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0
        with:
          egress-policy: audit
      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
        with:
          fetch-depth: 0
      - name: Load super-linter configuration
        # The grep is needd here because:
        # - github actions will not accept comments here
        # - kubeconform does not support config file or env variable configuration settings, only commandd line arguments
        # - kubeconform needs a schema configured to support kustomize files
        # - super-linter only supports configuring kubeconform command line arguments through the KUBERNETES_KUBECONFORM_OPTIONS env var
        # - super-linter requires KUBERNETES_KUBECONFORM_OPTIONS to be unquoted for kubeconform to process the arguments properly
        # - dotenv-linter doesn't support fine grained config outside of using comments to disable checks selectively
        # - super-linter doesn't expose a way to provide command line options to dotenv-linter
        run: cat .github/super-linter.env .github/super-linter-default-validate.env  | grep -v '^#' >> "$GITHUB_ENV"
      - name: 🧹 run superlinter
        uses: super-linter/super-linter@02a1172d274f021e4c70f66e23f1085eadd1064b # v7.0.0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Relevant log output
Error without using `grep -v`:

Run cat .github/super-linter.env .github/super-linter-default-validate.env >> "$GITHUB_ENV"
  cat .github/super-linter.env .github/super-linter-default-validate.env >> "$GITHUB_ENV"
  shell: /usr/bin/bash -e {0}
Error: Unable to process file command 'env' successfully.
Error: Invalid format '# dotenv-linter:off ValueWithoutQuotes'

Steps To Reproduce
Using the following .env file with the github actions workflow above:
KUBERNETES_KUBECONFORM_OPTIONS=-schema-location default -schema-location https://json.schemastore.org/kustomization.json

Error with quoted KUBERNETES_KUBECONFORM_OPTIONS:
KUBERNETES_KUBECONFORM
  2024-08-22 19:51:59 [INFO]   Linting KUBERNETES_KUBECONFORM items...
  Error: -22 19:51:59 [ERROR]   Found errors when linting KUBERNETES_KUBECONFORM. Exit code: 1.
  2024-08-22 19:51:59 [INFO]   Stderr contents for KUBERNETES_KUBECONFORM:
  ------
  flag provided but not defined: -schema-location default -schema-location https://json.schemastore.org/kustomization.json
  Usage: kubeconform [OPTION]... [FILE OR FOLDER]...
    -cache string
      	cache schemas downloaded via HTTP to this folder
    -debug
      	print debug information
    -exit-on-error
      	immediately stop execution when the first error is encountered
    -h	show help information
    -ignore-filename-pattern value
      	regular expression specifying paths to ignore (can be specified multiple times)
    -ignore-missing-schemas
      	skip files with missing schemas instead of failing
    -insecure-skip-tls-verify
      	disable verification of the server's SSL certificate. This will make your HTTPS connections insecure
    -kubernetes-version value
      	version of Kubernetes to validate against, e.g.: 1.18.0 (default master)
    -n int
      	number of goroutines to run concurrently (default 4)
    -output string
      	output format - json, junit, pretty, tap, text (default "text")
    -reject string
      	comma-separated list of kinds or GVKs to reject
    -schema-location value
      	override schemas location search path (can be specified multiple times)
    -skip string
      	comma-separated list of kinds or GVKs to ignore
    -strict
      	disallow additional properties not in schema or duplicated keys
    -summary
      	print a summary at the end (ignored for junit output)
    -v	show version information
    -verbose
      	print results for all resources (ignored for tap and junit output)
  ------

Error with unquoted KUBERNETES_KUBECONFORM_CONFIG, but without the dotenv-linter comment:
------
Checking .github/super-linter-default-validate.env
Checking .github/super-linter.env
.github/super-linter.env:2 ValueWithoutQuotes: This value needs to be surrounded in quotes

Checking scripts/super-linter-local.env

Found 1 problem
------

Anything else?
There are multiple ways to address this since it's the interaction of multiple different projects, how they can be configured, how super-linter exposes config for the linters involved, etc.
A quick fix may be to improve the way that multiple command line arguments can be passed to kubeconform, but even that isn't without awkward edge cases that wouldd need to be resolved.
Longer term, it would be good to try and coordinate improvements between the tools and how super-linter interacts with them to avoid needing to hack workarounds in user implementations or within super-linter itself.

You have a point here, although I would classify this as an enhancement request.
The main problem is that some tools expose some configuration variables only using command line options, and not a configuration file, so it become necessary to provide a way to set these options.
Parsing commands using an .env file is somewhat fragile, as you reported, so we need a better way of handling this.

By the way, this is one of the reasons why we switched to Bash arrays to dynamically compose commands. So maybe the solution is to provide something along those lines.

You have a point here, although I would classify this as an enhancement request.
The main problem is that some tools expose some configuration variables only using command line options, and not a configuration file, so it become necessary to provide a way to set these options.
Parsing commands using an .env file is somewhat fragile, as you reported, so we need a better way of handling this.

@ferrarimarco I was on the fence about whether to file as a bug or an enhancement, I went with bug since it is likely to impact other users as well.
It might be good to document a "supported" workaround in the docs until proper support can be implemented.

Makes sense. Let's see what we'd need to do first, then we can think if it's better to first document a workaround.
And thanks for providing some examples. Those are going to be useful as test cases.
Currently, Super-linter supports the following configuration variables to dynamically pass command arguments:

BASH_SEVERITY: supporting this in a Shellcheck configuration file is tracked by https://github.com/koalaman/shellcheck/issues/2178
GITHUB_ACTIONS_COMMAND_ARGS: the configuration file supports a small subset of options.
KUBERNETES_KUBECONFORM_OPTIONS: no config file support, so we need this to pass variables.
MARKDOWN_CUSTOM_RULE_GLOBS: used to pass to markdownlint -r, --rules <file|directory|glob|package>  include custom rule files (default: []) (ref)

BASH_SEVERITY and MARKDOWN_CUSTOM_RULE_GLOBS might work as they are, while GITHUB_ACTIONS_COMMAND_ARGS and KUBERNETES_KUBECONFORM_OPTIONS are likely impacted by this issue.

After checking a bit, I think this is actually a bug because we need additional processing after loading the environment variable where the options are stored. Adding it as it is to the array that we use to run commands is not going to work.

By the way, this is one of the reasons why we switched to Bash arrays to dynamically compose commands. So maybe the solution is to provide something along those lines.

I tried to avoid suggesting any particular fix or direction when filing the issue, since any solution that would avoid me having to document, maintain, and support fragile workarounds when using super-linter is the main requirement.
That said, ideally, I would love to be able to leverage some type of schema-backed, structured config file format for configuring super-linter, and to be able to pass those config files using both command line arguments and github actions arguments:
docker run -v "${PWD}":/tmp/lint --platform linux/amd64 ghcr.io/super-linter/super-linter:latest --config=/tmp/lint/config1.<extension> --config=config2.<extension>

instead of:
docker run --env-file ".github/super-linter.env" --env-file ".github/super-linter-default-validate.env" --env-file "scripts/super-linter-local.env" -v "${PWD}":/tmp/lint --platform linux/amd64 ghcr.io/super-linter/super-linter:latest

and:
      - name: 🧹 run superlinter
        uses: super-linter/super-linter@02a1172d274f021e4c70f66e23f1085eadd1064b # v7.0.0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          config:
            - config1.<extension>
            - config2.<extension>

instead of:
      - name: Load super-linter configuration
        run: cat .github/super-linter.env .github/super-linter-default-validate.env  | grep -v '^#' >> "$GITHUB_ENV"
      - name: 🧹 run superlinter
        uses: super-linter/super-linter@02a1172d274f021e4c70f66e23f1085eadd1064b # v7.0.0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

@detiber good suggestion. Moved your last request to #6086

Error without using grep -v:
Run cat .github/super-linter.env .github/super-linter-default-validate.env >> "$GITHUB_ENV"
cat .github/super-linter.env .github/super-linter-default-validate.env >> "$GITHUB_ENV"
shell: /usr/bin/bash -e {0}
Error: Unable to process file command 'env' successfully.
Error: Invalid format '# dotenv-linter:off ValueWithoutQuotes'

I think this one is due to how GitHub Actions populate the environment by loading the content of ${GITHUB_ENV}. In fact, the GitHub Actions documentation about setting variables doesn't say that lines starting with # are supported, so regardless of why you added a comment (to configure dotenv-linter or otherwise), piping the output of cat to grep -v '^#' makes sense to avoid parsing errors. This is a good point to add to the example.
Also, I think dotenv-linter is right in requiring a value with spaces to be quoted (rule reference). I think this check shouldn't be disabled, but rather add some logic so that Super-linter is able to correctly parse a quoted, multi-word string and build the command as expected. This is actually pretty simple to do (I hope), as soon as we get the test cases right.

#6085 should take care of this issue.


include sources in shader validation error

Objective
When print shader validation error messages, we didn't print the sources and error message text, which led to some confusing error messages.
error:
   ┌─ wgsl:15:11
   │
15 │     return material.color + 1u;
   │           ^^^^^^^^^^^^^^^^^^^^ naga::Expression [11]

Solution
New error message:
error: Entry point fragment at Vertex is invalid
   ┌─ wgsl:15:11
   │
15 │     return material.color + 1u;
   │           ^^^^^^^^^^^^^^^^^^^^ naga::Expression [11]
   │
   = Expression [11] is invalid
   = Operation Add can't work with [8] and [10]

bors r+


InputManager and  DownButtons return incorrect collection

Release Type: Official Release
Version: <IP_ADDRESS>9-beta
Platform(s): Windows
Describe the bug
When pressing two buttons and then only one is released Input.DownButtons is empty.
To Reproduce

Nothing is pressed = Input.DownButtons is empty
pressed RMB = Input.DownButtons contains Right
pressed LMB and still holding RMB = Input.DownButtons contains Right and Left. So far so good, but now...
release only LMB = Input.DownButtons is empty?

Expected behavior
Input.DownButtons should contain Right mouse button at step 4.

Could repro, see #1304

Just FYI study case. RMB is used for getting ready (rise) weapon from lower pose. LMB is for fire. So because of this bug character goes to lower state after fire though player still holding RMB.


add_activations_recorder

This PR introduces the ability to record activations from specific model layers during testing.
Activations are saved in a CSV file for further analysis.
Headers include: Layer Name, Layer Type, Activation Shape, and Activations.
Forward hooks are automatically registered on all leaf modules during testing.
Hooks are automatically removed when recording ends.
Usage Example:
model.enable_activation_recording("path/to/output.csv")
# Run testing loop better if only with one image
model.close_activation_file()

Thanks for the contribution. While I can see the value in having such API implemented, I'm not sure of the technical details:

saving all activations can result in a huge memory usage, depending on the network activations
why do you think csv is the best option for the task?


Add hotkey to open the menu

Opening the cheat input and typing ghost gets inconvenient after a while, so adding a rebindable key to open the menu would be a good QoL improvement

When you use it often, you can just assign it yourself in settings_menu.ini.


Create desktop app

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

Are you okay, you're opening and closing a lot of Tauri PRs here! @thisguymartin


More opportunities to work with the remote host

For example, to create a directory. Now when you try to upload a directory that does not exist writes on remote host "Loading" is not uploading anything.
Remove from server when deleted from a local.
Synchronization local with server
Synchronization server with local

Hi @SeibelStan,
This is a good list of new features, I will think about implemented them.
Thank you for using my package.


Notebooks: New Cell can cause editor tabs to disappear

Issue Type: Bug
This is a fun one:

Open a Notebook editor and query editor side by side
type select * from sys.tables into the query editor, and run so the messages / results show
Click the +Code button to add a new code cell to the notebook
The editor bar disappears!
You have to close the query editor for it to go back to normal.

This only happens for Notebook + Query, not Notebook + Notebook or Query + Query. I have no idea why this is happening, and since there's a workaround it's not a March blocker. Still it is bizarre and should be fixed.
Azure Data Studio version: Azure Data Studio 1.5.1-insider (4014c1d0abcae1a621480dcfbea278497343d647, 2019-03-15T07:13:26.881Z)
OS version: Darwin x64 18.2.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.27GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (6)

Extension
Author (truncated)
Version

vscode-sanddance
dan
0.1.3

newdatabase
kev
0.0.3

agent
Mic
0.36.1

dacpac
Mic
0.1.0

server-report
Mic
0.1.5

sql-vnext
Mic
0.11.0

(1 theme extensions excluded)

I took a super quick look at this, and code/markdown cells will both have this issue:
     private setFocusAndScroll(): void {
		if (this.cellModel.id === this._activeCellId) {
			this._editor.focus();
			this._editor.getContainer().scrollIntoView();
		}
	}

Commenting out the call to this method solves the problem above, so somehow the calculations around scrolling aren't working when editors are displayed while in a split view.

Fit & Finish for June

Can't repro it. Everything is working fine.


Dolphin - Menubar setting

Describe the bug
Tracking another issue, I discovered that the dolphinrc setting for menubar is off:

As you see, does it comes without a [category] and sits lonely on top for some reason.
This breaks rc2nix, as an example.
When I remove that line, and then trigger the insertion by Dolphin itself (by setting the option there at the GUI) it does insert correctly:

There seems to be no custom patch, so I am questioning if this is an upstream issue.
I had not found a report on that, and Garuda does not come with this issue.
Steps To Reproduce
Steps to reproduce the behavior:

install vanilla NixOS from live media
look into /.config/dolphinrc

Expected behavior
MenuBar=disabled should be located below [MainWindow]
It is actually located at the first line, without a [Category] tag.
Notify maintainers
@ttuegel
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.57, NixOS, 23.05 (Stoat), 23.05.4335.898cb2064b6e`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.5`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

This looks like local disk corruption or something unrelated. We never change that setting in NixOS.

Local disc corruption? Its on a fairly new nvme and a fresh installation.
How could I verify that?

fsck, assuming you filesystem supports it.

I guess I have to run this in live mode, judging by the drastic warning about causing damage when mounted.
I will close this for now, as you can exclude Nix involvement.

So you cant reproduce, correct?
Maybe someone else can try?


rust sqlx installation fails due to mismatched types

Hi all, installing rust sqlx on Ubuntu 18.04
I get the error below
 error[E0308]: mismatched types
     --> sqlx-cli/src/opt.rs:8:20
      |
    8 |     #[clap(short = "D", long)]
      |                    ^^^ expected `char`, found `&str`

    error: aborting due to previous error

    For more information about this error, try `rustc --explain E0308`.
    error: could not compile `sqlx-cli`.

    To learn more, run the command again with --verbose.
    warning: build failed, waiting for other jobs to finish...
    error: failed to compile `sqlx-cli v0.1.0-beta.1 (https://github.com/launchbadge/sqlx#8e4d061d)`, intermediate artifacts can be found at `/tmp/cargo-installfRUbiY`

    Caused by:
      build failed

     francesco@francesco-yoga720  ~/projects/auth-service  master ● ?  rustc --explain E0308                                                                                 INT(-2) ↵  4266  17:20:07

    Expected type did not match the received type.

    Erroneous code example:

    ``
    let x: i32 = "I am not a number!";
    //     ~~~   ~~~~~~~~~~~~~~~~~~~~
    //      |             |
    //      |    initializing expression;
    //      |    compiler infers type `&str`
    //      |
    //    type `i32` assigned to variable `x`
    ``

    This error occurs when the compiler is unable to infer the concrete type of a
    variable. It can occur in several cases, the most common being a mismatch
    between two types: the type the author explicitly assigned, and the type the
    compiler inferred.
    (END)

     francesco@francesco-yoga720  ~/projects/auth-service  master ● ?  rustc --version                                                                                 INT(-2) ↵  4266  17:20:40
    rustc 1.47.0 (18bf6b4f0 2020-10-07)
     francesco@francesco-yoga720  ~/projects/auth-service  master ● ?  cargo --version                                                                                 ✔  4267  17:21:20
    cargo 1.47.0 (f3c7e066a 2020-08-28)

If needed you can find full logs here
I'm new to rust so let me know if I need to provide more details
any idea how to solve the error and complete the installation?
Thank you
Here's the mirror question on StacckOverflow

Same here, both on stable and nightly.

cargo install -f --git https://github.com/launchbadge/sqlx sqlx-cli completes successfully now,


Use a spec constant to control whether the MultiMesh branch is used in the vertex shader.

Fixes: https://github.com/godotengine/godot/issues/89985
This works around a driver bug on the Quest3 and slightly improves performance on all mobile devices at the cost of increased pipeline count.
After extensive debugging we narrowed this issue down specifically to the is_multimesh branch. We are 99% certain that there is a driver bug on the Quest3 hardware. For whatever reason, the presence of this branch causes the flickering. My current theory is that the hardware is running the branch and masking the result (which shouldn't happen with a uniform branch) and it is failing to mask the result properly so data from that branch is leaking out. Since there is no transform buffer with regular meshes, we end up with an invalid model matrix which causes the meshes to jump around. Also note, that MultiMeshes don't exhibit the flickering.
We found that manually removing the branch fixed the issue.
We have opted to use specialization constants to fix the issue for 4.3 as they have the same effect as removing the branch entirely. Luckily, this change improves performance on all platforms and shouldn't have a significant impact on pipeline compilation. Ironically, we already planned on moving this branch to a specialization constant, but we were waiting for the ubershader PR to be merged first. But since it isn't coming until 4.4, we need to do this separately.
One concern, the Ubershader uses a uniform buffer instead of specialization constants. If we are not careful, it may reintroduce this bug, but only for the Ubershader variants (which would make the flickering happen, but only rarely). CC @DarioSamo I think we will need to ensure that non multimesh specialization is compiled at load time. The multimesh specialization can fall back on the Ubershader.
This PR was a joint effort between Bastiaan, David, Dario, Gordo, and I. Together we brainstormed and arrived at this change by process of elimimination. For posterity, here is an (incomplete) list of other problems we checked before arriving at this workaround:

Failure to synchronize swap chain
Failure to set subpass dependencies
Subpass resolve failure
Failing to synchronize after writing instance buffer
Null pointers in the instance buffer
Subpass driver bug
Failing to synchronize between render passes

One concern, the Ubershader uses a uniform buffer instead of specialization constants. If we are not careful, it may reintroduce this bug, but only for the Ubershader variants (which would make the flickering happen, but only rarely). CC @DarioSamo I think we will need to ensure that non multimesh specialization is compiled at load time. The multimesh specialization can fall back on the Ubershader.

That's something I was thinking about if this was indeed necessary. It does sound a bit random that we have to guess what particular branch will fail to work in this particular hardware until the issue is resolved. One workaround could be we just introduce a particular code path that if a mesh uses multimesh, we demand for the specialization to be compiled if it's encountered while rendering but only on the hardware where we know the bug exists. We'd add a stutter, but it'd only be for multimesh and perhaps until the issue is resolved that's enough.

Thanks!!!

can this PR be cherry-picked for 4.2.3? @akien-mga

I'll check with Clay what he thinks.

Yes, this can be cherrypicked for 4.2. I think it should be a clean cherrypick


Question: Why Atgtributes has such API?

I understand that Attributes class was needed as abstraction and type safety for custom data attached to Channel, User, etc.
I understand why Attributes has type and getter that returns value for the specific type.
I also understand that json serialization is natural for this class.
I don't understand why there is no methods like getAttribute(String key) for complex object. Or no method getAttribute(int index) when it is array.
I also don't understand why there are methods that returns JSONArray and JSONObject. Especially , many of us don't work with it directly or indirectly.
I also don't understand why it doesn't crash if I try to use operation that is not allowed by type, like getNumber when it is a string. The null is returned instead.
And last, I don't understand why JSONException is thrown on the parse method. It exposes details of the Attributes class implementation.

Hi @emartynov!
The idea of attributes was to provide same data format across different platforms.
The JSON format is good enough for that as all platforms we are supporting have some native JSON support. So the format is more or less familiar to all developers on that platforms.
Unfortunately Android/Java platform doesn't provide a way to represent any JSON object which valid according to the standart as a single type-safe object.
So on android, in order to have such single object, we just add minimal wrapper around regular java org.json.* classes which we assumed familiar to most android/java developers.
We had no goal to hide implementation details here. The Attributes is just JSON object. Nothing more. We didn't try to introduce one more abstraction level here.
We believe that it is enough for trivial cases and for more complex cases android platform has powerful libraries such as Gson which we are definitely not going to reinvent.
Instead we recommend to use such libraries if you feel that features provided by org.json.* + Attributes is not enough for your case.
Regarding getNumber() returning null. Both approaches are possible here with our without throwing an exception. I don't think one much better than another.
When getNumber() return null it means This Attributes object doesn't contain a Number. The regular java HashMap behaves similar way. So I think this is OK for the platform.
I hope I answered why it throws the JSONException, but in regular cases when you use SDK on both ends you should never get it in real life.
So please report an issue with your scenario and logs if it throws in your case.

Follow up questions:

Why not to use Java/Kotlin has Map<String, Any>?
Why to have wrapper at all and just don't give raw JSONObject instead?

I still prefer fail fast approach when you don't cover parsing or developer usage mistakes. But your point taken.

Because it is not necessarily JSON Object, it could be an Array, a String, a Number or even a Boolean. Take a look back to reference.

That is what I'm saying - just use map.


Document useful grpc_channel_args

/cc @nathanielmanistaatgoogle @ctiller
We need a simple document discussing channel args and potentially useful one for advance cases. Wrapped languages pass these args to core but they are currently not documented.
Either a markdown or doxygen comments that can be referenced would be a good starting point.
Ref: http://www.grpc.io/grpc/core/structgrpc__channel__args.html

The list is basically here: https://github.com/grpc/grpc/blob/master/include/grpc/impl/codegen/grpc_types.h#L115
On top of the two methods in ChannelArguments, SetCompressionAlgorithm and SetUserAgentPrefix, already doxygen-documented at https://github.com/grpc/grpc/blob/master/include/grpc++/support/channel_arguments.h
If the comments from grpc_types.h look good enough, I can put together a small PR updating the comments on the  grpc_channel_args struct to reference them.


React Native 0.46

This PR updates our RN to 0.46. This also means our react dependency got updated to 16 alpha which affects desktop also.
Additionally the update to 0.46 updates some tooling which allows us to see the dimensions of views in the react devtools which led me to discover some high level layout problems. This PR also addresses this. Before we had flex:1 screens which (depending on the contents) push the screens below the fold. This lead to bugs about things being cut off.
This is split into several commits:

Some misc things needed for 0.46 (some things were renamed, updating package.json etc)
Layout changes of our nav and top level items so things will always fit edge to edge above the tab bar. If you need to scroll you need a scroll view at the top level so it all works correctly
The Dropdown common-adapter isn't actually a common-adapter. Its very login specific. The material-ui Popover it uses wasn't working with React 16 (and we had a long standing plan to deprecate our usage of material-ui) so i did that. I moved the native one under login as its really not useful for anything else
Added a flag so all Boxes will be a random color so you can visualize things easier in-app
Added a flag to disable yellow boxes on native if thats' interrupting your flow

Known issues:

[ ] Android has a weird underline on the inputs. This looks really bad on searchv3 as it has a green line going through the text. This seems like something bad on the native side as we're not passing anything to the component. The underlineColorAndroid setting is actually a different underline than what we're seeing here

notes:

A lot of addons are dead / moved
https://github.com/facebook/react/issues/9207
No react-perf on desktop :(
We got to kill our vendored FlatList!
Popup list wasn't working with react 16, we needed to kill it anyways (material-ui) so i reimplemented it.


Support text embedding from LM Studio

Validations

[X] I believe this is a way to improve. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that requests the same enhancement

Problem
continue doesn't support lm studio as an embedding model provider, although lm studio supports serving embedding endpoint. related: #2149
Solution
Implement support for lm studio embedding models

TODO

add lmstudio to embeddingsProvider section of config_schema.json
add embeddings model section to docs customize/model-providers/more/lmstudio
add LM Studio section to customize/model-types/embeddings which links to ^
check #2149 and #2527, maybe all related

fixed by https://github.com/continuedev/continue/pull/2847


[spark-sql] Schema measurement seems to result duplicate columns

Schema measurement seems to result in duplicate columns when the hive table is partitioned by same column, e.g. if a hive table contains column_a and partitioned by column_a, schema measurement is treating them as two columns ending up with duplicate column names.

PR #503 solves this issue for the Spark dialect, maybe we should copy that implementation for the hive dialect too.


Encounter history should state encounter name, not zone name

Is your feature request related to a problem? Please describe.
I wouldn't say a "problem", but it would be easier to select a specific encounter (1st boss of dungeon, 2nd boss of dungeon, etc) if the encounter history used the encounter name displayed in ACT.
Describe the solution you'd like
I would like the encounter history to show encounter name, not zone name.
Describe alternatives you've considered
There's not really an alternative for this request, as it's a very specific request.
Additional context
So for example, instead of "The Goblet", it would say "Striking Dummy".

Finally found the issue and fixed it in 4db4e4da (v3.8.0).


Update pauli_graph.py

Summary
Updated the check for commutation between two Pauli strings with a stronger condition.
Details and comments
Details in the comments in the pauli_graph.py

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

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

Below is a sample result of the new algorithm in comparison with the previous. In each qubit case, the number of colours for 50 randomised sets were found, and the average was taken, showing an improvement in the colouring efficiency.

Hi. I think your grouping requires a new circuit construction, i.e., overwrite construct_evaluation_circuit. https://github.com/Qiskit/qiskit-aqua/blob/0a9e3df421dc24e16e552909f72942e101cc7643/qiskit/aqua/operators/weighted_pauli_operator.py#L609
Have you implemented it?

Hi, we haven’t implemented it, however can I query the need to update that function as from what I know our update to pauli_graph doesn’t affect the input and output types or format for the arguments of the functions. Thanks!

I do not know if you have seen the build output failure? You can see this is you click on the Details text to the right of Travis CI - Pull Request (Travis being used for builds) in the Some checks were not successful box. The additional optimization in the grouping is affecting the outcome.
{0} test.aqua.test_vqe.TestVQE.test_vqe_qasm [71.658156s] ... FAILED

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    b'Traceback (most recent call last):'
    b'  File "/home/travis/build/Qiskit/qiskit-aqua/test/aqua/test_vqe.py", line 120, in test_vqe_qasm'
    b"    self.assertAlmostEqual(result['energy'], -1.85727503, places=2)"
    b'  File "/opt/python/3.6.7/lib/python3.6/unittest/case.py", line 878, in assertAlmostEqual'
    b'    raise self.failureException(msg)'
    b'AssertionError: -1.8712732647942965 != -1.85727503 within 2 places'

The tests run in the build are the unit tests from the test folder. You can run these locally too so you should be able to see the above failure.

@t-imamichi Since there is now grouping in the new operator flow, which is replacing the former, now legacy, operator code. Do you have any feeling for whether this grouping is of interest/useful to have in some way in the new operator flow?

As far as I know, it is difficult to simultaneously diagonalize Pauli strings of groups generated by this approach and also may require a lot of CNOT gates. If the author comes up with the solution, I'm happy to help to modify it to fit in the opflow.
I agree that opflow supports different grouping algorithms. I would like to discuss how to extend opflow to support other grouping algorithms.

We have moved to opflow. So, I think we can close this.

@t-imamichi As you say the pauli_graph code, to which this was done, is part of the legacy operator code that will end up being deprecated and removed as grouping functionality too is now in opflow. The prior discussion above was whether this grouping could potentially have been useful and possibly considered as capability within opflow grouping. You have stated doubts over the grouping in terms of how doable it is in general and whether the result has benefit given you it may require extra CNOTs in the resultant circuits.
Currently opflow support of grouping is a simply flag to turn on whatever grouping it currently has. The legacy operators allowed build out and use of alternate groupings. Since this has not been worked on for some while I will go ahead and close this with the expectation at some point you may likely raise an issue to improve grouping in opflow where potentially this might be re-investigated as to whether it can be of use.


Movies not working with external URL

Even with a short external URLs, movies are not working in the latest beta build :(
TV series and other videos do work with external URLs.
Javascript error: http://i.imgur.com/tYktGEp.png
There is no (visible) Java error in my console.
possible duplicate of #202

hopefully this fixes it: https://github.com/dularion/streama/releases/tag/v1.0.5

Fixed indeed :)


CSYNC only will it work

I have an old computer that has CSYNC, Red, Green, Blue and ground.
Will this work for a system that only has a CSYNC line?

Hi @shift838, short answer is yes, since the code is prepared to use HSYNC line to manage CSYNC when HSYNC is grounded.
The double click is that not all CSYNCs are the same, example wise I know it works with SEGA and AMIGA CSYNC, but Sinclair + uses inverter polarity for vertical inside the CSYNC.
The next step is to test it, and if it does not work we need to add a config option to invert VSYNC polarity triggering inside CSYNC.

Is the latest gerbers the Beta3?

Latest PCB is on PCB Way
https://www.pcbway.com/project/shareproject/pico_RGB_2_HDMI_3b12cb39.html
I did not check the gerbers on github, that was other collaborator work
El vie, 1 sept 2023 a la(s) 18:37, shift838 @.***)
escribió:

Is the latest gerbers the Beta3?
—
Reply to this email directly, view it on GitHub
https://github.com/mlorenzati/pico-rgb2hdmi/issues/35#issuecomment-1703343172,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJGQOY6FR6MSFMO3ELXV5TXYJIP3ANCNFSM6AAAAAA4GYEOAA
.
You are receiving this because you commented.Message ID:
@.***>

Also it seems the wm8213 IC it is designed for is obsolete and so is the alternate WM8199.  Is there another IC that can be used on this board to replace it?

wm8199 is not yet a replacement there are some fundamental changes that
renders it invalid.
We need another AFE family
El sáb, 2 sept 2023, 0:19, shift838 @.***> escribió:

Also it seems the wm8213 IC it is designed for is obsolete and so is the
alternate WM8199. Is there another IC that can be used on this board to
replace it?
—
Reply to this email directly, view it on GitHub
https://github.com/mlorenzati/pico-rgb2hdmi/issues/35#issuecomment-1703670408,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJGQO72UQHJDYJPJNLH5QTXYKQVVANCNFSM6AAAAAA4GYEOAA
.
You are receiving this because you commented.Message ID:
@.***>

AD9826 seem to be very similar, still available pretty cheap but also "on the way out". Maybe worth trying out?


React Native 0.61.1 and iOS 13.1.2 leads to lots of unneeded relaunches of our app

Last week we upgraded to the latest version of React. Around the same time my boss updated his phone to iOS 13.1.2 (got a new phone)
I have a iPhone 5S on my desk with iOS 12.x (whatever the latest in that branch is I updated it today)
I also run the app on my Android 10 phone.
After almost no time at all with the app not focused my boss's phone relaunches the app as if the phone just rebooted. Splash screen and everything. This doesn't happen on the very old iPhone 5.  Not on Android either. Of course this relaunch can happen under certain circumstances that are reasonable. For instance my boss will open our app, open up IG and TW, then go back to our app and it relaunches.
We narrowed it down to our upgrade of .60.x to 0.61.1 last Thursday.
This is a very jarring UX issue. I'm not sure how to produce a reproducible use case since it depends on the latest version of iOS and I'm really busy trying to fix other bugs atm related to the new version of iOS.  Has anyone else experienced this?

Are you sure your app is not crashing in the background? Do you have any crash reporting service enabled?

Pretty sure it's not crashing. I've narrowed it down to a commit that was responsible for the 0.61 upgrade -- before that commit doesn't matter how long you put the app in the background (say 10 minutes) it's still active when you come back.
We've noticed as little as 1 minute timed of launching the app going over to Instagram and doing literally nothing for a minute then back to our app, relaunch.
We have no background processes for this app. And while we don't have a ton of devices to test on at the moment we have only noticed it on the latest iOS.

@bobber205 Have almost same issue
I have described it in https://github.com/facebook/react-native/issues/26746
Just app is really crashing on iOS 13.1.2 when device as sleeping or app staying in background
Stracktrace crash report is available in my issue

@oleksandr-dziuban

Are you using Websockets @bobber205 @oleksandr-dziuban ?

Are you using Websockets @bobber205 @oleksandr-dziuban ?

No, I don't use Websockets.
For data transport I use GraphQL based on Apollo Client without Websockets.
For Native features I use this libraries only.
     "@react-native-community/async-storage": "1.6.2",
    "@react-native-community/netinfo": "4.2.2",
    "react-native": "0.61.2",
    "react-native-dynamic-fonts": "0.3.1",
    "react-native-image-crop-picker": "0.25.2",
    "react-native-keyboard-aware-scroll-view": "0.9.1",
    "react-native-popup-menu": "0.15.6",
    "react-native-render-html": "4.1.2",
    "react-native-restart": "0.0.13",
    "react-native-router-flux": "4.0.6",
    "react-native-share": "2.0.0",
    "react-native-sqlite-storage": "4.1.0",
    "react-native-svg": "9.9.5",
    "react-native-version-number": "0.3.6",
    "react-native-view-shot": "3.0.2",
    "react-native-webview": "7.2.7",
    "react-native-woodpicker": "0.0.17",
     "rn-fetch-blob": "0.11.2",

There are no background processes in the app.

@radko93 Just interesting, I have found how to reproduce that even on iOS 13.0 Simulator with Xcode 11.0

Just open an appliciation
Work with it some time
After this click on hardware "ON/OFF" button on Simulator
Wait 1-2 minutes to emulate sleep mode
Unlock device again
Application will be crashed

@radko93 Yes, very easy to reproduce event on newest iOS 13.1 Simulator (Xcode 11.1)
Also reproduced on iOS 13.1 Simulator iPhone 11 (Xcode 11.1):

Open an application
Emulate device sleep mode: click on hardware "ON/OFF" button on Simulator
Screen should be black now
Wait 1-2 minutes in this sleep mode
Unlock device again
Application will be crashed without any error

For best crash detection I use react-native-debugger with Memory Tab: when application will be crashed - we will see that in Select Javascript Area VM instance field

@oleksandr-dziuban it's complicated because I cannot reproduce it for now with my app on RN 0.61.2.

Did you wait 1-2 minutes in sleep mode on simulator?

Maybe this is native libraries specific issue? Some library is crashing in sleep mode

@oleksandr-dziuban I wait 10 or more minutes on iPhone 6s with latest iOS (Release build).

@radko93
I'm using Apollo Client for GraphQL data transport, it can use Websockets under the hood for GraphQL subscriptions
Maybe this causing crash

Disabled NetInfo, WebView - nothing changed

@xiao99xiao @fonov @radko93 I have reproduced this even on fresh react-native app without any additional code!
Steps:

Use iOS 13.0 or 13.1 Simulator, Xcode 11.0 or 11.1<EMAIL_ADDRESS>Generate fresh app: react-native init TestApp
Run iOS app in Simulator: react-native run-ios --simulator="iPhone 11"
Wait until application will be assembled and home screen activated
Click on Hardware Power Button on the right side in Simulator, device will activate sleep mode
Wait ~ 1 min and Unlock Simulator screen
Application will be crashed

This is the same issue that I am seeing, but I am on react-native: 0.59.8

Are you using Websockets @bobber205 @oleksandr-dziuban ?

i don't use Websockets either.

@SYoder1 Good to know! I think that means this is a React Native + newest version of iOS issue not specific to a version of react (seems that way anyway)

@bobber205 I am also not using Websockets

@bobber205 Yes, I think in iOS 13 we have new mechanism for sleep/awake in applciations and something went wrong now with react-native apps.
Btw I can reproduce that without any Websockets on fresh clean generated react-native app

@oleksandr-dziuban I tried but my app did not crash.
But i added some capabilities on Xcode
Background Modes is enabled
Audio, Airplay ... []
Background Fetch []
Remote notifications [*]
and these are selected

I will try to do the same

@farad4y @bobber205 I have added this capabilities.
I see a bit different behaviour now:
Application is not crashing, it is in Active App List, but when I select it again it starting from scratch

@oleksandr-dziuban That's exactly what we're seeing.

@bobber205 @farad4y
Background Modes requires additional setup for BGTaskSchedulerPermittedIdentifiers in Info.plist.
Otherwise we can't deploy app to store

I don't think Background Modes solves the issue

@bobber205 @farad4y
Background Modes requires additional setup for BGTaskSchedulerPermittedIdentifiers in Info.plist.
Otherwise we can't deploy app to store

No, you don't need to add these into info.plist

@farad4y You need to setup BGTaskSchedulerPermittedIdentifiers in Info.plist to whitelist this background processes. Please read this: https://developer.apple.com/documentation/backgroundtasks/bgtaskscheduler
I found that, because TestFlight iTransporter throws and error with this info when I deploy production build to TestFlight

[16:31:35]: [iTMSTransporter] 1 package(s) were not uploaded because they had problems:

[16:31:35]: [iTMSTransporter] 	/var/folders/1b/gl7yt7ds26vcyr1pkgld6l040000gn/T/d20191008-871-5aoqp7/1446718467.itmsp - Error Messages:

[16:31:35]: [iTMSTransporter] 		ERROR ITMS-90771: "Missing Info.plist value. The Info.plist key 'BGTaskSchedulerPermittedIdentifiers' must contain a list of identifiers used to submit and handle tasks when 'UIBackgroundModes' has a value of 'PROCESSING'. For more information, refer to the Information Property List Key Reference at https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html."

[16:31:35]: [iTMSTransporter] [2019-10-08 16:31:34 PDT] <main> DBG-X: Returning 1

[16:31:35]: iTunes Transporter output above ^

I really don't need Background Modes because I don't have tasks for that, I can't add anything to info.plist
Application should work correctly on iOS 13.1 in sleep mode without any crash.
I think this is React Native issue for iOS 13 phones only, because on iPad OS 13 on iPads I don';t have crashes.

Guys, is it possible to research this issue? I have added crash Report from production users in my separate issue ticket: https://github.com/facebook/react-native/issues/26746
Thanks a lot for you help

having exactly same issue as you @oleksandr-dziuban. have you found something new?

having exactly same issue as you @oleksandr-dziuban. have you found something new?

Hi, @hackdie
No, didn't found yet how to fix this issue. React Native team don't have ideas yet too...
Only one possible fix maybe can help:

I'm building iOS/Android app on CircleCI with automated Fastlane Tool.
I'm still building app with Xcode 10.2.1 CircleCI image
I can't switch to latest Xcode 11.1.0 CircleCI image, because Fastlane throws an error with it.
I created an issue with this error on Fastlane GitHub community.
Maybe if we build an app with Xcode 11.1 tools we will not have an issue with Crash in sleep mode on iOS 13, I don't know....
Anyway waiting feedback regarding Fastlane Error 65 on Xcode 11.1 image on CircleCI

having exactly same issue as you @oleksandr-dziuban. have you found something new?

Hi, @hackdie
No, didn't found yet how to fix this issue. React Native team don't have ideas yet too...
Only one possible fix maybe can help:

I'm building iOS/Android app on CircleCI with automated Fastlane Tool.
I'm still building app with Xcode 10.2.1 CircleCI image
I can't switch to latest Xcode 11.1.0 CircleCI image, because Fastlane throws an error with it.
I created an issue with this error on Fastlane GitHub community.
Maybe if we build an app with Xcode 11.1 tools we will not have an issue with Crash in sleep mode on iOS 13, I don't know....
Anyway waiting feedback regarding Fastlane Error 65 on Xcode 11.1 image on CircleCI

@oleksandr-dziuban
im using Github actions with Fastlane Tool, ill try to set xcode 11 to build the app and let you know if i find something 🤔

@hackdie Thanks a lot! Waiting your feedback.
If crash will not be reproduced, we need to build apps for iOS 13.1 only on Xcode 11.1 then.

We're also experiencing an almost same issue described here in our production app deployed a couple weeks ago and have gotten some user feedbacks about frequent relaunching too.
We use Sentry to track app crashes, and it seems we are receiving no crash reports around these relaunches.
Recently upgraded to RN 0.61.2, and using WebSocket. I experience this issue on my iPhone XS Max, iOS 13.1.1 From a user feedback it is happening on iPhone 8 with iOS13.1.1 too.

I have same issue when use websocket in my app
https://github.com/facebook/react-native/issues/26731

Having the same issue literally

Hoping the RN team has seen this -- pretty bag issue on the newest iOS.

Ping.

Downgraded to 0.60.6, works fine, so the best way to hotfix is to downgrade, it is pretty simple, took about 10 minutes.

Not possible for me because in 0.61.1 fixed issue with status bar ios 13.

Same issue here-- app gets terminated in the background for no apparent reason. This started immediately after updating from 60.3 to 61.2
We ARE using websockets through this: https://github.com/sendbird/SendBird-SDK-JavaScript but that never gave us trouble in the past.
Glad I found this issue after tearing my hair out trying to figure out what we might possibly be doing wrong. This is a HUGE problem for us.

We're having the same issue here -- please let us know how to move forward!

Don't wanna pile on @radko93 but since he's the only RN rep on this thread -- can this please get prioritized? As you can see this is affecting many people at this point.
<3

Same issue for my team. Thank you for starting this thread. We upgraded to 61.2 and our app is constantly relaunching.

@JustinPerez are you seeing this on iOS 12 or just 13?

I will try to bring more attention but I cannot really promise anything right now.

iOS 13.2 released, interesting is this issue still exists on it? Will check

Just so you are aware, this isn't only RN apps problem, Apple changed something in the latest iOS versions so it kills apps very quickly https://twitter.com/marcoarment/status/1189213173439696900

I’m not saying Apple hasn’t done something differently, but there is an issue in RN as well. By simply rolling back from 0.61.2 to 0.60.5 our app no longer crashes on ios 13 after 10 seconds in the background.

This is a really crazy issue that took me a lot of time to investigate.
I still haven't found the root cause, but I am pretty sure that it's related to "beginBackgroundTask" and "endBackgroundTask" inside RCTTiming
My temporary fix is replacing the file node_modules/react-native/React/Modules/RCTTiming.m with this one: https://gist.github.com/minhtc/78799bfb84c2d697034b9b53c4e01320
This fix is working on my production app.

@minhtc That's so awesome you got that far! Do you have to fork and publish your own version of React for that change?

@minhtc That's so awesome you got that far! Do you have to fork and publish your own version of React for that change?

It's just a temporary fix so I don't create a fork, I'm using patch-package to update all the changes of file inside node_modules/

@minhtc @bobber205 Guys, I have tested app on the latest iOS 13.2
My crash cannot be reproduced anymore. Also I don't receive crash reports from users on iOS 13.2
I think it was resolved on iOS system level

Terminated app in background is normal process for OS it not reproduce any crash reports.

@oleksandr-dziuban Just updated our iphone 11 to 13.2
Launched the app went a couple screen deep then started to take a couple photos + post on IG. Presss App Icon -- complete relaunch. Same actions taken on Android 10 (same build of app) stays on the same tab. Almost impossible to realistically get the app to do the same behavior on Android vs iOS it's simple. Even simple things like start editing in a text field, read a text via a push notification then swap back = reboot of app.

@minhtc thanks for investigating, this might be the commit that is causing this issue https://github.com/facebook/react-native/commit/338298417f8077dee177057c57b38671b4ec8c75#diff-29f34a4d1c9b73a44351941dae6056c8

Anyway known way (hard or easy) to disable that functionality for consumers who don't need it? 🙏

Hey, I submitted a PR to fix that for 0.61.x, You can upvote it there. If it gets merged then it will be available in 0.61.4.  https://github.com/facebook/react-native/pull/27065

Hi, anyone can try new a project(not include RN), just begin a background task to see wether it terminated by system? code like https://github.com/facebook/react-native/commit/338298417f8077dee177057c57b38671b4ec8c75#diff-29f34a4d1c9b73a44351941dae6056c8R150-R157.

I reviewed the timer module again, I may suspect there have thread-safe issue, @bobber205 @oleksandr-dziuban can you guys can help to dig in? Replace 3 methods in RCTTiming.m like https://github.com/facebook/react-native/pull/25164/files#diff-29f34a4d1c9b73a44351941dae6056c8R174-R202, and try wether it crashed on iOS 13.1. Thanks.

I can try next week
On Fri, Nov 1, 2019, 8:46 PM Wu Zhong<EMAIL_ADDRESS>wrote:

I reviewed the timer module again, I may suspect there have thread-safe
issue, @bobber205 https://github.com/bobber205 @oleksandr-dziuban
https://github.com/oleksandr-dziuban can you guys can help to dig in?
Replace 3 methods in RCTTiming.m like
https://github.com/facebook/react-native/pull/25164/files#diff-29f34a4d1c9b73a44351941dae6056c8R174-R202,
and try wether it crashed on iOS 13.1. Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/26696?email_source=notifications&email_token=ABMSBU74VOQGEJALVOSHKYDQRTZZLA5CNFSM4I44TOJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC4S52A#issuecomment-549007080,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMSBU3CEMWRTSY3TS6BAOTQRTZZLANCNFSM4I44TOJQ
.

You can now try 0.61.4 as it includes a fix.

This is now fixed on 61 branch and on master.

Still having same issue. Works fine on simulators as well devices unto iPhone 8. For devices of X series, crash is happening still after 2-3 minutes

@sarthak216-blr , @octodhruv are you guys using Websockets?

@vforvasile Nope - no websockets.

1- app closed (not in background)
2- received a notification
3- click app icon or click notification for launch
4- app crashes at didFinishLaunchingWithOptions. cause RCTCxxBridge _handleError.

iOS 13.3.1 (iPhone 11)
RN 0.61.5

can anyone help?

This is causing serious issues for us as well @radko93

@vforvasile @radko93 Hi. I'm curious why you asked if we are using Websockets. Could you provide more details on how would that cause the problem?

I have exactly the same issue and currently fix it with RN 0.61.5, but when using 0.61.4 sometimes unstable.


Automated releases & CI

Hey! Very cool library!
I see that you've not yet set up github actions to for fully automated releases & tests.
Nowadays this is actually very simple and definitely worth it if you want to reduce your maintenance load.
You could look at this repo for some inspiration: https://github.com/collecthor/collecthor-file-browser
I'd be happy to set it up in a PR here as well.
Note: for this to work properly you will need to use proper commit messages following a standard documented here: https://www.conventionalcommits.org/en/v1.0.0/
Cheers

@ts-thomas apologies for the rude ping. Do you have time to maintain this package? Is there any way in which the community or myself could help in terms of contributions?
If not that's also fine of course, but then we know to move ahead with our fork :-)

Hey Sam, sorry for the late answer. If you like you can set it up :)
Thanks a lot, Thomas

Step 1: https://github.com/nextapps-de/winbox/pull/185
I have not been able to get the build working with google closure compiler:
Start build .....

src/js/template.js:38:8: WARNING - [JSC_TYPE_MISMATCH] assignment
found   : Element
required: null
  38|         template = document.createElement('div');
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

There might be more modern "hip" alternatives to google's compiler.

Closing this; we can continue in the relevant PRs.


chore(master): release 7.0.1

:robot: I have created a release beep boop
7.0.1 (2024-06-17)
Bug Fixes

floor update feed timestamp (#923) (7170b47)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ethersphere/bee-js/releases/tag/v7.0.1 :sunflower:

Release v7.0.1 addresses this.


Update typo in Http.kt

As described in https://github.com/apollographql/apollo-kotlin/issues/3782

Thanks!


User data not being refreshed from database

You probably haven't used or seen this code in a while, but I have the following issue:
I login with a user that has an "admin" role Claim
"Claims": [
    {
         "ClaimType": "http://schemas.microsoft.com/ws/2008/06/identity/claims/role",
         "ClaimValue": "admin"
     }
 ],

And everything works fine. But to try and test of the roles are properly set up, I change the ClaimValue to "admin2" in de database. When logging in I would expect to get a 401 unauthorised response, but instead I see that the user being fetched from the Document Store still has the old ClaimValue of "admin".
Any ideas on why the user is not being refreshed?
Update
I grabbed the source code and changed RavenUserStore so that i opens a new IAsyncSession every time FindByNameAsync is called, and that does fetch the user data anew.
Just mentioning in case it helps you to point me in the right direction

Sorry, I was initializing the Document Session through a Factory and not using a using statement... It's all good now :)


After reading the doc for url sync, I have no idea how it works.

The doc says to define an array of string for the parameters i want to track in the url.
So I came up with: urlSync: {     trackedParameters: ['query','cost','set']   } but it didn't work so I went to the full documentation (helper) where I found that maybe I should use 'disjunctiveFacet:['cost',...]' but... from here I've stopped.
I guess it miss an example.

That's a documentation issue, created #1089


Send confirmation emails for blog user research

Day before each interview – send a confirmation. Include any links needed for the session, a user research agreement reminder, and a second accommodations reminder

All sent by 6/12


front-end

simple frontend: decides which frontend frameworks/libraries

home page
about page

homepage that has basic functionality:

navbar/information
decides how to implement input
how to implement output
DON'T implement communication between golang and html here, try using this issue for front end only. for integration go to #8

about page:

what this website is
creators
socials

add footer of about page etc/info


BUG: mock_dynamodb not handling query key conditions correctly

When making a dynamo query that compares a substituted ExpressionAttributeName against a literal value, moto accepts this comparison with no issue, but real AWS resources reject it as invalid. This allowed a bug in our query logic to get past our test suites before being caught by second stage testing.
example client code:
client = boto3.client("dynamodb")
client.query(
      TableName="my_table",
      KeyConditionExpression="#part_key=some_literal_value",
      ExpressionAttributeNames={"#part_key": "type"},
  )

Behavior in the real world (moto throws no errors):
botocore.exceptions.ClientError: An error occurred (ValidationException) when calling the Query operation: Invalid condition in KeyConditionExpression: Multiple attribute names used in one condition

'correct' code (tested in real-world)
client = boto3.client("dynamodb")
client.query(
    TableName="my_table",
    KeyConditionExpression="#part_key=:value",
    ExpressionAttributeNames={"#part_key": "type"},
    ExpressionAttributeValues = {":value": {"S": "foo"}}
)

As I understand it, a substituted attribute name can only be compared with a substituted attribute value. it is an illegal input to compare with a literal input. This may be due to the difference between low-level and high-level clients (https://aws.amazon.com/blogs/database/exploring-amazon-dynamodb-sdk-clients/) but I am not familiar enough with the dynamo apis to know for sure:
full repro example:
with mock_dynamodb():
    client = boto3.client("dynamodb", region_name="us-east-1")
    client.create_table(
        AttributeDefinitions=[
            {"AttributeName": "name", "AttributeType": "S"},
            {"AttributeName": "type", "AttributeType": "S"},
        ],
        TableName="my_table",
        KeySchema=[
            {"AttributeName": "type", "KeyType": "HASH"},
            {"AttributeName": "name", "KeyType": "RANGE"},
        ],
        BillingMode="PAY_PER_REQUEST",
    )

    client.query(
        TableName="my_table",
        KeyConditionExpression="#part_key=some_value",
        ExpressionAttributeNames={"#part_key": "type"},
    )

Thanks for raising this @CrypticCabub! Marking it as a bug.


How to inject shared one instance of ViewModule to different fragments?

is it possible to inject the same veivmodel into different fragments? I mean BaseFragment<FragmentSomeBinding, SharedViewModel>

Hi @DigitalKoi, First of all, thanks for your question. The quick answer is yes it's possible, but let explain how to do it.
Each ViewModel is provided by the specific feature dagger module that is allocated under di folder, you can find a sample of this here. That means that on the new Fragment where you want to reuse the ViewModel you should extend from the BaseFragment as you said and on the method onInitDependencyInjection() you should to inject the Dagger graph specifying the module which provides you the ViewModule.
You cand have just one Dagger module for both Fragments or create a new one for each that I consider like a better approach to avoid to have unnecessary providers. Another way is to create a base class that provides the viewModel.

when I try to do something like this
`   @Provides
@FeatureScope
fun provideFragment(
viewModel: viewModel
) = fragment.viewModel {
viewModel
}
@Provides
@FeatureScope
fun provideViewModel(
    repository: Repository
) = ViewModel(
    repository = repository
)`

I receive message Found a dependency cycle. How I understand problem is in @Inject annotation in BaseFragment

Please correct me if I'm wrong @DigitalKoi. I'm confused about the provideFragment that takes as a param viewModel to return again the viewModel. In addition, it should include @Provides annotation.  Let me to share with you the way that I have in mind.
Basically the BaseFragment forces you to have at least one ViewModel that one is injected by the SpecificFragment on onInitDependencyInjection if you want to have an additional ViewModel you should declare this one on the SpecificFragment class by the:
 @Inject
  lateinit var secondViewModel: SecondViewModelClass

For my point of view you should have the following code, and to make it easier I will use code naming classes. Imagine that I want to use the CharacterDetailViewModel sharing it between CharacterDetailFragment and CharacterListFragment. Right now we already provide an instance of the CharacterDetailViewModel on the specific module and if we want to reuse the CharacterDetailViewModel we should to provide it again.
For this reason, we should include it to CharactersListModule by adding the following, exactly the same provider like on CharacterDetailModule:
@FeatureScope
    @Provides
    fun providesCharacterDetailViewModel(
        marvelRepository: MarvelRepository,
        characterFavoriteRepository: CharacterFavoriteRepository,
        characterDetailMapper: CharacterDetailMapper
    ) = fragment.viewModel {
        CharacterDetailViewModel(
            marvelRepository = marvelRepository,
            characterFavoriteRepository = characterFavoriteRepository,
            characterDetailMapper = characterDetailMapper
        )
    }

And after that depends on our propose we have the following scenarios:

I only want one ViewModel defined for CharactersListFragment in that case you just replace the class definition to:

class CharactersListFragment :
    BaseFragment<FragmentCharactersListBinding, CharacterDetailViewModel>(// now this use the CharacterDetailViewModel
        layoutId = R.layout.fragment_characters_list
    )

In case we want to keep the both ViewModels in this case the CharactersListViewModel and CharacterDetailViewModel. One of them will be the default one that you need to specify to BaseFragment and to another one you should declare it as I mentioned before with Inject annotation.
And on the onInitDependencyInjection() you just need to keep the current implementation of this.

Please let me know if this helps you

@VMadalin Thanks a lot!)


BUG: Sourcegraph Link Defaults To Master Branch Instead Of Currently Checked Out Local

Platform information: JetBrains Cody Extension Version 3.4.1

Steps to reproduce:

Right click into any file with the extension installed and choose the Copy Sourcegraph File Link
The link will be for the current file but not for the currently checked out branch.

Expected behavior:
The Sourcegraph link would be for the currently checked out branch.
Actual behavior:
The Sourcegraph link is currently for the master branch.

I took a look at this one. The problem seems to lay somewhere in:
https://sourcegraph.com/-/editor?remote_url=github.com%2Fsourcegraph%2Fjetbrains&branch=main&file=src%2Fmain%2Fjava%2Fcom%2Fsourcegraph%2Fvcs%2FRepoUtil.java&start_row=28&start_col=0&end_row=77&end_col=0
It looks like the condition there make it always default branch.


Update README.md

Docs Updated

name: PR
about: Pull Request
title: ''
labels: ''
assignees: dextel2

What have you Changed(must)
Write here what you have changed in codebase
Issue no.(must) -
Self Check(Tick After Making pull Request)

[ ] This issue was assigned to me if not it will marked as spam.
[x] My file is in proper folder.
[ ] I am following clean code and Documentation.
[ ] I have added title and what program will do first in the file.
[ ] I have not tampred with the database key or any other modules

Can you describe please about the Controllers
Models ??

@Sahil1786  I strongly suggest to go through the code in here

Controls like - how to use something ?? Actually I didn't understand that's why. I am asking you .this my first time I am continuing in documentation .

You need to understand what are controller/models/view or in other words MVC structure. Here's a starting point in reference to this project https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/routes


nested canvas black

hi,I have same question #1721. The nested canvas have been rendered but but the captured image has a black space where the nested canvas element is.
The cancas contain unity3d.

1.0.0-rc.5
chrome 84.0.4147.105
win10

preserveDrawingBuffer


docs: add identus logo to README.md [skip ci]

Description:

deleted atala-prism logotypes
add identus logotypes
update README.md with the new logo

Checklist:

[x] My PR follows the contribution guidelines of this project
[x] My PR is free of third-party dependencies that don't comply with the Allowlist
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have checked the PR title to follow the conventional commit specification

coverage: 52.962%. remained the same
when pulling 2be464ee29abffb756d3150d6b4877587936da04 on docs/identus-logo
into b9660b7c90952e2ba2c0301ab721c0ad777b73bf on main.


[Task]: Tour of Beam Markdown styles

What needs to happen?
Tour of Beam frontend currently works with the default Markdown styles.
They need to match the mocks.
Issue Priority
Priority: 3
Issue Component
Component: beam-playground

.take-issue


another parser implementation

Still working in progress
I am trying to implement Parser without (Function.prototype.toString), so that users don't need to care about minifying options.
TODO:

[ ] Finish the implementation
[ ] unit tests

An example for this implemetation is in  examples/webpack_with_smart_parser

Main idea of this implementation:
This implementation only changes the analysis period of parser, as follows:
Initially, the actions (CONSUME, MANY, OPTION etc ) act as a recorder to record the information which we used to get from Function.prototype.toString. And the method RULE return an object containing information.
When performing analysis, these rules are got, and turned into defined rule using this.defineRule.
And when the analysis finishes, the parser instance will be like the instance constructed in the way, and the actions (CONSUME, MANY, OPTION etc ) also act in the old way.
If this idea is possible, maybe we can make it further. Any discussion and suggestions?

This idea has a-lot of potential. 👍
It could likely replace #941 issue.
I think this idea may have been mentioned it in the distant past, (will need to search the issues history). but I was less enthusiastic about it back then, I wonder why? (😄)
Not only would it solve the issue of code transformers breaking Chevrotain parsers
It would also allow accessing more information in the self analysis phase:

Is a GATE used? ( So we know an ambiguity is manually handled)
Are Labels used (Blocker for #851)
And others...

Additionally by not being coupled to the textual representation of the source code
it would enable greater compos-ability and grammar fragments re-use.
Basically if this fully works we should replace the existing implementation with this new one.
So it can be implemented directly as a replacement rather than a "side" alternative.
One possible issue I can think of is that dynamically changing the implementation of the ***Internal methods may effect performance characteristics  so we will need to evaluate any change to performance.
Anyhow this is a great initiative! I will probably look into this more deeply later this week/weekend.
I am interested to see if we can make all the existing tests pass with the new implementation...

I think I've now recalled the major potential problem.
Embedded actions may fail because the parsing methods would not return the expected structured.
const yResult = this.SUBRULE(this.y);
console.log(yResult.foo);  // throws "undefined is not an object"

How could we avoid executing the embedded actions during the "recorder: phase?

How could we avoid executing the embedded actions during the "recorder: phase?

Yes you’re right, embedded actions may be the problem because functions like CONSUME or MANY can’t return the token info which can only be got from parser input at runtime.
So maybe we can provide a way for embedded action users to mock the result? For example:
const yResult = this.SUBRULE(this.y, { foo: "mockedFoo" });
console.log(yResult.foo);

So maybe we can provide a way for embedded action users to mock the result?

That could be an hassle during parser development, imagine having to update and maintain these mocks, also it would be very verbose.
I had another thought:
What if we wrap embedded semantic actions in a "DSL Method".
Example:
      $.RULE("objectItem", () => {
        let lit, key, value;
        const obj = {};

        lit = $.CONSUME(StringLiteral)
        $.CONSUME(Colon);
        value = $.SUBRULE($.value);

        return $.ACTION(() => {
                // assume the next statement could cause an error during "recording phase"
                obj[key] = value;
               return obj;
         })
      });

For CST Parsers this would hardly ever need to be used as those normally have very few if any
embedded actions.
For EmbeddedActionsParsers this would require more changes (big breaking change).
Although only a subset of the actions would need to be wrapped to avoid errors it would probably be best to recommend for all none assignment actions to be wrapped to be consistent and avoid errors due to end users not fully understand how the "self analysis" step works.

What if we wrap embedded semantic actions in a "DSL Method".

Great idea!

I think the next steps are as follows;
POC

Finish implementing the "recorder logic" as an "external" module.

Ensure no major performance regression running a modified this benchmark

I do not issues, but we should inspect this just in case as it could be a major blocker.

Productive Level Code

Refactor the "Recorder Logic" as a replacement to the GAST Builder in the productive code with the new semantic actions wrapper.

This will help us get a feeling to how serious the breaking changes we will be introducing be as there are many tests (all examples are used as tests).
At this point we need to evaluate if we truly want to go ahead with this breaking change (Second major blocker).

Docs

Update Docs/Examples/Tutorials/FAQ...

References & examples to bundling issues should be removed or modified to indicate this is no longer an issue in the next major version.
Embedded Actions examples should be refactored to using the <this.ACTION> DSL method.

Release Ready

At this stage we can release a new major version, but we may want to first try to grab a few "low hanging fruits" that the improved grammar analysis via the "Recorded" can accomplish.
Examples:

#851
Avoid the need to specify "ignored ambiguities" if a GATE is present on the ambiguity.
Avoid the need for a specific order of properties when using labels / of MANY_SEP methods.
Create an example with grammar composition:
     const  alternatives = [
             { ALT: () => $.CONSUME(StringLiteral) },
             { ALT: () => $.CONSUME(NumberLiteral) },
             { ALT: () => $.SUBRULE($.object) },
             { ALT: () => $.SUBRULE($.array) },
             { ALT: () => $.CONSUME(True) },
             { ALT: () => $.CONSUME(False) },
             { ALT: () => $.CONSUME(Null) }
         ];

     $.RULE("value", () => {
         // extracting the alternatives would not work on current versions of Chevrotain
         // because we rely on the source code text to accessible via Function.prototype.toString
         // Note that this may also be faster as the large array with objects and functions won't
         // be re-created on every "value" rule invocation.
         $.OR(alternatives)
     })

BTW this is a very large scope of work, as we are talking about refactoring the heart of Chevrotain.
But do not worry:

This be split into multiple incremental pull requests.
I will definitively be involved in this topic.

I also think we can get upto (and including) step 3 on the master branch
before committing to any breaking changes e.g:

The recorder trait can be "optional" under a hidden flag/env var.
The tests could be run twice once normally and once with the recorder trait enabled.

I have implemented a POC for the recorder as a parser trait in #995
I have not run it yet or connected it to the self Analysis phase, But I believe there are not too many bugs in the WIP...

#995 is looking very good with 1010/1024 tests passing and resolved performance regressions.
I will close this PR for now and keep track on this issue in #998.
Thanks again @EqualMa for the Idea and prototype 🥇
I will organize sub-tasks in #998 so let me know if you have time and interest in participating. 😄


Add Python 3.11 support

This pull requests adds Python 3.11 to Github actions and classifiers. It mitigates the issue with importlib_metatdata as described in #1778.
Linting fails due to https://github.com/django-extensions/django-extensions/pull/1777

With https://github.com/django-extensions/django-extensions/issues/1778 merged do we still need _PIP_USE_IMPORTLIB_METADATA ?

Your are correct, it is no longer required.


Note major versions are not automatically tagged

The previous wording can be misinterpreted to suggest that GitHub Actions itself automatically tags major versions.
Also, remove assurance that pinning the major version protects your workflow from breaking. This is only true if the action you depends on never introduces any bugs that affect you. In other words, it's false in practice. The new copy seeks to highlight that the three presented options form a continuum from maximum security/stability, minimum convenience to minimum security/stability, maximum convenience.

Why:
Closes #17071.
What's being changed:
See rich diff.
Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

In case anyone is following this thread, evidently when Octomerger merges a batch of pull requests at once, GitHub incorrectly states that the author of each PR force-pushed their own branch, which, to be clear, I didn't, and automatically closes the pull request as if it had not been merged (which it has).

Ah!! That explains why I never triaged this since it shows that the author closed the PR. I will let the team know about this.
In the mean time, could you let me know if this PR has to be re-opened and triaged?
Ah!! So weird, I am not able to re-open the PR, probably because the branch for this PR is deleted.
I will check with the team on this and get back to you. Thanks so much for your patience 💛 .

Yeah, it's probably worth bringing up simply because it's somewhat confusing for those who aren't familiar with the inner workings of Octomerger. There's no action needed specific to this PR, because it has already been merged by Octomerger. You are correct that PRs cannot be reopened once the branch has been deleted, although even if that weren't true, there would be nothing left on the branch (that isn't already on main) to merge at this point. Thanks for noticing my random comment on a closed PR in any case!

Thanks so much for your valuable insights and contributions to the GitHub docs 💖 .

Hmm... it appears I was mistaken, and this change was never merged to main. This pull request replaced "Using the specific major action version allows you to receive critical fixes and security patches while still maintaining compatibility. It also assures that your workflow should still work." with "If the action publishes major version tags, using them allows you to receive critical fixes and security patches while still maintaining compatibility." You can no longer see the original diff here on account of it having been merged, but the orphaned commit remains as evidence of this. The Octomerger force-push actually includes the opposite change, which explains why my change never appeared. This does seem like a more serious bug in Octomerger than I initially realized. In summary, Octomerger automatically closed this pull request without merging it, and this action was displayed in the GitHub UI as a force-push by me that I didn't actually do.

@Kurt-von-Laven @ramyaparimi this certainly looks like a bug. I've opened an internal engineering issue to take a look at it. Thank you for reporting this and I apologize for the inconvenience.


Train from url

Proposed changes:

add command line argument to be able to fetch trackers from a URL

Status (please check what you already did):

[ ] made PR ready for code review
[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog

@JoeyFaulkner we'll need to update this with the new stories endpoints, http://rasa.com/docs/platform/master/api/data/#operation/getStories


Add Azure pipeline definition

Add a build pipeline definition for moving the build from CircleCI to Azure Devops.
Microsoft Reviewers: Open in CodeFlow

Main build tasks were successful, but I'm marking this as do not merge until all the API keys and such have been added to the variable group (and I have to check the spelling of the branch name variables).

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS


Print percent done to increase speed

Print percent done and only print it when the percent has changed. This greatly increases flashing speed on devices with small page size, such as the K64F with a reported page size of 8 bytes.

@janjongboom can you try this out and let me know what you think? This increases flashing speeds  by reducing the number of print statements (slowdown introduced in #33) and also changes the info which is printed.

@c1728p9 Would it be better to adjust the 3 based on size of update and the page size? I just want an update every 5% or so (which is what I had on ODIN board I think with this setting).

@janjongboom I could update this to print every 5%. Even with it printing every 1% it is still many times faster than it used to be. Are you ok with leaving it print every 1%, or do you see a big slowdown on the ODIN board?

@c1728p9 No, fine by me. Please land.


DO NOT MERGE attempt to support sealed interface multiple inheritance

@thake another weird edgecase that I encountered in our real-world application on top of Avro4k 1.5.0.
We happen to need to use multiple/diamond sealed interface inheritance in our application which confuses Avro4k:
Duplicate in union:com.github.avrokotlin.avro4k.schema.NegateExpr
org.apache.avro.AvroRuntimeException: Duplicate in union:com.github.avrokotlin.avro4k.schema.NegateExpr
	at org.apache.avro.Schema$UnionSchema.<init>(Schema.java:1197)
	at org.apache.avro.Schema.createUnion(Schema.java:247)
	at com.github.avrokotlin.avro4k.schema.UnionSchemaFor.schema(UnionSchemaFor.kt:20)
	at com.github.avrokotlin.avro4k.schema.ClassSchemaFor.buildField(ClassSchemaFor.kt:84)
	at com.github.avrokotlin.avro4k.schema.ClassSchemaFor.dataClassSchema(ClassSchemaFor.kt:63)
	at com.github.avrokotlin.avro4k.schema.ClassSchemaFor.schema(ClassSchemaFor.kt:43)
	at com.github.avrokotlin.avro4k.Avro.schema(Avro.kt:264)
	at com.github.avrokotlin.avro4k.Avro.schema(Avro.kt:269)

This is because the subtype scan finds NegateExpr twice, once through each branch of the diamond inheritance. As you can see in the second commit, I've tried just filtering out duplicates, but then I ran into a much more obscure error that I don't completely understand and probably need your help with:
Class 'NegateExpr' is not registered for polymorphic serialization in the scope of 'Expr'.
kotlinx.serialization.SerializationException: Class 'NegateExpr' is not registered for polymorphic serialization in the scope of 'Expr'.
Mark the base class as 'sealed' or register the serializer explicitly.
	at kotlinx.serialization.internal.AbstractPolymorphicSerializerKt.throwSubtypeNotRegistered(AbstractPolymorphicSerializer.kt:102)
	at kotlinx.serialization.internal.AbstractPolymorphicSerializerKt.throwSubtypeNotRegistered(AbstractPolymorphicSerializer.kt:113)
	at kotlinx.serialization.PolymorphicSerializerKt.findPolymorphicSerializer(PolymorphicSerializer.kt:96)
	at kotlinx.serialization.internal.AbstractPolymorphicSerializer.serialize(AbstractPolymorphicSerializer.kt:32)
	at kotlinx.serialization.encoding.Encoder$DefaultImpls.encodeSerializableValue(Encoding.kt:282)
	at kotlinx.serialization.encoding.AbstractEncoder.encodeSerializableValue(AbstractEncoder.kt:18)
	at kotlinx.serialization.encoding.AbstractEncoder.encodeSerializableElement(AbstractEncoder.kt:80)
	at com.github.avrokotlin.avro4k.schema.ReferencingMixedPolymorphic.write$Self(MixedPolymorphicSchemaTest.kt:40)
	at com.github.avrokotlin.avro4k.schema.ReferencingMixedPolymorphic$$serializer.serialize(MixedPolymorphicSchemaTest.kt:40)
	at com.github.avrokotlin.avro4k.schema.ReferencingMixedPolymorphic$$serializer.serialize(MixedPolymorphicSchemaTest.kt:40)
	at kotlinx.serialization.encoding.Encoder$DefaultImpls.encodeSerializableValue(Encoding.kt:282)
	at kotlinx.serialization.encoding.AbstractEncoder.encodeSerializableValue(AbstractEncoder.kt:18)
	at com.github.avrokotlin.avro4k.Avro.toRecord(Avro.kt:240)
	at com.github.avrokotlin.avro4k.Avro$openOutputStream$builder$1$1.invoke(Avro.kt:217)
	at com.github.avrokotlin.avro4k.Avro$openOutputStream$builder$1$1.invoke(Avro.kt:217)

As you can see I'm able to work around this by adding an explicit mapping from the top-level base class to the diamond inheriting subclass, but this is obviously not a good solution:
      val module = SerializersModule {
         polymorphic(OtherUnaryExpr::class) {
            subclass(ConstExpr::class)
         }
         polymorphic(OtherBinaryExpr::class) {
            subclass(MultiplicationExpr::class)
         }
         // this shouldn't be necessary
         polymorphic(Expr::class) {
            subclass(NegateExpr::class)
         }
      }

Keen to see if you can find a better solution to this problem as it's beyond the limits of my kotlinx.serialization, avro and avro4k knowledge.

Hey @thake, would you like me to translate this into a Github issue?

@williamboxhall no need. I am working on a solution to this on my spare time.

Wonderful to hear @thake! We've been running into the second stacktrace in our application - it just seems like a general sealed interface issue. I noticed there isn't a SealedInterfaceIOTest which I think would expose this problem, let me know if you'd like me to contribute one on your branch :)

@thake I just had a closer look and I believe the issue is that kotlinx-serialization expects the explicit serializers for each concrete type to be registered manually - and there is no process of traversing the type hierarchy and register each subtype explicitly. Do you think your implementation will resolve this? This isn't a problem for schema generation, only for serialization

I came up with a pretty dirty hack to allow us to work around this in our application:
    polymorphic(SkillsCoachPublishedEventV1::class) {
        val subtypes = listOf(
            AccountSettingsPublishedEventV1::class,
            NotificationPreferencesPublishedEventV1::class,
            ProgramSubscriptionPublishedEventV1::class,
            InvitationPublishedEventV1::class,
            CohortPublishedEventV1::class
        )

        subtypes.forEach {
            it.asNestedSealedConcreteClasses().forEach {
                subclass(it as KClass<SkillsCoachPublishedEventV1>, it.serializer())
            }
        }
    }
...
fun <T: Any> KClass<T>.asNestedSealedConcreteClasses(): List<KClass<out T>> {
    return when (this.isFinal) {
        true -> listOf(this)
        false -> this.sealedSubclasses.flatMap { it.asNestedSealedConcreteClasses() }
    }
}

this works fine and unblocks us

A nice workaround! The workaround also seems to be compatible with the
default json serialization of kotlinx.serialization.
I'm still working on this issue, but I can't give you any specific schedule
when it will be ready. I'm currently trying out various options how to
implement it correctly.
William Boxhall @.***> schrieb am Mo., 27. Sept. 2021,
04:05:

I came up with a pretty dirty hack to allow us to work around this in our
application:
polymorphic(SkillsCoachPublishedEventV1::class) {
    val subtypes = listOf(
        AccountSettingsPublishedEventV1::class,
        NotificationPreferencesPublishedEventV1::class,
        ProgramSubscriptionPublishedEventV1::class,
        InvitationPublishedEventV1::class,
        CohortPublishedEventV1::class
    )

    subtypes.forEach {
        it.asNestedSealedConcreteClasses().forEach {
            subclass(it as KClass<SkillsCoachPublishedEventV1>, it.serializer())
        }
    }
}...fun <T: Any> KClass<T>.asNestedSealedConcreteClasses(): List<KClass<out T>> {
return when (this.isFinal) {
    true -> listOf(this)
    false -> this.sealedSubclasses.flatMap { it.asNestedSealedConcreteClasses() }
}

}
this works fine and unblocks us
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/avro-kotlin/avro4k/pull/113#issuecomment-927448270,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC7XPENZWJR52YHVVCWD57TUD7GOFANCNFSM5DWBHBLA
.

Closing this PR as the fix PR #119 includes the provided test code.


Fix author information link in footer

The link wasn't showing up because the D wasn't capitalized

the name refers to the configuration file as opposed to my actual name. I will work on fixing this in the hugo templates themselves.


RFE: Refactoring using go/types

Consider the use of the go/types package, especially the Info struct data type. It will be helpful for the future work on symbols-extractor since it provides a lot of useful information, i.e. identifiers with their types and scopes, order of initialization, etc. Examples of use are here: https://github.com/golang/example/tree/master/gotypes

Currently, the package does not allows serialization into JSON as fields of individual types are not exported.


In Config whilst saving the error code as "Request failed with status code 500" in red

Describe the bug
Whilst doing the camera RTSP configuration and save, it does not allows saving and error message appeared as Request failed with status code 500.
Expected behavior
It should save and allow cameras to be added thru config.json. However, I am unable to locate the directory or check the file permission/ownership
Logs
Not visible
Screenshots
It disappear rather fast but it shows at the bottom of the monitor.
Environment

Node.js Version: v19.1.0
Camera UI Version: v1.1.17
Operating System: Ubuntu 20.04
Browser: Google Chrome, Firefox, Microsoft Edge

🎉 A new version of camera.ui
A new version of camera.ui is currently under active development. An initial alpha/beta release and previews are coming soon. Stay tuned for exciting updates: https://github.com/seydx/camera.ui/issues/448 .
This version will no longer be developed / fixed. The new version contains many novelties and fixes (most important is for HKSV recording).


Secret Management Service

As part of the ongoing work to lock down our Azure environment to VPN only, we discovered that our Key Vault references do not work when our Key Vault is private only (example Key Vault reference) (Slack conversation thread).
This PR adds a new SecretService, which supports fetching secrets via environment variables locally and in Azure Key Vault when the SECRET_STORAGE_METHOD environment variable equals AZURE.
Changes

Adds a SecretService, heavily based off the work I did on building a CredentialService for SFTP credentials in Azure Key Vault.
Migrates two environment variables calls that use Key Vault to the SecretService. Unless we move all environment variables to Key Vault, these should be the only two to migrate for now.

Checklist

[x] Tested locally?
[x] Ran quickTest all?
[x] Ran ./prime test against local Docker ReportStream container?
[ ] Downloaded a file from http://localhost:7071/api/download
[ ] Updated the release notes?
[x] Added tests?
[ ] Did you check for sensitive data, and remove any?
[ ] Does logging contain sensitive data?
[ ] Are additional approvals needed for this change?
[ ] Are there potential vulnerabilities or licensing issues with any new dependencies introduced?

Security
List potential security threats and mitigations in the PR
Fixes
List GitHub issues this PR fixes

#issue

To Be Done
Create GitHub issues to track the work remaining, if any

#issue

@jimduff-usds Good call out that Redox won't be tested in staging. This code is controlled via an environment variable, so my thought was if something did go completely wrong with the Key Vault, we can switch on environment variables quickly.
As far as testing, I did a "manual test". I set the correct env vars, and executed a one-off test that called the real secretService and verified connectivity to Azure. I did not test any actual real code paths using the secretService, other than running the test suite, as I considered this code low risk. If you have any concerns about the actual code paths, I can setup a test to verify.

From an earlier conversion with @jimduff-usds:

Yes and no on them being similar. While they both use Key Vault in Azure, the dev environments are different. CredentialService uses a Hashicorp Vault and SecretService uses EnvVars. In Azure, they connect to different Key Vaults. The CredentialService also handles logging and JSON/serialization responsibilities for credential access, while SecretService is plain KVP.
There is definitely a way to refactor it all that the CredentialService uses the SecretService, but I prioritized speed of the build here vs. refactoring the existing code.


[BugFix] [UT] Ensure to refresh base table for cached mv partition mappings

Why I'm doing:
What I'm doing:

Use double-check to initialize cached singletons to avoid concurrent bugs;
Refresh table object for cached objects;

Backport from https://github.com/StarRocks/starrocks/pull/48508
Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[x] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.3
[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

@mergify backport branch-3.3


Implement useSSL connection config option

Adds the useSsl option available via the Java ArangoDB driver.

After you merge this, I'll try to get this fully deployed to Maven Central as soon as I can. The process is partially automated but Maven Central still requires button clicks in a UI unless you use a specialized maven plugin.

Sounds good, thanks! Looks like you'll have to merge it for me though.

I was wondering if that was the case... Sorry!
Ah, shoot. One more change that I forgot about. Please update the CHANGELOG. Something simple like:
## [1.0.7] - 2020-03-10
### Changed
- Added support for SSL

The GitHub release is auto-generated so keeping track of changes in the CHANGELOG is the best way of communicating this sort of thing.
Thanks for your contribution and sorry for the inconvenience 😓

Absolutely, no worries and thank you for making this connector!

@rsolano Your change has been deployed to maven central. Thanks again! 🚀


make openssl an optional dependency

so it becomes possible to build an almost static binary using botan
also disable botan usage with VibeNoSSL

It seems some bug in dub is still causing optional dependencies to be downloaded and build.
I though I can select optional dependencies through my dub.selections.json.

That's apparently a bug in the development version of dub.

+1

I'll have a look at the DUB master issue. Since 0.9.24 handles optional dependencies in a totally unacceptable way (at least for the default build path that is affected in this case), this change will have to be postponed until 0.9.25 is reasonably widespread.
One thing that should be changed, though, is to add "default": true for openssl, so that the default build still supports TLS.

DUB master works fine for me. I initially thought I had the same problem, but it turned out that it simply still selected a previous version of vibe.d, thus still having openssl as non-optional.

Done, we really should release a new dub version soon, the last release is already 6 month old, and master has heavily diverged since then.

Yep, I had too little time recently to make progress on issues that I initially wanted to get into 0.9.25. However, since that is probably going to stay true for another few weeks, we can just as well make another release in-between. Would be good to get https://github.com/D-Programming-Language/dub/pull/762 merged and I'll have to try to remember the issues I had with the current dub describe --data=....

Reduced the sope of the PR to just the botan change.
Making openssl optional was already done while switching to SDL.

Okay, should be good to go with 1.0.0 out now.