Tag integration addresses on connextscan

Problem
What problem are we solving?
We want to track the growth better and showcase integrations on connextscan.
Impact
Why does this matter? Who does it impact? How much does it impact them? What is the urgency?
Proposed Solution
[OPTIONAL] Thoughts on solution design. We could do  to solve this problem.

[ ] Add integrations mapping at ChainData, under each network

...
integrations: {
  address: {
    tag: "__integration_tag__"
    name: "__integration_name__"
    description: "__description__"
    website: "__website__"
    /// we can also add tags to track level of integrations, in cases of callBack we can link the connecting transfers
    ...
  }
...
}
...

[ ] sync this data at cartographer, probably relational database with transfers (this way we can each transaction as well)
[ ] expose the table or datapoints at SDK
[ ] share documentation of integration steps with Coinhippo

Acceptance Criteria
From an end user perspective, the below criteria must be met to consider this done:

[ ]

Complexity: 8
See the discussion in Sprint Poker #33
Powered by Parabol


DBUnit Unique Constraint not thrown

Hi:
I have a setup where I am using @Databasesetup annotation to load some test data in my DB. After, I have a test that tries to insert data with username and email which have the same values from what was inserted through @Databasesetup. However, I am not getting the unique constraint exception and my data gets inserted.
Any ideas how I can get this exception thrown?
Thanks.

OK, I tried removing the @transactional annoational and instead used @databasesetup with @databaseteardown. I got the @databasesetup to work however, the @databaseteardown isn't removing the record that was installed during the setup.


Use fbjs-scripts

This upgrades the workflow to what we use in other projects so we can copy+paste to sync.
TODO:

[ ] Fix failing test. Looks like it might be related to not being able to create a canvas, which doesn't seem right since this works.

Going to close out. #92 does some of the build updates. The only part we really need from here is the require rewrites but let's hold off and see what happens with different packaging in React.


Please pin cfn-lint to newer release

In order to install a project where cfn-lint is a dependency, poetry downloads every single possible version of cfn-lint allowed by all the version ranges specified by dependencies in your project. Moto currently has a version restriction of >0.4.0. For a project like cfn-lint that issues new releases regularly (and at this stage probably has over 100 releases satisfied by that constraint), this results in poetry taking a significantly long time when using a private package registry.
I know this isn't moto's fault, but is there any chance you could bump the version constraint so that less versions need to be checked? 0.4.0 is very very old nowadays.

Hi @mwgamble, as a library, Moto should be as compatible as possible. If people need an older version of cfn-lint, for whatever reason, Moto should not be a blocker by requiring an newer version unless absolutely necessary. So I don't want to pin a dependency, just as a crutch to help out a (what looks to be suboptimal) dependency resolver.

I'm not too familiar with Poetry - will it's resolver always work it's way up, starting with the oldest version possible? I know Pip just starts with the latest version, and if that release does not satisfy some constraints, it will try the version before that, ad infinitum, which seems like a smarter solution.
Version 0.4.0 of cfn-lint does not have any classifiers indicating a Python version - those were only added to later releases. I wonder if that's part of the problem, that Poetry can't figure out whether 0.4.0 is an appropriate release.

That seems like a reasonable assessment.
FWIW cfn-lint 0.4.0 is over four years old. Is it reasonable to maintain compatibility with versions that old when there are new releases on such a regular cadence? Surely most users won't be using a version that old as that.

Surely most users won't be using a version that old as that.

You'd think! But in my experience, any project/business of a certain age will have weird rules/constraints in place that forces developers to pin dependencies.
I'll pin cfn-lint to 0.40.0 instead. That's does have Python classifiers, is 'only' 2 years old, and still gives people a large range of versions to use.

Thank you so much :heart:


[bug] 3.5.0 and 3.5.1 update in magisk will be wrong (as shown), the keyboard (y / n) option will not pop up.

[bug] 3.5.0 and 3.5.1 update in magisk will be wrong (as shown), the keyboard (y / n) option will not pop up. There will be some problems after restarting the phone, then uninstalling the module and then installing it will work properly (both versions will have this problem when upgrading in magisk)

Also in the 3.5.0 version https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/issues/18 This problem seems to have been solved by you

Fixed in 69b7ab1367945318b46feafe08be65a2faa9f431


Blazor error at Http.PutJsonAsync/PostJsonAsync

Getting error on Http Put/Post
protected async Task Update()
  {
 await Http.PutJsonAsync("api/student/" + Id, student);
}
A full page refresh is happning. However rest api is hitting before getting error.

Not enough info. In the API that you are hitting, in its logs, do you see anything happening?
Any github repo?

Thanks @3x0dv5
I managed to fix it.

What was the problem?

Actually I copied code from another app and I forgot to call method from "onclick" of  button to "onsubmit" of "form". Thats why it was causing the full page refresh.
Sorry my bad.


Network manager recreates the tunnelendpoints if deleted

Description
The tunnelendpointcreator controller part of the network manager now reconciles the networkconfigs each time the tunnelendpoint associated with the given networkconfig is created/updated/deleted. No need to restart the network-manager to have the tunnelendpoint recreated if deleted.
Fixes #(issue)
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

[x] Manually, deploy two clusters with liqo, peer them, after the liqo network is up delete the tunnelendpoint in one of the clusters and check that has been recreated.

/test

/test

/test

/test

/test

/test

/build

/rebase

/test

/test

/test

/test

/merge


For #53, options should be added to achieve control

In some cases, I only want to add custom attributes to the script tag, and not include preload or prefetch link tags, such as onerror or other attributes, so I think we should add options to realize whether to add custom attributes to the link tag.

Hello - I'm sorry to say that this plugin is no longer being maintained.  I have tried to close all issues ahead of doing this but instead have found that the issue list just keeps growing.  I simply do not have the time to keep up.  Sorry.
Please keep an eye on the README where I will record anyone who forks this repo with the intention to supporting it in the future.


Introduce student fee

In addition to
https://github.com/tibonto/aeon/blob/77a0ce7d192d663a0c0bc83ca149a231af558565/aeon.ttl#L1718-L1719
and
https://github.com/tibonto/aeon/blob/77a0ce7d192d663a0c0bc83ca149a231af558565/aeon.ttl#L1752-L1753
would it make sense to have Student_Fee.
Also, what about the hierarchy? Is a member/student fee always a reduced fee?

@clange you are right to ask about the student fee. I wasn't sure yet, if the distinctions of fees could be modeled using named individuals. I seems like this is not a good idea and that instead it these types of fees should be subclasses of aeon:Fee. What do you think?


Missing promiseID shouldn't show an alert dialog

This behavior is useful when you're developing but it can be disruptive in production.
For example, if you webviewer app calls a FM script onload, if you're flipping through records quickly, the FM script called by the WV on one record could theoretically try to callback to a webviewer instance on a different record. This will result in frequent error alerts saying the supplied promiseID couldn't be found.
Maybe just console.log instead.
Consider making this toggleable

closed b9fe8b4c2f7b2fd6773872af2c64524a8d064359


Preserve function body braces

This is an alternative to #1826 implementing just the brace preservation
code, to make it easier to be reviewed.
I think this is now in a better place to get into the codebase given
that we have Reason_attributes outside of Reason_pprint_ast and that
we now remove our own attributes before printing to OCaml.
I think we can probably refactor this code further in future PRs, as
well as add other stylistic preservation changes.

yayyyyyyy

Is it currently the case that these (and other stylistic attributes such as string "literal" attributes) are removed when the --print is binary? I believe that should be the case and would fix the other issues we've had with ppx plugins complaining.

@jordwalke yes, we remove literalAttrs from printing.
I agree with your comment that the name should probably be changed.


License issue?

Hello, first of all, nice work. :squirrel:
I'm working on an opensource code that will be released under a permissive license and i have add some reverberation to an audio source, your reverb implementation is exactly what im looking for, but i've read the readme and it says

The reverb effect is a complete rewrite of Freeverb3's Progenitor2 algorithm.

afaik Freeverb3 is a gnu library under gnu gpl license, due to the properties of this license, shouldn't this code be licensed under gpl aswell?

Maybe is there a way to isolate the GPL license to this file only. I just discovered this project yesterday and it's awesome, hope to integrate it in my projects some day, don't want it to be GPL'd.

I don't believe it falls under GPL, because it is a rewrite from scratch.  I.e., no copy/pasted code, and if you actually look at Freeverb vs sndfilter code, you can tell it is completely different.  The algorithm is the same (or, should be), but the implementation is completely different.
This is no different than Linux being a rewrite of Unix, imo.
Of course, I'm not a lawyer.  But I can tell you that I spent a lot of effort reading the Freeverb codebase, figuring out the algorithm behind it, and reimplementing it.  Like I said, just compare the source files, it's very obvious.

Thanks for the reply.
It seems to me that this may fall into a grey area  :thinking: , since gpl covers derivate work, and this may be seen as a derivate work, or at least that's how the last part in the readme may be interpreted, but I'm not a lawyer either.


Dutch F3 dataset not usin "val" split - uses train set, using a separate validation set may improve the model performance

Fix Dutch F3 loader to use the validation split away from the training set

This is related to #233 and #200 .


Remove facet groups and facet values

Related to:

https://github.com/alphagov/finder-frontend/pull/2835
https://github.com/alphagov/search-api/pull/2422

Trello: https://trello.com/c/EOLde8PE
facet_groups and facet_values were created to support the EU Exit Business Support Finder 1.
This finder was decommissioned in February 2020 2, so support for these types is no longer needed.

Great stuff. Are we confident there is nothing still live in Publishing API that uses them? May need a bit of deleting if there is. Otherwise looks good.

Publishing API was updated 2.5 years ago 😬. See: https://github.com/alphagov/publishing-api/commit/2185b561ebdab1d15dc52ccc400bb7f6cb3ff7a6


Communication between arduino and ROS using mrs_serial package

Hello MRS team,
For my project I need to add a rotary encoder that is connected to Arduino. I tried using the mrs_serial package by adding in my Arduino code the function that will send a 16 bit integer through the serial line, using the Baca protocol (https://github.com/ctu-mrs/mrs_serial).
Once this is done how should I call the serial node, by making my own launch file? If yes, do I need to add this in the session.yaml?
Thank you in advance for your response!
Best regards,
Raphaël

Hello,
you need to remap the arduino serial device as something like /dev/arduino, you can find out how to do that here - https://ctu-mrs.github.io/docs/hardware/px4_configuration.html (Section ROS setup, it is written for Pixhawk, but it should be the same for arduino)
Then change the launch file uav.launch (or copy it and make you own) in mrs_serial (device name should correspond to /dev/arduino, or whatever you changed it to, and baud rate has to be set correctly). Then you can launch the node and it should work :D
Cheers, Dan H.

Hello,
Thank you very much for your response, it works!
Raphaël


Cryptopia

Hi,
I'd like to put in a request to add Cryptopia Exchange if that would be suitable at any time:
https://www.cryptopia.co.nz
I'd like to put gekko on some weird and highly volotile altcoins.
Thanks
Note: for support questions, please join our Discord server

I'm submitting a ...
[ ] bug report
[X ] feature request
[ ] question about the decisions made in the repository

Action taken (what you did)

Expected result (what you hoped would happen)

Actual result (unexpected outcome)

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc)

me too please... Has anyone started on this already?

https://www.npmjs.com/package/cryptopia-api

I spent a couple hours on this a few weeks ago, but got distracted on other projects. I did have a discussion with Mike about making Trader.getCapabilities asynchronous / dynamic, however it sounds like this would interfere with stability / speed requirements. While I didn't get far, I offer you my unfinished project for harvesting that data to be hardcoded into Gekko: https://github.com/Jiropole/get-cryptopia-pairs. I believe it harvests assets correctly, but pairs are unfinished as minimalOrder needs to be populated.

:(

does the wrappers have to be written in python or node?
then dropped in the exchanges folder and then run....
npm install --only=production
in the exchanges folder?


Better table generation

This should fix #153
Made html2ooxml aware of table cells instead of just table rows. all contents for a table cell should be processed just like it is outside of tables and combined into the table cell content.
Test Plan
Ideally you should be able to add a table a finding description to test this, but this is how I encountered the issue and tested this fix.

[ ] Create a custom section
[ ] Create an Editor custom field for the the newly created custom section
[ ] Create a template that uses the custom field
[ ] Create a new audit type with the newly created custom section
[ ] Create a new audit using the new audit type
[ ] Add a table to the custom field, in each cell add cool things like bulleted lists and newlines
[ ] Generate the report

@dfktvS2 Can you take a look at https://github.com/pwndoc-ng/pwndoc-ng/issues/304 if you have time?


Symbol renaming not working in open file mode

Visual Studio Code Version: 1.56.2 (Universal)
Language Server version: 2021.5.2
OS and version: darwin arm64
Python version: Python 3.8.2 64-bit
python.analysis.indexing: undefined
python.analysis.typeCheckingMode: off

I'am editing a python script with no folders or workspaces open (using file>open to open a python script, with system-wide interpreter).
When renaming variable foo in the following code, the message No result. pops up.
foo = 1
print(foo)

Note that symbol renaming works fine if I'm editing a python script in a workspace, either with the system-wide interpreter or a virtualenv interpreter.
The output generated in python language server panel is shown below.
[Info  - 7:20:39 PM] Pylance language server 2021.5.2 (pyright df8b6b3c) starting
[Info  - 7:20:39 PM] Server root directory: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist
[Info  - 7:20:39 PM] No pyproject.toml file found.
[Info  - 7:20:39 PM] Setting pythonPath for service "<default>": "/usr/bin/python3"
[Warn  - 7:20:39 PM] stubPath typings is not a valid directory.
[Info  - 7:20:39 PM] Assuming Python version 3.8
[Info  - 7:20:39 PM] Assuming Python platform Darwin
Search paths for
  /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib

  typings
  /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stubs/...
  /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/bundled/stubs
  /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8
  /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/lib-dynload
  /Users/yuan/Library/Python/3.8/lib/python/site-packages
  /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages
  /Library/Python/3.8/site-packages
[Info  - 7:20:39 PM] Searching for source files
[Info  - 7:20:39 PM] No source files found.
[FG] parsing: /Users/yuan/test.py (9ms)
[FG] parsing: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/builtins.pyi [fs read 2ms] (57ms)
[FG] binding: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/builtins.pyi (18ms)
[FG] binding: /Users/yuan/test.py (0ms)
[Info  - 7:20:39 PM] Background analysis(1) root directory: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist
[Info  - 7:20:39 PM] Background analysis(1) started
Background analysis message: setConfigOptions
Background analysis message: ensurePartialStubPackages
Background analysis message: setTrackedFiles
Background analysis message: markAllFilesDirty
Background analysis message: setFileOpened
Background analysis message: getDiagnosticsForRange
Background analysis message: getSemanticTokens full
[BG(1)] getSemanticTokens full at /Users/yuan/test.py ...
[BG(1)]   parsing: /Users/yuan/test.py (9ms)
[BG(1)]   parsing: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/builtins.pyi [fs read 1ms] (59ms)
[BG(1)]   binding: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/builtins.pyi (17ms)
[BG(1)]   binding: /Users/yuan/test.py (0ms)
[BG(1)]   parsing: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/typing.pyi [fs read 1ms] (19ms)
[BG(1)]   binding: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/typing.pyi (6ms)
[BG(1)]   parsing: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi [fs read 0ms] (7ms)
[BG(1)]   binding: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi (1ms)
[BG(1)]   parsing: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/typing_extensions.pyi [fs read 0ms] (2ms)
[BG(1)]   binding: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/typing_extensions.pyi (0ms)
[BG(1)] getSemanticTokens full at /Users/yuan/test.py (133ms)
Background analysis message: getSemanticTokens range
[BG(1)] getSemanticTokens range 0:0 - 2:0 at /Users/yuan/test.py (0ms)
Background analysis message: getDiagnosticsForRange
Background analysis message: analyze
[BG(1)] analyzing: /Users/yuan/test.py ...
[BG(1)]   checking: /Users/yuan/test.py (1ms)
[BG(1)] analyzing: /Users/yuan/test.py (1ms)
Background analysis message: resumeAnalysis
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
[FG] parsing: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/typing.pyi [fs read 4ms] (54ms)
[FG] binding: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/typing.pyi (7ms)
[FG] parsing: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi [fs read 1ms] (10ms)
[FG] binding: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi (2ms)
[FG] parsing: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/typing_extensions.pyi [fs read 0ms] (3ms)
[FG] binding: /Users/yuan/.vscode/extensions/ms-python.vscode-pylance-2021.5.2/dist/typeshed-fallback/stdlib/typing_extensions.pyi (0ms)

Your template is missing trace logs; can you please provide them? https://github.com/microsoft/pylance-release/blob/main/TROUBLESHOOTING.md#filing-an-issue
You need to enable a specific setting to get trace logs, and if that's enabled there will definitely be lots of info.

Thanks. I've added the trace logs, can you please see what's going wrong?

Thanks. I'm a bit concerned by this: "/Users/yuan/tests/issue/bin/python3"
What is your folder structure?  I don't think your workspace should be containing the python binary itself, as that confuses what is actually the interpreter versus your user code.

@jakebailey Thanks for reminding me. I'm new to virtualenv and I've mistakenly put the python script in the same directory as the virtual environment. The problem is solved when I put the environment files in a subdirectory of the project.
However, the problem still exists when editing a python script with no folders or workspaces open (using file>open to open a python script, with system-wide interpreter). I've updated my issue with the corresponding info. BTW should I open a new issue?

If you're using open file mode, then this is likely similar to #1301; the open folder / workspace modes are pretty well tested, but opening single files is less so.

Just wanted to chime in here that it is still a problem for me to rename symbols on a ** standalone ** (i.e. not in a virtual env) python file that is ** already saved **.
VSCode still returns "No Result" with no renaming actually performed if I tried to rename any symbol. I could not get trace log even after setting python.analysis.logLevel to 'Trace'.
My environment
Version: 1.58.2
Commit: c3f126316369cd610563c75b1b1725e0679adfb3
Date: 2021-07-14T22:10:15.214Z
Electron: 12.0.13
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19043

This will be fixed in the next release. When in "single-file mode", the rename will be performed only within the current file. In "workspace mode", the rename will be performed across the workspace.

should be fixed in 2021.8.0 release.


Delete DTC code

Hi all,
I was able to make all functions work on both simulator and real car except clearing the DTC code since I couldn't find the command to do.
You guys have any suggestion on how to delete the DTC code using the api.
Thank you in advance,

Hi
I don`t have success with DTC too but you have use https://github.com/pires/android-obd-reader application or ? And this simulator https://github.com/Hesamedin/ELM327#simulator-mode ?
I`m trying to get (and clear) car distance traveled (kilometers) do you have success with this command ?

This is what you are looking for => https://github.com/pires/obd-java-api/blob/master/src/main/java/com/github/pires/obd/commands/protocol/ResetTroubleCodesCommand.java
I have had success with multiple cars. However, persistent/current codes that haven't been sorted will immediately trigger another error

Thank you @Pho3niX90!


Support building on illumos

While trying to build a program depending on argon2_elixir on SmartOS (an illumos distro), I got the following error:
==> argon2_elixir
cc -g -O3 -pthread -Wall -Wno-format-truncation -I"/opt/local/lib/erlang/erts-13.1.2/include" -Iargon2/include -Iargon2/src -Ic_src   argon2/src/argon2.c argon2/src/core.c argon2/src/blake2/blake2b.c argon2/src/thread.c argon2/src/encoding.c argon2/src/ref.c c_src/argon2_nif.c -o /<redacted>/_build/prod/lib/argon2_elixir/priv/argon2_nif.so
Undefined                       first referenced
 symbol                             in file
main                                /usr/lib/amd64/crt1.o
enif_get_uint                       /var/tmp//ccRVaI5Q.o
enif_make_tuple                     /var/tmp//ccRVaI5Q.o
enif_get_string                     /var/tmp//ccRVaI5Q.o
enif_make_badarg                    /var/tmp//ccRVaI5Q.o
enif_make_string                    /var/tmp//ccRVaI5Q.o
enif_get_int                        /var/tmp//ccRVaI5Q.o
enif_make_int                       /var/tmp//ccRVaI5Q.o
enif_inspect_binary                 /var/tmp//ccRVaI5Q.o
ld: fatal: symbol referencing errors. No output written to /<redacted>/_build/prod/lib/argon2_elixir/priv/argon2_nif.so
collect2: error: ld returned 1 exit status
make: *** [Makefile:66: /<redacted>/_build/prod/lib/argon2_elixir/priv/argon2_nif.so] Error 1
could not compile dependency :argon2_elixir, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile argon2_elixir", update it with "mix deps.update argon2_elixir" or clean it with "mix deps.clean argon2_elixir"
** (Mix) Could not compile with "make" (exit status: 2).
You need to have gcc and make installed. If you are using
Ubuntu or any other Debian-based system, install the packages
"build-essential". Also install "erlang-dev" package if not
included in your Erlang/OTP version. If you're on Fedora, run
"dnf group install 'Development Tools'".

The issue was missing compiler flags, since my kernel name was not one of the supported names in the Makefile. This change simply adds SunOS (which is used by both illumos and Solaris) to the Makefile using the same options as the BSDs, which should fix building argon2_elixir on most illumos-based distributions.
Verified that it builds without problems on my SmartOS system.

Thanks for your input. I will let you know when I have updated the hex version.

Added to v3.1.0


Added maintenance-scripts/ directory, with automatically-called scripts

Related issue: #223
Summary
This PR adds a new directory named maintenance-scripts/, which will be a subdirectory of scripts/. This directory will house scripts that are automatically executed by run-apache.sh after update.php has been executed and before Apache starts running.
The directory initially contain the scripts mwjobrunner.sh, mwtranscoder.sh and mwsitemapgen.sh.
Job Runner: The /mwjobrunner.sh script is called in the jobrunner() function. It is responsible for running MediaWiki jobs.
Transcoder: The /mwtranscoder.sh script is called in the transcoder() function. It is responsible for running the MediaWiki transcoder.
Sitemap Generator: The /mwsitemapgen.sh script is called in the sitemapgen() function. It is responsible for generating sitemaps for the MediaWiki installation.
Changes
Created a new directory maintenance-scripts under the existing scripts directory.
Moved mwjobrunner.sh, mwtranscoder.sh, and mwsitemapgen.sh to the new maintenance-scripts directory.
Updated run-apache.sh to call the scripts from the new location after running update.php and before starting Apache.
Updated Dockerfile to COPY the scripts to new location
Automated the maintenance scripts
Test
Dockerfile and image get built successfully

Please let me know if you have any questions or concerns about the changes in this PR.

Sorry that I wasn't clearer in the issue description - these three scripts should themselves get called automatically, i.e. the code should go through all scripts in maintenance-scripts/ and call them all, as opposed to calling these three scripts by name. This is a good start, though.

Thank you very much for your feedback

@chl178 - this looks a lot closer to the mark. I have to ask about that MW_ENABLE_VAR thing, though - is the idea that admins can set a variable like MW_JOB_RUNNER__ENABLE_ (if I have the naming correct) to false in order to disable certain scripts?

local MW_ENABLE_VAR="${script_name_upper/_/ENABLE}" will replace the first _ with ENABLE}. For example, when the script name is mw_job_runner, the MW_ENABLE_VAR will be "MW_ENABLE_JOB_RUNNER", and ${!MW_ENABLE_VAR} is an indirect variable reference in Bash. It is used to get the value of $MW_ENABLE_JOB_RUNNER"

Okay, I get it. I don't know if this is "too clever" a solution - what if someone adds a script whose name doesn't start with "mw_"? Also, I don't know if there's a real need to disable parts of the setup. On the other hand, this seems pretty harmless as a feature. On the other other hand, additional features always bring some cost in terms of maintenance, documentation, etc. Does anyone (including you, @chl178) have any thoughts on this?

It is true that my implementation depends on the naming convention of the maintenance scripts (starting with "mw_"), and it could be an issue if someone adds a script that doesn't follow this convention. One option to address the naming convention issue is to explicitly specify the list of maintenance scripts and their corresponding enable/disable variables, instead of relying on the script names, but it brings cost as well. For my perspective, most users won't need this level of customization.
I think we should weigh the benefits of this feature against the maintenance and documentation costs, I cannot provide you with a definitive opinion at the moment. I greatly appreciate your inclusion of me in the discussion to address this issue. As a new contributor to Canasta, I will need some time to research the matter. I will respond promptly once I have a better understanding and ideas to share.

@chl178 - my apologies! I just looked through the code again, and I now realize that all those "MW_ENABLE_..." variables were already there before - I had forgotten about them, and thought that their presence in your patch was just your idea. My comments must have seemed somewhat confusing, given that - sorry about that.
So, given that, your approach of getting the variable name from the script name, though it's kind of a hack, seems fine. I would just suggest the following changes:

If the script's name does not start with "mw", don't ignore it - just run it, without checking for any ENABLE variable. (In the future, it may make sense to have a more complete naming scheme, but for now, I think it's enough to just keep backward compatibility.)
The special handling for mw_sitemap_generator.sh hopefully can be removed - I would prefer to have no special handling. Can that code - which sets the MW_SCRIPT_PATH variable - simply be moved into mw_sitemap_generator.sh?
I think there's an error in the comments - they refer to MW_SITEMAP_GENERATOR_ENABLE, but it should really be MW_ENABLE_SITEMAP_GENERATOR.

Thank you for your suggestions.

This code looks great to me now! As with all your other patches, I hope someone can test it out soon - I'm sorry for the serious backlog that has developed.

LGTM as long as the merge conflict is resolved accurately

That "403 forbidden" error is the typical error that the build process generates for pull requests from "outside" developers. I assume there's a way to fix this error, but regardless, I think this PR is safe to merge in.


remove uop mutability [pr]

test_schedule needs this https://github.com/tinygrad/tinygrad/commit/1cb8f8dbc5fc67dabb1e3e50ec9265bbf29f9b9b
don't know about the capturing external_test_opt though. That error happens if threefry doesn't realize.

Oh that's a cleaner fix. Changing


Feat/add calc withdraw

Add calculate withdrawable amount to QueryUserLimitOrderTranche
This is needed so that CW contracts can check how much they can withdraw from a limit order. Specifically needed for astroport integration.

https://github.com/neutron-org/neutron-tests/actions/runs/8254660656

https://github.com/neutron-org/neutron-tests/actions/runs/8472951743


add =L= commodity balance

#47
addition to core model, with related set, slack variable and documentation
Please confirm that this PR has done the following:

[ ] Tests Added
[ ] Documentation Added
[ ] Description in RELEASE_NOTES.md Added

Adding to RELEASE_NOTES.md
Please add a single line in the release notes similar to the following:
- (#XX)[http://link-to-pr.com] Added feature which does something

For sure the nomenclature requires some more thinking.
NOTES: I did not edit the message_master_template.gms file
I did not test the documentation, I get errors when building it (also on master branch). Maybe I am not update with some latest requirements

Hey @adrivinca it indeed looks like some tests fail here. You're also getting errors on the master branch? Let me know if I can assist.

@gidden Do you mean for the documentation or the whole installation?
with building the documentation it does not work on the master branch either.
While the failure in tests is normal as I have not initialized the new set on the java side.
I see a temporary solution you used for addon and share constraints you wrote the initialization in core.py , is it still a good way to follow?
Also, does the new equation need to be initialized?

Yes, we will need to initialize the set in core.py for the message
scenario. I don't think the equation needs to be initialized.
Regarding tests, for the moment, let's just make sure the unit tests pass
(we can look at the docs later)
On Thu, Feb 7, 2019 at 9:44 AM adrivinca<EMAIL_ADDRESS>wrote:

@gidden https://github.com/gidden Do you mean for the documentation or
the whole installation?
with building the documentation it does not work on the master branch
either.
While the failure in tests is normal as I have not initialized the new set
on the java side.
I see a temporary solution you used for addon and share constraints you
wrote the initialization in core.py , is it still a good way to follow?
Also, does the new equation need to be initialized?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/iiasa/message_ix/pull/164#issuecomment-461332280, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABVAEWmfYiIVXWNvwbQAuFA8HENOPOiFks5vK-dmgaJpZM4all0T
.

ok, any suggestion on the names to be changed? we can do it later, but there will be more scripts to modify then

I'll put some initial thoughts in line comments

Ok, suggestions are in. @danielhuppmann I would highly suggest you provide input on the naming convention to make sure we are consistent with prior work here.

Thanks @danielhuppmann for your input! @adrivinca let me know if I can assist with making/looking at changes.

@gidden @danielhuppmann Updates:
One single commodity accounting equation + two inequalities

Regarding the PRICE_COMMODITY reporting in model_solve.gms, it should still work the same now, correct me if I'm wrong

I opted for inclusive subsets of commodities, rather than exclusion ones, it seems more straight-forward. Would you like to also add subsets of level? or a commodity and level mapping?

Please comment on  nomenclature, I used '_GT' and '_LT' because UP and LO might be confusing with the slack variables

STILL MISSING:

mathematical part of doc for the new equations
initialization on message_ix core.py

@gidden @danielhuppmann Updates:
One single commodity accounting equation + two inequalities
* Regarding the `PRICE_COMMODITY` reporting in `model_solve.gms`, it should still work the same now, correct me if I'm wrong

need @danielhuppmann to comment on this one

* I opted for inclusive subsets of commodities, rather than exclusion ones, it seems more straight-forward. Would you like to also add subsets of level? or a commodity and level mapping?

I think in theory this is ideal; however, will it cause backwards compatibility issues with existing scenarios? My assumption is yes. I think either we need to use an exlcusion-style set for this equation or we do some operation before running that adds everything to the inclusion set. Perhaps others have a thought?

* Please comment on  nomenclature, I used '_GT' and '_LT' because UP and LO might be confusing with the slack variables

I think consistency with other equations (e.g., BOUND_ACTIVITY_UP) is still preferred, but happy to be overruled here. I personally find GT LT less cognitively difficult than UP LO FWIW.

* STILL MISSING:

1. mathematical part of doc for the new equations

2. initialization on message_ix core.py

Once we agree on your above points, let's prioritize this (over docs) to get the tests working.

thanks @adrivinca for the efforts!

Regarding the PRICE_COMMODITY reporting in model_solve.gms, it should still work the same now, correct me if I'm wrong

This is not correct. If you have an equality constraint, the marginals can be positive or negative, so you need to include the marginals from both the upper and lower bounds.

I opted for inclusive subsets of commodities, rather than exclusion ones, it seems more straight-forward. Would you like to also add subsets of level? or a commodity and level mapping?

Agree with @gidden: by default, the commodity should be an inequality (supply greater demand), and only if actively chosen should this be a strict equality. I don't think that we need to consider the use case demand greater than supply for now.

change commodity_balance to commodity_euivalence
on COMMODITY_BALANCE_GT remove set commodity_surplus
on COMMODITY_BALANCE_LT change set name commodity_shortage to balance_equality
change balance_equality to be indexed on commodity and level
update https://github.com/iiasa/message_ix/blob/master/message_ix/core.py#L15 to

    inits = (
        # {
        #  'test': False  # some test,
        #  'exec': [(pass, {'args': ()}), ],
        # },
        {
          'test': 'balance_equality' not in s.set_list(),
          'exec': [(s.init_set, {'args': ('balance_equality', ['commodity', 'level'])})],
        },

Update price_commodity to include all appropriate marginals

after CI passes, this LGTM. Should we try to think of a short test to run? or are we happy with this going in as is @danielhuppmann ?

Hey @adrivinca which editor/IDE do you use to edit python code? We can try to find an auto-pep8 for that so you don't have to worry about stickler (or mostly don't have to worry..)

I was using spyder with autopep, but was not highlighting this one that stickler says. Also i don't clearly understand what change it wants..

Ok, talked with @adrivinca and he will fix this last stickler issue.
The tests are now failing due to licensing issues. @danielhuppmann do you have any thoughts here? The basic problem is that we have now included more data (I guess?) which brings the austria tutorial over the size allowed by the trial GAMS license.
While we could try some tricks here, I think we will continue to run into this problem. I see two primary options:

add a flag to nosetests that skips these tests if no license is found
move these tests to our "nightly" suite which already requires a license

Let me know what you think

Ok, we now pass stickler. I can address the test failure, will try to do so later today. @danielhuppmann will do a final review of style/other issues, then we should be good to go!

@adrivinca I just pushed to your branch adding a check for the gams license file

closing in favor of #171


Host Items at (0,0,0)

What you were trying to do:
I was investigating physics on a client.
What actually happened:
While working on said physics (and items going through the ground), I saw an entity really low in the ground (with the client). After getting there, I saw it was an axe that I tried to collect and couldn't. I changed the item on the host to a torch to also go down and investigate, and now the client saw a torch (host doesn't see anything)
How to reproduce:

Join a local server (not headless) with a client.
Go to (0,0,0).
Observe the host wielded item.

Details:
I only had Core+CheatsForAll active

I'd be interested in working on this.

As far as I can tell the wielded items are not visible to other players at the moment?
So the host wielded item is incorrectly replicated to the clients.

I found the reason for this:
As soon as a player picks up an item, the host removes some components from the item and adds the entity reference to the authority inventory. The location component is removed, but not the mesh component. That's why the block is displayed at (0, 0, 0).
The host uses the entity for the FirstPersonClientSystem. So just removing the mesh component is not a solution. A possible solution could be making the mesh only visible to the inventory owner (add the mesh component in the FirstPersonClientSystem).

Re-opening this as reverted by #2806 - see it for details. In short this ended up causing some other problems, although it still may be a viable fix. The Components filtered may just need some adjustment, but it will need some more thorough testing to make sure it is a clean fix :-)
May also be of interest to @iojw or even @xrtariq2594 since it is about networking and may somewhat relate to similar oddities about synchronized entity state (like the crash on trying to upgrade a wood workstation in NeoTTA)
Hi @Tropid! Hoping you're still around and might be interested in looking at the added challenges within this fix :-)

Screenie to help explain the issue for those having a hard time visualizing it (like me at first):

That was some time ago, but as far as I remember this is what I did:
Previous State:

An entity which can be picked up will be added to the inventory of the player
Depending on whether it is selected in the toolbar it will be shown or hidden by adding/removing the MeshComponent (not quite sure, maybe it's also the RenderComponent)
Somehow the location component was removed on the clients (or only added on the host? I can't remember)
Overall it was rather complex and difficult to understand in my opinion

Therefore I applied the following changes:

When an item is picked up it is added to the inventory like before
Additionally a client-only copy of it will be created which is responsible for client-side display
Components which are not needed for display will be removed from the copy (this includes the components which are responsible for emitting light, see #2788)
When the item is selected the client-side entity will be attached to the player and shown to the client only

I suggest following changes, which I will submit as a PR soon (I'm sorry I can't spend a lot of my time as I'm currently writing my master's thesis):

Same approach as before, but instead of only keeping the components responsible for rendering (whitelist), I will only remove the unneeded components (blacklist)
This applies to:

NetworkComponent: Prohibit replication of client-side entity
RigidBodyComponent: Prohibit held item dropping to the ground after selection

I still prefer copying the held item, as I think it makes reasoning about it a lot easier. Otherwise the entity in the inventory is the same entity which is shown to the player and there are a lot of different things affecting the behavior.
Maybe PR #2789 is also interesting in this context, as it overhauls the inventory system.

Thanks for the response @Tropid ! I was wondering if switching to a blacklist might help, just didn't have the time to try it out. Would be happy to see a follow-up PR :-)


kubemq: init kubemq-community at 2.2.12 and kubemqctl at 3.5.1

Description of changes
Introduces the community edition of the KubeMQ server and it's associated cli.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module
[x] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 163657 run on x86_64-linux 1

1 package blacklisted:

nixos-install-tools

2 packages built:

kubemq-community
kubemqctl

Could you fix the commit message for the two packages please, both are missing an e. Our CI will build them automatically if the commit messages match.

Could you fix the commit message for the two packages please, both are missing an e. Our CI will build them automatically if the commit messages match.


Add types to exports fields

Add this field to support Typescript with the new Node16 module resolution.
https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/#package-json-exports-imports-and-self-referencing

Thank you @jigsawye


Security Issue: Vulnerable Dependencies

Hi,
I am using vite-plugin-imagemin in my project and noticed that it has some dependencies with known security vulnerabilities. Specifically, the following packages are affected:

got (via download)
http-cache-semantics (via cacheable-request)
semver-regex (via bin-version-check)
trim-newlines (via meow)

here is the dependencies tree:

and this is the npm audit report, it recommand the safer version:
got  <=11.8.3
Severity: high
Got allows a redirect to a UNIX socket - https://github.com/advisories/GHSA-pfrx-2q88-qq97
Depends on vulnerable versions of cacheable-request
fix available via npm audit fix --force
Will install<EMAIL_ADDRESS>which is a breaking change
node_modules/bin-wrapper/node_modules/got
node_modules/got
download  >=4.0.0
Depends on vulnerable versions of got
node_modules/bin-wrapper/node_modules/download
node_modules/download
bin-build  >=2.1.2
Depends on vulnerable versions of download
node_modules/bin-build
cwebp-bin  >=3.0.0
Depends on vulnerable versions of bin-build
Depends on vulnerable versions of bin-wrapper
node_modules/cwebp-bin
imagemin-webp  >=4.1.0
Depends on vulnerable versions of cwebp-bin
node_modules/imagemin-webp
gifsicle  >=3.0.0
Depends on vulnerable versions of bin-build
Depends on vulnerable versions of bin-wrapper
node_modules/gifsicle
node_modules/vite-plugin-imagemin/node_modules/gifsicle
imagemin-gifsicle  >=6.0.0
Depends on vulnerable versions of gifsicle
node_modules/imagemin-gifsicle
vite-plugin-imagemin  >=0.2.0
Depends on vulnerable versions of gifsicle
Depends on vulnerable versions of imagemin-gifsicle
Depends on vulnerable versions of imagemin-jpegtran
Depends on vulnerable versions of imagemin-mozjpeg
Depends on vulnerable versions of imagemin-optipng
Depends on vulnerable versions of imagemin-pngquant
Depends on vulnerable versions of imagemin-webp
Depends on vulnerable versions of jpegtran-bin
node_modules/vite-plugin-imagemin
jpegtran-bin  >=3.0.0
Depends on vulnerable versions of bin-build
Depends on vulnerable versions of bin-wrapper
node_modules/jpegtran-bin
node_modules/vite-plugin-imagemin/node_modules/jpegtran-bin
imagemin-jpegtran  >=6.0.0
Depends on vulnerable versions of jpegtran-bin
node_modules/imagemin-jpegtran
mozjpeg  >=4.0.0
Depends on vulnerable versions of bin-build
Depends on vulnerable versions of bin-wrapper
node_modules/mozjpeg
imagemin-mozjpeg  >=7.0.0
Depends on vulnerable versions of mozjpeg
node_modules/imagemin-mozjpeg
optipng-bin  >=3.0.0
Depends on vulnerable versions of bin-build
Depends on vulnerable versions of bin-wrapper
node_modules/optipng-bin
imagemin-optipng  >=6.0.0
Depends on vulnerable versions of optipng-bin
node_modules/imagemin-optipng
pngquant-bin  >=3.0.0
Depends on vulnerable versions of bin-build
Depends on vulnerable versions of bin-wrapper
node_modules/pngquant-bin
imagemin-pngquant  >=5.1.0
Depends on vulnerable versions of pngquant-bin
node_modules/imagemin-pngquant
bin-wrapper  >=0.4.0
Depends on vulnerable versions of bin-version-check
Depends on vulnerable versions of download
node_modules/bin-wrapper
http-cache-semantics  <4.1.1
Severity: high
http-cache-semantics vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-rc47-6667-2j5j
fix available via npm audit fix --force
Will install<EMAIL_ADDRESS>which is a breaking change
node_modules/bin-wrapper/node_modules/http-cache-semantics
cacheable-request  0.1.0 - 2.1.4
Depends on vulnerable versions of http-cache-semantics
node_modules/bin-wrapper/node_modules/cacheable-request
semver-regex  <=3.1.3
Severity: high
semver-regex Regular Expression Denial of Service (ReDOS) - https://github.com/advisories/GHSA-44c6-4v22-4mhx
Regular expression denial of service in semver-regex - https://github.com/advisories/GHSA-4x5v-gmq8-25ch
fix available via npm audit fix --force
Will install<EMAIL_ADDRESS>which is a breaking change
node_modules/semver-regex
find-versions  <=3.2.0
Depends on vulnerable versions of semver-regex
node_modules/find-versions
bin-version  <=4.0.0
Depends on vulnerable versions of find-versions
node_modules/bin-version
bin-version-check  <=4.0.0
Depends on vulnerable versions of bin-version
node_modules/bin-version-check
trim-newlines  <3.0.1
Severity: high
Uncontrolled Resource Consumption in trim-newlines - https://github.com/advisories/GHSA-7p7h-4mm5-852v
fix available via npm audit fix
node_modules/trim-newlines
meow  3.4.0 - 5.0.0
Depends on vulnerable versions of trim-newlines
node_modules/meow
Could you please update these dependencies to their latest secure versions?

Yeah, same issue here


fasd -f -e 'some_zsh_func' not working

I have the following setting in my .zshrc
#mvim uses existing window to open files
mvim () { ([[ -z $@ ]] || touch "$@" ) && open -a MacVim "$@"; }
alias m='f -e mvim'

when I type
> m /Users/HF/.zshrc
it says
> /usr/local/bin/fasd: line 570: mvim: command not found

Unless you source fasd in you zsh init file, calling zsh function will not work in fasd since it is, by default, run by a script shell than your login shell.

Probably is not useful anymore, but since the previous comment was useful to me:
I had the same problem, and it would be amazing to be able to execute also function (using a script for example I didn't find any way to change directory inside my command, and affect the caller of course).
In the meanwhile I applied the same solution of the previous comment, but replacing fasd with fasd -i, in this way is a little closer to the original intent of using autocompletion.


support unity3d webplayer

Very awkward decision as the Unity Webplayer is now kind of deprecated due to its API (npapi) get unavailable in the new releases of Chromium.


Site rendering problem

Steps to reproduce
Tell us about your environment:

Puppeteer version<EMAIL_ADDRESS>Platform / OS version: GNU/Linux Mint 19 Cinnamon
URLs (if applicable):
Node.js version: v10.10.0

Trying to open this link https://www.ituran.com/ituranfront/en/about-ituran/investor-relations/press-releases/ returns a completely different code than opening the page in Chrome desktop. The same happens trying to open the page with Chrome in headless mode:
/opt/google/chrome/chrome --headless --disable-gpu --dump-dom https://www.ituran.com/ituranfront/en/about-ituran/investor-relations/press-releases/ > index.html
What is the expected result?
I expect to get the same html code from both puppeteer and Chrome
What happens instead?
The code is different, the html code returned by puppeteer doesn't show the expected page content

@MadGhigno this website is doing automation detection; counteracting detections fall outside of the scope of the project.


Add show * commands to help users use show modifiers in other commands

Fixes issue #10. This adds commands to look up organizations, teams, and users from the github api, so you can more confidently issue other show or subscribe commands with these scoped values.
/cc: @theazureshadow

LGTM


Fixed text flow issue in Arrays and Pointers (C)

(In C tutorials, English) Updated text in Arrays and Pointers to flow better. It previously mentioned Pointers and Arithmetic tutorial saying "as you will know from" however, Arrays and Pointers comes before Pointers and Arithmetic in the tutorial order, thus it is less likely the reader will have gone over it.

Also, apologies if this is in the wrong place, or I've done this request incorrectly. I've never contributed to anything open before.

Looks good 👍


Update utils.ts to fix issue #1689

Fixes #1689

Description of your changes

Related issues, RFCs

Issue number:
Checklist

[x] My changes meet the tenets criteria
[x] I have performed a self-review of my own code
[x] I have commented my code where necessary, particularly in areas that should be flagged with a TODO, or hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my change is effective and works
[x] The PR title follows the conventional commit semantics

Breaking change checklist
Is it a breaking change?: NO

[ ] I have documented the migration process
[ ] I have added, implemented necessary warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Hi @KhurramJalil thanks for opening this issue.
The PR is being labeled as do-not-merge, as well as having a failed check due to the following reasons:

(do-not-merge) out automation is not detecting any related issue in the PR body. I see that you have linked the issue, however you've done so outside of the expected format, which is why it's failing. For reference, this is the relevant part of the PR template:

### Related issues, RFCs

<!---
Add here the number (i.e. #42) to the Github Issue or RFC that is related to this PR.

Don't include any other text, otherwise the Github Issue will not be detected.

Note: If no issue is present the PR might get blocked and not be reviewed.
-->
**Issue number:**

The issue number should have gone near **Issue number:**, so once filled it'd be like this:
### Related issues, RFCs

<!---
Add here the number (i.e. #42) to the Github Issue or RFC that is related to this PR.

Don't include any other text, otherwise the Github Issue will not be detected.

Note: If no issue is present the PR might get blocked and not be reviewed.
-->
-- **Issue number:**
++ **Issue number:** closes #1689

(failed check) the PR title does not follow the expected format/convention. We use conventional commit semantics for PR titles as this allows us to version our project based on the squashed merge commits. The last checkbox that you have marked in the PR body is about this and has a link with examples of allowed keywords. In this case I'd suggest changing the title to something like "improv(commons): add number key type to JSONObject type".

Once the issues above have been fixed I'll be happy to approve & merge the PR 😃

Thanks for your kind review and feedback @dreamorosi. I have taken care of both the feedback points.

Included issue number in the right format at the right place
Updated the title of the PR as per recommended standard

Hi @KhurramJalil thanks again for the PR, please review the comment above and let me know if you need any additional help.


Test Epinio on Rancher Desktop

With RD GA approaching, it will be nice to test Epinio on RD.
Will be nice to test on all platforms; linux, macos, windows. However, just testing on linux is acceptable.

Deploy RD on linux
Install Epinio using helm chart
some sanity test of Epinio on RD

Command to ssh into the lima VM:
ssh -i ~/.local/share/rancher-desktop/lima/_config/user -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o NoHostAuthenticationForLocalhost=yes -o GSSAPIAuthentication=no -o PreferredAuthentications=publickey -o Compression=no -o BatchMode=yes -o IdentitiesOnly=yes -F /dev/null -o ControlMaster=auto -o ControlPath="~/.local/share/rancher-desktop/lima/0/ssh.sock" -o ControlPersist=5m -p 34803 <IP_ADDRESS>

I'm not sure we can test epinio installation on Rancher Desktop (Linux) because of https://github.com/rancher-sandbox/rancher-desktop/issues/576

I'm playing with RD on Windows:

installation is done without any issue
epinio info can contact the epinio server
push of an application is partially working: I have an issue during the ANALYZING stage, connection on epinio-registry is refused.

So I'm still investigating the last point.

I did a test on my own macbook and I was able to install and deploy an app.
However, I was forced to set s3 storage and external registry to make it work.
helm install epinio-installer epinio/epinio-installer --set skipTraefik=true --set useS3Storage=true --set s3Bucket=epinio-ci --set s3Endpoint=s3.amazonaws.com --set s3AccessKeyId='My access key id --set s3SecretAccessKey='My access key secret' --set externalRegistryNamespace=juadk --set externalRegistryURL=registry.hub.docker.com --set externalRegistryUsername=juadk --set externalRegistryPassword='My docker hub pw'

I don't know yet why it fails with minio and epinio-registry.

Thanks for helping @juadk
I was wondering if is possible to perform the same installation process as we had on the old school command: epinio install  --system-domain <IP_ADDRESS>.omg.howdoi.website , but using helm instead.
Simulating a local development environment with Epinio and RD will be great (without passing s3 storage or even a private/public registry), similar as skipping LinkerD and Traefik, setting the parameter like, --set s3Storage=false --set cloudRegistry=false...
Just sharing thoughts :D

Of course, normally, it should work without specifying external registry and s3. Actually it works without s3 options, i just did a quick test, I'm about to update my installation log.
The minimal expected command would be helm install epinio-installer epinio/epinio-installer --set skipTraefik=true

Finally, all good on MacOS with these commands:
helm repo add epinio https://epinio.github.io/helm-charts
helm install epinio-installer epinio/epinio-installer --set skipTraefik=true --set domain=<IP_ADDRESS>.omg.howdoi.website
IP address used comes from kubectl get svc -n kube-system traefik

Finally, all good on MacOS with these commands: helm repo add epinio https://epinio.github.io/helm-charts helm install epinio-installer epinio/epinio-installer --set skipTraefik=true --set domain=<IP_ADDRESS>.omg.howdoi.website IP address used comes from kubectl get svc -n kube-system traefik
The issue I had was because epinio-registry doesn't work with localhost.omg.howdoi.website

Awesome!
 Thanks for helping!

So to summarize:

RD+epinio on x86_64 MacOS is OK
RD+epinio on x86_64 Win10 is OK (still an pure epinio issue tracked here: #1101)
RD+epinio on x86_64 Linux is failing, tracked here: rancher-sandbox/rancher-desktop#576

So I think it's better to move back this issue to Icebox until the RD issue with port forwarding on Linux is resolved.

On macOS the installation went well, but got 404 from the application (registry error, same as @juadk has described):
LT;DR from traefik pod:
time="2022-01-21T18:24:04Z" level=error msg="Skipping service: no endpoints found" providerName=kubernetes namespace=epinio-registry ingress=registry serviceName=registry servicePort="&ServiceBackendPort{Name:,Number:5000,}"
time="2022-01-21T18:24:06Z" level=error msg="Error configuring TLS: secret epinio-registry/epinio-registry-tls does not exist" providerName=kubernetes ingress=registry namespace=epinio-registry
time="2022-01-21T18:24:06Z" level=error msg="Skipping service: no endpoints found" serviceName=registry servicePort="&ServiceBackendPort{Name:,Number:5000,}" providerName=kubernetes ingress=registry namespace=epinio-registry
time="2022-01-21T18:24:06Z" level=error msg="Error configuring TLS: secret epinio-registry/epinio-registry-tls does not exist" namespace=epinio-registry providerName=kubernetes ingress=registry

epinio-install-macOS.log

@evertonlperes What did you use for domain option?
I had the same issue as you when I tried to use localhost.omg.howdoi.website, in the other hand, it worked when I specified the good IP address --set domain=<IP_ADDRESS>.omg.howdoi.website.

@evertonlperes What did you use for domain option? I had the same issue as you when I tried to use localhost.omg.howdoi.website, in the other hand, it worked when I specified the good IP address --set domain=<IP_ADDRESS>.omg.howdoi.website.

@juadk I've used this command:
 helm install epinio-installer epinio/epinio-installer --set skipTraefik=true --set domain=<IP_ADDRESS>.omg.howdoi.website

The ip address used to set the domain, I got it from kubectl get svc -n kube-system traefik.
output:
NAME      TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)                      AGE
traefik   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   80:32647/TCP,443:30858/TCP   9s

Install output:
❯ helm install epinio-installer epinio/epinio-installer --set skipTraefik=true --set domain=<IP_ADDRESS>.omg.howdoi.website
NAME: epinio-installer
LAST DEPLOYED: Mon Jan 24 10:12:43 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
You can get the IP address of your Ingress controller by passing this command:
`kubectl describe svc traefik --namespace traefik | awk '/Ingress/ { print $3 }'`

Make sure your domain points to the IP address of your Ingress controller (<IP_ADDRESS>).

To interact with your Epinio installation, you have to download the latest epinio binary https://github.com/epinio/epinio/releases.

Update the api location and credentials with:
`epinio config update`

For more information about Epinio, feel free to checkout https://epinio.io/ and https://docs.epinio.io/.

Question: Should I download and perform epinio install after helm command?

Question: Should I download and perform epinio install after helm command?

No, only epinio config update is needed. Of course, epinio server and client should have the same version number.

Question: Should I download and perform epinio install after helm command?

No, only epinio config update is needed. Of course, epinio server and client should have the same version number.

Thanks for the feedback @ldevulder
epinio server is v0.3.3 and my client version is 0.3.3.
❯ epinio config update

🚢 Updating the stored credentials from the current cluster
Config: /Users/evertonperes/.config/epinio/config.yaml

✔  Ok

Trying to access http://epinio.<IP_ADDRESS>.omg.howdoi.website - still getting 404.

Trying to access http://epinio.<IP_ADDRESS>.omg.howdoi.website - still getting 404.

If I'm not wrong, this URL is not used anymore. It was used for accessing our old standalone UI. Now, our UI is Rancher.
Could you try to deploy an app and access it please?

Trying to access http://epinio.<IP_ADDRESS>.omg.howdoi.website - still getting 404.

If I'm not wrong, this URL is not used anymore. It was used for accessing our old standalone UI. Now, our UI is Rancher. Could you try to deploy an app and access it please?

I tried to deploy Rancher 2.6 along with Epinio install (helm), no luck.
Will be nice to have a chat with your guys in order to clarify some install process, still quite blurry the process on my side.

This is what I achieved so far on stable RD 1.1.1 for Linux (installed from RPM) with epinio cli v0.6.0.
TL;DR
It partially works with appending the traefik https NodePort to api address in settings.yaml but it's probably unable to reach internal epinio-registry (also using traefik https nodeport) for some reason when doing push.
My workflow:
$ kubectl create ns cert-manager
$ helm upgrade --install cert-manager --namespace cert-manager jetstack/cert-manager --set installCRDs=true --set extraArgs[0]=--enable-certificate-owner-ref=true
$ helm upgrade --install epinio-installer epinio/epinio-installer --set skipTraefik=true --set skipCertManager=true --set domain=<IP_ADDRESS>.nip.io
$ nodeport=$(kubectl get svc -n kube-system traefik -o jsonpath='{.spec.ports[1].nodePort}')
$ echo $nodeport
30938
$ epinio settings update

Once the config is written then edit ~/.config/epinio/settings.yaml file and append the $nodeport to the api address value like: api: https://epinio.<IP_ADDRESS>.nip.io:30938 and  epinio info works but the push doesn't.
epinio --verbosity=1 --trace-level 5 push --name sample-app --path sample-app
...
Staging application with code...
2022/03/15 16:14:05 EpinioClient/Push: "level"=5 "msg"="staging code" "Name"="sample-app" "Namespace"="workspace" "Sources"="/home/thehejik/work/ecp/epinio/sample-app" "Blob"="ca8c476b-0b83-44c6-9f94-9bc5d498c3ba"
2022/03/15 16:14:05 EpinioApiClient: "level"=4 "msg"="POST https://epinio.<IP_ADDRESS>.nip.io:30938/api/v1/namespaces/workspace/applications/sample-app/stage"
2022/03/15 16:14:06 EpinioApiClient: "level"=5 "msg"="request finished"
2022/03/15 16:14:06 EpinioApiClient: "level"=5 "msg"="response received" "status"=500
2022/03/15 16:14:06 EpinioApiClient: "msg"="response is not StatusOK" "error"="Internal Server Error: no public registry URL found" "status"=500
2022/03/15 16:14:06 EpinioClient/Push: "level"=4 "msg"="return" "Name"="sample-app" "Namespace"="workspace" "Sources"="/home/thehejik/work/ecp/epinio/sample-app"
error pushing app to server: can't stage app: Internal Server Error: no public registry URL found

...full output here
I'd appreciate any hint how to move forward without implementing https://github.com/rancher-sandbox/rancher-desktop/issues/576 for eg. where I can setup the epinio-registry.<IP_ADDRESS>.nip.io:30938 value with nodeport.
I was trying to edit secret registry-creds where the epinio-registry address is stored but it didn't help.
Note: you can obtain the secret values eg. from kubectl get secret -n workspace registry-creds -o json | jq -r '.data[".dockerconfigjson"]' | base64 -d

helm upgrade --install epinio-installer epinio/epinio-installer --set skipTraefik=true --set skipCertManager=true --set domain=<IP_ADDRESS>.nip.io

AFAIK epinio-installer shouldn't be used anymore, try to directly use epinio directly. I didn't tried epinio recently, I will try to do  a test this week.

Thanks @ldevulder, that helped \o/
Working workflow for installing current Epinio v0.6.1 with Epinio cli v0.6.0 on RD 1.1.1 for Linux (RPM for openSUSE 15.3):
$ helm upgrade --install cert-manager --namespace cert-manager jetstack/cert-manager --set installCRDs=true --set extraArgs[0]=--enable-certificate-owner-ref=true --create-namespace
$ helm upgrade --install epinio --namespace epinio epinio/epinio --set skipTraefik=true --set global.domain=<IP_ADDRESS>.nip.io --create-namespace
$ wget https://github.com/epinio/epinio/releases/download/v0.6.0/epinio-linux-x86_64 -O ~/bin/epinio; chmod +x ~/bin/epinio
$ epinio settings update

So far it was standard installation maybe appart the --set global.domain=<IP_ADDRESS>.nip.io value
Now user has to modify generated ~/.config/epinio/settings.yaml file:
### Find traefik ingress https nodeport
$ nodeport=$(kubectl get svc -n kube-system traefik -o jsonpath='{.spec.ports[1].nodePort}'); echo $nodeport
30910

### IMPORTANT: Append ":$nodeport" at the end of lines starting with api: and wss: strings in ~/.config/epinio/settings.yaml
$ sed -i -E "/^(wss|api):/ s/\$/:$nodeport/" ~/.config/epinio/settings.yaml

### Check communication with Epinio API
$ epinio info
✔  Epinio Environment
Platform: k3s
Kubernetes Version: v1.22.7+k3s1
Epinio Server Version: v0.6.1
Epinio Client Version: v0.6.0

To deploy sample-app from https://github.com/epinio/epinio/tree/main/assets/sample-app by:
# First copy/clone the content of the "sample-app" folder ^
$ epinio push --name sample-app --path sample-app/
$ kubectl get ingress -n workspace
NAME                                       CLASS    HOSTS                         ADDRESS        PORTS     AGE
i-sample-app-sample-app.<IP_ADDRESS>.nip.io   <none>   sample-app.<IP_ADDRESS>.nip.io   <IP_ADDRESS>   80, 443   2m

Finally user can point his browser to https://sample-app.<IP_ADDRESS>.nip.io:$nodeport (my $nodeport has value 30910)

I think helm install epinio/epinio --set global.domain=<IP_ADDRESS>.sslip.io works for each OS now, right? Or is it still broken on Linux? Either way, this is not our issue and we can likely close here.

It's not broken on RD for Linux, there are only some limitations with port-forwarding of ports lower than 1024 on Linux, but still there are some options:

you can access epinio API over traefik ingress nodeport (as described here)
you can manually allow using of unpriviledged ports (eg 80, 443) lower than default 1024 for normal users on host by sudo sysctl -w net.ipv4.ip_unprivileged_port_start=443 and then you can access epinio API directly on port 443

More details here https://github.com/rancher-sandbox/rancher-desktop/issues/576
This can be closed.

Thanks @thehejik , I think I can update our documentation with that.


scheduler: reduce deviceShare memory overhead

Ⅰ. Describe what this PR does

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

/approve


pdf always print an extra page. last page always blank. Unexpected white footer in last 2nd page.

Puppeteer version: v5.5.0
Platform / OS version: Ubuntu 20
Node.js version: v10.19.0

What steps will reproduce the problem?

Run below codes (https://try-puppeteer.appspot.com/), will get the pdf of two pages. 2nd page is black and a gray header.

const browser = await puppeteer.launch();
const page = await browser.newPage();

const html = `

	<meta charset="utf-8" />

AAA

`;

await page.setContent( html, { waitUntil: 'networkidle2' } );
await page.emulateMedia('screen');
await page.pdf( {
		width: '110px',
		height: '50px',
		path: `test.pdf`
} );

await page.close();
await browser.close();

What is the expected result?
One page in pdf only
What happens instead?
Two pages. 1st page has a white footer. 2nd page has a gray header and blank body.
This issue is also mentioned in https://github.com/puppeteer/puppeteer/issues/589
https://stackoverflow.com/questions/59887883/puppeteer-js-printing-empty-page-at-the-end
https://stackoverflow.com/questions/50237402/puppeteer-full-page-screenshot-getting-extra-white-space-rendered-at-bottom-of
https://stackoverflow.com/questions/63374307/puppeteer-avoid-margin-on-last-page-while-printing

This is not any "official" answer, just trying to help out... :)
This most often has to do with some object is "spilling over" to the second page due to margins and/or padding which can't be seen. I often alter my css and draw borders around the objects (style="border: 1px solid red;") so you can see where the objects ends and what is spilling over.
Most often your local browser (Chrome is of course best to use) agrees with Puppeteer so load your HTML in the browser an select to "Print..." (set printer to "Save as PDF" or similar) and you'll see in the preview how many pages it's going to print.
The alter your css to lessen the height/width of your objects to make sure only one page is printed.
Sometimes it helps adding this if no obvious object is spilling over:
        @media print {
            /* prevent blank page at end */
            table:last-of-type { page-break-after: auto; }
            html, body {
                height: 100%;
            }
        }

still happens

And still happening...


Add timestamp support to Attachment struct

https://api.slack.com/docs/message-attachments (search for "ts (timestamp)")

@bored-engineer This fix was merged thanks to @k1LoW .
ref: #5


Feature: Updated Polygon Mainnet and Amoy with Main account

Summary
This PR updates Application Factory contract address for latest Amoy deploy.

Looks good. Please update the subgraph URL for Polygon.

Looks good. Please update the subgraph URL for Polygon.

Added in https://github.com/open-format/js/pull/170/commits/bd3ed8c92a8aa83503d828b61389f5d36efe0509


Fixing BasinEnclosure matcher

I have updated the code for the BasinEnclosure method with two main fixes:

get the logic right for _grouped_flows_
fix missing entries in rmaps. When dealing with coflowing attractors we modify rmap. But this might leading to missing keys. In this case, the simplest solution I found was to add those missing keys back with the next available integer key in rmap.

I've tested this with a synthetic multistable system, whose code I've also added to the continuation test suite. The correct behavior is as shown on the left column. Note that the attractor at 0.0 moves to -5.0, with the initial conditions following it. The algorithm identifies and correctly matches the attractors. Note that the other matcher, which relies on distances in state space, misses this. Because 0 is closer to 4 than to -5, it matches 0 to 4, and considers -5 as a new attractor.

I've made some more tests using a similar system, in which the attractors are oscillating. The results are the same.

I've also played with some different synthetic scenarios, and the code also worked there. Further, I tested on the example we used for continuation with featurizing in the magnetic pendulum, and the code also worked there.
I will test this on the Kuramoto networks, but not now. It is somewhat involved for the important testcases (with N=100) and I have to work on other projects first.

I've implemented a cleaner, more straightforward logic now to handle these "missing keys" in rmap. Now the loop already includes them and they are not missing. I've also used next_id as you suggested.

@KalelR PR can't be merged, there are conflicts, please resolve them as well!


Remove mention of hostPort in the examples on "Configure Liveness, Readiness and Startup Probes"

https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#use-a-named-port
In this section of the docs, the example yaml shown include both containerPort and hostPort.

You can use a named port for HTTP and TCP probes. gRPC probes do not support named ports.
For example:
ports:
- name: liveness-port
  containerPort: 8080
  hostPort: 8080            # <- this seems like a footgun for people copying from the docs

livenessProbe:
  httpGet:
    path: /healthz
    port: liveness-port

We recently saw a case where someone copy/pasted from the docs, and then our cluster scaled up adding a bunch of nodes because the recently modified pod could only run one per node due to the hostPort. There's nothing warning/suggesting that you don't actually need a hostPort on the page, so it seems like an easy thing for newer people to trip over.

/language en
/sig node

The concern is valid and also mentioned in the Configuration Best Practices for Services.
I will issue a PR for this.

/assign

/triage accepted


Prevents that OPENSSL_gmtime incorrectly signals success if gmtime_r …

…fails, and that struct* tm result's possibly uninitialized content is used

Example of gmtime_r failing:
#include "crypto/o_time.h"

int main(void)
{
    struct tm _tm;
    time_t t = 0xFF0F3D5300F0C2AC;
    OPENSSL_gmtime(&t, &_tm);
    return 0;
}

With regards to the preceding comment that says gmtime_r doesn't always return a pointer: if this is still true then it would be worth the effort to at least integrate this patch for systems where it does work and handle other systems with ifdefs. The use of this function extends into OCSP-related functions and it'd be a shame if things malfunctioned due to an uninitialized struct tm (that could have security ramifications as well if the purported time variables ever leave the system..).

It took me a while, but here it is.

I would apply this on all branches

In 1.0.2, b70dc3a; in 1.1.0 07bc93f; and in master, 7c12035.  thanks!

hi， @richsalz
In vxworks 5.5 system, I discover  the return value of gmtime_r is different in kernel mode and user mode.In kernel mode, gmtime_r always returns 0，and return pointer in user mode.Have you tested this?
How can I modify it?  Is there a macro to distinguish between kernel mode and user mode?
https://github.com/openssl/openssl/blob/8c00f267b8df1a8c70eff8198de40aa561299e48/crypto/o_time.c#L40-L43

I am only replying because you at'ed me. :)  To answer your questions: I do not know.

@levitte  hi,
https://github.com/openssl/openssl/pull/1613#issuecomment-516793955 The  issue，Can you help me answer the above question? and I would like to  modify my code  in the vxworks5.5. Do you have a better idea?
#elif defined(OPENSSL_SYS_VXWORKS)
     gmtime_r(timer, result);
     ts = result;
#elif defined(OPENSSL_THREADS) && !defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_SYS_MACOSX)
     if (gmtime_r(timer, result) == NULL)
         return NULL;
     ts = result;
#elif defined (OPENSSL_SYS_WINDOWS) && defined(_MSC_VER) && _MSC_VER >= 1400
    if (gmtime_s(result, timer))
        return NULL;
    ts = result;
#else
    ts = gmtime(timer);
    if (ts == NULL)
        return NULL;


Initial stab at an expected platform list

Description
Starting with a list of expected platforms that we should be generating artifacts for. Initial list is from 18.3.x current channel list from omnitruck.
Related Issue

Types of changes

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

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] If Gemfile.lock has changed, I have used --conservative to do it and included the full output in the Description above.
[ ] All new and existing tests passed.
[X] All commits have been signed-off for the Developer Certificate of Origin.

Should Rocky by listed after Windows or should it be in with the other Linuces* I suggest that to keep platform families together for readability and clarity

@johnmccrae it can be, this was just generated from current omnitruck.


Fix Autonomous Base module looping code

The current code for telling if we have another module to deal with is currently flawed. Need to create a test case

Fixed in 6417993. Planing to add tests to API soon. Will probably move to have this repository be a ready to go FTC SDK instance and create releases for the actual code


Regarding the issue of ABCDs detector

I am experiencing a persistent 500 Internal Server Error while executing API calls within my Google Cloud project. This error occurs specifically when invoking certain Google Cloud services, and the error message indicates an internal server issue.
Details:
Error Message: 500 Internal Error encountered.
Error Type: _InactiveRpcError
Status Code: StatusCode.INTERNAL
Debug Error String: UNKNOWN:Error received from peer ipv4:<IP_ADDRESS>:443 {created_time:"2024-08-15T09:46:34.682963656+00:00", grpc_status:13, grpc_message:"Internal error encountered."}
Context:
The error arises when executing the detect_quick_pacing function within my Python application. This function is used to process and analyze video files stored in Google Cloud Storage.
The function involves interacting with various Google Cloud APIs, including video processing and machine learning services.
I have verified that the bucket name, video URIs, and all relevant configurations are correct.
The issue seems to be unrelated to the size of the video files or the specific dataset being used, as the error occurs consistently.
Troubleshooting Steps Taken:
Verified Google Cloud service status and found no ongoing outages.
Double-checked API quotas and limits to ensure compliance.
Implemented additional logging and exception handling in my code.
Attempted retries with exponential backoff.
Ensured all libraries and dependencies are up to date
.
Given these circumstances, I am requesting your assistance in diagnosing and resolving this issue. Could you please provide guidance on:
Possible causes of the 500 Internal Server Error in this context.
Steps to further troubleshoot or resolve the issue.
Any additional logs or information you may require from my side.
Your prompt assistance in this matter would be greatly appreciated, as it is crucial for the timely execution of our video analysis tasks.
Thank you for your support.

Hi, this issue is related to the way the new vertex AI throws quota exceptions.  Its happening on that call because thats when y the code hits the quota limit.  We have reproduced this and patched it on the paul_changes branch. We'll be merging into main in the future.


chef_12.4.0~rc.2 - Option action must be equal to one of: enable, disable!  You passed :nothing.

Hello! We've gotten a bug report on the chef slack handler cookbook that uses the chef_handler cookbook like so:
chef_handler "Chef::Handler::Slack" do
  source handler_file
  arguments [
              node['chef_client']['handler']['slack']
            ]
  action :nothing
end.run_action(:enable)

In chef 12.3, this works great. When I upgrade to the 12.4 rc2 release candidate, it breaks with:
         ================================================================================
         Recipe Compile Error in /tmp/kitchen/cache/cookbooks/slack_handler/recipes/default.rb
         ================================================================================

         Chef::Exceptions::ValidationFailed
         ----------------------------------
         Option action must be equal to one of: enable, disable!  You passed :nothing.

       Cookbook Trace:
         ---------------
           /tmp/kitchen/cache/cookbooks/slack_handler/recipes/default.rb:47:in `block in from_file'
           /tmp/kitchen/cache/cookbooks/slack_handler/recipes/default.rb:42:in `from_file'

       Relevant File Content:
         ----------------------
         /tmp/kitchen/cache/cookbooks/slack_handler/recipes/default.rb:

          40:  end.run_action(:create)
          41:
          42:  chef_handler "Chef::Handler::Slack" do
        43:    source handler_file
          44:    arguments [
          45:                node['chef_client']['handler']['slack']
          46:              ]
          47>>   action :nothing
          48:  end.run_action(:enable)
          49:

In currently released versions, :nothing is common to all resources. Did this change in 12.4?

This change appears to have been made in https://github.com/chef/chef/commit/236570dc9605ac312b44508b1c3a6a0e7c19b4dc by @jkeiser. :nothing is no longer an allowed action on any resource subclassed from lib/chef/resource.rb.

It's supposed to be common.  Looking.

@martinb3 when I run this cookbook on master of chef, it seems to run the right action:
class X < Chef::Resource
  allowed_actions :enable, :disable
end

x 'foo' do
  action :nothing
end

Yields this:
~/s/chef> bundle exec chef-apply x.rb
Recipe: (chef-apply cookbook)::(chef-apply recipe)
  * x[foo] action nothing (skipped due to action :nothing)

@jkeiser I don't have an environment setup where I can test against master -- perhaps this is just something wrong with the 12.4 release candidate? I've had two different users of the cookbook report it, so even if it's fixed in master, what should I do let the release managers know? Can you confirm you see it in the 12-stable branch?

I found a way to reproduce, I'll look at a fix tomorrow!

@jkeiser thanks! I hope I didn't call out your change as the breaking one unnecessarily; I appreciate the help!!

I might have found this as well, although not with action :nothing:
================================================================================
Recipe Compile Error in /var/chef/cache/cookbooks/sk_role_base/recipes/default.rb
================================================================================

Chef::Exceptions::ValidationFailed
----------------------------------
Option action must be equal to one of: install, upgrade, reconfig, remove, purge, install! You passed :remove.

Cookbook Trace:
---------------
/var/chef/cache/cookbooks/sk_ruby/recipes/ubuntu.rb:12:in `block in from_file'
/var/chef/cache/cookbooks/sk_ruby/recipes/ubuntu.rb:11:in `from_file'
/var/chef/cache/cookbooks/sk_ruby/recipes/default.rb:28:in `from_file'
/var/chef/cache/coo
kbooks/sk_app_base/recipes/ruby_install.rb:1:in `from_file'
    /var/chef/cache/cookbooks/sk_app_base/recipes/default.rb:4:in `from_file'
    /var/chef/cache/cookbooks/sk_role_base/recipes/unix.rb:16:in `from_file'
    /var/chef/cache/cookbooks/sk_role_base/recipes/default.rb:5:in `from_file'

  Relevant File Content:
  ----------------------
  /var/chef/cache/cookbooks/sk_ruby/recipes/ubuntu.rb:

    5:  pkgs_remove = %w{ ruby ruby1.9.1 ruby1.9.3 ruby1.9.1-dev libruby1.9.1 libruby-extras libruby1.8-extras }
    6:
    7:  if node['platform'] == 'ubuntu' && node['platform_version'].to_f < 14.04
    8:    pkgs_remove += %w{ ruby1.8-dev rubygems rubygems1.8 }
    9:  end
   10:
   11:  multipackage pkgs_remove do
   12>>   action :remove
   13:  end
   14:
   15:  # install packages necessary to build
   16:  multipackage_install %w{ wget zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev }
   17:
   18:  if node['platform'] == 'ubuntu' && node['platform_version'].to_f < 11.10
   19:    multipackage_install "libreadline5-dev"
   20:  else
   21:    multipackage_install "libreadline6-dev"

  Running handlers:
  Running handlers complete
  Chef Client failed. 0 resources updated in 22.645040132 seconds

# cat /var/chef/cache/chef-stacktrace.out
Generated at 2015-06-15 18:00:36 -0700
Chef::Exceptions::RunFailedWrappingError: Found 1 errors, they are stored in the backtrace
1) Chef::Exceptions::ValidationFailed - Option action must be equal to one of: install, upgrade, reconfig, remove, purge, install! You passed :remove.
/opt/chef/embedded/apps/chef/lib/chef/mixin/params_validate.rb:143:in `_pv_equal_to'
/opt/chef/embedded/apps/chef/lib/chef/mixin/params_validate.rb:70:in `block (2 levels) in validate'
/opt/chef/embedded/apps/chef/lib/chef/mixin/params_validate.rb:67:in `each'
/opt/chef/embedded/apps/chef/lib/chef/mixin/params_validate.rb:67:in `block in validate'
/opt/chef/embedded/apps/chef/lib/chef/mixin/params_validate
.rb:57:in `each'
/opt/chef/embedded/apps/chef/lib/chef/mixin/params_validate.rb:57:in `validate'
/opt/chef/embedded/apps/chef/lib/chef/resource.rb:183:in `block in action'
/opt/chef/embedded/apps/chef/lib/chef/resource.rb:182:in `each'
/opt/chef/embedded/apps/chef/lib/chef/resource.rb:182:in `action'
/var/chef/cache/cookbooks/sk_ruby/recipes/ubuntu.rb:12:in `block in from_file'
/opt/chef/embedded/apps/chef/lib/chef/resource_builder.rb:77:in `instance_eval'
/opt/chef/embedded/apps/chef/lib/chef/resource_builder.rb:77:in `build'
/opt/chef/embedded/apps/chef/lib/chef/dsl/recipe.rb:110:in `build_resource'
/opt/chef/embedded/apps/chef/lib/chef/dsl/recipe.rb:71:in `declare_resource'
/opt/chef/embedded/apps/chef/lib/chef/dsl/resources.rb:14:in `multipackage'
/var/chef/cache/cookbooks/sk_ruby/recipes/ubuntu.rb:11:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `instance_eval'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/cookbook_version.rb:228:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:174:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:143:in `block in include_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:142:in `each'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:142:in `include_recipe'
/opt/chef/embedded/apps/chef/lib/chef/dsl/include_recipe.rb:26:in `include_recipe'
/var/chef/cache/cookbooks/sk_ruby/recipes/default.rb:28:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `instance_eval'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/cookbook_version.rb:228:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:174:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:143:in `block in include_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:142:in `each'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:142:in `include_recipe'
/opt/chef/embedded/apps/chef/lib/chef/dsl/include_recipe.rb:26:in `include_recipe'
/var/chef/cache/cookbooks/sk_app_base/recipes/ruby_install.rb:1:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `instance_eval'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/cookbook_version.rb:228:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:174:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:143:in `block in include_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:142:in `each'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:142:in `include_recipe'
/opt/chef/embedded/apps/chef/lib/chef/dsl/include_recipe.rb:26:in `include_recipe'
/var/chef/cache/cookbooks/sk_app_base/recipes/default.rb:4:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `instance_eval'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/cookbook_version.rb:228:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:174:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:143:in `block in include_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:142:in `each'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:142:in `include_recipe'
/opt/chef/embedded/apps/chef/lib/chef/dsl/include_recipe.rb:26:in `include_recipe'
/var/chef/cache/cookbooks/sk_role_base/recipes/unix.rb:16:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `instance_eval'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/cookbook_version.rb:228:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:174:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:143:in `block in include_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:142:in `each'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:142:in `include_recipe'
/opt/chef/embedded/apps/chef/lib/chef/dsl/include_recipe.rb:26:in `include_recipe'
/var/chef/cache/cookbooks/sk_role_base/recipes/default.rb:5:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `instance_eval'
/opt/chef/embedded/apps/chef/lib/chef/mixin/from_file.rb:30:in `from_file'
/opt/chef/embedded/apps/chef/lib/chef/cookbook_version.rb:228:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:174:in `load_recipe'
/opt/chef/embedded/apps/chef/lib/chef/run_context/cookbook_compiler.rb:140:in `block in compile_recipes'
/opt/chef/embedded/apps/chef/lib/chef/run_context/cookbook_compiler.rb:138:in `each'
/opt/chef/embedded/apps/chef/lib/chef/run_context/cookbook_compiler.rb:138:in `compile_recipes'
/opt/chef/embedded/apps/chef/lib/chef/run_context/cookbook_compiler.rb:75:in `compile'
/opt/chef/embedded/apps/chef/lib/chef/run_context.rb:97:in `load'
/opt/chef/embedded/apps/chef/lib/chef/policy_builder/expand_node_object.rb:87:in `setup_run_context'
/opt/chef/embedded/apps/chef/lib/chef/client.rb:480:in `setup_run_context'
/opt/chef/embedded/apps/chef/lib/chef/client.rb:266:in `run'
/opt/chef/embedded/apps/chef/lib/chef/application.rb:252:in `run_with_graceful_exit_option'
/opt/chef/embedded/apps/chef/lib/chef/application.rb:229:in `block in run_chef_client'
/opt/chef/embedded/apps/chef/lib/chef/local_mode.rb:39:in `with_server_connectivity'
/opt/chef/embedded/apps/chef/lib/chef/application.rb:212:in `run_chef_client'
/opt/chef/embedded/apps/chef/lib/chef/application/client.rb:375:in `run_application'
/opt/chef/embedded/apps/chef/lib/chef/application.rb:60:in `run'
/opt/chef/embedded/apps/chef/bin/chef-client:26:in `<top (required)>'
/usr/bin/chef-client:53:in `load'
/usr/bin/chef-client:53:in `<main>'#


feat: add support for middlewares

Create api to assign global, controller level and method level middlewares.

https://github.com/msabo1/expressts/commit/0920b2d80acdb0222707161db2d273eb08780096