Add Job Summary and PR comment

Description
Being able to view a summary of the PaC results as a job summary and as a comment when running in a PR, as opposed to the current error and warning annotations visible when you view the run of the action, would greatly improve the user experience for developers. This would be particularly useful for teams that use PaC as check on their PRs.
Potential Solution
Add the ability to enable PR comments with an argvs flag, similar to --display. Adding the flag would cause PaC to add a comment to the PR if it is running in a PR and have no effect otherwise.
The comment should include an indication of the status of the policy checks. For example, how many violations were found for each technology type. When the --display flag is enabled, it could also add information about the violations in a list or table format, allowing devs to easily identify the source(s) of the violations.
This would involve:

Adding an argvs flag for enabling the PR comment, e.g. --pr-comment
Tracking policy warnings and violations instead of just tracking the number of warnings and violations
Building a summary of the results, either during the checks or afterwards
Output the summary to both the Job Summary output (viewable in the Summary view of the workflow run) and as a comment in the PR (when the flag is enabled, and the action runs in a PR)

Would potentially include some changes to ghastoolkit to help enable these changes.
Examples
Example without --display enabled:

Example with --display enabled:

@Pradoxzon I love this idea! Two main things on this. First is that I want to start moving away from argvs as this has become annoying for users.
The second is that this could be a feature for Policy v3 and set this in the policy file itself. I have a new block for displaying content to the user but only in the stdout versus anywhere else. This definitely could be a feature in there.

@GeekMasher I agree, moving away from argvs would be nice.
For implementation in Policy v3, the example you have in that linked file looks good. Though how would a user configure the policy if they want the PR comment but without the full list/breakdown of the alerts that caused violations? Like in the first example image above.
For the Job Summary output, my initial thought was to have it always enabled and just have it show more or less detail (e.g. the difference in the example images) based on the display flag. Without the display flag, it wouldn't show any details that aren't available by looking at the output of the workflow run, but it alleviates the need for users to dig through the log output.
Also, would it be ok if I submit a draft PR of my pass at adding this functionality to the current version of PaC? I already took a pass at adding it since I was looking to use the functionality for my users and got it to a working state. It could at least be used as a reference for implementing in v3.

Though how would a user configure the policy if they want the PR comment but without the full list/breakdown of the alerts that caused violations?

Agree, maybe 2 settings?

pr-summary for a summary (first example) and;
pr-detailed for all details (second example).

display:
  pr-summary: false
  pr-detailed: true
  # if both are set, detailed takes priority

I'm up for other suggestions on this

pr-summary for a summary (first example) and;
pr-detailed for all details (second example).

display:
  pr-summary: false
  pr-detailed: true
  # if both are set, detailed takes priority

I'm up for other suggestions on this

How about:
display:
  # Applies to both PR comments and the Job Summary
  detailed: true
  # Enables/disables the PR comment
  pr-summary: false

pr-summary for a summary (first example) and;
pr-detailed for all details (second example).

display:
  pr-summary: false
  pr-detailed: true
  # if both are set, detailed takes priority

I'm up for other suggestions on this

How about:
display:
  # Applies to both PR comments and the Job Summary
  detailed: true
  # Enables/disables the PR comment
  pr-summary: false

I like it. Keeps it simple and if you want details, you would probably want it in both places.

Had a couple more thoughts from the conversation in #44 about if the PR comment should be default enabled/disabled.
My vote is to keep the feature as default disabled in v2.X, then change it to be default enabled in v3.
In v2, the PR comment feature was added in a minor/dot release, and it is a noticeable difference in behavior when enabled. Leaving it as default disabled allows users to decide to use the new feature only if they are aware of it and choose to enable it.
Whereas with v3 being a major release with a vast amount of other breaking changes, flipping the feature to default enable at this point would be generally easier for users to handle.


sacctmgr error when running in job context

Two things prevent the use of this plugin on our cluster:

The slurm.cfg file used for the cluster is in a non-standard location
Our admins prefer us to not run anything on the login node

In order to make many of the common SLURM tools work, users of our cluster need to have SLURM_CONFIG set in their environment. Since all environmental variables prefixed with 'SLURM_*' are wiped if the plugin sees SLURM_JOB_ID, this results in sacctmgr and sinfo exiting with an error:
WorkflowError:
Unable to test the validity of the given or guessed SLURM account 'xyz' with sacctmgr: sacctmgr: error: resolve_ctls_from_dns_srv: res_nsearch error: Unknown host
sacctmgr: error: fetch_config: DNS SRV lookup failed
sacctmgr: error: _establish_config_source: failed to fetch config
sacctmgr: fatal: Could not establish a configuration source

This seems like an unintended consequence and could be easily fixed by not removing SLURM_CONFIG.
The issue can be avoided by running:
unset SLURM_JOB_ID

Personally, I think it would be nice to set the values for slurm_account / slurm_partition via env vars (as srun / sbatch do) and, to me this seems like a sensible way to determine a default value.
Thanks for your work and continuing to help the community!
$ snakemake --version
8.25.1

$ mamba list | grep "snakemake-executor-plugin-slurm"
snakemake-executor-plugin-slurm 0.11.1             pyhdfd78af_0    bioconda
snakemake-executor-plugin-slurm-jobstep 0.2.1              pyhdfd78af_0    bioconda

$ sinfo --version
slurm 23.02.7

Thanks for reporting: I will look into it. Thankfully, you provided the solution along with the report. Meanwhile, I think the unsetting of SLURM variables will not help at all. According to SchedMD's documentation, the built-in variables are always exported. The solution must be in setting job parameters explicitly, always. Could you test code during a few iterations? I'm afraid, I might only get to it on Thursday or Friday, though.
NB:

Our admins prefer ...

Yes, I got this nonsense a lot. As if it hurts anyone, when someone produces a plot within a few seconds on a login node. (Or runs a workflow manager, which consumes about as much CPU power during the run of a workflow.)


More inputs for context switches?

Hi there! I love your context nodes. I only wish there would be more possible inputs for the context switches. 5 are not enough for me ^^. Is that already possible, or maybe a good idea for the future?

Makes sense to me. Added infinite ctx_xx inputs to Context Switch, Context Merge, and their Context Big versions. Each time you add a context input at the last position (after 5), a new empty one should appear after it.


Added initial data protection documentation.

Initial commit for  #84

Hi @blowdart, I'm your friendly neighborhood Microsoft Open Technologies, Inc. Pull Request Bot (You can call me MSOTBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.msopentech.com.

TTYL, MSOTBOT;

Silly CLA bot :)

8956be165366ceb9830476afb0b173fe5d4c5309

Fixes https://github.com/aspnet/Docs/issues/91


Bug fix revert

git revert READ.md

Successfully merging this pull request may close these issues
git revert READ.md


Revert "version change: web_hosting_manager 0.4.1"

Reverts maidsafe/safe_examples#298

r? @ustulation
(maidsafe_highfive has picked a reviewer for you, use r? to override)


feat(storage): support setting minimum spill batch flush size

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Previously, we have a shared buffer flush ratio. When the shared buffer usage exceeds this ratio, we will trigger some flush task to release the memory usage. We will keep triggering new flush tasks until the unflushed_ratio (as total_usage - total_task_size) is below the flush ratio. However, under this implementation, it may happen that, let's say to flush ratio has reached 81%, and we will start flushing. However, after generating a flush task of size ratio as 2%, the unflushed_ratio gets 79%, which is below 80%, and then we will stop generating new flush task. Later when a small imm is added again, we will repeatedly only generate small flush task and then stop, which causes a great number of small flush tasks, and small files.
In this PR, we add a new config min_batch_flush_size, which means that, when spill happens, we will keep generating new flush tasks until the total task exceeds this size. In the example above, let's say this size is set as 20% of shared buffer capacity. When the current usage is 81%, and we start generating new flush task, we will not stop generating new task when we have a flush task of size ratio as 2%. We will keep generating new task until we have generating flush task of total size ratio as more than 20%. In this way, we can avoid keeping triggering spill, and generating a lot of small flush tasks and small files.
Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[x] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

Copied the unit test added in https://github.com/risingwavelabs/risingwave/pull/15832 by @Little-Wallace .
The new ut will fail when we set the shared_buffer_min_batch_flush_size to 0 to disable the feature added in this PR. After we set the size to a non-zero value, the test passes.


Bug 2138664: Fix additional resources creation

📝 Description
filters resources array splitting VM with other resources (we need or not and)

/bugzilla refresh


Fixed error in the RavenAuthClient redirect method

See https://github.com/danielchatfield/wordpress-raven-auth/issues/7

Thanks


Teku with initial state on Prater needs to reorg initially

Description
This may not be a Teku issue, it might be an issue with the Prater state Infura delivered. It may also not be an issue at all.
With a fresh Teku getting state from Infura on Prater, Teku was on a fork and had to reorg blocks a few times before it started following the beacon chain.
beacon_1                   | 21:32:08.198 INFO  - Loading initial state from https://eth2-beacon-prater.infura.io/eth/v1/debug/beacon/states/finalized
beacon_1                   | 21:32:08.820 INFO  - Loaded 2 Validators: b53146a, 98139b0
beacon_1                   | 21:32:13.286 INFO  - Loaded initial state at epoch 9743 (state root = 0x230da703f36b163bada2c321b5e801a52df19c7b4a3248109ae923d0de0b052c, block root = 0xb25aec8e97be59336cdf96c8844bf4ceacd9b352dec0b97a678a39dc3083de7d, block slot = 311776).  Please ensure that the supplied initial state corresponds to the latest finalized block as of the start of epoch 9743 (slot 311776).
beacon_1                   | 21:32:13.859 INFO  - Generated new p2p private key and storing in: generated-node-key
beacon_1                   | 21:32:14.175 INFO  - PreGenesis Local ENR: enr:-KG4QA_UjoHmq1UW7nwvu7y0jVSds4NXEtE0ZSxo_Cfldki2c7uUWkI6ny8xVDRRvOTYp4bRtmiRGkQ_GvYa3H7igTIChGV0aDKQ5L6TkwAAECD__________4JpZIJ2NIJpcITAqFADiXNlY3AyNTZrMaECOhbAYIBJvDawCkLa8vZatW30cfztcrzLlVqN_kc9efODdGNwgiMog3VkcIIjKA
beacon_1                   | 21:32:14.183 INFO  - Using multipeer sync
beacon_1                   | 21:32:14.235 INFO  - rest-api-enabled is false, not starting rest api.
beacon_1                   | 21:32:14.430 INFO  - Starting libp2p network...
beacon_1                   | 21:32:14.520 INFO  - Listening for connections on: /ip4/<IP_ADDRESS>/tcp/9000/p2p/16Uiu2HAkyLRkLVGodyHTWNELiTdCS7aWwEwKBFJQ8Sygw46jaW1x
beacon_1                   | 21:32:14.524 INFO  - Starting discovery server on UDP port 9000
beacon_1                   | 21:32:14.553 INFO  - UDP discovery client started
beacon_1                   | 21:32:14.561 INFO  - Begin historical sync of blocks prior to slot 311776
beacon_1                   | 21:32:14.589 INFO  - Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
beacon_1                   | 21:32:14.778 INFO  - Local ENR: enr:-KG4QNIfH1rJzmTDmeJ7chwKXY4Ail_33RXXZhJ3PTzXI8KXW_LLc3any4g6GK6t_BARkZgnkn4cpbu5jGritJFMKhcDhGV0aDKQed8EKAAAECD__________4JpZIJ2NIJpcITAqFADiXNlY3AyNTZrMaECOhbAYIBJvDawCkLa8vZatW30cfztcrzLlVqN_kc9efODdGNwgiMog3VkcIIjKA
beacon_1                   | 21:32:14.786 INFO  - Starting eth2 gossip
beacon_1                   | 21:32:14.912 INFO  - Successfully loaded deposits up to Eth1 block 4738682
beacon_1                   | 21:32:16.095 INFO  - Sync Event  *** Current slot: 311861, Head slot: 311776, Connected peers: 1
beacon_1                   | 21:32:24.841 INFO  - Sync Event  *** Current slot: 311862, Head slot: 311795, Connected peers: 1
beacon_1                   | 21:32:36.509 INFO  - Sync Event  *** Current slot: 311863, Head slot: 311827, Connected peers: 1
beacon_1                   | 21:32:52.611 INFO  - Slot Event  *** Slot: 311864, Block:    ... empty, Epoch: 9745, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 1
beacon_1                   | 21:33:04.174 INFO  - Slot Event  *** Slot: 311865, Block:    ... empty, Epoch: 9745, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 1
beacon_1                   | 21:33:16.172 INFO  - Slot Event  *** Slot: 311866, Block:    ... empty, Epoch: 9745, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 1
beacon_1                   | 21:33:28.279 INFO  - Slot Event  *** Slot: 311867, Block:    ... empty, Epoch: 9745, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 1
beacon_1                   | 21:33:40.295 INFO  - Slot Event  *** Slot: 311868, Block:    ... empty, Epoch: 9745, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 1
beacon_1                   | 21:33:52.167 INFO  - Slot Event  *** Slot: 311869, Block:    ... empty, Epoch: 9745, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 1
beacon_1                   | 21:34:04.166 INFO  - Slot Event  *** Slot: 311870, Block:    ... empty, Epoch: 9745, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 1
beacon_1                   | 21:34:15.514 WARN  - Unable to retrieve status for validator b53146a.
beacon_1                   | 21:34:15.514 INFO  - Validator 98139b0 status is active_ongoing.
beacon_1                   | 21:34:15.538 INFO  - Validator   *** Published attestation  Count: 1, Slot: 311867, Root: ca733b..9df0
beacon_1                   | 21:34:16.192 INFO  - Slot Event  *** Slot: 311871, Block:    ... empty, Epoch: 9745, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 1
beacon_1                   | 21:34:24.090 INFO  - Epoch Event *** Epoch: 9746, Justified checkpoint: 9744, Finalized checkpoint: 9743, Finalized root: b25aec..de7d
beacon_1                   | 21:34:24.091 INFO  - Updating number of persistent subnet subscriptions from 0 to 1
beacon_1                   | 21:34:28.180 INFO  - Slot Event  *** Slot: 311872, Block:    ... empty, Epoch: 9746, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 1
beacon_1                   | 21:34:40.180 INFO  - Slot Event  *** Slot: 311873, Block:    ... empty, Epoch: 9746, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 1
beacon_1                   | 21:34:52.182 INFO  - Slot Event  *** Slot: 311874, Block:    ... empty, Epoch: 9746, Finalized checkpoint: 9743, Finalized root: b25aec..de7d, Peers: 2
beacon_1                   | 21:34:53.044 INFO  - Chain reorg at slot 311874 from ca733b..9df0 to 9f5090..5a0c. Common ancestor at slot 311861
beacon_1                   | 21:34:53.653 INFO  - Chain reorg at slot 311874 from 9f5090..5a0c to f652c4..719e. Common ancestor at slot 311862
beacon_1                   | 21:34:54.118 INFO  - Chain reorg at slot 311874 from f652c4..719e to 654015..979f. Common ancestor at slot 311863
beacon_1                   | 21:34:54.804 INFO  - Chain reorg at slot 311874 from 654015..979f to ccfffc..9c48. Common ancestor at slot 311864
beacon_1                   | 21:34:55.544 INFO  - Chain reorg at slot 311874 from ccfffc..9c48 to 4e18e1..1cea. Common ancestor at slot 311865
beacon_1                   | 21:34:56.209 INFO  - Chain reorg at slot 311874 from 4e18e1..1cea to e04eca..5199. Common ancestor at slot 311866
beacon_1                   | 21:34:56.639 INFO  - Chain reorg at slot 311874 from e04eca..5199 to 929a38..2844. Common ancestor at slot 311867
beacon_1                   | 21:34:57.108 INFO  - Chain reorg at slot 311874 from 929a38..2844 to cae54c..be02. Common ancestor at slot 311868
beacon_1                   | 21:34:57.648 INFO  - Chain reorg at slot 311874 from cae54c..be02 to ecbf8e..3731. Common ancestor at slot 311869
beacon_1                   | 21:34:58.958 INFO  - Chain reorg at slot 311874 from ecbf8e..3731 to 47b927..8c4d. Common ancestor at slot 311870
beacon_1                   | 21:35:00.667 INFO  - Chain reorg at slot 311874 from 47b927..8c4d to 586c2b..8872. Common ancestor at slot 311871
beacon_1                   | 21:35:01.268 INFO  - Chain reorg at slot 311874 from 586c2b..8872 to 8e9252..2457. Common ancestor at slot 311872
beacon_1                   | 21:35:01.503 INFO  - Chain reorg at slot 311874 from 8e9252..2457 to ba7398..eade. Common ancestor at slot 311873
beacon_1                   | 21:35:04.496 INFO  - Slot Event  *** Slot: 311875, Block:    ... empty, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 2
beacon_1                   | 21:35:16.183 INFO  - Slot Event  *** Slot: 311876, Block:    ... empty, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 2
beacon_1                   | 21:35:28.154 INFO  - Slot Event  *** Slot: 311877, Block:    ... empty, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 1
beacon_1                   | 21:35:28.169 INFO  - Validator   *** Published attestation  Count: 1, Slot: 311877, Root: ba7398..eade
beacon_1                   | 21:35:40.154 INFO  - Slot Event  *** Slot: 311878, Block:    ... empty, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 1
beacon_1                   | 21:35:52.159 INFO  - Slot Event  *** Slot: 311879, Block:    ... empty, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 1
beacon_1                   | 21:36:03.521 INFO  - Chain reorg at slot 311879 from ba7398..eade to fcf057..dd1f. Common ancestor at slot 311874
beacon_1                   | 21:36:03.892 INFO  - Chain reorg at slot 311879 from fcf057..dd1f to 2ee150..1c00. Common ancestor at slot 311875
beacon_1                   | 21:36:04.158 INFO  - Chain reorg at slot 311879 from 2ee150..1c00 to 6e3c6c..5e8d. Common ancestor at slot 311876
beacon_1                   | 21:36:04.311 INFO  - Slot Event  *** Slot: 311880, Block:    ... empty, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 2
beacon_1                   | 21:36:04.775 INFO  - Chain reorg at slot 311880 from 6e3c6c..5e8d to 17bd3c..830b. Common ancestor at slot 311877
beacon_1                   | 21:36:05.192 INFO  - Chain reorg at slot 311880 from 17bd3c..830b to 413e83..1c48. Common ancestor at slot 311878
beacon_1                   | 21:36:05.590 INFO  - Chain reorg at slot 311880 from 413e83..1c48 to 9eea96..dc40. Common ancestor at slot 311879
beacon_1                   | 21:36:16.211 INFO  - Slot Event  *** Slot: 311881, Block: 9d6a42..e29d, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 2
beacon_1                   | 21:36:28.235 INFO  - Slot Event  *** Slot: 311882, Block: 07ec0b..078e, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 10
beacon_1                   | 21:36:40.207 INFO  - Slot Event  *** Slot: 311883, Block: a3ea1e..05d9, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 11
beacon_1                   | 21:36:52.222 INFO  - Slot Event  *** Slot: 311884, Block: 622b47..4552, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 11
beacon_1                   | 21:37:04.184 INFO  - Slot Event  *** Slot: 311885, Block: 042328..5986, Epoch: 9746, Finalized checkpoint: 9744, Finalized root: 6ff364..4c42, Peers: 15

Versions (Add all that apply)

Software version: teku/v21.4.1/linux-x86_64/oracle_openjdk-java-15
OS Name & Version: Ubuntu 20.04

Not an issue with Teku, there are a few odd Prater peers out there. When peering picks up, Teku reorgs and gets back to the main chain. Closing.

From what I can see all the reorg messages there are actually just empty slots being filled with blocks. https://www.symphonious.net/2020/07/06/exploring-ethereum-2-the-curious-case-of-the-invisible-fork/ explains all the background of why Teku treats this as a reorg.  Since it's starting from the latest finalized state, it still has to sync the non-finalised part of the chain.
When Teku is in sync mode (ie it knows it's a long way behind) it suppresses all these reorg events because there's no point, but when it's close to being in sync it can't be sure if there are more blocks to sync or if there's just empty slots.  In this case it seems to have dropped out of sync mode a bit sooner than is ideal and so wound up logging a reorg event for each of the last few blocks it imported.  You can see that as it switched from Sync Event to Slot Event.  I suspect what happened is that one peer it first had either wasn't in sync or wound up not gossiping blocks to us for some reason. So we caught up to head but weren't yet getting a good view of the new blocks being gossiped. It then took a little while to go back and request the blocks we missed from gossip as you have to request them one at a time walking back up the chain.  Once we got them they got imported (causing the spate of reorg events). Things settle down once we get a few more peers and start receiving gossip reliably.


[core] Long (several thousand char) lines get incorrect cursor position

It seems like a rounding error that gets magnified enough to be visible at around 5000-15000 columns. How feasible would it be to fix?

Which browser, and which font? I can't reproduce this on the demo pages in Chrome 52

Sorry, it appears to depend on what string you use. I couldn't repro it with just a string of as, but the following works on codemirror.net:
document.querySelector('#demolist').style.display = 'none';
let val = 'long ';
while (val.length < 20000) { val += val; }
editor.setValue(val);
editor.setCursor({line: 0, ch: 8000});

If you then click in the editor, you should see the cursor in the middle of the character.

It seems to only happen on Chrome, inside extremely long text nodes (i.e. lines without highlighting, or with a single style throughout). So the ultimately responsible party here is Chrome for returning inaccurate client rects for text in such long text nodes.
There was already a ceiling on the size of a token, to work around another Webkit issue where it would just fail to render text nodes longer than 57444 chars. Attached patch lowers that to 5000, which seems to resolve this issue.


Passing Arguments

How can I add the information? Ex. --username

How can I add the information? Ex. --username

python main.py --username="Bob"

I'm getting invalid syntax all the time. Currently using Spyder. By the way, would you recommend any other like Pycharm or Google collab for the script? Real noob here guys. I see the code with shining eyes of someone that will try to learn all that in the future. lol

Just gonna leave it the output here so someone can help me when they see it
python main.py<EMAIL_ADDRESS>*******  https://www.nike.com/launch/t/dunk-low-ceramic 9.5
File "", line 1
python main.py<EMAIL_ADDRESS>*******  https://www.nike.com/launch/t/dunk-low-ceramic 9.5
^
SyntaxError: invalid syntax


Toastr is not defined

I'm trying to use toastr with requirejs but i can't get i work i've got this error :
toastr is not defined !
My requirejs config is clean because the toastr script is load after jquery so ...

thomasspons - what did you do to resolve this? I'm having the exact same issue.


Deploy admin site to Cloudflare Workers Sites

Administrative Info
Monday Board ID: 853642866
Changes
Set up CI to auto-deploy the admin site to
volunteers-staging.wordsalive.org and volunteers.wordsalive.org on merge
to main and on tag, respectively.
The admin site is built using npm run build:prod, which creates a
production-ready bundle, which is then published to Cloudflare Workers
Sites. I considered GitHub pages too, but there's no easy way to have
separate staging and production environments in one repo. We're already
using CF for DNS/TLS and Workers has a pretty good free plan, so I went
with that.
Workers config lives in web/wrangler.toml and web/workers-site.
Testing
The action was tested on my fork, see https://github.com/dacruz21/WA-Family-Literacy-Application/runs/2503306939?check_suite_focus=true for the logs.
Confirmation of Change

i didnt write the code but thx ig :|


Clustering with nodes behind NAT

Hi Guys,
I try to setup clustering between 2 DCs where nodes are behind NAT  (docker with host network, but that shouldn't matter here)
DC A internal node IP is:  <IP_ADDRESS>
DC B internal node IP is: <IP_ADDRESS>
DC B has this config:
listener.vmq.clustering = <IP_ADDRESS>:44053

As I saw in other issues it's expected to be the defined 'private IP'
Cluster is forming nice:
root@ip-172-21-24-56:/docker/vernemq# docker exec -it vernemq vmq-admin cluster show
+--------------------------------+---------+
| Node                           | Running |
+-------------------------------+----------+
|<EMAIL_ADDRESS>  | true    |
+-------------------------------+---------+
|<EMAIL_ADDRESS>  | true    |
+-------------------------------+---------+

The problem is the following: DC A node has these logs:
08:58:36.247 [debug] started plumtree_metadata_manager exchange with<EMAIL_ADDRESS>(<0.2035.0>)
08:58:36.253 [debug] 0ms mailbox traversal, schedule next lazy broadcast in 10000ms, the min interval is 10000ms
08:58:36.531 [debug] completed metadata exchange with<EMAIL_ADDRESS>nothing repaired
08:58:43.454 [warning] can't connect to cluster node<EMAIL_ADDRESS>due to timeout

Last line is my problem. DC A node just exchanged info with DC B node, even the cluster is forming and it can't connect?
Spent the past couple of hours on this and found that DC A node tries to communicate DC B node on internal IP??? why is that?
Here is the relevant tcpdump from DC Node A:
root@ip-172-21-24-56:/docker/vernemq/etc# tcpdump -n -e -ttt -i eth0 host <IP_ADDRESS>
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
 00:00:00.000000 02:78:e8:35:fe:88 > 02:93:fd:43:02:56, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.60837 > <IP_ADDRESS>.44053: Flags [S], seq<PHONE_NUMBER>, win 62727, options [mss 8961,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
 00:00:03.861501 02:78:e8:35:fe:88 > 02:93:fd:43:02:56, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.52319 > <IP_ADDRESS>.44053: Flags [S], seq<PHONE_NUMBER>, win 62727, options [mss 8961,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
 00:00:01.002486 02:78:e8:35:fe:88 > 02:93:fd:43:02:56, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.52319 > <IP_ADDRESS>.44053: Flags [S], seq<PHONE_NUMBER>, win 62727, options [mss 8961,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
 00:00:02.016002 02:78:e8:35:fe:88 > 02:93:fd:43:02:56, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.52319 > <IP_ADDRESS>.44053: Flags [S], seq<PHONE_NUMBER>, win 62727, options [mss 8961,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0

Of course it's failing as there is not private connectivity between the two DCs.
I really expect to see traffic going to the NAT IP. It looks like EPMD somehow advertising the private IP address? can that be force overwritten somehow?
(Note: Under NAT IP I mean = external IP where extdnsDC2.fqdn.here points to)
And other traffic I see it's going right to external IP and port defined in erlang.distribution.port_range
Environment

VerneMQ Version:

root@ip-172-21-24-56:/docker/vernemq# docker exec -it vernemq vernemq version
1.10.3

OS:

root@ip-172-21-24-56:/docker/vernemq# uname -a
Linux ip-172-21-24-56 5.4.0-1009-aws #9-Ubuntu SMP Sun Apr 12 19:46:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
root@ip-172-21-24-56:/docker/vernemq# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"

Erlang/OTP version (if building from source):

root@ip-172-21-24-56:/docker/vernemq# docker pull vernemq/vernemq
Using default tag: latest
latest: Pulling from vernemq/vernemq
Digest: sha256:1e0f03db1a201406c84bd0e544250e28f64c4cf42c4fa34fefce19316a4b585e
Status: Image is up to date for vernemq/vernemq:latest
docker.io/vernemq/vernemq:latest

VerneMQ configuration (vernemq.conf) or the changes from the default
Cluster size/standalone: 2

Expected behavior

Should not see the con't connect to cluster node message

Actual behaviour

08:58:43.454 [warning] can't connect to cluster node<EMAIL_ADDRESS>due to timeout

The naming of listener.vmq.clustering is a little unfortunate for historical reasons.
This is not the actual clustering and metadata exchange layer. The listener on that port accepts connections from all other cluster nodes, to exchange MQTT messages exclusively.
That's the reason you see the error, which, I agree is confusing. And yes, this is normally not a port exposed to external world, as a VerneMQ cluster is built for LAN deployment.

I appreciate the answer @ioolkos .
I assume (whatever the name is) that this variable value is not just where VerneMQ listen/bind/accept connections, but it's also advertised through EPMD?
Is there no option to let the bind (listener) address and the advertised address be different?
"VerneMQ cluster is built for LAN deployment" < I read it on other issues - probably was answered by you that - it expects low latency and it might or might not work users who deploy it geographically different DCs.
Reading through docs (https://docs.vernemq.com/guides/typical-vernemq-deployment) it also suggest it's multiple nodes in same DC.
What I not found by myself in other threads/issues:
Can/how can someone deploy VerneMQ to geographically different regions in a production environment?
Thank you
environment?

@sooslaca I know that a couple users are experimenting along those ideas... vpc peering etc. I don't have extensive feedback on that.


Missing guide to show example

Hi, I would like a example to view the result.
Or how to run that file?
https://github.com/mboudreau/angular-mosaic/blob/master/src/index.html
Thanks

Hey, good point.  I've created this jsfiddle to help.  I'll add it to the readme.
Cheers.


Sa/readme update

Rename aws role arn naming

There are 3 commits with a same name. Could you actually rebase them to be just one?
Also see https://github.com/s-group-dev/ad-aws-login/blob/main/CONTRIBUTING.md for automatic versioning. A proper scheme for this PR title would be for example "fix: Rename AWS config role name"


Joint Accessor: add shortname method

Add a method to access the string describing the type of the joint (for display/debug purpose).

Related to PR #217.

Solved by #217.


Support dark traffic

Support dark traffic routing in Ambassador

Not entirely sure of the scope of this yet but we believe it's relatively straightforward to enable Envoy's shadow capabilities. This issue will be updated more on 2018-04-10 after further research discussion.
The big work around this is likely e2e tests and UX.

I've tested the shadow branch successfully with my config. We need some docs, and we should talk about the UX a little bit more before releasing. My thought is we might want to do shadow: True and keep the service parameter, instead of replacing service with shadow.


How download file directly one ftp to another ftp server

Hello everyone.I want to download file directly to another ftp.can you advise me ?

Sorry but FXP is hard, no plans right now unless a contributor decides to work on it. You will have to go the normal route (download to client, then upload). Or maybe if you have control of one of the servers to run an app, you can run a .net core app on one of them, use FluentFTP on that box and download directly to the file system. This would effectively transfer from server to server.

@robinrodricks Thanks for the answer.

@sergeu90  FXP is live with FluentFTP 31.3.0:

New: TransferFile and TransferDirectory methods to transfer files from server to server (thanks n0ix)
New: FXP (File Transfer Protocol) implementation to support direct server-to-server transfers (thanks n0ix)

Check it out and let us know!


Wallet Store vs. Workspace Store

Hi there! Fantastic adapter and thank you so much for putting this together! I didn't know where best to reach out (if there is a Discord server or something, please let me know). A few quick questions for you:

It seems like I can access the same info using either the Wallet Store or the Workspace Store (via provider.wallet). Is there a difference that I'm missing?
When building our Anchor/Mocha tests for our program, we often need to pass the Wallet Keypair as the signer (e.g., program.methods.my_function().accounts().signers([wallet]).rpc();). However, I didn't have to do that in the frontend at all. Is that expected? Only after I removed the .signers() call did it transact with my on-chain program.
Related to #2, how would I access (or am I not suppose to) the connected wallet's Keypair object? Can this be done or is it hidden for security purposes from the Phantom wallet?

Again, thank you so much for this helpful package and thanks for clarifying these questions for me.
Cheers!

Hi @gaylonalfano my apologies for my late reaction, I was some days off because vacations. Thanks so much for reaching me out, I will try to explain one by one your questions:

walletStore it not the same than workSpace. Both are Svelte stores but the first is the wallet itself, or in other words, the store is loaded every time you connect your wallet. The second one is a store mounted after the connection too, but with some useful data to be shared among your components. Why are they separated? workSpace store is different when you work with Anchor or Solana, and I didn't want to contaminate the walletStore with data with another purpose.
I don't understand very well your question, but it seems that is outside the scope of the wallet. When you test with Anchor/Mocha, you don't need to use the keypair coming from the wallet installed, or at least is not mandatory.
This is solved with the last update I made today. It should work everything ok.

Please, let me know if you have more questions. You can find me on Discord too silvestrevivo#8027

Thank you for the reply! I've been experimenting with this for the past few days and have gradually learned the differences between the two, but thank you for clarifying!
I really love the simplicity of Svelte for my simple needs, so thank you again for integrating it so nicely with Anchor! Really has sped up my development. Ciao for now!

I think your approach is correct, but if I am not wrong, you can not use at the same time different anchor programs injected in the front end. The way to switch between contracts in the frontend is importing the IDL of each of the contracts. Does that make sense for your problem?

Yes, this is what I've been experimenting with and so far it's working well swapping in/out IDLs. I'm not sure if this is a sound approach, but it's working well and it's nice for me to experiment with various simple programs via the frontend/UI.
Again, thank you so much for your contributions! It's very educational for me reading through your code!


Calls to pause() while video is buffering are ignored

Calling pause() on the video node while it's buffering DASH segments will be ignored. After the video has buffered enough data it will continue playback regardless of the previous call to pause().
The reason for this is pretty clearly the unconditional call to play here:
https://github.com/google/shaka-player/blob/05e593d5e8f7597de4ac133d1514b91b5d34cdae/lib/player/player.js#L930
However, since the video is also explicitly paused when it enters the buffering state, subsequent calls to pause do not cause the video to emit the "pause" event, so I don't see how Shaka could be informed about this call to pause on the video node, see:
https://github.com/google/shaka-player/blob/05e593d5e8f7597de4ac133d1514b91b5d34cdae/lib/player/player.js#L871
I don't see an easy fix to this, other than adding pause and play methods to the player instance that have to be used instead of the video node pause and play methods.

Yes, this is a tricky area.
From a user's perspective, I can see that buffering and pausing are separate concepts.  When my connection is insufficient and I see a video buffering, I sometimes want to pause, wait for data to buffer to my satisfaction, then unpause, assuming I am sufficiently motivated and want to try to work around the bad connection.
But in a DASH scenario, this only makes sense if my bandwidth is below the bandwidth requirements for the lowest-resolution stream.  Otherwise, pausing to force extra buffering would be unnecessary.
We made the decision a long time back not to duplicate functionality of the video element, such as seeking, play/pause, etc.  Given that, there are two ways I see that we could choose to implement a buffering state: one is via pause(), and the other is via playbackRate=0.
Using pause(), as we do now, means we can't layer a pause() on top of buffering state.  Using playbackRate=0 may be somewhat better, but is complicated by the design of Shaka 1.
Currently, playbackRate=0 is used by StreamVideoSource to inhibit playback during stream startup.  Meanwhile, buffering state is controlled by Player without knowledge of what StreamVideoSource is doing.  Using playbackRate for buffering conflicts with this, and I'm not sure how to resolve this cleanly within the existing design.
I see this as a design bug in Shaka 1.  In Shaka 2, buffering and stream startup will both be controlled by one class called StreamingEngine.  (Startup is really a special case of buffering anyway.)  Player will no longer be responsible for buffering state at all.  That should give us the freedom to implement buffering using playbackRate, which should allow us to play and pause independent of buffering state.
High-level design docs for Shaka 2 were recently announced on the mailing list if you're interested in the broad strokes.  We hope to publish a preview of our progress on Shaka 2 to github by the end of the month.

Thanks for the great feedback!
Buffering and pausing are not only separate concept from the users perspective but also from a product perspective. Let's say I want to temporarily pause the video under certain circumstances, e.g. when the window looses focus. If the user switches into a different tab while the video is buffering the call to pause will not have any effect and the video will resume playback in the background once it's done buffering.
I've currently solved the problem by adding a small setResumeAfterBuffering method to Shaka that set's a flag that is then checked to make the play() call at the end of the buffering state conditional.
I call this from the 'bufferingStart' event handler and set it to true from there. Then, whenever I call play or pause I also make sure to set this value correctly, so that once the video is done buffering it will do the correct thing.

I just verified that this is no longer an issue with the latest code from the master branch.  You should see the new behavior in v2 beta.


riotJS example doesn't work

If you're reporting a bug please include the following:

Server version 1.0.3
Client version 1.0.3

PR : https://github.com/rethinkdb/horizon/pull/529

Fixed in #529


fixed the naming issue from String to static str

using std::stringify! to turn the name from String to &'static str for the type different issue workaround, a better fix will be implemented later.

@ElhamAryanpur I am using this now thanks for the suggestion.

a better fix will be implemented later.

Isn't this good enough though?


feat: support for updating a drivers log configuration at runtime

What is the motivation/use case for changing the behaviour?
I want to update the log levels at runtime to capture additional information for specific users of my application. This is useful when trying to debug an issue affecting a specific user without having to enable logging for all users or requiring the specific user to restart their application.
Describe the solution you'd like
A method to update a log driver's config at runtime - currently config is readonly.
Describe alternatives you've considered

Wrapping the logger and implementing my own filtering of the logs based on this dynamic log-level configuration
Creating a composite log driver, which creates and filters logs to the underlying drivers accordingly.

Additional context

Hey Luke! How are you doing? Thanks for creating this ticket!
This is a valid use case; however, it feels weird that you would interact with the individual drivers directly.
Usually, the drivers are abstracted away by the LumberjackService, so it makes more sense that you would modify the log level there.
That said, we have an idea in place for a long time now that might solve your problem.
https://github.com/ngworker/lumberjack/issues/116
The idea is that when you create a log, you can pass an array of identifiers, and only the drivers matching those identifiers will be logged.
Notice that this will not require you to individually inject the drivers and change their config; everything will happen from the Lumberjack service's API surface, as designed.
Let me know if that solution works for you, and I'll work on it. Otherwise, let's continue talking about something that would work for you.

Seems like that would work.
To add a bit more context to where this issue came from... we have a hybrid app and want to be able to enable remote log capture for specific users to help debug issues. This would be a custom driver which will write logs to disk and then upload them to support when people are working offline.
We will need the ability to tweak the log level for this custom driver differently from the console level as Sentry is capturing console logs so don't want to lose those if we want to turn off the 'write logs to disk' driver.
Hope that makes sense.

I might not get the whole picture, but if you are dealing with a single driver for these custom operations, I can imagine a couple of things that could help. Of course, there is the pattern that I mentioned yesterday. With that one, you can specify the target driver in your logs.
Another approach is to have a dynamic configuration, but this would work slightly differently than what you describe.
Instead of modifying the configuration before logging in, you would configure your driver using the provided method or a module. But instead of passing a configuration object, you will pass a function that returns the configuration object. That way, the driver will evaluate the function every time before logging, and you can put your custom restriction there. Notice this has an extra cost, and if your logic is complex and involves IO, this can affect the performance of your application.
Both approaches can live together.
I prefer the first option because it reduces the chances of the application breaking due to a driver configuration error. (I can imagine the amount of issues created blaming the library if that happens)

If you think it is helpful, please provide a snippet of code showing how you intend to use the library to achieve what you want. That might get us close to cracking the solution.


Generated code triggers CS1591 when generating documentation file is turned on

The generated files Eg: MyCommandBuilder-hiuadwahu.g.cs will generate the warning CS1591 when the project has the GenerateDocumentationFile property set to true.
There is a tag in the header of these files <auto-generated />, but this only helps in some scenarios like StyleCop.
Consider adding #pragma warning disable CS1591 to each generated file as well to prevent this.

Good catch, thanks for reporting. This is now fixed with v1.6.4.

Adding documentation is even better than ignoring the warning. Good fix :)


[question] Is it possible to get tag 3.2 working for PHP 5.6 (in Debian)?

Hi,
I would like to get sqlsrv/pdo_sqlsrv working on PHP 5.6.
I got unixODBC 2.3.1 and ODBC Driver 13 in place so far (maybe I need 11 for this to work anyway, not sure).
I had a close look at tag v<IP_ADDRESS> because I wanted to compile it manually (as pecl doesn't have a build for 3.2). Turns out it is windows only (judging from the config.w32 file rather than the .m4 file).
I'm gonna reach now but would it be 'as easy' as rewriting the .w32 config file to .m4 format? If not (which I'm guessing) what would be my best alternative?
My issue is that I want my software to be the same across PHP 5.6/7.0/7.1 (in de mssql context I mean). By default I'm working on PHP7 so I'm using the sqlsrv functions, in PHP 5.6 however that gives me not much joy.
My main goal is to get sqlsrv/pdo_sqlsrv working on PHP 5.6 (on debian). If tag v<IP_ADDRESS> is not the way to go, correct me!
All feedback/suggestions/tips are welcome!
Thanks!

@boywijnmaalen The PHP Drivers for Linux are compatible with PHP 7 and above. We did not have enough interest from developers on this repository for supporting the older version of PHP. I am closing this as won't fix. If we have more interest for this, I am more than happy to make this happen 👍


[ZEPPELIN-1632] Add the possibility to cancel flink jobs in local mode

What is this PR for?
Especially for long running flink streaming jobs it should be possible to cancel a job by clicking the cancel button in the zeppelin ui. This pull request contains an implementation to cancel jobs when the flink interpreter is running in local mode.
What type of PR is it?
Improvement
Todos

[x] - Implement cancel method

What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1632
How should this be tested?
Execute a long running flink streaming job.
The "senv.execute()" method is blocking, therefore the paragraph remains in the state running. Then click cancel and the job will be canceled.
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Thanks @PhilippGrulich for the contribution.
LGTM and merge to master if there's no further discussion.

Looks great to me, thank you @PhilippGrulich !


Add files via upload

@igorvanelsen First stage of verification passed, official domain for Fioretti College Lisse is fioretti.nl as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@igorvanelsen Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


Publish to npm

OK I've researched and thought about this now. Here's what I think:

We should rename the package so it's scoped to the 18F org, so it would be named:

@18f/stylelint

I think this is a better patter then 18F- because it uses an npm supported convention. This repo would still be called what it is now

We should scope the package to the 18f npm org somehow. This would probably mean:

Logging into npm npm login
Getting team-admin role added to your account on the 18f npm org.
Scoping the package to the 18f org, npm init --scope=18f . This might require removing the initial package.json and then re-doing it.

Setting roles and permissions so 18F team members can write to the package.

npm access grant read-write 18f:developers @18f/stylelint
Add some people as owners: npm owner add <user> @18f/stylelint where user is [msecret, 18f-devops].

Something I'm still unclear on: I think the npm init --scope=18f will add the rename the package in the package.json, so step 1 may not be required at all, it might be best to start with that part.

@msecret I think it might be better to rename the npm package stylelint-config, stylelint-rules or something similar, to avoid confusion between our package and the actual stylelint project. What is your take?

@el-mapache that sounds fine to me. I think stylelint-rules sounds good.

Closing this as it's been resolved and published


Understandings of tasks and the meta mechanism

I did not quite understand the tasks and meta mechanism used in the paper, with the replies of the author, I got a clearer view. The conclusion and discussion will be listed below to help more people.

In the pseudocode, the rollouts are divided into two-parts, does this equal to treat two-parts rollouts as two tasks in meta-learning? If it is, what the intuition behind this treatment?

A: In meta-learning terminology, fitting the baseline for each external input process would be our task. What we want is to quickly adapt the baseline fitting to a new input sequence, by seeing the input sequence only a few times. Notice that the two-parts rollouts are experience the same input sequence, hence it’s the same “task”. The intuition for this treatment is we want the baseline to adapt based on one part of the experience (meta gradient step) so that it can fit second part quickly (fine-tune gradient step). We swap the two parts during training just to create more data.
I think the multi-baseline model (in appendix I) is easier to understand. The idea for meta baseline really extends from there.

From my understanding, the baseline should generalize across different inputs, thus it seems more reasonable by treat different inputs as different tasks, and sample a batch of inputs during training.

You are exactly right here! We are treating different inputs as different tasks. For simplicity, our paper only samples the same inputs at each training step and we rely on stochastic gradient descent to converge the model for different tasks.
Intuitively, the performance should be better if we sample and mix different tasks at each batch.

Thanks for sharing!


how to deploy on Vercel?

Hello, everyone, I want to deploy on Vercel.
But I can't, please help me about this.

I think you have to make .env file and add environmental variables.


feat: support mlu device and amp of mlu

支持mlu device，并修改gpu的amp_flags

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

mlu 静态图 测试报告：


Adrenaline not working

6.61 Adrenaline-6.7 doesn't open when initiating h-encore "automatically" with h-encore 2.0. Error: "Could not load_adrenaline_kernel.skprx. Please uninstall the old Adrenaline first."
The error doesn't appear and Adrenaline works fine when I initiate h-encore "manually" by pressing "R" and "Exit".
I'm in 3.68.

Can you please try the hotfix of h-encore 2.0?

Hi TheOfficialFloW! Yes, I have installed the latest fix of h-encore 2.0 after you solved the error installing vpks from VitaShell and Adrenaline still doesn't work if h-encore 2.0 is initated "automatically". Thank you so much for your work.

Test this: https://github.com/TheOfficialFloW/Adrenaline/releases/tag/v6.8

Nice! I'll try in a moment, 'cos I'm gonna make a clean installation of Adrenaline first. Thank you!


Convert CI to GitHub Actions

Expected Behaviour
Convert CI to GitHub Actions
Current Behaviour
We use Travis and need to move away
Possible Solution
See the approach in https://github.com/openfaas/faas-netes/tree/master/.github

/add label: good first issue,help wanted

I am a volunteer for doing this issue.

Thank you

We still need a PR for this. It should match closely to the GitHub action from faas-netes or faas.


Def | Tariff

Definition

Application

"Tariff" means a tariff system where the tariff rate or import tax assessed on a particular product depends on its country of origin. This is diametrically opposite to a single tariff system, which levies the same tariff rate on a product regardless of its point of origin.

SEQCTEM(™) HOLDINGS, an Amazon Affiliate.

Copyright and Trademark
SEQCTEM(™) HOLDINGS Infrastructure as a Service (SHIaaS) is a department and repository managed by SEQCTEM(™) HOLDINGS. Copyright (C) 2017 SEQCTEM(™) HOLDINGS Infrastructure as a Service USEIN-81-4503263; Mario F. (A.) Stevenson 3141 E. Camelback Rd, #2236, Phoenix, AZ 85016. ALL RIGHTS RESERVED.

SEQCTEM(™) [] SEQCTEM(™) HOLDINGS
Mario F. (A.) Stevenson,
Founder; Executive Chair; Trustee;
"Organizational Design And Development"
 Facebook | Twitter | LinkedIn | Slack /dm @mfas

| About | Home | Web Analytics |

LU 10072017

SEQCTEM(™) HOLDINGS, an Amazon Affiliate.


add ethernet/ipv4/tcp/udp deserializer

port existing code from ONOS
comment out some unuse protocol

If I understand correctly, the entire INT report packet should be like this:
outer Ethernet/IP/TCP/UDP => telemetry report => inner Ethernet/IP/TCP/UDP => INT
I made some changes based on this assumption:

use destination port (1234, configurable) in UDP header to indicate the existence of telemetry report packet
use dscp value (0x1, as defined in int.p4) in IP header to indicate the existence of INT packet

Thanks, perfectly working.


Action costs not set: bug or feature?

Given a planning problem with cost, if I set the cost only for a subset of actions then I get the following output
 File "/opt/homebrew/lib/python3.9/site-packages/unified_planning/io/pddl_writer.py", line 675, in print_domain     self._write_domain(sys.stdout)   File "/opt/homebrew/lib/python3.9/site-packages/unified_planning/io/pddl_writer.py", line 521, in _write_domain     f" (increase (total-cost) {converter.convert(costs[a])})"   File "/opt/homebrew/lib/python3.9/site-packages/unified_planning/io/pddl_writer.py", line 188, in convert     return self.walk(self.simplifier.simplify(expression))   File "/opt/homebrew/lib/python3.9/site-packages/unified_planning/model/walkers/simplifier.py", line 54, in simplify     return self.walk(expression)   File "/opt/homebrew/lib/python3.9/site-packages/unified_planning/model/walkers/dag.py", line 101, in walk     res = self.iter_walk(expression, **kwargs)   File "/opt/homebrew/lib/python3.9/site-packages/unified_planning/model/walkers/dag.py", line 93, in iter_walk     self._process_stack(**kwargs)   File "/opt/homebrew/lib/python3.9/site-packages/unified_planning/model/walkers/dag.py", line 88, in _process_stack     self._push_with_children_to_stack(expression, **kwargs)   File "/opt/homebrew/lib/python3.9/site-packages/unified_planning/model/walkers/dag.py", line 49, in _push_with_children_to_stack     for s in self._get_children(expression):   File "/opt/homebrew/lib/python3.9/site-packages/unified_planning/model/walkers/dag.py", line 44, in _get_children     return expression.args AttributeError: 'NoneType' object has no attribute 'args'
As a PDDL user, I was expecting a 0-cost default for actions for which we do not specify the cost, but the behavior here seems different

In the UP the default cost has to be defined (or each action has to have an explicitly defined cost).
The following code will show how to create a metric where half actions have a defined cost and the other half get the default, that is 0:
from unified_planning.shortcuts import *
problem = Problem("default cost 0")
[...] # populate the problem as needed
len_half_action = int(len(problem.actions)/2)
costs = {a: i for i, a in enumerate(problem.actions[:len_half_action], start=1)}

# relevant line, where the default is set (using kwargs just for clarity)
problem.add_quality_metric(MinimizeActionCosts(costs=costs, default=0))


Supabase fails to import

Describe the bug
While following the Supabase/Sveltekit tutorial found here
I get the following error:
"default" is not exported by "src/lib/supabaseClient.js", imported by "src/routes/reviewspage/+page.server.js"
Reproduction
.env contains:
PUBLIC_SUPABASE_ADDR="my-supabase-addr" PUBLIC_SUPABASE_KEY="my-supabase-key"
/lib/supabaseClient.js contains:
`import { createClient } from "@supabase/supabase-js";
import { PUBLIC_SUPABASE_ADDR } from "$env/static/public";
import { PUBLIC_SUPABASE_KEY } from "$env/static/public";
export const supabase = createClient(PUBLIC_SUPABASE_ADDR, PUBLIC_SUPABASE_KEY);`
/src/routes/reviewspage/+page.server.js contains:
`import supabase from '$lib/supabaseClient.js';
export async function load() {
const { data } = await supabase.from('reviews').select('*');
console.log(data);
return { data };
}`
Logs
npm run build

><EMAIL_ADDRESS>build
> vite build

vite v4.3.9 building SSR bundle for production...
✓ 327 modules transformed.
✓ built in 14.09s
"default" is not exported by "src/lib/supabaseClient.js", imported by "src/routes/reviewspage/+page.server.js".
file: /media/charliepi/HD/ats/ats-svelte-google/src/routes/reviewspage/+page.server.js:1:7
1: import supabase from '$lib/supabaseClient.js';
          ^
2:
3: export async function load() {
error during build:
RollupError: "default" is not exported by "src/lib/supabaseClient.js", imported by "src/routes/reviewspage/+page.server.js".
    at error (file:///media/charliepi/HD/ats/ats-svelte-google/node_modules/rollup/dist/es/shared/node-entry.js:2245:30)
    at Module.error (file:///media/charliepi/HD/ats/ats-svelte-google/node_modules/rollup/dist/es/shared/node-entry.js:13572:16)
    at Module.traceVariable (file:///media/charliepi/HD/ats/ats-svelte-google/node_modules/rollup/dist/es/shared/node-entry.js:13997:29)
    at ModuleScope.findVariable (file:///media/charliepi/HD/ats/ats-svelte-google/node_modules/rollup/dist/es/shared/node-entry.js:12515:39)
    at FunctionScope.findVariable (file:///media/charliepi/HD/ats/ats-svelte-google/node_modules/rollup/dist/es/shared/node-entry.js:7073:38)
    at ChildScope.findVariable (file:///media/charliepi/HD/ats/ats-svelte-google/node_modules/rollup/dist/es/shared/node-entry.js:7073:38)
    at MemberExpression.bind (file:///media/charliepi/HD/ats/ats-svelte-google/node_modules/rollup/dist/es/shared/node-entry.js:9450:49)
    at CallExpression.bind (file:///media/charliepi/HD/ats/ats-svelte-google/node_modules/rollup/dist/es/shared/node-entry.js:5841:23)
    at CallExpression.bind (file:///media/charliepi/HD/ats/ats-svelte-google/node_modules/rollup/dist/es/shared/node-entry.js:9801:15)
    at MemberExpression.bind (file:///media/charliepi/HD/ats/ats-svelte-google/node_modules/rollup/dist/es/shared/node-entry.js:5841:23)

System Info
System:
    OS: Linux 6.2 Ubuntu 23.04 23.04 (Lunar Lobster)
    CPU: (4) arm64 Cortex-A72
    Memory: 3.90 GB / 7.63 GB
    Container: Yes
    Shell: 5.2.15 - /bin/bash
  Binaries:
    Node: 18.13.0 - /usr/bin/node
    npm: 9.2.0 - /usr/bin/npm
  Browsers:
    Chromium: 114.0.5735.198
  npmPackages:
    @sveltejs/adapter-auto: ^2.0.0 => 2.1.0
    @sveltejs/adapter-static: ^2.0.2 => 2.0.2
    @sveltejs/kit: ^1.20.4 => 1.21.0
    svelte: ^4.0.0 => 4.0.3
    vite: ^4.3.6 => 4.3.9

Severity
annoyance
Additional Information
No response

You forgot to put { }  around supabase in your import statement in the +page.svelte. It should be import { supabase } from '$lib/supabaseClient.js'
FYI, this is not a question for kit, recommend asking in discord chat in future :)

Thank you so much. I've been banging my head on this one for 2 days now, and come to find out it's something so simple :)
Sorry for the noise.
  This is the only other form of communication available :)

In the future, support questions like this should not be opened as issues. If you don't want to use Discord, you can also open a discussion on the repo.


Leverage All Contributors

Setup Your Mac should start leveraging All Contributors — "Recognize all contributors, not just the ones who push code" — so any and every contribution provided will be recognized.

@all-contributors please add @bartreardon for swiftDialog

Actually read (some) of the instructions; second attempt …
@all-contributors please add @bartreardon for swiftDialog

@all-contributors please add @bartreardon for code

@all-contributors
please add @BIG-RAT for code
please add @drtaru for code
please add @robjschroeder for code
please add @TechTrekkie for code

@all-contributors
please add @drtaru for code.
please add @robjschroeder for code.
please add @TechTrekkie for code.

Note to self: I must be holding this wrong …

Setup Your Mac Contributors


ChosenInlineResult Not Invoked When Anonymous Admin Sends InlineQueryResult

ChosenInlineResult Update is not being sent by Telegram when an Anonymous Admin sends an InlineQueryResult, Is this intended or a bug ?

See https://github.com/tdlib/telegram-bot-api/issues/213.


Custom test runner

Clear and concise description of the problem
Jest ecosystem has jest-runner or create-jest-runner.
It can be extended to test in an environment such as an electron.
Also, It would be nice to be able to perform lint or typecheck with the efficient worker of tinypool.
Suggested solution
I'd like to provide an API for setting up a custom runner.
Alternative
It can also refer to Jest's projects config.
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Some more info here on Jest's custom test runner:
https://www.youtube.com/watch?v=NtjyeojAOBs "ReactiveConf 2017 - Rogelio Guzman: Jest as a Platform"


[Feature] Relevant title here

Is your feature request related to a problem?
Doubt it is considered problem. Rather feature request.
Describe the solution you'd like
Add possibility to make filler block/s json array **["minecraft:stone", "minecraft:dirt"] as it is done with BiomeBlacklist/Whitelist
Describe alternatives you've considered
I tried to do it manually , error appeared for syntax. Expected String (normal behavior), I tried Array :)
Additional context
Add any other context or screenshots about the feature request here.

The mod already on paper support arrays for setting multiple filler blocks. In the case that this does not work its a bug.
Can you send me the minecraft version and the mod version you are using?

MC Version: 1.16.5
Forge Version: 36.2.33
Mod Version: 1.16.5-2.7.0


Switch to learna?

It may make sense to switch to Lerna so that our packages can be more decoupled. For example, on web we incidentally pull in a bunch of react native stuff. As react-navigation gets used in more environments, people may prefer to swap out pieces, and I think we should make that easy.
What do people think about the idea? Will the overhead of maintaining many modules be reasonable? How hard will it be to set up?

I think a big problem will be that RN packager doesn't support symlinks. So unless we customize it heavily, we won't be able to switch to lerna.  Also it might be difficult to if we want to test it locally in other apps other than the example app.
Recently at callstack we needed to use a new unpublished commit in jest and were unable to install it from GIT because it uses lerna. I think this will be a problem too, unless there's a solution I'm not aware of.

this could be helpful - https://react-native.canny.io/feature-requests/p/symlink-support-for-packager

@sibelius with watchman not having support for symlinks and no plans for supporting them, it'll be impossible to have proper support

I hear there may be some people working on an alternative to RN packager that supports symlinks :-D
https://github.com/callstack-io/haul
Maybe we can try it out on this repo?

Hi! In an effort to get the hundreds of issues on this repo under control I'm closing issues tagged as questions. Please don't take this personally - it's simply something we need to do to get the issues to a manageable point. If you still have a question I encourage you to re-read the docs, ask on StackOverflow, or ask on the #react-navigation Reactiflux channel. Thank you!


feat: suggest fixes for potentially misspelled identifiers

This PR uses a heuristic based on the Levenshtein distance to suggest corrections to potentially-misspelled identifiers, along with quickfix code actions.
It's not yet ready for merging. TODO:

[ ] Make sure it's not too slow in a truly huge context
[ ] Apply the technique to a few related error messages, like unknown constant, so there's a consistent UX
[x] Add tests for the code action aspect
[x] Documentations and explanations

Lean is growing up :-)

It looks like adding it to "unknown constant" messages will take a bit more thought, just because most of those are thrown where there's no infotree available. I think this is a usability improvement as-is, so I think the remaining thing to do prior to merge is see how it fares performance-wise on all Mathlib.

!bench

I won't have time to look at this this week, but the performance issue definitely needs investigating before it gets merged.


format of bunch code of netrw after #16248 looks mess

Steps to reproduce
i saw many tickets/mails recently from you about code format and changing default etc,
but wish your PR was correct and result was checked firstly, thx.
// perhap better revert that PR first, then resubmit if like to,
// otherwise the git history maybe messy later, since bunch code changed.
Expected behaviour
none.
Version of Vim
v9.1.945
Environment
linux
Logs and stack traces
No response

#16248 @saccarosium

bunch code after netrw#Open()

foo.patch.txt
example patch as foo.patch, but maybe better revert, then re-think to submit, or the git history maybe messy.

Ah, it seems endf isn't indented correctly.

yes, and bunch code after that unnecessary indented,
and E.g:
" Git Bash
if has('win32unix')
   " (cyg)start suffices
   let s:os_viewer = ''
" Windows / WSL
elseif executable('explorer.exe')
   let s:os_viewer = 'explorer.exe'
" Linux / BSD
elseif executable('xdg-open')
   let s:os_viewer = 'xdg-open'
" MacOS
elseif executable('open')
   let s:os_viewer = 'open'
endif

why 3 spaces here, if like to format, then shouldnot do it better?

I simply run =G on the top of the file. I didn't really checked everything. Glad you have made a PR to address any issues

I suppose this is fixed now witht #16266


stream_send does not return Done when no bytes are written

I've run into some instances where stream_send will return Ok(0) rather then Err(quiche::Error::Done), and while this may be intentional behaviour I wanted to check since it seems inconsistent with how other quiche functions work.
Specifically, this issue occurs when self.tx_cap is equal to zero (in my use case this is because the congestion controller has set a small congestion window). stream_send will then call stream.send.write(buf, fin) with a zero-length buffer, which returns Ok(0) and then this result gets passed back to the user. To me, it seems like stream_send should return Done in this case since there's no further work to be done. If this is intentional, I'd love to know what the semantic differences are in quiche between Ok(0) and Done and maybe that should get documented since it might confuse others as well.

Thanks for the report, this does seem to be inconsistent with the function description, which says
    /// On success the number of bytes written is returned, or [`Done`] if no
    /// data was written (e.g. because the stream has no capacity).
    ```

Fixed by https://github.com/cloudflare/quiche/pull/970


Enhance update_config_docstring.py: Type Hint Integration and Improved Documentation Handling

update_config_docstring.py
Overview
The update_config_docstring.py script has been updated to enhance the documentation generation process for the InvokeAIAppConfig class. These updates include the addition of type hints, improved handling of unknown variable and member types, and more robust documentation generation. This description will cover each of the updates made, along with the specific issues that were resolved.

Addition of Type Hints

Issue:

The script previously did not include explicit type hints for variables such as k, v, and others within loops and functions, which led to errors being flagged by tools like Pylance.

Update:

Added explicit type hints for variables to ensure that the script is compatible with static type checkers.
This involved identifying the types of variables such as k and v within the loop iterating over InvokeAIAppConfig.model_fields.items(). The types were determined based on their usage and context.

Resolution:

The k variable was identified as a str, representing the key in the dictionary.
The v variable was identified as an instance of a model field class, which was inferred from the InvokeAIAppConfig.model_fields dictionary.

python
for k: str, v: ModelFieldType in InvokeAIAppConfig.model_fields.items():
if v.exclude or k in _excluded:

Handling Unknown Member Types

Issue:

Pylance flagged errors related to unknown member types such as items() and exclude. These methods were part of the dictionary and model field objects, respectively, but their types were not explicitly defined.

Update:

The script was updated to provide explicit type information for these members to ensure that the type checker recognizes them correctly.
For example, items() was confirmed to be a method of dictionary objects returning an iterable of key-value pairs, and exclude was recognized as a boolean attribute of model fields.

Resolution:

The following updates were made:

python
for k: str, v: ModelFieldType in InvokeAIAppConfig.model_fields.items():
if v.exclude or k in _excluded:
This ensures that the type checker understands the usage of these methods and attributes, resolving the errors flagged by Pylance.

Enhanced Documentation Generation

Issue:

The original script generated documentation strings based on model field descriptions but lacked some context-specific information, such as valid values for Literal types.

Update:

The script was enhanced to include the valid values for Literal types within the generated documentation. This was done by checking if a field’s type was a Literal and then extracting the possible values to include in the documentation.

Resolution:

The generate_config_docstrings function was updated to detect Literal types and append the valid options to the documentation string.

python
if getattr(field_type, "origin", None) is Literal:
options = [f"{str(x)}" for x in get_args(field_type)]
extra = f"Valid values: {', '.join(options)}"
This enhancement provides clearer and more complete documentation for users interacting with the InvokeAIAppConfig class.

Improved Docstring Replacement Logic

Issue:

The original script replaced the existing docstring with a new one but had potential issues with accurately locating and replacing the docstring without introducing syntax errors.

Update:

The script was improved to ensure that the docstring replacement process is robust. This included accurately locating the start and end of the existing docstring and inserting the new docstring with proper formatting.

Resolution:

The following logic was implemented:

docstring_start_index = next(i for i, line in enumerate(lines[class_def_index:]) if '"""' in line) + class_def_index
docstring_end_index = (
    next(i for i, line in enumerate(lines[docstring_start_index + 1 :]) if '"""' in line)
    + docstring_start_index
    + 1
)

lines = lines[:docstring_start_index] + [docstring, "\n"] + lines[docstring_end_index + 1 :]

This ensures that the docstring is correctly replaced without affecting the rest of the file, maintaining the integrity of the code.

Conclusion
These updates address the issues related to unknown types and member functions, enhance the robustness of the docstring generation process, and ensure that the script is compatible with static type checkers. The improvements make the `update_config_docstring.py` script more reliable and the generated documentation more informative for developers using the `InvokeAIAppConfig` class.

## Summary

<!--A description of the changes in this PR. Include the kind of change (fix, feature, docs, etc), the "why" and the "how". Screenshots or videos are useful for frontend changes.-->

## Related Issues / Discussions

<!--WHEN APPLICABLE: List any related issues or discussions on github or discord. If this PR closes an issue, please use the "Closes #1234" format, so that the issue will be automatically closed when the PR merges.-->

## QA Instructions

<!--WHEN APPLICABLE: Describe how you have tested the changes in this PR. Provide enough detail that a reviewer can reproduce your tests.-->

## Merge Plan

<!--WHEN APPLICABLE: Large PRs, or PRs that touch sensitive things like DB schemas, may need some care when merging. For example, a careful rebase by the change author, timing to not interfere with a pending release, or a message to contributors on discord after merging.-->

## Checklist

- [ ] _The PR has a short but descriptive title, suitable for a changelog_
- [ ] _Tests added / updated (if applicable)_
- [ ] _Documentation added / updated (if applicable)_

This pull request introduces significant updates to the update_config_docstring.py script:

Type Hint Integration: Improved type hinting for better code readability and to aid static analysis tools. This includes specifying types for variables to resolve previously unknown type errors reported by Pylance.

Enhanced Error Handling: Replaced generic exception handling with more specific exceptions to improve error handling and debugging processes. This ensures that errors are more accurately caught and addressed.

Documentation Updates: Adjusted the script to better handle docstring generation for the InvokeAIAppConfig class. The new implementation ensures that the generated docstrings are accurate and comprehensive, reflecting the latest configuration attributes and their descriptions.

Fixes for Pylance Issues: Addressed several Pylance warnings related to unknown variable and member types by adding appropriate type hints and ensuring compatibility with Pylance's type checking.

These updates enhance the maintainability of the script, improve its robustness, and ensure that it generates up-to-date and accurate documentation for the InvokeAIAppConfig class.


⚠ Processors has degraded performance

In 3505ecb, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 70 ms

Resolved: Processors performance has improved in 4f4f490.


Repeater control with Timber/Twig

Hey, is it possible to use the repeater control with Timber/Twig instead of PHP?
Best,
Dennis

The control just saves theme-mods. It's been years since I last looked at Timber but last time I used it it was perfectly fine. You just need to get the theme_mod and then you can do whatever you want with it :+1:


Add react tips with brooks lybrand

Description
Add React Tips with Brooks Lybrand to the tutorials page.
Additional context
None

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[X] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[X] Read the Contributing Guidelines.
[X] Follow the Style Guide.
[X] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[X] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).

Closing...https://github.com/joe-bell/cva/pull/215#issuecomment-1715152146

Hey @sethdavis512, thanks so much for adding, you almost beat me to it 😉 #215
Looks like Joe will be including it in #214 🤘


chore: typo tweaks

This PR simply adjusts some typos and runs cargo clippy as identified by my IDE

Thanks for fixing so many typos.


[Feature] Allow setting app.kubernetes.io/name in head-svc created by RayService

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Currently, when RayService creates the head-svc, it automatically assigns the app.kubernetes.io/name label to kuberay. It would be helpful to allow setting that label to a custom value.
Use case
We would like to set the name to our app name, which we use to scrape and filter logs in Loki and other places.
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

You can add custom labels via the headGroupSpec.template.metadata.labels, like:
headGroupSpec:
      rayStartParams:
        dashboard-host: '<IP_ADDRESS>'
      template:
        metadata:
          labels:
            app.kubernetes.io/name: test
        spec:
          containers:
            - name: ray-head
              image: rayproject/ray:2.9.0

$ kubectl get service rayservice-sample-raycluster-zhst9-head-svc -o jsonpath="{.spec.selector.app\.kubernetes\.io/name}"
test

@win5923 That worked for me on the Ray cluster head svc, but I would like to set a custom label on the head-svc created by RayService itself (rayservice-sample-head-svc in https://docs.ray.io/en/latest/cluster/kubernetes/user-guides/rayservice.html#step-4-verify-the-kubernetes-cluster-status). It seems like this service always has app.kubernetes.io/name set to kuberay.

I implemented it on RayService, so it should work. Whast version are you using of the KubeRay Operator?
apiVersion: ray.io/v1
kind: RayService
metadata:
  name: rayservice-sample
spec:
  serveConfigV2: |
    applications:
      - name: fruit_app
        import_path: fruit.deployment_graph
        route_prefix: /fruit
        runtime_env:
          working_dir: "https://github.com/ray-project/test_dag/archive/78b4a5da38796123d9f9ffff59bab2792a043e95.zip"
        deployments:
          - name: MangoStand
            num_replicas: 2
            max_replicas_per_node: 1
            user_config:
              price: 3
            ray_actor_options:
              num_cpus: 0.1
          - name: OrangeStand
            num_replicas: 1
            user_config:
              price: 2
            ray_actor_options:
              num_cpus: 0.1
          - name: PearStand
            num_replicas: 1
            user_config:
              price: 1
            ray_actor_options:
              num_cpus: 0.1
          - name: FruitMarket
            num_replicas: 1
            ray_actor_options:
              num_cpus: 0.1
      - name: math_app
        import_path: conditional_dag.serve_dag
        route_prefix: /calc
        runtime_env:
          working_dir: "https://github.com/ray-project/test_dag/archive/78b4a5da38796123d9f9ffff59bab2792a043e95.zip"
        deployments:
          - name: Adder
            num_replicas: 1
            user_config:
              increment: 3
            ray_actor_options:
              num_cpus: 0.1
          - name: Multiplier
            num_replicas: 1
            user_config:
              factor: 5
            ray_actor_options:
              num_cpus: 0.1
          - name: Router
            num_replicas: 1
  rayClusterConfig:
    rayVersion: '2.9.0' # should match the Ray version in the image of the containers
    ######################headGroupSpecs#################################
    # Ray head pod template.
    headGroupSpec:
      rayStartParams:
        dashboard-host: '<IP_ADDRESS>'
      template:
        metadata:
          labels:
            app.kubernetes.io/name: test
        spec:
          containers:
            - name: ray-head
              image: rayproject/ray:2.9.0
              resources:
                limits:
                  cpu: 2
                  memory: 2Gi
                requests:
                  cpu: 2
                  memory: 2Gi
              ports:
                - containerPort: 6379
                  name: gcs-server
                - containerPort: 8265 # Ray dashboard
                  name: dashboard
                - containerPort: 10001
                  name: client
                - containerPort: 8000
                  name: serve
    workerGroupSpecs:
      # the pod replicas in this group typed worker
      - replicas: 1
        minReplicas: 1
        maxReplicas: 5
        # logical group name, for this called small-group, also can be functional
        groupName: small-group
        # The `rayStartParams` are used to configure the `ray start` command.
        # See https://github.com/ray-project/kuberay/blob/master/docs/guidance/rayStartParams.md for the default settings of `rayStartParams` in KubeRay.
        # See https://docs.ray.io/en/latest/cluster/cli.html#ray-start for all available options in `rayStartParams`.
        rayStartParams: {}
        #pod template
        template:
          spec:
            containers:
              - name: ray-worker # must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc'
                image: rayproject/ray:2.9.0
                lifecycle:
                  preStop:
                    exec:
                      command: ["/bin/sh","-c","ray stop"]
                resources:
                  limits:
                    cpu: "1"
                    memory: "2Gi"
                  requests:
                    cpu: "500m"
                    memory: "2Gi"

If custom labels are used, the selector won't be able to point to the new head Pod during a zero downtime upgrade, which could be an issue.

You can use kubectl label services rayservice-sample-head-svc app.kubernetes.io/name=xxx.


Use Hamcrest assertions instead of JUnit in common/common (#1749)

Part of  #1749
I have already signed OCA. It's an automation problem.

/oca-checked

/trigger


Hella - The number of jobs posted on Peviitor (31) and the one posted on the company website (144) isn't the same.

ENVIRONMENT: production
URL: https://peviitor.ro/
Browser: Chrome
Device: laptop
OS: Windows 10
STEPS TO REPRODUCE:

Open "https://peviitor.ro/" in the browser.
Type "Hella" in the search bar.
Check the number of jobs available for Hella.
Open "https://hella.csod.com/ux/ats/careersite/3/home?c=hella&country=ro".
Check the number of jobs displayed.

EXPECTED RESULTS:
The number of jobs posted on "https://peviitor.ro/" and the number of jobs posted on the company website should be the same.
ACTUAL RESULT:
There are 31 jobs posted on Peviitor website while on the company website there are posted 144 available jobs.

The number of jobs posted on Peviitor (140) and the one posted on the company website (140) IS the same.
Fixed. Closed issue.


Questions about datasets and code

Hi, thanks for your code. When I read your code, I run into some troubles.

How you get train.tails.idx? The length of train.tails.idx is not equal to train.txt. So as train.heads.idx.
How you get vocab.txt? I find not all words in descriptions exsists in vocab.txt.
I run the code on 8G2 GPUs, OOM(out of memories) in No.1 global step.
On 16G4 GPUs, OOM(out of memories) in No.4848 step.
I use
python3 -m ndkgc.models.fcn_model_v2 checkpoint_result data/dbpedia50 --force_eval --layer 3 --conv 2 --lr 1e-2 --keep_prob 0.5 --max_content 512 --pos 1 --neg 4 --open --neval 5000 --filter
Look forward to your reply.

Hi, I need to check on 1. For 2, I believe it is from GloVe. As for 3, could you try --max_content 256 and see if it works?

--max_content 256 doesn't have OOM until global_step 300. I think it works.
Thank you!

Yeah, most likely this is because the CNN input is too large (batch_size *
max_content * embed_size ...). If it is possible, you can also reduce the
batch size in exchange for larger content size.
On Tue, Jul 3, 2018 at 9:30 PM Fanshuang Kong<EMAIL_ADDRESS>wrote:

--max_content 256 doesn't have OOM until global_step 300. I think it works.
Thank you!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bxshi/ConMask/issues/4#issuecomment-402359819, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABQQQ8_vRm4QipFzhsJ6gFaJ1T1W4iL7ks5uDETIgaJpZM4VB7t-
.

For 1, I ignore the 1 to n relations, and make a mistake. I think you don't need to check again.


[5.4] Higher-oder messages for the collection class

Howdy - long time, no see! :)
I've recently come across an article about a concept called Higher-Order Messages. That particular article was about Ruby, but it intrigued me to implement this for Laravel. And it turns out it's very easy!
This lets you turn some very common collection use-cases into concise one-liners.
filter example
// Instead of this:
$collection->filter(function($item) {
  return $item->field;
});

// Write this:
$collection->where->field;

It also works for other collection methods:
// Instead of this:
$collection->each(function($item) {
  return $item->printYourself();
});

// Write this:
$collection->do->printYourself();

This is just a proposal. If you're interested in merging this into Laravel, I'll gladly provide the unit tests and clean up the code. If not, I have saved some time and will probably publish a package.
Naming: I used the conventions from the aforementioned article, but this probably requires some input to make it consistent with the rest of the collection.

That's some clever stuff! 😈

Woah, this wasn't ready yet. I wanted to add tests, and docs, and an offsetGet method.


Adds refresh_token as grant_type to conform to RFC 6749

Changes:

Accepts refresh_token as grant_type as described in RFC 6749 which describes OAuth2

Tests included

👍


Fix printf buffer overflow

printf format %*s is not limiting the string size, here we should use
%.*s to limit the output length.
Change-Id: Iea875e06e0df786b9a0a7f03f1a7bcaba2a1b9b4

@gerickson -- Two possibilities: 1) This code isn't being analysed because its in the device layer, which isn't included in the standalone build, 2) The analyzers may not be aware that this is a printf-style macro.


Automation - Disabling DO automation tests

https://github.com/rancher/qa-tasks/issues/318
This takes care of the RKE1 provisioning tests.
Migrate existing tests to Linode

This won't be triggered by Jenkins once merged but if someone tries to execute them this is what they will get:
rootdir: /src/rancher-validation, inifile:
 plugins: xdist-1.23.0, html-1.20.0, metadata-2.0.1, repeat-0.7.0, ordering-0.6, forked-1.2.0

 collecting ... collected 1066 items / 1062 deselected

 tests/v3_api/test_rke_cluster_provisioning.py::test_rke_do_host_1 SKIPPED
 tests/v3_api/test_rke_cluster_provisioning.py::test_rke_do_host_2 SKIPPED
 tests/v3_api/test_rke_cluster_provisioning.py::test_rke_do_host_3 SKIPPED
 tests/v3_api/test_rke_cluster_provisioning.py::test_rke_do_host_4 SKIPPED

Are there any other Jenkinsfile updates needed, or does this cover the manual kickoff as well?

What I've seen the changes covers additional_tests additional_tests_long both use the Jenkinsfile_deploy_and_test which includes the Linode access key variable so I believe it should be safe to run them from what I've tested using the freeform


undefined symbol: Tensile::TypedContractionInputsTensile::Half::TypedContractionInputs()

cmake libTensileHost.a by -DTensile_LIBRARY_FORMAT="msgpack" -DCMAKE_CXX_COMPILER="hipcc".
at datatype=half problem, use "TypedContractionInputs deviceInputs;" init input, then fill data with "deviceInputs.a = reinterpret_castTensile::Half*(d_A);" and "d_A"is "half *".
then error occur:
ld.lld: error: undefined symbol: Tensile::TypedContractionInputs<Tensile::Half, Tensile::Half, Tensile::Half, Tensile::Half, Tensile::Half, Tensile::Half>::TypedContractionInputs()
ld.lld: error: undefined symbol: Tensile::TypedContractionInputs<Tensile::Half, Tensile::Half, Tensile::Half, Tensile::Half, Tensile::Half, Tensile::Half>::~TypedContractionInputs()
assume it means the "TypedContractionInputs" has no Constructor? but the non-parameter constructor is default generated?

I encountered the same problem, changing TypedContractionInputs to <_Float16, _Float16, _Float16, _Float16, float, float> will pass compilation, but errors are still reported at run time: Segmentation fault (core dumped).

@xiakubaobaore Apologies for the lack of response. Can you please test with the latest ROCm 6.1.2? If issue is resolved, please close the ticket. Thanks!

@xiakubaobaore, @sparklesea can you please share the sample code and steps for us to reproduce the issue? and please also provide information on the hardware and software version you guys are working on. Thanks.

@xiakubaobaore, @sparklesea. closed the issue for no updates for 3 weeks. If you would like us to investigate further, please leave comments.


[BUG]: Crash when navigating to localhost.

How are you running AnythingLLM?
Docker (local)
What happened?
Container starts fine, but when navigating to localhost:3001 it throws an error and the container stops.
Log:
2024-03-21 14:21:38 /app/server/node_modules/bcrypt/bcrypt.js:166
2024-03-21 14:21:38         throw new Error('data and hash arguments required');
2024-03-21 14:21:38               ^
2024-03-21 14:21:38
2024-03-21 14:21:38 Error: data and hash arguments required
2024-03-21 14:21:38     at Object.compareSync (/app/server/node_modules/bcrypt/bcrypt.js:166:15)
2024-03-21 14:21:38     at validatedRequest (/app/server/utils/middleware/validatedRequest.js:41:15)
2024-03-21 14:21:38
2024-03-21 14:21:38 Node.js v18.19.1
Are there known steps to reproduce?
Started the container and mounted local folder:

$env:STORAGE_LOCATION="$HOME\Documents\anythingllm"; If(!(Test-Path $env:STORAGE_LOCATION)) {New-Item $env:STORAGE_LOCATION -ItemType Directory};
If(!(Test-Path "$env:STORAGE_LOCATION.env")) {New-Item "$env:STORAGE_LOCATION.env" -ItemType File}; docker run -d -p 3001:3001
--cap-add SYS_ADMIN  -v "$env:STORAGE_LOCATION:/app/server/storage" -v "$env:STORAGE_LOCATION\.env:/app/server/.env"
-e STORAGE_DIR="/app/server/storage" `
mintplexlabs/anythingllm;

Navigated to localhost:3001 in browser.

I think there may be a bug in that snippet. If you open $HOME\Documents\anythingllm in there should be a .env file in it. Does that file exist? That error seems to be related to it trying to match a hashed password (assumes the system is in password-protected mode) and it is null.

Yes, there is an .env file. I followed the setup documented here: https://github.com/Mintplex-Labs/anything-llm/blob/master/docker/HOW_TO_USE_DOCKER.md.
The content of the .env file (replaced token values with 'xxxx'):

Auto-dump ENV from system call on 12:08:28 GMT+0000 (Coordinated Universal Time)
LLM_PROVIDER='openai'
OPEN_AI_KEY='xxxxx'
OPEN_MODEL_PREF='gpt-3.5-turbo'
LMSTUDIO_BASE_PATH='http://host.docker.internal:1234/v1'
LMSTUDIO_MODEL_TOKEN_LIMIT='2048'
EMBEDDING_ENGINE='native'
VECTOR_DB='lancedb'
AUTH_TOKEN='xxxxx'
JWT_SECRET='xxxxx'
STORAGE_DIR='/app/server/storage'

All the fields have value. Any suggestions to changes i can try?

Related to this PR #956
To solve this in the meantime. Start the container and go to your interface in the browser. Open browser inspector -> Application -> LocalStorage -> localhost:3000 and remove all keys started with anythingllm_
TLDR; session expired and the app is crashing trying to compare a hash with null. That PR fixes that and will be merged Monday. I would merge today, but it has to do with auth so id rather be around and available when i merge it.

If the above fix does not work, remove the AUTH_TOKEN and JWT_SECRET envs and boot and see if the crash persists


[Android] Support third part media player on Crosswalk

A requirement from an important customer who want to forward web resources with proxy
on Crosswalk, but android system MediaPlayer can't set a proxy with a standard API.
The ExoMediaPlayer is playing videos and music is a popular activity on Android devices,
and it can be configured with proxy.
https://developer.android.com/guide/topics/media/exoplayer.html
BUG=XWALK-6770

@rakuco @lincsoon @axinging @wuhengzhi PTAL.

Crosswalk 20 branch date is May 27th, please prioritize the review if you want this in.

How to set the proxy for player? I can not find the interface.

The API will to be exposed in another PR in crosswalk repo.

The PR of exposing api to developer is https://github.com/crosswalk-project/crosswalk/pull/3736

@rakuco @lincsoon @axinging @wuhengzhi PTAL

Thanks, done.

@rakuco @halton @lincsoon @axinging @wuhengzhi Do you have any updates?

LGTM

LGTM.
@rakuco ?

Not yet, IMO.

The questions that must always be asked on every single chromium-crosswalk pull request and which have not been addressed here: have you tried to upstream this in any form? If not, why not? What's the maintenance plan here, are we expected to carry this patch forever?
"I want to integrate this patch because my unnamed, important customer wants it" is not a valid reason to have a patch merged into a public, open-source project. You need to come up with a better explanation of why we want this.

Code-wise: isn't it possible to add a delegate that returns a subclass of MediaPlayer so you don't need to define ExternalMediaPlayer at all? Something like making getLocalPlayer() return either a new MediaPlayer or a subclass if one is registered in Crosswalk. This way the change to chromium-crosswalk is much smaller (and easier to get accepted upstream) and you make XWalkMediaPlayer inherit from MediaPlayer and let your users change its behavior as they see fit.

The questions that must always be asked on every single chromium-crosswalk pull request and which have not been addressed here: have you tried to upstream this in any form? If not, why not? What's the maintenance plan here, are we expected to carry this patch forever?

I will communicate with upstream to figure out whether it's acceptable feature.

"I want to integrate this patch because my unnamed, important customer wants it" is not a valid reason to have a patch merged into a public, open-source project. You need to come up with a better explanation of why we want this.

Thanks Sunlin's explanation: This feature is requested by one of our customers. They came to us because they couldn't realize their idea with existing solutions. First, there's no proxy configuration for Android WebView, the developer can redirect the reqeust for specific url but there's nothing they can do about video streaming, which is just what the customer wants. Second, although chromium supports proxy settings, but it's not available on Android.

isn't it possible to add a delegate that returns a subclass of MediaPlayer so you don't need to define ExternalMediaPlayer at all?

The approach has a demerit that an invalid MediaPlayer is created by default, but the third party MediaPlayer don't need it usually such as Google ExoPlayer. The refined codes is also committed, PTAL.

Is there a status update on this?
https://stackoverflow.com/questions/49394213/using-exoplayer-for-video-playback-in-a-crosswalk-project-android-application


Ensure compatibility with Twig 3

The classes \Twig_Extension and \Twig_SimpleFunction have been removed in Twig 3 in favor of Twig\Extension\AbstractExtension and Twig\TwigFunction respectively. As these classes were only introduced in Twig 2.4.0, we have to drop support for older Twig versions here.
Silex support is dropped because the CalendRServiceProviderTest fails now without the \Twig_Extension class. As Silex is not maintained anymore, it should not be a problem to drop it's support. This should be considered as a BC-break.

Due to the BC-break, I think we consider releasing the 3.2.0 version.
What do you think about that?

If you want to follow Sem er, this would be a 4.0.0.

Is anything still unclear here that I could help with?

I've merged this PR and prepare to release the 4.0.0 version.

Great, thank you

Hey, it's been a while. Are you still planning to release version 4.0.0? Can I help with something?

The 4.0.0 is released and sorry for my delay response.
https://github.com/peter279k/fork-CalendR/releases/tag/4.0.0

Thank you!


Thumb over the range slider

Range 0.0 ... 1.0 Very simple. As the title with a value beyond the range the thumb goes beyond. Here a comparison with system sliders that stops at the end. Problem found only with MacOS Monterey Beta 6 (21A5506J).
In addition the Resources and Examples folders in Package are missing.

slider-range-bug.swift.zip

@gmcusaro Thank you for your feedback.