Dev search v103

This PR includes 2 major issues/features:

Home & Map is merged. Please review the tasks mentioned in this comment. https://github.com/loklak/loklak_webclient/issues/452#issue-100302854

Enhancement on user marker, along with follow/unfollow feature. Please review the tasks in this comment https://github.com/loklak/loklak_webclient/issues/423#issue-98714515

Live server to test: http://gofullstack.me:3001/

@fuksi On retina displays in the home view, the Open Map lies on the background image tile of the user. I will fix that in the next patch. This looks good to merge. Merging this now


Custom Modal

I notice that if you want to render a custom template for a button when calling Drab.Modal.alert/4 from an umbrella app, you have to configure the full application path, because Drab doesn't prefix :templates_path with the current application directory:
# config/dev.exs
config :drab,
  templates_path: "/my/app/full/path/priv/templates/drab"

so I've modify lib/drab/config.ex to read the app name from the configuration and add the right prefix to the template path:
# config/dev.exs
config :drab,
  app: :my_app_web,
  templates_path: "priv/templates/drab"

Furthermore, I've modified Drab.Modal.alert/4 to support many different custom templates. Now you can pass the file name of the preferred custom template this way:
alert(socket, "Title", "Shows this message with default OK button", template: "my_custom.modal.alert.html.eex")

Try to take a look, then if you like I can PR the branch

Closing this thread as you already introduced PR #106 :-)

Could you please check the current master and let me know, if it solved your issue?

Yes, it fix it! :)

Cool!


fix(TableOfContents): fixed missing hover and hidden default label

Related Ticket(s)
#2606
Description
Added hover states to the active item in desktop view, and removed the "Jump to..." label from the select list, but it will remain as a holder until the TableOfContents is activated

@RaphaelAmadeu Should we add width: 100% here so the entire select is clickable in mobile?
https://github.com/carbon-design-system/ibm-dotcom-library/blob/725ffe43f78b05c5df715b86be18b0d647ebc710/packages/styles/scss/components/tableofcontents/_tableofcontents.scss#L66-L75

@RaphaelAmadeu can you update jest snapshots?


added Musixmatch lyrics source

Please prefix your pull request with one of the following: [FEATURE] [FIX] [IMPROVEMENT].
In raising this pull request, I confirm the following (please check boxes):

[ ] I have read and understood the contributors guide.
[ ] I have checked that another pull request for this purpose does not exist.
[ ] I have considered, and confirmed that this submission will be valuable to others.
[ ] I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
[ ] I give this submission freely, and claim no ownership to its content.

My familiarity with the project is as follows (check one):

[ ] I have never used the project.
[ ] I have used the project briefly.
[ ] I have used the project extensively, but have not contributed previously.
[ ] I am an active contributor to the project.

{pull request content here}

Hello @martinmake! Thanks for opening this PR.

In the file swaglyrics/cli.py:

Line 64:47: E251 unexpected spaces around keyword / parameter equals
Line 64:49: E251 unexpected spaces around keyword / parameter equals
Line 74:21: E203 whitespace before ':'
Line 75:21: E203 whitespace before ':'
Line 80:22: E701 multiple statements on one line (colon)
Line 134:121: E501 line too long (152 > 120 characters)

Do see the Hitchhiker's guide to code style


Validating CSIP2

There are 3 issues with validating the CSIP2 requirement:

The validator does not check if the mets/@TYPE has value from VocabularyContentCategory
The validator does not check if mets/@csip:OTHERTYPE exists when mets/@TYPE = “OTHER”
The validator does not check if mets/@csip:OTHERTYPE is set to some value when mets/@TYPE = “OTHER”

This can be seen when testing rules 2, 3 and 4 from testCase.xml

Waiting for clarification - https://github.com/DILCISBoard/E-ARK-CSIP/issues/722


Way to exclude commands/params if a resourcetype is not supported by the current profile.

Is your feature request related to a problem? Please describe.
Errors occur when the CLI references a ResourceType that is not supported in the current profile but is present in another.
ex: https://github.com/Azure/azure-cli/issues/7259
Describe the solution you'd like
The current solution would be to either write a conditional checking for the presence of the ResourceType, or to specify a min/max profile version. The first could be simplified, and the second assumes a linear order to profile (i.e. every profile after a certain date will have the resourceType).
As part of our infrastructure, if a ResourceType is specified, we should exclude the command/loader/param from being loaded.

One of the problems you will run into here is that profiles don't reach the granularity of specific resource types as they are defined right now.


Github Actions Failing

Thanks for this great package @0x80!
Unfortunately I keep having a critical error when deploying using Github actions.
Locally isolate-package is working like a charm. However, using Github CI crashed because it cannot file a packages (.tgz) file.
@packages/server:deploy: Error: ENOENT: no such file or directory, open 'api-4.1.1.tgz' @packages/server:deploy:  ELIFECYCLE  Command failed with exit code 1. @packages/server:deploy: ERROR: command finished with error: command (/my/private/path) pnpm run deploy exited (1)
I am kinda stuck here. Would you know what is going on?
//isolate.config.json {   "buildDirName": "./",   "excludeLockfile": true }

@woutervroege Your config looks odd. The buildDirName is supposed to be only a name, not a path. Hopefully that solves something... I haven't yet tried Github actions myself with isolate-package.

@woutervroege did you figure it out eventually? If not, maybe you could share some code?

@woutervroege I ran into a scenario where this was happening. It was the result of pnpm v7.3.0 that apparently doesn't have a reliable pack executable. I have changed the code so that npm pack is used if the pnpm version is below 8.
In addition I have implemented a fallback / wait mechanism where the unpack is waiting for a few seconds for the file to become available. This should not be need and will probably be stripped later, but it's in there now anyway.
Please upgrade to 1.3.0 and let me know if it worked for you.

I'm going to assume this is solved, but feel free to reopen if you have additional findings


FC-92 Do not bring down app if REST request counting misbehaves

It is not clear why sometimes REST request counting goes wrong, making the count go below 0. If it should, log a (single) WARN rather than throw an exception which cannot be mapped correctly.
Signed-off-by: Steffan Westcott<EMAIL_ADDRESS>

Good to go.


Installation hangs - Music Assist Server add-on is not available anymore

What version of Music Assistant has the issue?
2023.6.0b6
The problem
Installed from HACS with no errors, then restarted HA, then went to integrations to install there.  Hit install with the server-add-on option selected. The window shows "the add-on installation has started" and it hangs here indefinitely. I've scanned the logs and get an error in Home Assistant Core saying "Music Assistant Server Add-on is not available anymore" and an error in the Supervisor saying "github.music-assitant/home-assitant-addon, already in the story". I've deleted and reloaded a few times as i assume something got half installed somewhere. I am on the latest HA core and supervisor as i updated ahead of installing this.
How to reproduce
each time i do an install of the integration
Relevant log output
`This error originated from a custom integration.
Logger: custom_components.mass
Source: custom_components/mass/config_flow.py:85
Integration: mass (documentation, issues)
First occurred: 2:38:57 PM (1 occurrences)
Last logged: 2:38:57 PM
Music Assistant Server add-on is not available anymore`
`
23-11-13 14:38:57 ERROR (MainThread) [supervisor.store] Can't add https://github.com/music-assistant/home-assistant-addon, already in the store`
Additional information
No response
What version of Home Assistant Core are your running
2023.11.1
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Raspberry Pi

Try adding the addon manually first

Ok I'm getting an error saying my RaspPi4 with HA OS isn't supported. So sounds like not a bug...

It is but you need the 64bit version of the OS


Bounty event generator

Create an event generator that creates distinct bounty events, each with their own style.

Done as of 47b9756c36d8977f905b5f4d31a8857fd30fd638


Sending Folder is empty when unzip

Sending a folder of md files with nested folders.
I am on Arch my friend was on IOS, when the file was sent through and unzip, MacOS threw an error saying the file was empty.
I will do some more testing and maybe clone it and play around but just thought would let you know.

Same problem using a Linux desktop (with Brave browser) and Android (with Brave browser). The test was performed with only two .txt files at the root of the directory I was sending:
❯ tree .
.
├── date-2.txt
└── date.txt

0 directories, 2 files

zip file is transferred but appears empty on my phone.

@riton Hi! Just to confirm - did you select both files, or the folder that they are in?

@riton Hi! Just to confirm - did you select both files, or the folder that they are in?

I've dragged and dropped the folder from Thunar (my file manager in XUbuntu) to firefox

Thanks @riton. Yeah, at the moment, it does not support uploading folders. I'd have to check if it's possible/easy to distinguish between a file and a folder, and if it's possible to read files from a folder. Either I could add a support for it, or at least show an error, suggesting to drop multiple files instead.


Extremely slow Android animation

Description
Expo 48 Android animation is MUCH, MUCH slower than iOS (iOS is mega smooth, Android is like, 5-6 FPS)
This is the JSON that I'm using as an animation (it reports a fully compatible matrix on LottieFiles):
hero.json.zip
Edit:
The Android device itself is quite capable. It's OnePlus 7 Pro, and runs quite heavy 3D games without any issues. So the GPU should handle this?

Any solutions?

@RRaideRR @Immacio , nope. Absolutely no solution. Would be amazing if any contributors or maintainers could give this any attention.

Hi dear maintainers @emilioicai @matinzd @lelandrichardson
This bug renders this totally unusable for me on Android. I would love to contribute somehow even, but some guidance from maintainers would be super appreciated.

Have you tried this animation on a native app as well? Install Lottie Files app and try the animation there and see if that is still slow.
If it's slow there as well, we cannot do anything on React Native side.

i can't fix only way to fix is reduce size in lottie file on after effect or using
optimize lottie from lottie website(need to upload lottie and then use optimize tool) but need to buy yearly subscription

Hi guys.
We are now supporting dotLottie, a newer more efficient file format for lottie, that is loads the animation directly on the Native side instead of sending it through like we have to do with JSON. Can you guys test that out and see if the problem still exists?

Closing since there have been no more responses.

@TheRogue76 issue still exists. the small lottie animation itself makes the app slow/lag

Yeah, there's nothing about this that's completed. Lottie is practically unusable on Android

Yes i see
any solution @etodanik

Ok. What did you guys try? What were the results? Did you try dotLottie? Loading the animation asset on the native side? I need responses and data otherwise there is very little i can help with

@TheRogue76 I have the same issue on Android, how can I use dotlottie with react native? It seems like it works only on native side, isn't it?

In order to work with dotLottie, all you need to do is transform your JSON animation to Lottie using a tool like https://lottiefiles.com/tools/lottie-to-dotlottie or https://iconscout.com/converter/lottie-json-to-dotlottie, and then making one small modification to your metro file: (instructions here). You don't need change any other piece of code on your JS side after that. The import would look the same as it did with JSON (with a different file extension) and everything else would be the same. No need to do anything on the Native side.
If for whatever reason you can not turn your JSON animation into dotLottie and need to squeeze out as much performance as possible, then you can bundle the animation as a native asset, and just pass the name of the asset for the source prop. The component should take care of the rest.

Unfortunately, I cannot get it working on Android (on iOS dotlottie files work for me). I just created a minimal reproducible example and opened up an issue.


React component imports being reported as unused imports even though they are being refrenced by other components

Bug Report

TSLint version: 3.13.0
TypeScript version: 1.9
Running TSLint via:  CLI

TypeScript code being linted
import * as React from "react";

React.Component {
    return(

);
}

with tslint.json configuration:
 "no-unused-variable": true

Actual behavior
React component imports are being flagged as unused even though they are being used in another components..
Expected behavior
linter should not flag such imports as and this applies to all tsx files that uses this pattern.

@mdahamiwal that code sample doesn't look like valid typescript. Also, which identifier is flagged as unused?

I can provide an example (for lack of a better issue, I have no idea how I'd describe this bug anyways):
Given React and Radium,
package.json
{
   "dependencies": {
        "radium": "0.16.2",
        "react": "0.14.8",
    }
}

import * as React from 'react';
import * as Radium from 'radium';

interface MyTestComponentProps extends React.Props<MyTestComponent> {
}

export class MyTestComponent extends React.Component<MyTestComponentProps, void> {
    render(): JSX.Element {
        return (

                <Radium.Style
                    scopeSelector='.myDiv'
                    rules={{
                        margin: '1px auto',
                    }}
                />

                    I am some friendly text.

        );
    }
}

The error is
import * as Radium from 'radium';
            ^^^^^^ Unused variable 'Radium'

Though it is used below in
<React.Style ... />

I'm also seeing this issue consistently when using import * as Foo from "foo" and then only using Foo in TSX syntax. If used in plain TS code, it doesn't complain, otherwise Foo is reported as unused.
FWIW I also have a slightly related issue with chained imports:
import * as Foo from "foo"`;
import bar = Foo.bar;

Foo is reported as unused by TSLint even when it's used in another import. I agree this is a weird syntax, but still valid TypeScript.
My guess is that both issues are related.

@mschnee which version of TypeScript are you using? that looks a lot like https://github.com/palantir/tslint/issues/1010

tsc --version
Version 1.8.10

tslint --version
3.14.0

If I update to<EMAIL_ADDRESS>the issue gets fixed, but I don't want to use it yet. Have I got other choices?

Well, another option is to use // tslint:disable-next-line:no-unused-variable above your import, but that's a pain.
TS 2.0 is really easy to upgrade to though! I don't think I've had to change a single line of code in any of my projects that I upgraded.

@adidahiya
Typescript 1.8.10, tslint 3.9.0
If it's fixed in newer tslint, I'll pass that up the chain.  Unfortuantely for the specific project I am working on, the versions of typescript and tslint are locked and outside of my control :/

It was a bug in the TypeScript language services that was fixed in v1.9. Disabling the rule is your best option if you can't upgrade TS.

@adidahiya Where is TS 1.9? I can only see 1.8.10 and 2.0 beta in https://github.com/Microsoft/TypeScript/releases

@pablonete 1.9.x only had -dev releases, so you'll see that on the next dist-tag on NPM. 2.0 beta also has the fix.


Set DNS stub listener

overlay: make sure we explicitely disable DNS Stub Listener
FCOS may reverse it decision landing dns stub, but its should be independent of OKD. Ensure that this config setting is set.
Ref: https://github.com/openshift/okd/issues/690

/retest

/retest

/override ci/prow/e2e-aws-upgrade
Known OVN failures

/cherrypick release-4.7


extra_tests not honored

Apprently, extra_tests are not taken into account.
https://github.com/jbalogh/django-nose/blob/83c7867c3f90ff3c7c7471716da91b643e8b2c01/django_nose/runner.py#LC89 is the only appearance of extra_tests.
I would have expected that extra_tests are taken into account.

Current code has this extra parameter, but with a docstring that suggest why:

   Note: the extra_tests argument is currently ignored.  You can
   run old non-nose code that uses it without totally breaking,
   but the extra tests will not be run.  Maybe later.

More investigation is needed to see if modern Django supports this call signature, or if it can be dropped.


Code reformatting with black

On most files, the difference is negligible, but I can see a few where the difference in format is significant and the result, in my opinion, an improvement in code readability.

Since black is following PEP8, I'm afraid there is not much room for configuration of formatting, only these three options:
-l, --line-length INTEGER           How many characters per line to allow.
-S, --skip-string-normalization     Don't normalize string quotes or prefixes.
-C, --skip-magic-trailing-comma     Don't use trailing commas as a reason to split lines.

The first one is set to 110 (Ensembl guidelines), and I do not see much effect on the second. Will play with the third to see exactly what it means.

I have tested the -C option mentioned before and it seems it does not change the outcome of argparse, which matches with what is explained here. The only option seems to be to add # fmt: skip at the end of the lines you want black to avoid formatting (this is standard practice with other tools like pylint and mypy that we plan to introduce soon).

I will apply this change altogether with the tree folder restructuring (PR#49).


Use multiple ports in one tunnel

I see that we can do this with this parameter from the client side
  -L --localToRemote=[BIND:]PORT:HOST:PORT      Listen on local and forwards
                                                traffic from remote. Can be
                                                used multiple time

But the -r option for the server doesn't indicate that we can use it multiple times.
  -r --restrictTo=HOST:PORT                     Accept traffic to be
                                                forwarded only to this service

Is that just missing from -r parameter's documentation or is that not possible yet?
Also could be nice if we could use a range map like from client's port 6000 to 7000 to server's port 6000 to 7000 right now for doing that we need to add 1000 -L params.

Hello,
sadly, this is not possible at the moment ;(

Hello, sadly, this is not possible at the moment ;(

Hello thank you so much for responding :) so we can use multiple -ls without any -r s for now.
Still is great thank you :0


[Feature]: Tailwind colors

Version
System:
    OS: macOS 14.2.1
    CPU: (12) arm64 Apple M2 Pro
    Memory: 82.77 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Browsers:
    Chrome: 125.0.6422.142
    Safari: 17.2.1
  npmPackages:
    rspress: ^1.18.1 => 1.18.1

Details
As title stated

tailwind colors don't work until they are explicitly configured in tailwind.config.ts, thought this might be a bug?

any documentation on incorporating rspress exposed brand assets to be used with tailwind variables?

On tailwind docs (I tried it a couple times hex colors doesn't work at all) it didn't specify how should hex colors be used
https://tailwindcss.com/docs/customizing-colors#using-css-variables

Reproduce link
https://github.com/zmzlois/docs/tree/homepage-change
Reproduce Steps

Clone the repo
Delete color configuration in tailwind.config.ts
npm i && npm run dev

I can't reproduce this issue. The issue of tailwind css has nothing to do with Rspress. You can check related issue of tailwind maybe.

I can't reproduce this issue. The issue of tailwind css has nothing to do with Rspress. You can check related issue of tailwind maybe.

Is it possible to give variable values with rgba colors or hsl colors rather than hex?
atm in tailwind we can do inlinetext-[var(--rp-c-brand)] and this would work,
but if I am extending the colors in tailwind config say
  extend: {
      colors: {

        // FIXME: this is not work yet not sure why
        background: {
          DEFAULT: "hex(var(--rp-c-bg)/<alpha-value>)", // this won't work
		  light: "hsl(var(--rp-c-bg)/<alpha-value>)", // this would work if `--rp-c-bg` is hsl value
          dark: "#1a1a1a", // this would
        },
        "soft-background": {
          DEFAULT: "#f9f9f9",

        }
      }
    },

The default theme color variants can be customized via globalStyles


Function argument passed to a lambda is looked up in the parent scope

When you call a function argument of a lambda, rock adds the function name to the context structure, wich causes the program to fail to compile, as the function is not found. I think this is causing llamaweb bugs :(
This is demonstrated with this code:

import structs/HashMap

h := HashMap<String,Func(String)> new()
h add("foo", func(s: String) { s println() })

h each(|key,f|
f(key) // HERE, HERE rock tries to pull f from the parent scope D:
)

f is passedinto the context structure bcause it is marked for partialing. I do not know if it is correctly marked so or not.

I found a quick but really hackish/dirty solution to that, I may commit if I don't find another way to deal with it.


Support for specific app id.

Added support for specific application id.

@vmseba thanks man! This looks good! I just left some comments.
This would be a life saver for a lot of users :) !

@charliesbox thanks man, I just started with react-native and your project saved me a lot of time. Since I had to do this for my project I just thought I share, also it's a great way to keep learning.

@vmseba wow! really cool that you unify both functions for android and iOS!
The last comment that I added it's just to unify the javascript bridge function :)

@charliesbox thanks man, and thanks for your help!

@charliesbox I've changed the implementation of startScan to control wether or not ir receives and appID since the method without params was not being called.

@vmseba great! did you test it in both android and iOS ?

@charliesbox Yeah, I tested both platforms with and without an app id.

Awesome, thanks @charliesbox , I'm gonna check some other issues, I think I can help with a few of them.


[Silabs] Modified Default Value for cluster-revision attribute

Modified Default Value for cluster-revision attribute for thermostat Application.

not required so closing.. Raised from another person


Return an error payload if run_async! fails

Currently if the command to start the container fails we simply raise the exception up to the caller rather than "handle" the error payload.  This effectively aborts the workflow runtime without going through the normal failure paths that are already builtin to handle if a task fails after it is started.
This commit changes how these failures are handled in order to line up with how the rest of the Task error handling operates.
https://github.com/ManageIQ/floe/issues/141

Docker with a bad image name:
Before:
$ bundle exec exe/floe --workflow examples/workflow.asl --input '{"foo": 1}'
I, [2023-11-15T13:57:48.875720 #1307986]  INFO -- : Running state: [FirstState] with input [{"foo"=>1}]...
D, [2023-11-15T13:57:48.876025 #1307986] DEBUG -- : Running docker run --detach -e foo\=1 -e _CREDENTIALS\=/run/secrets -v /tmp/20231115-1307986-3gb4mb:/run/secrets:z --name floe-hello-worl-054ec601 docker.io/agrare/hello-worl:latest
bundler: failed to load command: exe/floe (exe/floe)
/home/grare/adam/.gem/ruby/3.0.0/gems/awesome_spawn-1.6.0/lib/awesome_spawn.rb:111:in `run!': docker exit code: 125 error was: Unable to find image 'agrare/hello-worl:latest' locally (AwesomeSpawn::CommandResultError)
docker: Error response from daemon: manifest for agrare/hello-worl:latest not found: manifest unknown: manifest unknown.
See 'docker run --help'.
	from /home/grare/adam/src/manageiq/floe/lib/floe/workflow/runner/docker.rb:120:in `docker!'
	from /home/grare/adam/src/manageiq/floe/lib/floe/workflow/runner/docker.rb:74:in `run_container'
	from /home/grare/adam/src/manageiq/floe/lib/floe/workflow/runner/docker.rb:32:in `run_async!'
	from /home/grare/adam/src/manageiq/floe/lib/floe/workflow/states/task.rb:38:in `start'
	from /home/grare/adam/src/manageiq/floe/lib/floe/workflow/state.rb:52:in `run_nonblock!'
	from /home/grare/adam/src/manageiq/floe/lib/floe/workflow.rb:80:in `step_nonblock'
	from /home/grare/adam/src/manageiq/floe/lib/floe/workflow.rb:67:in `step'
	from /home/grare/adam/src/manageiq/floe/lib/floe/workflow.rb:62:in `run!'
	from exe/floe:37:in `<top (required)>'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/cli/exec.rb:58:in `load'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/cli/exec.rb:58:in `kernel_load'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/cli/exec.rb:23:in `run'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/cli.rb:492:in `exec'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/cli.rb:34:in `dispatch'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/cli.rb:28:in `start'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/exe/bundle:37:in `block in <top (required)>'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
	from /home/grare/adam/.gem/ruby/3.0.0/gems/bundler-2.4.19/exe/bundle:29:in `<top (required)>'
	from /home/grare/adam/.gem/ruby/3.0.0/bin/bundle:25:in `load'
	from /home/grare/adam/.gem/ruby/3.0.0/bin/bundle:25:in `<main>'

After:
adam@desktop:~/src/manageiq/floe$ bundle exec exe/floe --workflow examples/workflow.asl --input '{"foo": 1}'
I, [2023-11-15T13:58:10.519437 #1308095]  INFO -- : Running state: [FirstState] with input [{"foo"=>1}]...
D, [2023-11-15T13:58:10.519799 #1308095] DEBUG -- : Running docker run --detach -e foo\=1 -e _CREDENTIALS\=/run/secrets -v /tmp/20231115-1308095-6b6s9g:/run/secrets:z --name floe-hello-worl-1502d56a docker.io/agrare/hello-worl:latest
I, [2023-11-15T13:58:10.811974 #1308095]  INFO -- : Running state: [FirstState] with input [{"foo"=>1}]...Complete - next state: [FailState] output: [{"foo"=>1, "Error"=>"States.TaskFailed", "Cause"=>"docker exit code: 125 error was: Unable to find image 'agrare/hello-worl:latest' locally\ndocker: Error response from daemon: manifest for agrare/hello-worl:latest not found: manifest unknown: manifest unknown.\nSee 'docker run --help'.\n"}]
I, [2023-11-15T13:58:10.812034 #1308095]  INFO -- : Running state: [FailState] with input [{"foo"=>1, "Error"=>"States.TaskFailed", "Cause"=>"docker exit code: 125 error was: Unable to find image 'agrare/hello-worl:latest' locally\ndocker: Error response from daemon: manifest for agrare/hello-worl:latest not found: manifest unknown: manifest unknown.\nSee 'docker run --help'.\n"}]...
I, [2023-11-15T13:58:10.812069 #1308095]  INFO -- : Running state: [FailState] with input [{"foo"=>1, "Error"=>"States.TaskFailed", "Cause"=>"docker exit code: 125 error was: Unable to find image 'agrare/hello-worl:latest' locally\ndocker: Error response from daemon: manifest for agrare/hello-worl:latest not found: manifest unknown: manifest unknown.\nSee 'docker run --help'.\n"}]...Complete - next state: [] output: [{"Error"=>"FailStateError", "Cause"=>"No Matches!"}]
{"Error"=>"FailStateError", "Cause"=>"No Matches!"}

{
  "Comment": "Invalid Image Name",
  "StartAt": "UnknownImageNameRun",
  "States": {
    "UnknownImageNameRun": {
      "Type": "Task",
      "Resource": "docker://docker.io/kbrock/unknown:latest",
      "Parameters": {
        "ERROR": "failure message"
      },
      "End": true
    }
  }
}

$ bundle exec exe/floe --docker-runner podman --workflow examples/error-invalid-image-name.json --input={"foo": 2}

{"Error"=>"States.TaskFailed", "Cause"=>"podman exit code: 125 error was: Trying to pull docker.io/kbrock/unknown:latest...\nError: initializing source docker://kbrock/unknown:latest: reading manifest latest in docker.io/kbrock/unknown: manifest unknown\n"}

$ bundle exec exe/floe --docker-runner docker --workflow examples/error-invalid-image-name.json --input={"foo": 2}

{"Error"=>"States.TaskFailed", "Cause"=>"docker exit code: 125 error was: Unable to find image 'kbrock/unknown:latest' locally\ndocker: Error response from daemon: manifest for kbrock/unknown:latest not found: manifest unknown: manifest unknown.\nSee 'docker run --help'.\n"}

$ bundle exec exe/floe --docker-runner kubernetes --docker-runner-options=kubeconfig_context=default --workflow examples/error-invalid-image-name.json --input={"foo": 2}

{"Error"=>"ErrImagePull", "Cause"=>"rpc error: code = Unknown desc = failed to pull and unpack image \"docker.io/kbrock/unknown:latest\": failed to resolve reference \"docker.io/kbrock/unknown:latest\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed"}

Yeah I went with the more general taskfailed because I couldn't get a helpful exception type from the failed AwesomeSpawn runs.  I didn't think AwesomeSpawn::CommandResultError as the "Error" was helpful to the user.


Security Vulnerability - How about using environment variable?

Hi @adbtae
With looking into code, I see we are simply reading text file for our APIKey which will lead to security break. We can consider using environment variables or secure storage.
/blob/main/Defi-BotAdditional/Globals.cs
public static string[] keys = System.IO.File.ReadAllLines(@"/Users/aditi/Desktop/Bot/binanceInfo/apiKeys.txt");
//Api Key
public static string ApiKey { get; set; } = keys[0];
//Secret Key
public static string SecretKey { get; set; } = keys[1];
Also we should validate before using index on array to avoid null exception or index out of bound exception.

there is a compiled version, thx


Implement size_hint for de::SeqAccess and de::MapAccess

This is the first of two changes I'd like to propose. The next will add line/column number information to errors.

And line and column number information in errors sounds great, would happily merge that too if you get round to it.

published as 0.2.8


git completions don't work even though zsh-completions is enabled

I have the following plugins:
zsh-users/zsh-completions
zsh-users/zsh-autosuggestions
lukechilds/zsh-nvm
# autojump
zsh-users/zsh-syntax-highlighting
dikiaap/dotfiles path:.oh-my-zsh/themes/oxide.zsh-theme
# ohmyzsh/ohmyzsh path:plugins/gitfast

Somehow git commands are not being autrocompleted when i press TAB. Why is that?

This doesn't sound like an issue with antidote, but rather something to do with your specific config. One thing I'd suggest is that plugin order matters - certain plugins like zsh-syntax-highlighting need to be sourced at the end of your plugins file (https://github.com/zsh-users/zsh-syntax-highlighting#faq), but if you include some of the other zsh-users plugins, those have other ordering rules (https://github.com/zsh-users/zsh-history-substring-search#usage). It can get pretty confusing and it's unfortunate that the docs aren't cohesive across all zsh-users repos.
My first suggestion would be to try re-arranging your plugins file to this order and see if that resolves your issue:
# non-zsh-users plugins first
lukechilds/zsh-nvm
dikiaap/dotfiles path:.oh-my-zsh/themes/oxide.zsh-theme

# zsh-users plugins last
zsh-users/zsh-completions
zsh-users/zsh-autosuggestions
zsh-users/zsh-syntax-highlighting

Secondly, you need to make sure somewhere in your config you are running compinit, and that git completions are available to Zsh. If you're on a Mac, there's some discussion of this issue here: https://stackoverflow.com/questions/24513873/git-tab-completion-not-working-in-zsh-on-mac
Thirdly, might I humbly suggest you could choose to try to resolve this simply by using my Zephyr plugin. Add this to your plugins file:
mattmc3/zephyr path:plugins/completions

Good luck. Closing as a non-antidote issue.

Thanks @mattmc3, zephyr is all I needed. You did an amazing job with zsh tooling, I use antidote on all my PCs.

Thanks for the kind words @marcinjahn. I'm so glad this resolved your issue.

For future reference, additional documentation about completions is now available here: https://getantidote.github.io/completions

Cool, that definitely makes things easier for new users, especially if they don’t really understand how it all works (like me :P)


The definition of GO:0071941 nitrogen cycle metabolic process is "The nitrogen cycle is a series of metabolic pathways by which nitrogen is converted between various forms and redox states; it encompasses pathways in which nitrogen is acted upon directly, such as nitrification, denitrification, nitrogen fixation, and mineralization. PMID:16675690"
Is this intended to apply potentially to all taxa or to be restricted to prokaryotes and plants? Does the clause "in which nitrogen is acted upon directly" apply to all nitrogen cycle processes, or is it an optional label for some of them? If the former (all), then urea cycle is out of place because it does not involve conversion of nitrogen the element to anything. If the latter (optional), should purine catabolism to uric acid be added as a sibling of urea cycle, as playing a role in birds and reptiles like the one for urea cycle in mammals?

I agree @deustp01 - made an issue for this, #27220, and added to the epic checklist above

Note, I have seen the urea cycle referred to biologically as part of the "nitrogen cycle". Note that the ecological meaning of "nitrogen cycle" is probably different.
This term was intended to group process like nitrogen fixation and urea cycle that act on NH4 and NH3. If we move this term out we need a way to group terms  but in that case it should also include "GO:0019676 ammonia assimilation cycle" or GO:0019740  nitrogen utilization
Note  this is narrower  than the parent "organonitrogen compound metabolic process (GO:1901564)"  or "GO:0006807  nitrogen compound metabolic process"
(which seem to be a meaningless grouping term including many, but not all things that 'contain' any nitrogen' currently 2/5 of the pombe proteome are annotated to these terms).
Here is the ticket where the parent was added:
https://github.com/geneontology/go-ontology/issues/8040
TLDR; I think this term was intended to mean "nitrogen metabolic process" but I seem to remember that term was not approved of because it isn't "nitrogen" that is acted on in vivo (I cannot locate this ticket, it's probably from source forge days).


LibRetro AI service for game translation.

This is the ES configuration screen for https://github.com/batocera-linux/batocera.linux/pull/1024

It basically manages the three new fields that have been added in batocera.conf:
  global.ai_service_enabled=1  # Is the service enabled?
  global.ai_service_url=       # URL of the translation service to use
  global.ai_target_lang=Fr     # Language to translate into (2-char language code)

Amazing I can not wait to see him

Hum... i thought about this and here is my thought: as the API key is part of the URL, it would be more friendly to have this defined in ES than configgen. But I don’t want to have a new field just for the API key that simply is « BATOCERA » as I can anticipate some users will change it with their own string... and break it, so I believe it’s better to make it part of the URL. I don’t think we want to have API keys hardcoded in configgen really.
I am not sure I understand your second point. Are you talking about a #define for the URL?

Fine for me like we talk about it on Discord ;)
So excited
Thanks


Options with "empty" values are not allowed

Could not implement custom multi-value without breaking changes https://github.com/charlesrocket/xtxf/commit/660b9462f5083b1a69f00e0914ca219ae049efb7.
Currently, there is no way to allow -f while -f=a,b is valid.

@charlesrocket I got around to implementing this. In order to use it, be sure to set the allow_empty field on your desired Options and check for opt.val.isEmpty() when analyzing the parsed Arguments.


[Proposal] Configuration File

A configuration file would be cleaner and easier to work with than Env variable reading scattered everywhere in the code.

Time took 5.5 hours.


:penguin: add grub2 symlink to the orin image

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

I don't think regex works at all:
    +base-image | --> IF [[ "$FLAVOR" =~ ^alpine.* ]]
         +base-image | /bin/sh: 1: [[: not found

I'm against this just because it removed visibility from the build process. Having it all on the earthly file is much nicer as you can follow up along

but regex don't work there? see https://github.com/kairos-io/kairos/pull/1455#issuecomment-1564321686

@Itxaka any suggestion? https://github.com/kairos-io/kairos/pull/1455/commits/ae9ed21eac31a9a3946b2cb6059310728d7dec96 doesn't seem to work either

@Itxaka any suggestion? ae9ed21 doesn't seem to work either

ah no.. seems to work, Earthly output is really deceiving

~/_git/kairos fixups*
base ❯ docker run -ti --rm ttl.sh/kairos-jetson-orin-agx-tests:latest_linux_arm64
WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64) and no specific platform was requested
root@98ffa2022410:/# ls
bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  system  tmp  usr  var
root@98ffa2022410:/# cd /etc/elemental/
root@98ffa2022410:/etc/elemental# ls
config.yaml
root@98ffa2022410:/etc/elemental# cat config.yaml
cosign: false
verify: false
install:
  grub-entry-name: "kairos"
  system:
    size: 2300
  recovery-system:
    size: 2300
upgrade:
  grub-entry-name: "kairos"
  recovery-system:
    size: 2300
  system:
    size: 2300
reset:
  grub-entry-name: "kairos"
  system:
    size: 2300

cloud-init-paths:
- /run/initramfs/cos-state


chore: deterministically sort cached_partial_non_native_field_multiplication

This will change circuits that use non native field arithmetic.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

Copying from slack:
Context
We have two ways to create proofs, either natively or via javascript
We have three ways to verify proofs, either natively, via javascript or via a solidity verifier
Symptoms
We had a bug only with ecdsa signature verification

Creating an ecdsa verification proof natively and verifying it natively, would work
Creating an ecdsa verification proof in javascript and verifying in javascript would work
Creating an ecdsa verification proof natively  and verifying in solidity would work
Creating an ecdsa verification proof natively and verifying in javascript would not work
Creating an ecdsa verification proof in javascript and verifying natively or via solidity would not work

Preliminary conclusions

There must be special about the codepath that ecdsa uses, since everything works when we don't use ecdsa verification.
The javascript implementation is consistent with itself, since it can verify proofs created with it.
The native implementation is consistent with itself
The solidity implementation is consistent with the native implementation which makes sense, since the verification key that gets embedded into the solidity verifier is created from the native implementation

Methodology

We can recreate the bug in the barretenberg repository by creating the verification key natively for a circuit which uses ecdsa verification, then creating the verification key using the bb.js node implementation.
Using bash to hash the verification keys shows different verification key hashes.
Then its mostly a game of:
Bisect the code

Simplify loops and logic to reduce the noise
Recompile js and native
Check if verification key hashes are the same
If hashes are the same, then inspect the gates being added in both js and native just before the code bisection
Bug

High Level: The < operator on cached_partial_non_native_field_multiplication was not implemented properly.
This struct looks like this:
   struct cached_partial_non_native_field_multiplication {
        std::array<uint32_t, 5> a;
        std::array<uint32_t, 5> b;
        FF lo_0;
        FF hi_0;
        FF hi_1;
}

There were two reasons it was not implemented properly:
Using == in less than operator
(benign) The first is the fact it was doing an equality check, which technically it should not be doing since we are doing  implementing < and not <=.
The fix is to implement < as:
            if (a < other.a) {
                return true;
            }
            if (other.a < a) {
                return false;
            }
            if (b < other.b) {
                return true;
            }
            if (other.b < b) {
                return false;
            }

Notice that this does not check lo_0, hi_0 and hi_1. This is the second bug.
Comparing Fields
Because we were not explicitly comparing fields, we were essentially leaving this to compiler to do. This may not even be a deterministic operation across different CPUs because for different architectures we may want to represent fields differently, its only deterministic if you compare their same "representative".
This is a problem because we sort a vector of these structs and then iterate over the vector and for each element, we create a gate. So if the order is not deterministic, we create a different circuit.
Note: I'm assuming that it was done this way because the implementor assumed that just be comparing the non-field elements would be enough to create deterministic ordering. I manually printed out every element and double checked that this is not correct.
The fix:
            if (uint256_t(lo_0) < uint256_t(other.lo_0)) {
                return true;
            }
            if (uint256_t(other.lo_0) < uint256_t(lo_0)) {
                return false;
            }

            if (uint256_t(hi_0) < uint256_t(other.hi_0)) {
                return true;
            }
            if (uint256_t(other.hi_0) < uint256_t(hi_0)) {
                return false;
            }

            return uint256_t(hi_1) < uint256_t(other.hi_1);

Retro conclusion
The above struct is used for non native arithmetic, so it makes sense that for algorithms that do not require it, the bug did not show up. I imagine that this would also pop up for recursion. However, I am not 100% certain because while bisecting and simplifying, there were red-herrings where the ordering coincidentally lined up resulting in the same circuit

Benchmark results
Metrics with a significant change:

circuit_simulation_time_in_ms (base-rollup): 4,090 (+133%)
l2_block_building_time_in_ms (8): 30,418 (+48%)
l2_block_building_time_in_ms (32): 121,082 (+48%)
l2_block_building_time_in_ms (128): 476,314 (+45%)
l2_block_rollup_simulation_time_in_ms (8): 21,665 (+81%)
l2_block_rollup_simulation_time_in_ms (32): 85,863 (+81%)
l2_block_rollup_simulation_time_in_ms (128): 340,624 (+81%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 2001d474 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
222,876
868,160
3,448,160

l1_rollup_execution_gas
841,963
3,595,268
22,203,529

l2_block_processing_time_in_ms
2,202 (+9%)
7,722
29,926 (-1%)

note_successful_decrypting_time_in_ms
299
890 (+1%)
3,217

note_trial_decrypting_time_in_ms
4.23 (-27%)
101 (+10%)
141 (+1%)

l2_block_building_time_in_ms
:warning: 30,418 (+48%)
:warning: 121,082 (+48%)
:warning: 476,314 (+45%)

l2_block_rollup_simulation_time_in_ms
:warning: 21,665 (+81%)
:warning: 85,863 (+81%)
:warning: 340,624 (+81%)

l2_block_public_tx_process_time_in_ms
8,708 (+1%)
35,075 (+2%)
135,168 (-3%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
21,882
42,941 (+1%)

note_history_successful_decrypting_time_in_ms
2,046
3,999

note_history_trial_decrypting_time_in_ms
147 (+17%)
156 (+1%)

node_database_size_in_bytes
1,630,079
1,098,940

pxe_database_size_in_bytes
29,748
59,307

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
775 (+1%)
61,697
18,905

private-kernel-ordering
127
24,297
8,153

base-rollup
:warning: 4,090 (+133%)
656,428
873

root-rollup
153 (-9%)
4,072
1,097

private-kernel-inner
794
81,568
18,905

public-kernel-private-input
565 (-1%)
41,519
18,905

public-kernel-non-first-iteration
409
41,561
18,905

merge-rollup
15.5 (+1%)
2,592
873

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
8,787
27,547

Longer term, we should remove the operator< and instead have something like:
   template <typename T> std::vector<T> make_unique_and_preserve_order(const std::vector<T>& vec)
    {
        std::unordered_set<T> seen;
        std::vector<T> unique_vec;

        for (const auto& item : vec) {
            if (seen.insert(item).second) {
                unique_vec.push_back(item);
            }
        }

        return unique_vec;
    }
    ```
    This would require Hash and operator==.

    instead of std::sort, std::unique, because this is he only reason for the operator< implementation (we never compare this struct in any other scenario)


Add semver support to the with.version input

Currently, you must specify the version exactly and the default version is based on when this action was created. Instead we should support semver ranges and a "latest" version (which should become the new default).

Solved (mostly) by #2


Request to Add Paper

Thank you for maintaining this repository, it is very helpful!
I would like to recommend our recent work, LaserMix, a spatial-prior-based mixing approach for 3D scene understanding.

Paper: LaserMix for Semi-Supervised LiDAR Semantic Segmentation
Link: https://arxiv.org/abs/2207.00026
Code: https://github.com/ldkong1205/LaserMix
Project Page: https://ldkong.com/LaserMix
Tutorial: https://zhuanlan.zhihu.com/p/528689803

Thanks again!

Hi @ldkong1205, thanks for your attention and appreciation of our Awesome-Mixup.
We have added your new work, LaserMix, to the list of semi-supervised learning. As we plan to add new lists of mixup methods designed for downstream tasks (according to Awesome-Mix, we will also add LaserMix to the list of semantic segmentation in future commits. Thanks again for your help!
Have a nice day


Improve Text API

Implements SpongePowered/SpongeAPI#808 (PR)
(See API PR for Description)

All Translatables implemented as far as possible.
Including TextRepresentables as well for CatalogTypes.

@ST-DDT Can you make sure this PR is rebased onto master without merge commits? It'll help merging the PR sooner than later.

@gabizou Done


Calling next over generic iterator inside list comprehension inside function call gives not callable error

Environment data

Language Server version: 2020.9.6
OS and version: Windows 10
Python version (& distribution if applicable, e.g. Anaconda): Python 3.8.5

Expected behaviour
No error when calling next.
Actual behaviour
I get an error that next is not callable.
Code Snippet / Additional information
Pylance 2020.9.5 and older does not have this issue, just encountered it in 2020.9.6.
Maybe this is too specific of an issue, but just encountered this (the builtin next function gives error that it is not callable):
T = TypeVar("T")

class SomeProtocol(Protocol[T]): ...

def some_function(arg: SomeProtocol[T]): ...

class SomeClass(Generic[T]):
	def __init__(self, it: Iterator[T]):
		# for some reason, here I get an error:
		# "next" has type "Overload[(__i: Iterator[_T]) -> _T, (__i: Iterator[_T], default: _VT) -> (_T | _VT)]" and is not callable
		some_function([next(it) for _ in range(10)])

	def my_function(self, it: Iterator[T]):
		# error:
		# "next" has type "Overload[(__i: Iterator[_T]) -> _T, (__i: Iterator[_T], default: _VT) -> (_T | _VT)]" and is not callable
		some_function([next(it) for _ in range(10)])

On a simpler example (but not realistic, just to show the error):
# I know T has no meaning here but just for the example
# by the way Pylance also does not raise error for the no meaning of T in this context
def iterator() -> Iterator[T]: ...

it = iterator()
# type T
value = next(it) # no problem here
# type List[T]
ten_values = [next(it) for _ in range(10)] # no problem here
# no error if pass the generated list
some_function(ten_values) # no problem

# error:
# "next" has type "Overload[(__i: Iterator[_T]) -> _T, (__i: Iterator[_T], default: _VT) -> (_T | _VT)]" and is not callable
some_function([next(it) for _ in range(10)])

# no error if I just unpack the iterator
some_function([*it])

The error is the same (that next is not callable) if I change SomeProtocol from a Protocol to just some Generic class.
If I fix the iterator type as e.g. Iterator[int] the problem disappears. If I remove the type of arg the error also goes away.
Here is what I just said with Iterator[int]:
T = TypeVar("T")
class SomeProtocol(Protocol[T]): ...
def some_function(arg: SomeProtocol[T]): ...
# change here Iterator[T] to Iterator[int]
def iterator() -> Iterator[int]: ...

it = iterator()
some_function([next(it) for _ in range(10)]) # no errors

It also disappears if T is resolved to some type:
def iterator(var: T) -> Iterator[T]: ...

it = iterator(1)
some_function([next(it) for _ in range(10)]) # no errors

Thanks for the detailed bug report. I'll look into it.

This will be fixed in the next release.

This issue has been fixed in version 2020.9.7, which we've just released. You can find the changelog here: https://github.com/microsoft/pylance-release/blob/master/CHANGELOG.md#202097-30-september-2020


Remove DEFAULT_GAS once gas estimation is available

Currently the JS and Go compat APIs return a hard-coded amount when asked to estimate gas.
See:
https://github.com/oasisprotocol/sapphire-paratime/blob/2ee5b3868f56134e9b6ec2cdb2a87cd0104de0ce/clients/js/src/compat.ts#L171
https://github.com/oasisprotocol/sapphire-paratime/blob/2ee5b3868f56134e9b6ec2cdb2a87cd0104de0ce/clients/go/compat.go#L231
However, the implementation of eth_estimateGas  in oasis-web3-gateway seems to have a full implementation.
See:
https://github.com/oasisprotocol/oasis-web3-gateway/blob/2fa2ad9f5170260324db51daca4638d346e43c91/rpc/eth/api.go#L483
Need to double check gas estimation works as expected, then re-enable it.

Yes, this is now supported, although for gas estimation will currently always zeroize the sender in order to avoid it being used to bypass access control and potentially exposing secret data through a side channel. The problem is that estimate gas queries are not signed, so you cannot authenticate the caller.
For this reason, when execution fails during gas estimation, the estimate will currently be artifically inflated to account for the fact that access control checks are usually in the front (as otherwise the estimate would be an underestimate most of the time). This is not ideal and needs some more thought.


External link for Cassie Tarakajian takes you to the wrong website.

Most appropriate sections of the p5.js website?
About
What is your operating system?
Mac OS
Web browser and version
Version 126.0.6478.183 (Official Build) (arm64)
Actual Behavior
Under the "People" section, clicking on "Cassie Tarakajian" takes you to Kenneth Lim;s website instead.
Expected Behavior
To be taken to Cassie Tarakajian's website.
Steps to reproduce

Go to: https://p5js.org/about/
Scroll down to the "People" section and locate Cassie Tarakajian.
Click on Cassie's name

Use video capture for reference
https://github.com/user-attachments/assets/5a40f8b3-432a-4b8a-a578-c5bfab9a2058

Would you like to work on the issue?
Yes, I can complete this issue.

Found PR #478 that takes care of issue.

Closed by https://github.com/processing/p5.js-website/pull/478 now!


Move to cryptography and drop pyOpenSSL dependency

Per https://pypi.org/project/pyOpenSSL/

Note: The Python Cryptographic Authority strongly suggests the use of pyca/cryptography where possible. If you are using pyOpenSSL for anything other than making a TLS connection you should move to cryptography and drop your pyOpenSSL dependency.

pyOpenSSL is still widely used in Azure CLI's command modules, such as role and keyvault:
https://github.com/Azure/azure-cli/blob/38eaebb6936a32be13e2c4afba8e600ce9c91513/src/azure-cli/azure/cli/command_modules/role/custom.py#L1376
https://github.com/Azure/azure-cli/blob/a7a886923fee1ec761262b583c6640cca8a3dc5c/src/azure-cli/azure/cli/command_modules/keyvault/_validators.py#L714

Thank you for opening this issue, we will look into it.


Large layout shifts when switching between docs

Observation of the Issue/Behavior
There are large content shifts and a page shake / jump when navigating between product documentation. This makes for a disjointed experience and makes it harder for the user to re-orient themselves when moving between documentation.
Expected Result/Behavior
Page should not jump / shake when navigating to a new doc and text should not jump. Ex: Page/text does not shake or jump when navigating between different docs here: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service-console-v2.html
Steps to Reproduce

Navigate to https://main--prisma-cloud-docs-website--hlxsites.hlx.live/prisma/prisma-cloud/en/compute/public-sector/disa-stig/disa-stig
Click on Release Findings in left nav
Notice large page shift
Click on Isolated upgrades in left nav
Notice large page shift

Devices Used
macOS 13.3.1
Browsers Used
Chrome v114
https://github.com/hlxsites/prisma-cloud-docs-website/assets/2379680/0b41f4b9-90b9-4b09-a797-f4edd325ee60

@charlieboles could you expand on this
what shift are you referring to? difference of content/styles between pages or the CLS/FOUC that occurs during render? or the fact that some of those articles don't have enough content to push the footer below the fold?

@maxakuru I believe this is happening because of the breadcrumbs which is pushing the article content down by min 20px. Here's a recording without breadcrumbs. AFAICS there's no layout shift in this case.
https://github.com/hlxsites/prisma-cloud-docs-website/assets/6012307/11f9bb34-eb5f-452c-97cd-2301ab2fcf00
I can think of 2 ways to solve this issue:

Currently the breadcrumbs is loaded after the article, so if we load the breadcrumbs before the article it should work fine but then I don't know what's going to be the impact on performance.
Reserve some space for the breadcrumbs but the problem is depending how many items are in the breadcrumbs, it can wrap and therefore you don't really know how much space to reserve.

wdyt?

@icaraps I don't get a huge layout shift for either case tbh, but I imagine you're right the breadcrumbs cause most of it..

the problem with loading breadcrumbs first is that most of the items rely on the data in book.json, which ends up being pretty expensive, especially pre-LCP

I actually tried this a bit ago and found the same problem: we don't know how much to reserve. I gave up on it since it's just as bad (maybe worse) to have the space too large then shrink on render. Localization make this especially hard since we can't rely on pathname segment lengths for estimates of breadcrumb sizes either..

imo the best solution involves a change to the design, just by truncating breadcrumbs to a single line and only showing the last N entries that will fit, but that might not be an option
@iansk / @charlieboles could you confirm that the CLS you're talking about here is breadcrumbs? any thoughts on this, especially considering there's a new design that just went live?

@maxakuru @icaraps I have a meeting with @charlieboles early tomorrow morning. I'll get clarification on this issue, and report back here.

I don't get a huge layout shift for either case tbh, but I imagine you're right the breadcrumbs cause most of it..

@maxakuru It's more noticeable with slowed down network settings for example with fast 3G network:
https://github.com/hlxsites/prisma-cloud-docs-website/assets/6012307/be915268-04fc-4c80-ac9c-e5c3373dd59c
Since you mentioned the footer, you might also notice the footer flashing in at the beginning of the recording.

@maxakuru @icaraps
Thank you for looking into this. I can confirm that this issue is not limited to the breadcrumbs, there seems to be some type of race condition with loading that causes noticeable CLS that is not seen on other documentation sites. We're all developers here and have had to move through our share of documentation if there is consistent CLS that increases the cognitive load for the user as your eyes have to constantly reshift focus.
I've created more screen recordings and captured still frames. Hopefully, this helps with diagnosing the root cause. For reference, the internet connection used during this test was ~75mbps.

https://github.com/hlxsites/prisma-cloud-docs-website/assets/2379680/2393b740-09dc-4623-8b8e-426acee9e0f2
Example 2 where the footer is loaded before any doc content.

https://github.com/hlxsites/prisma-cloud-docs-website/assets/2379680/6316b865-2520-406c-a965-c44f3949218d

@icaraps Thanks for posting the video. Yes, that's exactly what @charlieboles is reporting. I just got off a call with him. He'll post more details here, but essentially, here's what's contributing to the shifting/jumpiness:

Footer flashes - it's first a big box, and then it shrinks into place.
Flash of unstyled text after initial page load, and then it's replaced with the real font.
String of red text, aligned left -> which then shifts right and is transformed into breadcrumbs, with black text
Current language control flashes for a moment, then disappears.
This isn't a comprehensive list, there might be other things moving around.

All of these types of things add a cognitive load to customers just trying to get in and read our docs. We'd like the site to feel robust and stable, without shifting around on each page loads.
AWS docs do a pretty good job of that type of stability (example link)

@iansk / @charlieboles  it seems the issue here isn't so much about performance, but more out of concern for user experience when the user clicks around on a topic they're reading.. is that right?
CLS is one thing in LH, and another in actual use.. since the site is currently using links to new pages, there's always going to be some level of flash while the page repaints. The example above for AWS docs is an SPA so it doesn't have the same issue.
I added SPA rendering for the sidenav links to test out whether it's what you're after, you can try it out here: https://spa-nav--prisma-cloud-docs-website--hlxsites.hlx.page/prisma/prisma-cloud/en/compute/pcee/admin-guide/agentless-scanning/onboard-accounts/onboard-aws
note that it's not ready, certain things won't update yet, but it will give you the rough idea .. lmk thoughts

@maxakuru This is fantastic! The SPA side nav substantially improves the experience. Once the page is fully loaded, moving through the links feels sturdy/robust/high-quality.
My only remaining comment is the initial page load. Things are still bouncing around. This is what I noticed in my browser:

Footer - starts at the top of the page, gets pushed down once the page fully loads
Fonts - initially loads one type of font, and then loads another type.
Bread-crumbs - start as red text, aligned left, eventually transformed to indented breadcrumbs w/ black text.

I realize we need to start talking about constraints/trade-offs to make things work the way we want. You previously mentioned truncating breadcrumbs to a single line and only showing the last N entries that will fit. I'm certainly open to this suggestion, and any others.

Here's an attempt to solve the breadcrumbs and footer load issue https://github.com/hlxsites/prisma-cloud-docs-website/pull/97

@iansk / @charlieboles - just merged @icaraps changes and the spa loading, take a look again and see what you think

@maxakuru & @icaraps  This is looking great! I did notice one thing though.
On the linked book-layout-shift PR. When scrolling and navigating to a new page the user is brought back to the top of the page. This is the expected / desired outcome.
However, it looks like this PR was merged into main and no longer has this behavior. On route change the scroll position is maintained so users are starting half way down the page on a new doc. Is it possible to bring back the functionality on the book-layout-shift branch by always starting the user at the top of the page on route change?

@maxakuru @icaraps Quick follow-up. Can you please fix this last scrolling issue today? I'd like to get it fixed ASAP so Charlie can start his work.

@iansk yup, closed in #108


fix(singleType): This currently pluralises all names even for single types.

Single types aren't pluralised in Strapi's API so they return 404. This does make the path pluralise in getSimpleEntitySpec unnecessary; but I can't see anywhere else except in getEndpoint that isSingleType is passed across anywhere.

Change set added

Thanks @asparamancer will merge now and do a release


Migrate to Provider (for State Management)

This work is being tracked on the provider-migration branch.

[ ] Device state
[ ] Websocket
[ ] Memories
[ ] Messages
[ ] Capturing
[ ] Settings

Unable to assign @Becca-Saka for some reason. But she is also working on it

cc: @josancamon19

Closed by @mdmohsin7


web_columns: added a script in /mitmproxy/web/gen that generates a Python file with all column names.

Description
This PR addresses issue #7152

Created a new script generate_columns.py in web/gen/ to automatically generate a list of available web columns from the TypeScript source.  generated file web_columns.py contains AVAILABLE_WEB_COLUMNS and DEFAULT_COLUMNS.
Updated option_js.py to include the full list of available columns in the TypeScript output _options_gen.ts file.
Modified webaddons.py to use the new AVAILABLE_WEB_COLUMNS

Checklist

[x] I have updated tests where applicable.
[] I have added an entry to the CHANGELOG.

Note for reviewers
any suggestions, improvements, or feedback on anything I may have missed or misunderstood. I'm happy to follow up on your comments.

@lups2000 Thank you for your review I am working on it to resolve it.

Hello, @lups2000 I have tried to do it as per the comments can you please review it? Please let me know if anything I can do to improve or change. Thank you.

Hey @Abhishek-Bohora , thanks. I’ll have a look at it asap. Meanwhile could you please remove the generated files? These files (app.css, app.js, vendor.css) shouldn’t be pushed 😄

Hello, @mhils Thanks for your clarifying comments, quick question here.
In the _option_gen.ts file, which is auto-generated by web/gen/options_js.py, in web_columns: [], do we need to have AVAILABLE_WEB_COLUMNS(all the columns) or (only some columns) which I was referring earlier as DEFAULT_COLUMNS ?
export const defaultState: OptionsState = {
    web_columns: ["tls", "icon", "index", "path", "method", "version", "status",
                  "size", "time", "timestamp", "quickactions", "comment"],

    // or

    web_columns: ["tls", "icon", "path", "method", "status", "size", "time"],
};

If we need only some columns, then while generating the mitmproxy/tools/web/web_columns.py, do we also have to create DEFAULT_WEB_COLUMNS along with AVAILABLE_WEB_COLUMNS so we can use it here ? otherwise while running web/gen/options_js.py this web_columns: [] will be filled with all the AVAILABLE_WEB_COLUMNS ? any idea or suggestion ?

_option_gen.ts

This file contains the default options. It should just have what the default value for web_columns is. The default columns shouldn't change and can remain hardcoded in webaddons.py as-is.

Main Summary of what I have done to simplify according to the constructive comments from @mhils
in mitmproxy\web\gen\web_columns.py
Instead of hardcoding the AVAILABLE_WEB_COLUMNS I have extracted all the available columns
from here using regex which acts as a single source of truth for all the available columns we have and generated the mitmproxy\tools\web\web_columns.py file which contains AVAILABLE_WEB_COLUMNS and DEFAULT_WEB_COLUMNS.
why DEFAULT_WEB_COLUMNS hardcoded in the generation script it will always be consistent and makes sure that it will be generated the same when running generation script.  and we and we can use that variable here in mitmproxy\web\gen\options_js.py while creating defaultState
print("export const defaultState: OptionsState = {")
for _, opt in sorted(m.options.items()):
    if opt.name == "web_columns":
        print(f" {opt.name}: {json.dumps(DEFAULT_WEB_COLUMNS)},")
    else:
        print(
            f" {opt.name}: {json.dumps(opt.default)},".replace(
                ": null", ": undefined"
            )
        )
print("};")

Thank You

so I am thinking of writing this way

I don't quite understand what your question is here, but overall this looks ok. You can inline generate_web_columns into make.

And another quick question do I have to write individual test for this file ?

Yes. This can be as simple as
def test_simple():
    assert isinstance(AVAILABLE_WEB_COLUMNS, list)

Hello, @mhils I have made all the changes according to your guidance. But this one CI error I couldn't figure out why it is happening. Some permissions denied type of error in CI autofix.ci.

Hello @mhils I am running Windows 11 so I tried to make the scripts executable via gitbash like this

but it didn't work somehow it failed again. so I decided to add - run: chmod +x web/gen/*.py this one line in autofix.yml so maybe in the future anyone running Windows wouldn't face the problem. If this breaks something or is bad please let me know. thank you.

Please clean up your PR. We don't need to change in autofix.yml (check out git chmod), and there are still unrelated changes.


Package capability

The vagrant provider doesn't expose that it can package things, this functionality needs to be exposed:
package         packages a running vagrant environment into a box

This isn't intended to provide snapshot functionality though

The actual packaging would be done in a script with an associated ruby action. Packaging would involve using the new tart export command to get the VM, then adding the metadata JSON and zipping up the result.
Packaged Tart VMs are just Tart VM folders


More readable rule names

This is an enhancement request
It would be awesome if when I renamed a tab, the rule that gets created would take the name of the title I choose for the tab.
The app is great and very helpful regardless!
Thanks

Then rename it afterwards. :)
Best


[api-docs] Fix thread/forum channel docs regression (#6546)

A new commit was made into the api-docs repo: https://github.com/discord/discord-api-docs/commit/4bac93c49d3fd1d56a854dd60009b4104d7f7d30

Fix thread content regression

Update docs/resources/Channel.md

Co-authored-by: Luca Kellermann<EMAIL_ADDRESS>
tables and rerun actions

Co-authored-by: Luca Kellermann<EMAIL_ADDRESS>This is a bot created issue.

Needs a quick documentation update for this.


touch: drive touch --recursive doesn't touch every element but the head and first element

$ drive touch --recursive
/ENGINEERING/Fall2015/BLAW_301: 2015-10-26 02:06:21 +0000 UTC
/ENGINEERING/Fall2015/BLAW_301/ch01.ppt: 2015-10-26 02:06:22 +0000 UTC
$ drive list
/ENGINEERING/Fall2015/BLAW_301/ch01.ppt
/ENGINEERING/Fall2015/BLAW_301/ch02.ppt
/ENGINEERING/Fall2015/BLAW_301/ch03.ppt
/ENGINEERING/Fall2015/BLAW_301/ch04.ppt
/ENGINEERING/Fall2015/BLAW_301/commencing-a-claim-in-provincial-court-civil-and-getting-and-enforcing-your-judgment-in-alberta.pdf
/ENGINEERING/Fall2015/BLAW_301/BLaw-301--Mon14Sept2015P1.pdf
/ENGINEERING/Fall2015/BLAW_301/Chapter 2 Asha and Shaughnessy (to post).ppt
/ENGINEERING/Fall2015/BLAW_301/manny-pacquaio-lawsuit.pdf
$ drive touch --recursive
/ENGINEERING/Fall2015/BLAW_301: 2015-10-26 02:07:07 +0000 UTC
/ENGINEERING/Fall2015/BLAW_301/ch01.ppt: 2015-10-26 02:07:08 +0000 UTC
$ drive touch --recursive
/ENGINEERING/Fall2015/BLAW_301: 2015-10-26 02:07:10 +0000 UTC
/ENGINEERING/Fall2015/BLAW_301/ch01.ppt: 2015-10-26 02:07:12 +0000 UTC

Addressed by PR https://github.com/odeke-em/drive/pull/443


Extremely high losses

solved
Hi,
I am making depth recognition, and suddenly got a problem with high losses (here is mean percentage). They are approaching to NaN in a few epochs.

Data is fitted by custom generator (it works correctly)
def generator(batch_size=32):
    while True:
        batch_input, batch_output = postProcess()
        yield batch_input, batch_output

Where postProcess() returns:
Inputs are [Batch Size, Width*2, Height,    3-Channels]
Outputs a [Batch Size, Width/2, Height/2, 1-Channel]
Inputs are merged through Width-axis.
Example of input-output

I have tried all optimizers, decreasing learning rate up to 1e-100, changing batch size, number of layers and their depth..
  model = Sequential()
   # # # First Layer # # #
   model.add(Convolution2D(num_filters, (5,5),
                           padding='valid',
                           strides=2,
                           data_format='channels_last',
                           input_shape=(cut_size*2, cut_size,3) ) )
   model.add(ZeroPadding2D(padding=(1,1), data_format=None))
   model.add(BatchNormalization())
   model.add(Activation('relu'))
   model.add(MaxPooling2D((2,1)))
   # # # Second Layer    # # #
   model.add(Convolution2D(num_filters, (3,3)))
   model.add(ZeroPadding2D(padding=(1,1), data_format=None))
   model.add(BatchNormalization())
   model.add(Activation('relu'))
   # # # Fully Connected # # #
   model.add(Dense(1))
   model.compile(loss='mean_absolute_percentage_error', optimizer=SGD(lr=0.01, momentum=0.0, decay=0.0, nesterov=False))

Also i checked min and max and they look like truth: (0..255) for output and ~ (-1.4.. 1.4 ) for input. I dont know how this can lead to such loss.
Any hints how to solve this? Maybe you encountered same before?
Thanks in advance,
Dennis
remarque: I solved this, the problem is not in Keras. It is scy-py misc library which saves and than reads incorrectly non-integer arrays as images. I changed np.array(A, dtype=np float) to np.array(A, dtype=np.uint8)

Same problem here


docs: Fix formatting of warnings.

Fixes warning formatting in testing.md and setup-advanced.md
with reStructured Text so that the warnings stand out.

This change is

Nice cleanup, thanks @drrosa!


The PATH env variable can be destroyed by this script

I had a lot of paths in my PATH env variable.
I noticed this message as it was going through the script:
Adding Chocolatey to global path

WARNING: The data being saved is truncated to 1024 characters.

SUCCESS: Specified value was saved.

Then when I tried to vagrant up it complained with this:
vagrant up
E:/wordpress/themes/bedrock-ansible/Vagrantfile:26:in `block in <top (required)>': uninitialized constant YAML (NameError)

So I went back through looking for any issues. Turns out that setx can only handle 1024 characters and truncates anything after it.
Its too late for me, I've looked around to see if I could find any way to restore the setting but it doesn't seem its possible, but you can save future users!
First step would be to immediately change the script so that it echo's the PATH before it tries to set it. That way you at least have a backup in the log to restore from if it goes wrong. If you edit it through the control panel dialog then it can handle over 1024 and you can restore it.
Second step is to figure out which of these is going to work for you:

http://superuser.com/questions/812754/how-to-recover-from-path-being-truncated-to-1028-characters-by-setx
http://superuser.com/questions/387619/overcoming-the-1024-character-limit-with-setx

Hope this info is useful :)
I'm going back to the drawing board now to see if I can figure out what's missing in my PATH and I'll comment here if adding it solves the separate YAML issue.

I just ran into this.  Lost my user path.  Sucks.  "setx path" is probably one of the most dangerous commands out there.


Page Transitions throws: Cannot read property '_leaveCb' of null at Object.beforeEnter

Version
3.0.0-beta.17
Reproduction link
https://codesandbox.io/s/fancy-shadow-04mrv?file=/src/App.vue
Steps to reproduce
In the reproduction link -> App.vue has the transition property for router.
Enabling the transition throws this error.
What is expected?
Page transition to work in vue 3
What is actually happening?
Throws error

Duplicate of https://github.com/vuejs/vue-router-next/issues/341
Check the example I sent you. You can also clone it locally to see it in action


About config page.

I have got issues in my login page and the errors are showing on config in most of the lines.

I believe this to be sorted out within lesson, or to be bought up with the lecturer, so I might advise closing the issue request. Comment again if not though.
Also, for future reference, you should provide much more information about the issue you are experiencing, so we can further help you. Such information could include a screenshot of the error you are getting, along with your code if it hasn't been committed to GitHub, a step-by-step guide as to how you came across this error, and what the intended outcome should be (if not obvious).


sendMessage support for Markdown/HTML formatting

https://core.telegram.org/bots/api#sendmessage

thank you!


Local pull request success status testing

Docs Build status updates of commit b49e36f:
:clock10: Pending: waiting for processors (9 builds ahead of you)
:warning: Docs Build is busy, currently there are 9 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit b49e36f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

E2E_DocsBranch_Dynamic/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Implementation of whole row selection

Implementation of whole row selection

New clDgRowSelection input property for Datagrid indicating if the row selection should be enabled.
Selection works the same way if you click on the input in the first column.
For Multi selection on second click the row gets deselected.
New clDgRowSelection input property for Datagrid indicating if the selection column should be available
This automatically turns on clDgRowSelection in case of Single and Multi selection
Added support for row actions in case of Row selection enabled
Added "Selection (Row mode)" demo page on Datagrid demo page with examples of the newly introduced functunality

Fixes #476
Signed-off-by: Mincho Tonev<EMAIL_ADDRESS>

Oh, and I forgot to mention: if you have questions or need help regarding some of my requests, feel free to ask directly in the comments and I'll answer as soon as I can. Thanks again!

Thanks for the review, Eudes!
In general I applied most of your comments.
The only two which I didn't applied are:

Remove the ability to display checkboxes and at the same time the grid to be in row selection mode
clDgRowSelection to be property of <clr-dg-row>

Once we agree on the implementation and use-cases, I will update the pull request.

Hey @youdz,
There are three tests failing as part of the gemini test suite.
I'm having trouble running those on my windows machine, I will really appreciate if you can give me a hand and look at them.
Thanks!

Hi @matonev. Could you please rebase your PR on master? Some images from other components were failing. I fixed them and once you rebase, the tests should pass too. Please let me know if that works.

Hi @matonev, I haven't had time to review your recent changes yet, but just know that Travis and Gemini are just playing hard these days, we're trying to solve the issues but we still have random failures happening. The tests failing on this PR have nothing to do with what you changed, so I believe you can just ignore them, not worry about it. We'll handle them however we can.
I will hopefully find time to review your latest changes before the end of the week. 😄

@matonev: Actually could you please hold off on the rebase and squash? @youdz will first review the code based on your new commit. The CSS regression failures are not related to this PR. Once we get the approval from @youdz on this PR, we can rebase and fix the regression issues later on. Thanks a lot again for the contribution!

A lot of the code looks much better without the action overflow compatibility. 😄 Thanks for making these changes.
So I had 2 meetings today about the question of showing the checkboxes/radios when the full row is clickable or not. It turns out I was way off: the case we cannot support is actually hiding them. It would not be accessible anymore. The explanation is that when a user is in high-contrast mode, backgrounds are not displayed. So without the checkbox or radio, they would have no way of knowing which rows are currently selected and which ones aren't. On top of that blocker argument (which settles the decision by itself, yay accessibility), the concern from the UX side was also that without checkboxes or radios, the user would have absolutely no way of knowing if they can select one or more items. Or even if they can select items at all.
That means we have to drop the clDgHideSelectionColumn input. I'm sorry you spent time implementing it to drop it this late in the process, and we'll try to figure out a way to avoid this situation happening in the future.
Finally, there is one behavior I would like you to check. You have the checkbox in the row, which is itself clickable and toggles the selection. So you still have the "checkbox in a button" concern. For checkboxes, it's much more natural since this is actually valid:
<label>
  My label
  <input type="checkbox" />
</label>

The label behaves like a button in practice, since clicking on it toggles the checkbox. So we're fine here. My concern comes from the fact that naive implementation leads to a broken behavior, as you can see here: https://plnkr.co/edit/dBeC5uSMqPeM4gGUXK3c?p=preview
If you click anywhere on the button, the checkbox correctly toggles. But if you click on the checkbox itself, you have a conflict between the listeners and it starts behaving erratically.
Could you please check the behavior in your case when you click directly on the checkbox? Make sure it toggles on and off properly.
Thanks for all your work on this PR, from all the team! 👍

@matonev: Just checking in to see if you were still planning on following this through.
We would absolutely understand if our last request was the last straw, in which case we would use your PR and update it ourselves.
It's up to you! 😄

@youdz Yes, I plan to address your comments. I just didn't have enough time to do this.
I hope that I will do it next week.

No problem, take all the time you need, we'll leave this untouched so you can fully own it. 👍

@youdz It is working correctly when clicking on the checkbox in the first column. It also puts the focus on the checkbox not the row, which is correct.
It is visible in the example of the Row Selection. Basically the checkbox prevents the propagation on the event.

Thanks, guys! Can't wait to use it and remove all the workarounds in our code base.

Is there a way to use this to expand the details row instead of selecting the row?

@jacobbutton: No we don't. But the implementation would be similar to this. Please feel free to submit a PR (if you do please make sure that a click performs only one action. either selection or expansion). All the logic should be the same. You would just have to switch the selection to expansion. If you are unable to submit a PR due to time constraints then I would recommend that you open a new issue for this. We can add a contribution-welcome/help-wanted label on that.


Clean formulas when processing askenet

This PR handles lambda parameters appearing in rate laws from the shared representation. Fixes #183.

Codecov Report

Merging #184 (00b9d03) into main (7d94ca2) will decrease coverage by 0.04%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #184      +/-   ##
==========================================
- Coverage   76.44%   76.41%   -0.04%
==========================================
  Files          64       65       +1
  Lines        4975     4977       +2
==========================================
  Hits         3803     3803
- Misses       1172     1174       +2

Impacted Files
Coverage Δ

mira/sources/__init__.py
100.00% <100.00%> (ø)

mira/sources/askenet/petrinet.py
89.47% <100.00%> (+0.09%)
:arrow_up:

mira/sources/sbml/processor.py
57.04% <100.00%> (-0.10%)
:arrow_down:

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Thanks!


Guidelines for supporting environment-specific values in an add-in's manifest.xml

When side-loading an add-in in a local environment, the values in the manifest.xml might be specific to that local environment (e.g. the IconUrl has a default value that is points to a localhost url or the set of AppDomains may change).
Do you have a recommended way of supporting these differences? Is it to support potentially multiple manifest.xmls?

Hi @jaebradley,
Thank you for reaching out! It would be helpful to gain a little more understanding around your scenario. In the case described above, is the question around the recommendation between using a manifest for developing vs. when the add-in is complete and you want to move to a production version? Or is that not the challenge in your scenario?

@wamaina sorry, I should've been more specific!
I think my question is around if there's a best practice for supporting both local development as well as deploying a production add-in when it comes to the manifest.xml file.
It seems to me (and I could definitely be missing something) that in order to support local feature development as well as supporting publishing a production add-in that one would have two xml files (like a manifest.local.xml and then a manifest.xml).
This way, local add-in feature development could leverage a locally running server, for example.

Yes. You need multiple manifests. Typically, add-ins are developed with a localhost server. When put in production, the URLs in the manifest must change to match the production server. The changed manifest is uploaded to AppSource or a corporate catalog or some other publication point. You can maintain two manifests and keep one for development with a localhost server. Does this answer your question?

@Rick-Kirkham thanks for verifying!
And are there any best practices you can share about supporting multiple manifest files?
Do you keep a template for the underlying XML and then dynamically build the relevant manifest.xml file depending on the environment / environment variables?
Or generally, are the changes usually infrequent enough / easy enough to diff that it's not worth the time to do this type of dynamic generation?

To be honest, I think our docs assume that development completes and only then do you go to production, after changing the URLs in the manifest. We further assume that when you're ready to develop Vnext, you make a branch/fork of the project and change the manifest URLs back to localhost. So, you're always working with just one manifest. So, we don't have any best practices for maintaining two manifests. But I definitely think that the changes are too infrequent to justify automating them.

@Rick-Kirkham thanks for sharing, I'll close this issue!


Test issue

Dear sir, I encountered some problems related to simulation and off-board flight mode during the test.
(1) The first problem: When I use the firmware simulation, the terminal will always appear the following warning after using the game handle to switch the flight mode to the position mode:
***************************************************************(dividing line)
[ WARN] [1677655764.650572529, 52.504000000]: PositionTargetGlobal failed because no origin
***************************************************************(dividing line)
How can I solve it?
(2) The second problem: Although there will be a warning when switching to the position mode, you can still use the handle to control the flight. However, when I switch to the off-board mode with the handle, the UAV in the gazebo will get stuck, and the terminal will have the following error:
***************************************************************(dividing line)
ERROR [sensors] Accel #0 fail:  TIMEOUT!
ERROR [sensors] Sensor Accel #0 failed.  Reconfiguring sensor priorities.
WARN  [sensors] Remaining sensors after failover event 0: Accel #0 priority: 1
ERROR [sensors] Gyro #0 fail:  TIMEOUT!
ERROR [sensors] Sensor Gyro #0 failed.  Reconfiguring sensor priorities.
WARN  [sensors] Remaining sensors after failover event 0: Gyro #0 priority: 1
[ERROR] [1677655768.730524811, 56.524000000]: FCU: Accel #0 fail:  TIMEOUT!
[ERROR] [1677655768.780698976, 56.524000000]: FCU: Gyro #0 fail:  TIMEOUT!
ERROR [sensors] Mag #0 fail:  TIMEOUT!
ERROR [sensors] Sensor Mag #0 failed.  Reconfiguring sensor priorities.
WARN  [sensors] Remaining sensors after failover event 0: Mag #0 priority: 1
[ERROR] [1677655768.980502271, 56.524000000]: FCU: Mag #0 fail:  TIMEOUT!
ERROR [mavlink] [timesync] Time jump detected.  Resetting time synchroniser.
[ERROR] [1677655769.356481254, 56.524000000]: TM : Time jump detected.  Resetting time synchroniser.
WARN  [commander] Failsafe enabled: no offboard
[ERROR] [1677655774.206670232, 56.524000000]: FCU: Failsafe enabled: no offboard
***************************************************************(dividing line)
Therefore, I don't know whether it is the firmware problem or whether I use group in the off-board mode_ The format of force and moment sent by mix is incorrect. I wrote this:
**************************************************************(dividing line)
mixerControl.group_ mix = 0;
mixerControl.controls[0] = std::max(-0.3, std::min(0.3, geometry_control.torque(0)));// roll torque
mixerControl.controls[1] = std::max(-0.3, std::min(0.3, -geometry_control.torque(1)));// pitch torque
mixerControl.controls[2] = std::max(-0.3, std::min(0.3, -geometry_control.torque(2)));// yaw torch
mixerControl.controls[3] = std::max(0.0, std::min(0.95, 0.05(geometry_control.thrustAct(0)+0.567)));
mixerControl.controls[4] = std::max(0.0, std::min(0.95, 0.05(geometry_control.thrustAct(1)+0.567)));
mixerControl.controls[5] = std::max(0.0, std::min(0.95, 0.05(geometry_control.thrustAct(2)-geometry_ control.massgeometry_ control.gravity)+0.567));
mixerControl.controls[6] = 0.0;
mixerControl.controls[7] = 0.0;
****************************************************************(dividing line)
Is there any mistake in the format and method of sending force and torque? And how to solve this error?
 I hope to get your answer. thank you!


Concentric windings with different number of turns

Hi all,
I am curious how to go about defining a concentric winding where each coil nest (or coil group) is made up of a number of elemental coils, each with a different span and different number of turns:

It seem that the various winding class will only allow a fixed number of turns (Ntcoil parameter).
Any insight would we appreciated!
BR,
Tristan

Hello,
Thank you for your interest in pyleecan. If I understand correctly your drawing, normally you should be able to simulate that by defining a WindingUD with 3 tangential layers (Maybe you will also need to define a SlotUD2 to draw the correct layers) and in the wind_mat property you can set a different number of coil turn per layer. You can refer to the following guideline for the winding matrix: https://pyleecan.org/winding.convention.html
Sadly I don't think that we have a validation case for that, if you manage to simulate your machine do you think that you can share your results so we can add a new test ?
Best regards,
Pierre


Store the password in hashed form.

Several server implementations have been updated to allow for the password to be stored as a bcrypt hash. The PHP implementation supporting bcrypt will bring the minimal PHP version required up to 5.3.7.
While 5.3 (and 5.4) versions are no longer officially supported they are used in abundance. Over 40% of WordPress installations are on PHP 5.2 or 5.3 and according to W3Techs’ PHP statistics ~52% of all PHP servers use a version older than PHP 5.4. That is a huge part of the market that will be excluded, for a piece of open-source software that is relatively easy.
An alternative might be PBKDF2, which is the NIST recommended way of storing passwords. hash_pbkdf2 only came natively to PHP 5.5.0, but several pure-PHP implementations exist.
We could use the BSD licensed defuse/password-hashing for secure password storage without giving up on old PHP versions.

See:

http://php.net/manual/en/function.password-hash.php
http://php.net/manual/en/function.password-verify.php

Like hash_pbkdf2, both password_hash and password_verify were introduced in PHP 5.5.
Even with password_compat it would bring the require PHP version up to 5.3.7. Because it relies on the same bcrypt implementation I was alluding to when I created this issue.

PHP 5.5 was released in 2013. That was 3 years ago. Even current stable Debian has PHP 5.6.

PHP 5.5 was released in 2013. That was 3 years ago. Even current stable Debian has PHP 5.6.

I know, but even in the half year since I opened this issue very little has changed regarding PHP installation statistics. Currently the only officially supported versions of PHP are 5.6 and 7.0. The exact statistics as of today (2016-08-10):

WordPress shows 27.6% of installations on 5.2 and 5.3, and a total of 76.5% of installations on PHP versions below 5.6.

W3Techs shows 37.3% of servers running 5.2 and 5.3, and a total of 85.3% of servers running PHP versions below 5.6.
(Percentages normalised against all servers running PHP, rather than all servers scanned. Disregard rounding errors caused by ignoring servers on 5.0 and 3.)

In fact, of all PHP 5 versions running on servers found by W3Techs, PHP version 5.3 (27.8%) is still the leading one. 5.4 (27.3%) is slightly behind, with 5.5 (20.0%) coming quite a few percentage points after.
WordPress for one supports PHP 5.2.4+. This means they need to consider fallbacks at every point, cannot use things like namespaces, and include (a modified) phpass for hashing.
I envisioned this repository as being the absolute minimum and simplest PHP implementation of the PhotoBackup server specification. Possibly a reference implementation for others to look at. Nothing more. In line with this, I would love not bumping the version requirements.
Maybe I need to reconsider my aim with this repository.

Ok, according to graphs you posted the reasonable minimal version is 5.3, cutting away about 10% of users. However, I would feel fine requiring lowest supported version (5.6).
I would expect this repository to be a reference implementation without unneccessary dependencies (external libraries). It does not have to be the simplest possible --- a little of complexity may be useful to allow integration to another projects or to allow authentication against custom services (like IMAP server) in multiuser setup, which significantly increases usefullness of this repository.
My changes don't go all the way to this goal, they are just the first step. I also aim for making this project testable, so the user/developer can verify he did not change the API and everything is still working.


Change alignment of Title

It would awesome if you could make the alignment of the title editable (left, center, right)

Will this feature be added?

hello @alexaubry

Unfortunately, I do not have the bandwidth to add this feature. Contributions are most welcome though.


Render and validate maps in body parameters

Render and validate maps in body parameters

fix incorrect rendering of maps in body param (i.e systematic ìnterface{} type)
validate maps (e.g. schema AdditionalProperties) in body parameter
render simple maps (e.g. map[string][]map[string][][][]int64) as inlined types
maps of schema does not create a schema of their own, just the complex part (e.g. map[string][][]map[string]model.MyModel)

Fixes

fixes #1556
fixes #1562

Summary of changes

operation.go:refactoring + new feature/fix

refactored body param processing
treat anonymous maps as Child GenParameter structures (such as []map[string][][][]map[string]*model.MyMode)
extended body param validation strategy selection to maps
fix: enums are considered slice validations, including for bod params

model.go: targeted fixes

refactored slice validations
fix missing lift validation case for maps
align nullable status for maps of primitives or arrays of primitives (#1562)

types.go: cosmetic

more comments in code (e.g. special nullability rules)
outsource debug func

structs.go: enrichments

removed unused and unassigned BodyParam struct
enriched GenParameters to support map constructs

templates/server/parameter.gotmpl: refactoring + new feature/fix

extended body param section to support maps as well as maps, with or without validations
large refactoring of nested validations to merge slice and map validations
follow guards as in models (IsZero | Required)

Known issues
Known existing issues not resolved here:

fully supporting --skip-flatten (e.g. anonymous types + extra schemas in the operation package)
undue definitions created by flatten on maps of objects (non blocking)
incorrect validations of Zero Values in slices and maps in some cases (e.g. skipping validation with IsZero())
depending on the future solution to replace/remove IsZero|Required for slice and map elements, the nullability re-alignment above
may be easily modified and change nullable priorities
Nice to have: nested array validations with slice validations should execute slice validation before, not after validating all elements

OK. Thank you. I am taking care of the conflicts with the other PR and rebasing it.


Fix warning in older gcc for missing unroll pragma

Fixes #41

I will close this for now. Let me know if you need to re-open to find an alternative fix.

OK, thanks  for your support.


optimize: throw error to user instead panic

If the connection lost, the whole program panic.

thanks for this. I'll have a look ASAP

Btw, why you send this req twice?
https://github.com/scs/substrate-api-client/blob/master/src/lib.rs#L352

This lib doesn't handle any error, so painful...

I agree that there is potential regarding error handling. Currently we lack funding for proper maintenance of this lib, so we're only fixing critical stuff. This may change soon

@AurevoirXavier Thanks a lot for your PR. We have chosen a slightly different approach which is now merged in #107. We hope this covers your requirement for error handling.