modularise the rate control mechanism

At present the rate control mechanism is a simple 'TPS' rate control. A basic TPS control is good for driving simple tests at a set rate, however it has limitations in that:

timeouts can occur
it may be desired to follow a set profile (ie a sine-wave/step-wave profile)
it may be desired to load the system in a different manner

I have been using a custom rate controller that loads a set number of transactions and maintains a set level of these transactions by adjusting the TPS, which has the benefit of never timing out and the results yield a 'maximum TPS' based on the set loading of transactions that are being processed.
To enable the above I modularised the rate component and would like to submit this modularisation back for consideration to be included in the main Caliper repository.
Users will then be able to submit their own rate controllers for experimentation.
The changes include:

Modularisation of the rate component
Documentation of how to specify a rate component
Default to the 'basic-interval' rate limit, which is the rate limit being used by Caliper.

@nklincoln
It looks like a great idea, just one comment:
Why not remove tps from 'txNumbAndTps' or 'durationAndTps' thoroughly, and define it as an argument of 'basic-interval'? That would make the configuration more clear.
BTW: maybe the name basic-interval should also be changed to a more understandable name like fix-rate?

@haojun
Sounds like a plan - I'll make those edits and resubmit 👍

Hi @haojun,
I've made the suggested edits, though it resulted in needing to go a bit deeper with changes through the code:

In order to enabling driving sub-rounds at different rates, it was necessary to have a corresponding rate definition per sub round.
txNumbAndTps is now txNumber, and is a list of sub-round transaction numbers only
durationAndTps is now txDuration, and is a list of sub-round durations only
dealing with number based and duration based test rounds has been broken into separate async functions to help with clarity within the actual client test run
upped Node level to support Node8 to enable async/await usage

Comments after a quick review:

Some old terms like 'fixed-interval' and 'basic-interval' are still used
(client-util.js) The txDuration should not be divided by number of clients
(local-client.js) The original 'txNum++' is missing in the new 'runFixedNumber' and 'runDuration'. The value is used to update the number of submitted transactions.
(config.json) I prefer to keep 'clients.number'  larger than 1 to demo the capability of using multiple clients

BTW: the fixedRate may have some problem when running with zookeeper model, but I can fix it later

Hi,
Thank you for your prompt review - I have made the above edits (good spot!) and re-pushed the changes.
I will also look into the zookeeper mode, as  I have not experimented with yet and I'm keen to investigate it


Is it possible to support multiple PDF files in App3 Question / Answer with a local PDF?

Is it possible to support multiple PDF files in App3 Question / Answer with a local PDF?

@tomasonjo I think it should work with a multi-select or and then iterate over the files?

We have tried this. I think that streamlit supports multiple files. You need to set pdf = st.file_uploader("Upload your PDF", type="pdf", accept_multiple_files=True) and then generate a single list with the text chunks from all PDFs and pass it to Neo4jVector index using from_texts method.


twitter is not generating cards

nor on tweets https://twitter.com/hackupc/status/869085904161341440
nor on dms

This is because we don't have any metadata for twitter yet: https://dev.twitter.com/cards/types/summary-large-image

If nobody PR this, I will later today


EN-translation, formatting, imports sorting and typo fix.

Added EN translations to Utils.py, adjusted overall formatting and imports, fixed README.EN.md a bit, changed ignoreBoardCast to ignoreBroadCast to fix typo.

Btw I have errors when trying to launch both main branch and translated one:
name 'driver' is not defined
  File "C:\Users\st0nke\VS\EH_EN\EsportsHelper\Config.py", line 16, in __init__
    with open(configPath, "r", encoding='utf-8') as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: expected str, bytes or os.PathLike object, not NoneType

During handling of the above exception, another exception occurred:

  File "C:\Users\st0nke\VS\EH_EN\main.py", line 124, in <module>
    main()
  File "C:\Users\st0nke\VS\EH_EN\main.py", line 108, in main
    config = Config(log, args.configPath)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\st0nke\VS\EH_EN\EsportsHelper\Config.py", line 48, in __init__
    input(_log("按任意键退出", lang=self.language))
                              ^^^^^^^^^^^^^
AttributeError: 'Config' object has no attribute 'language'

During handling of the above exception, another exception occurred:

  File "C:\Users\st0nke\VS\EH_EN\main.py", line 128, in <module>
    sysQuit(driver, format_exc())
            ^^^^^^
NameError: name 'driver' is not defined

I think U disunderstanding me about i18n. translations should be put inside into the dict.like {"你好": "hello"}those numbers should be deleted

Updated, is it correct now?

Updated, is it correct now?

LGTM


Feature/rational arbitrary

An attempt to improve the rational arbitrary
Also some tests for the more tricky arbitraries such as rational, safeLong
and interval. The tests check that the arbitraries generate a realistic
distribution of the possible kinds of rationals, intervals or safelongs
They are made deterministic by setting the random seed, so there should not
be any additional transient failures.
Fixes #484
This also adds some simple tests for the spire.math.prime namespace. These will have to be adapted once #489 is fixed one way or the other.

Now that travis has miraculously run through without any issues, it would be nice go get a +1 from @non, @tixxit or @denisrosset
This contains a few more things than just the arbitrary improvements. It might slow down the tests a bit since the rational arbitrary now generates big rationals a bit more often. But I think this has to be accepted, because an arbitrary that will only rarely produce certain kinds of values just produces a false sense of security...

:+1:

Thanks for this, especially for the extra tests! Merging now.


Bug fix in deep image compare when pixels had different # of samples

The IBA::compare for deep images A and B would loop over pixels in the
union of A's and B's ROIs (so far, so good), then for each pixel would
loop from 0 to A's number of samples in that pixel. Oops! That means
that if A had fewer samples than B (or if A had no samples but B had
samples) in that pixel, it would not notice that the images were
different.

LGTM!


Fixed C++ batch acks tracker to evict message from sendList array

Motivation
In c++ consumer, when receiving batched messages, the acknowledgment tracker is incorrectly trying remove the messageId from the last message in batch being acked from the sendList. In that list, the message ids being inserted are always the ones from the batch, not the individual messages.
The result of this is that the sendList keeps growing, using memory and making the linear search to skyrocket in cpu/time.
Note: this is just a quick fix to address the most pressing issue. A better fix will be to implement an equivalent of #1424.

Merged in 2.3.1 at
0d5ef2d


Clang format & rocm cmake & random workaround

Add clang format file
Set THRUST_DEVICE_SYSTEM_HIP on HCC/HIP-clang automatically
Fix rocm cmake
Random workaround for rocm 2.5

I have to merge it manually, please review.


[QA][Sharing NG] ApiTest: sent sharing invitation

https://owncloud.dev/libre-graph-api/#/drives.permissions/Invite
sync enabled and disabled introduced in ocis with the help of env maybe we need to tests this also (ticket: https://github.com/owncloud/ocis/issues/8318)

[x] invite users/group with: @grgprarup

[x] different permissions

[x] to user https://github.com/owncloud/ocis/pull/8046
[x] to group https://github.com/owncloud/ocis/pull/8047

[x] different roles

[x] to user https://github.com/owncloud/ocis/pull/7984
[x] to group https://github.com/owncloud/ocis/pull/8009
[x] with expiration date https://github.com/owncloud/ocis/pull/8092

[x] invite users: @grgprarup

[x] normal user https://github.com/owncloud/ocis/pull/8226
~- [ ] multiple users (not implemented yet)~
[x] disabled user https://github.com/owncloud/ocis/pull/8139
[x] deleted user https://github.com/owncloud/ocis/pull/8110, https://github.com/owncloud/ocis/pull/8179
[x] wrong objectId -> 400 https://github.com/owncloud/ocis/pull/8129
[x] empty  objectId -> 400 https://github.com/owncloud/ocis/pull/8133, https://github.com/owncloud/ocis/pull/8189
[x] wrong @libre.graph.recipient.type -> 404 https://github.com/owncloud/ocis/pull/8136
[x] empty @libre.graph.recipient.type -> 404 https://github.com/owncloud/ocis/pull/8137
[x] already shared to the user -> 409 https://github.com/owncloud/ocis/pull/8308
[x] resource from project space

[x] user/group https://github.com/owncloud/ocis/pull/8327

[x] share deleted resource with user/group -> 404 https://github.com/owncloud/ocis/pull/8326

[x] invite groups with different permissions and roles @PrajwolAmatya

[x] normal group https://github.com/owncloud/ocis/pull/8226
[x] deleted group -> 400 https://github.com/owncloud/ocis/pull/8166
[x] unknown group -> 400 https://github.com/owncloud/ocis/pull/8175
[x] already shared to the group -> 409 https://github.com/owncloud/ocis/pull/8181
[x] multiple group https://github.com/owncloud/ocis/pull/8167

[x] invite groups and user in one request (Not possible: https://github.com/owncloud/ocis/pull/8019) https://github.com/owncloud/ocis/pull/8168
[x] try to share file/folder with not available roles (See comment, comment) @PrajwolAmatya  https://github.com/owncloud/ocis/pull/8302
[x] share space @PrajwolAmatya

[x] share project-space with different roles https://github.com/owncloud/ocis/pull/8304
[x] share disabled/deleted space -> 404 https://github.com/owncloud/ocis/pull/8319
[x] share to group https://github.com/owncloud/ocis/pull/8328

[x] reshare @PrajwolAmatya -> No new tests to be added for resharing. See comment https://github.com/owncloud/ocis/issues/8335

[x] user

[x] normal user https://github.com/owncloud/ocis/pull/8114 https://github.com/owncloud/ocis/pull/8275
[x] higher roles https://github.com/owncloud/ocis/pull/8147
~- [ ] parent sharer deleted~
~- [ ] parent share disabled~

~[ ] group~ https://github.com/owncloud/ocis/pull/8123

All tests have been covered. So, closing this issue.

Re-opening this issue, as I have added tasks for two cases, sharing Personal and Shares space with different roles.

Re-opening this issue, as I have added tasks for two cases, sharing Personal and Shares space with different roles.

@PrajwolAmatya do you mean by Personal and share drive? Or you mean by project with name Share and Personal

@PrajwolAmatya do you mean by Personal and share drive? Or you mean by project with name Share and Personal

Its Personal and Shares drive.

@PrajwolAmatya do you mean by Personal and share drive? Or you mean by project/space with name Share and Personal

Sorry, that was me who edited the list. The case is to try to share Personal and Shares drive

Re-opening this issue, as I have added tasks for two cases, sharing Personal and Shares space with different roles.

Share invite on personal and virtual drive has bug, all bug report is listed on this issue-8428. So closing this issue


This PR is a kick start for Istio CA to integrate with HashiCorp Vault server.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: wattli
Assign the PR to them by writing /assign @wattli in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

security/OWNERS

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

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

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
fd913493292206dc85314c1702cc6c340107089d
link
/test istio-unit-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
fd913493292206dc85314c1702cc6c340107089d
link
/test istio-unit-tests

prow/istio-presubmit.sh
fd913493292206dc85314c1702cc6c340107089d
link
/test istio-presubmit

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

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

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
fd913493292206dc85314c1702cc6c340107089d
link
/test istio-presubmit

prow/istio-unit-tests.sh
c053061e2d85a98ddce699e97c7b19c34bad655c
link
/test istio-unit-tests

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: incfly
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: wattli
Assign the PR to them by writing /assign @wattli in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

security/OWNERS

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

New changes are detected. LGTM label has been removed.

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

Needs approval from an approver in each of these files:

security/OWNERS [incfly]

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

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

Needs approval from an approver in each of these files:

security/OWNERS [incfly]

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

/lgtm

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

Needs approval from an approver in each of these files:

security/OWNERS [incfly]

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


Preparatory item not displaying correctly in the Orchestrator

Preparatory items are not displaying correctly in the Orchestrator.
The short description should not be there.
Is this linked to #459?

Apart from the unusual formatting of <p> tags, since a short description is set on these items then that is why they are appearing. System C were not informed about any different requirements for this, so we consider this out of scope - except for fixing the HTML formatting in the short description.

The SOW needs updating to show that this hasn't been delivered.
A preparatory item is hidden from the dictionary until it is approved. Therefore the short description should not display the text.

Peter thinks this may now be fixed so will check.

This issue has been fixed and deployed to TEST, TRAINING and LIVE. Please move this to the "Ready for NHS E Testing" state.

To test, change an item's status between preparatory and not-preparatory, then check the preview of the item. I usually open two tabs for the same item - one in Mauro, one in Orchestrator preview - then make changes in one and refresh the preview in the other.

I have made the NHS Business Definition Eye Colour preparatory in a new CR8009 and the short description is still not showing correctly.

I also made the Data Element EYE COLOUR IDENTIFIER preparatory in CR8000 and the short description is still not showing correctly. This also linked to #554.

If this is the same as the preview via the DDPM, this will prevent migration.

Please clarify what should happen so I am clear - if an item is preparatory, what should it look like? What sections should appear or not appear? Please provide a link or screenshot as well to an example, I might find that useful.

30/09/24 - for the Orchestrator and live dictionary, Peter is going to add the short description, description and change log on all prep items.
Everything else will be removed.

It was agreed in the meeting on 30/09/2024 that preparatory item pages will contain:

Short description
Preparatory text template (instead of the item description)
Change log (New)

They will not include:

Original description
Format/Length (for Elements)
National Codes (for Elements/Attributes)
Default Codes (for Elements)
Attributes (for Classes)
Relationships (for Classes)
Linked Attributes (for Elements)
Linked Elements (for Attributes)
Aliases
Specifications (for Data Sets)

If an item is preparatory, it may appear as a link on another page.

I have deployed to TEST the changes described in my last comment.

Prep items are now showing correctly in the Orchestrator:


Migrate from retworkx to rustworkx

Summary
Follow up to #47
Details and comments

We'll have to drop Python 3.6 support before merging this.  See also #46.


Change DelegateInterface type-hint to ServerRequestInterface

Fixes #40.

Perfect, thanks!

Will this be in the 0.4.0 version? and any idea on when that might be tagged?
I ask, as we'll need to reflect the change in the next minor version of Stratigility. :smile:

I'd like to address #47 before tagging the next release. :)

Agreed, @shadowhand ! (Opened that immediately once I got this far today, as I think it's important before tagging!)

This was tagged in 0.4.0.


Chart Data Range

Would it be possible to add support for selecting the range of the data for charts?
Doing this manually is easy (you change the range while editing the chart in excel), however, this is not possible with PptxGenJS currently.
Use Cases
Storing Additional Information
Often times the data will have too many categories/columns and it can be convenient to group the lower values into an "Other" category. This can be especially useful for Pie Charts and Stacked Bar Charts, where too many categories can limit readability.
However, doing so results in information being lost to the user - since they don't know the make-up of this "Other" category.
To resolve this, I would like to be able to include all the individual categories in the chart data (i.e. when editing the chart in excel), but not display them in the chart.
This would allow users easy access to the grouped data, so they can add additional info to their PPT if needed.
Data Label "Value From Cells"
Although this would require additional features implemented (i.e. per label editing of data labels), it is related and requires the feature in this issue be implemented first.
When created a Stacked Bar Chart (i.e. horizontal "Stacked Column Chart"), it's difficult to add the sum totals to the end of the bars. However, there is an easy "hack" to resolve this.
It involves adding two additional dummy categories - one with a value of zero, and one with the totals.
The totals are not included in the chart's data range, but are instead used as the data label values by utilizing the "Value From Cells" feature in PPT.
Here is a tutorial that I found which explains this use case.

I'm unsure about how to implement this or the interest level of the user base. Closing for now, not locking in case others have feedback.


python3Packages.cirq: unbreak

Motivation for this change
This is a pre-ZHF PR to unbreak a package before release.
Found out it was broken due to changing dependencies or something.
Remove unneeded test disables.
Add changelog.
Unpin most python dependencies.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

not sure if it's just my machine, or numpy:
$ nix build --no-link --keep-going --option build-use-sandbox relaxed -f /home/jon/.cache/nixpkgs-review/pr-96883/build.nix
builder for '/nix/store/flvaydgqqqlpjnhm3s4d1cxb444j3qv5-python3.8-cirq-0.8.2.drv' failed with exit code 1; last 10 log lines:
  test_example_runs_bcs_mean_field_perf                197,441.5890 (505.45)   246,864.2670 (541.90)   210,672.8178 (528.86)   20,686.5867 (>1000.0)  202,633.1730 (510.30)   19,923.2685 (>1000.0)       1;0      4.7467 (0.00)          5           1
  test_example_runs_hello_line_perf                    219,470.2300 (561.84)   309,193.5710 (678.72)   238,316.9818 (598.26)   39,638.7597 (>1000.0)  220,879.2550 (556.25)   24,512.7475 (>1000.0)       1;1      4.1961 (0.00)          5           1
  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  Legend:
    Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.
    OPS: Operations Per Second, computed as 1 / Mean
  =========================== short test summary info ============================
  FAILED cirq/ion/convert_to_ion_gates_test.py::test_convert_to_ion_gates - ass...
  ===== 1 failed, 8644 passed, 36 xfailed, 255 warnings in 120.70s (0:02:00) =====
builder for '/nix/store/rn05sywqhwg835gq3g56mhs1cyh31lmg-python3.7-cirq-0.8.2.drv' failed with exit code 1; last 10 log lines:
  test_example_runs_bcs_mean_field_perf                211,374.1080 (555.23)   307,129.9690 (711.02)   239,041.2258 (614.29)   39,523.0382 (>1000.0)  226,088.3760 (582.58)   42,361.8932 (>1000.0)       1;0      4.1834 (0.00)          5           1
  test_example_runs_hello_line_perf                    252,885.7500 (664.27)   303,608.6790 (702.87)   272,028.4302 (699.06)   23,228.6949 (>1000.0)  257,157.8810 (662.64)   38,013.4590 (>1000.0)       1;0      3.6761 (0.00)          5           1
  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  Legend:
    Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.
    OPS: Operations Per Second, computed as 1 / Mean
  =========================== short test summary info ============================
  FAILED cirq/ion/convert_to_ion_gates_test.py::test_convert_to_ion_gates - ass...
  ===== 1 failed, 8644 passed, 36 xfailed, 255 warnings in 131.97s (0:02:11) =====
cannot build derivation '/nix/store/3g24fz969li527ai4gfb550cc9fdhzbs-env.drv': 2 dependencies couldn't be built
[0 built (2 failed), 4 copied (45.0 MiB), 13.3 MiB DL]
error: build of '/nix/store/3g24fz969li527ai4gfb550cc9fdhzbs-env.drv' failed
https://github.com/NixOS/nixpkgs/pull/96883
2 packages failed to build:
python37Packages.cirq python38Packages.cirq

@jonringer I can't reproduce:
https://github.com/NixOS/nixpkgs/pull/96883
2 packages built:
python37Packages.cirq python38Packages.cirq

I've had trouble with that test before, the failures I've seen were machine precision-ish issues (0.750...2 != 0.75). I can add that patch/test disable if you'd like.

I'm not sure the perf tests give a lot more validity when packaging (great upstream in a controlled environment). And it might be worthwhile to remove them altogether to ensure less flakey builds.

The actual test failing is here:

FAILED cirq/ion/convert_to_ion_gates_test.py::test_convert_to_ion_gates - ass...

Which is not a benchmark, and is sort of relevant to my use case for this package, which is why I'm hesitant to disable it entirely.
https://github.com/quantumlib/Cirq/blob/62ef7f7a26cf6e4c5a64359f5bbe47c0cb2765e8/cirq/ion/convert_to_ion_gates_test.py#L39
Disabling benchmarks cuts about 30 seconds off the build time, so I'll do that (but separate from above).


kamelet-binding: support for processing steps

We should provide a way to manipulate exchanges generated by the source before they are processed by the sink, something like:
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: steps-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Camel"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: prefix-action
    properties:
      prefix: "Apache"
  sink:
    uri: log:info

/cc @nicolaferraro


Server: Add additional types of scoping for next_n rooms

The next_n rooms are really useful if you want to connect to other players as quickly as possible.
However it would be nice if they allowed the clients to match on some criteria. in addition to the total number of players. e.g.

Are they playing the same game? (would allow to reuse the same server for multiple games)
Game version
Specific map
Game mode
etc.

I think it would make most sense to make this generic so it could support criteria and use cases I haven't thought of.
In its simplest form, this could just be a single string key decided by the game: e.g.
wss://match.myserver.com/next_4?key=thegame_v1.0_deathmatch

Not sure if key is the most fitting name here. scope, namespace? Or have it as a path arg? Open to suggestions.

Another use for scope could be ranking (to match players with similar skills)
I'd want to suggest "any" scopes :

game X with skill Y on any map
game X with map M with any number of players

⚠ But players would have to know what value that "any" end up to be ?

Probably it can be reconciled in p2p, with a shared seed (user ids with XOR ?) if all queued for "any", and else take the room scope value (if 1 player shares it the rest adapt (or know already)

I guess we could then make /next_int obsolete with :

number of players With any room (other scopes could be applied)

That probably belongs to another issue though to discuss that though.

I guess we could then make /next_int obsolete with :

number of players With any room (other scopes could be applied)
Sorry, I don't understand how they are the same?

As I see it, there is one fundamental difference between the two types of rooms, and that is that the next_n rooms create a new room once there are enough players, while the id rooms on the other hand are sort of continuously "alive" and allows peers to join and leave as they want.
Also, I don't understand how adding scopes to id rooms would add anything? Their id is their scope. If you need more scoping, can't you just concatenate it to the id?
Another approach would be to add a flag for next_n behavior to the id rooms instead, so it's either
wss://match.myserver.com/some_game_mapname?next=3

or:
wss://match.myserver.com/private_a980bnben

But maybe that was what you meant?
As for seeding, yes, that is a challenge, and deriving from user ids should work. It's probably a good candidate for some example or tutorial.
My thinking has been that at some point, your matchmaking needs become too complex or too game specific and at that point, you'd want some third service in the middle that handles players as they arrive, figures out if their elos are close enough, if they prefer the same map, maybe they have bans or preferred maps, maybe some requirements are relaxed if the players have been waiting for a long time etc. etc. And only when the game is about to start are all the players handed a uuid that they use as the room id when they connect to matchbox_server.
That way matchbox_server could stay simple and versatile, but actually matching up players could be done in another service.

the id rooms on the other hand are sort of continuously "alive" and allows peers to join and leave as they want

From my understanding the Next rooms are "continuously "alive" and allows peers to join and leave as they want" until there are enough peers then all are kicked to allow others to enter
I was thinking this could be generalized given these 2 sentences are not so different, but you're right it's a different behaviour that needs to be specified (for now through "next_x").
I thought adding scope to both room type would make the API more coherent by having the same arguments available, but indeed if we don't want to go to a more complex "optional scopes" it brings no advantages.
For generalization, A "next_infinite" would have the same behaviour than an Id room right ?

wss://match.myserver.com/some_game_mapname?next=3

:+1: I think I like that ; Then we'd handle wss://match.myserver.com/some_game_mapname like an Id room ?

your matchmaking needs become too complex or too game specific and at that point, you'd want some third service in the middle

Would you be interested in starting another issue for "specific or any" named scopes though ?

allowing player queuing for any scopeSkill to match with players queuing for scopeSkill=pro.

It certainly falls in "complex" matchmaking but maybe worth the discussion 🤔 🧠 🔥 ❓


Project won't build due to error in ThirdWaveLibrarianApp file

When I try to build the ThirdWaveLibrarian I get a fatal error on lines 37 and 61 of the ThirdWaveLibrarianApp swift file.
The error in both cases is the similar:
37: Cannot call mutating async function 'load(dirURL:)' on actor-isolated property 'banks'
61: Cannot call mutating async function 'load(bank:dirURL:)' on actor-isolated property 'banks'

Thanks! I will look into this. The newer compiler is stricter on concurrency issues than when I wrote this code.

I've updated the code with an extension which allows the code to compile again, and to run as before. A better long-term solution would be to rewrite the data model to use actors for thread safety instead of structs. But for this simple app, I think this fix suffices for now.

Closing this issue.

Just as a final note, now builds correctly for me. Thanks for the quick fix. I suspected something like an extension using Binding would be solution, but I wasn't familiar enough with the code to know if that would work.


Fix ChaincodeDeploymentSpec and ChaincodeInvocationSpec API

The ChaincodeDeploymentSpec and ChaincodeInvocationSpec API as defined in chaincode.proto needs to be reworked. The main issue is that ChaincodeDeploymentSpec and ChaincodeInvocationSpec both share ChaincodeSpec which results in unnecessary fields when when either deploying or invoking a chaincode. Also, some fields such as ctorMsg need to be renamed so that they are more clear.
I will post a proposal soon.

Just a note to capture that chaincodeType is superfluous in Invoke/Query operations, so ideally cleaned up as part of this effort.

Actually, the chaincode type needs to be at the transaction level in order for the crypto layer to work properly.

@adecaro this isn't obvious to me why this would be.  Could you elaborate?

not clear to me either. Seems we should be able to lookup this information from the DB on an invoke/query if it is needed.

@ghaskins @srderson Actually, deploy/execute/query transactions are encrypted in different ways because they contain different information. Then, once the crypto layer has to pre-validate and then pre-exececute a transaction at the validator side, having the transaction type field allows the crypto layer to know quickly how to decrypt the transaction. Without that field, the crypto layer should try all the possible ways to decrypt a transaction to find out which type the transaction is. This is quite inefficient!
Notice that, the type of a transaction cannot be hidden because the size of a transaction leaks this kind of information. So, for efficiency reason I would prefer to have that field there. If you decide anyway to remove that field then the crypto layer needs to be updates as I said above.

@adecaro ok, we might be talking about different fields.  chaincodeType is what specifies the type of language the chaincode is implemented with (today only "GOLANG" is supported).  It really has no meaning for anything except deploy, as we invoke/query all chaincode types the same way once its running.  It sounds like you are concerned about the transaction type of deploy/invoke/query, not the chaincode type of golang/other/other.  I would imagine the transaction type field should remain present indefinitely .  In light of this new info, is this ok?

@ghaskins Yes, it is fine :)

The first pass is changing ChaincodeSpec.ctorMsg to ChaincodeSpec.input.

@srderson can this issue be closed? Has this either been addressed or transitioned over to Gerrit? Please let me know. Thanks!

I'll recreate in Jira. Needs to be part of the new proto definitions.


Update applyEntity doc

Summary
There has been some confusion over the params passed into applyEntity. Since targetRange is an instance of SelectionState, lets make the docs more clear. #455
Test Plan
Doc change only.

I think this is helpful. Hope in the future we can add even more detailed examples, and maybe even make the API simpler too.


feat: add pci_bus_id label for metrics

This PR add pci_bus_id label for metrics to indicate the PCI Bus ID of the GPU.
Currently we have UUID for users to indicate a GPU card. For many reasons, you may also want to locate a GPU by its PCI Bus ID.
For example, for cloud service providers, they supply GPU cards from the bare metal machines to Virtual Machines. However, GPU UUID is only aware to Guest system, therefore the cloud provider is unable to accurately tell the user that which GPU is broken. What the cloud provider have is only the PCI Bus ID.
Once added the pci_bus_id label, users can filter metrics by the Bus ID sent by the cloud provider, and receive alarms if their important tasks are affected.

Example output:
# HELP DCGM_FI_DEV_XID_ERRORS Value of the last XID error encountered.
# TYPE DCGM_FI_DEV_XID_ERRORS gauge
DCGM_FI_DEV_XID_ERRORS{gpu="0",UUID="GPU-96be9fff-fdfd-9b87-88d4-fe5b9a012148",pci_bus_id="00000000:08:00.0",device="nvidia0",modelName="NVIDIA GeForce RTX 3090",Hostname="debian",err_code="0",err_msg="Unknown Error"} 0
# HELP DCGM_FI_DEV_FB_FREE Framebuffer memory free (in MiB).
# TYPE DCGM_FI_DEV_FB_FREE gauge
DCGM_FI_DEV_FB_FREE{gpu="0",UUID="GPU-96be9fff-fdfd-9b87-88d4-fe5b9a012148",pci_bus_id="00000000:08:00.0",device="nvidia0",modelName="NVIDIA GeForce RTX 3090",Hostname="debian"} 24268

Thanks for the PR. Can you also add a test or adjust an existing test to account for these changes?

@glowkey Done.

@glowkey Updated. Sorry for being a few days late.


Applicable nations

This PR adds the ability for editors to mark a Policy Area or Programme as only being applicable to certain nations within the UK. By default, all Policies are applicable in all nations and if an Editor specifies otherwise it will allow them to provide a URL for the alternative policy.
Screenshot:

Commits are as follows:

add boolean and policy_url column for each nation
permit the params in the controller
add an ApplicableToNations concern
adds the inputs to the view along with some JS to toggle the policy_url input
publish the applicable nations and the alternative URLs in the content item
add Poltergeist
test applicable nations in features

Waiting on https://github.com/alphagov/govuk-content-schemas/pull/35 to be merged before it goes green.
Example section of the content item once published:
      "nation_applicability": {
        "applies_to": [
          "england",
          "northern_ireland"
        ],
        "alternative_policies": [
          {
            "nation": "scotland",
            "alt_policy_url": "http://gov.scot"
          },
          {
            "nation": "wales",
            "alt_policy_url": "http://gov.wales/"
          }
        ]
      }

It'll probably be fine, but could you use example.com URLs in tests?

Having reviewed the corresponding finder-frontend pull request, I've had a thought about when to include the new "nation applicability" information with a content item: I think it makes more sense both here and in the frontend to only include the nation_applicability data when a content item does not apply to all nations.
Currently, all documents by default are assumed to be applicable to all nations. Therefor including the nation_applicabilty information when it applies to all nations adds no extra information as it is entirely implicit by its absence. In fact, by only including the data when it is not applicable to all nations, we give ourselves a backwards-compatible API that all other documents are automatically compatible with (i.e. no data, therefor applies to all).
Including the data all the time also forces the frontend to do unwieldy checks on the data structure to see if the document applies to all the nations or not.
I think that not including the data unless necessary will both simplify the frontend and give us a more logical API for very little effort.


Use swift format instead of swift-format in format-changes.sh script when using Xcode 16+

Description
From the swift-format docs:

Xcode 16 and above include swift-format in the toolchain. You can run swift-format from anywhere on the system using swift format (notice the space instead of dash).

Because of this, it is not necessary to install swift-format using Homebrew or other custom alternatives. The difference is that to invoke the command you have to use swift format instead of swift-format.
Acceptance criteria
Modify the format-changes.sh script to use swift format instead of swift-format if Xcode version is 16+.

@heyjaywilson hi Jay, if you agree with the change, please feel free to assign it to me as well. Thank you!

I can get behind this change! As long as both formatting changes still work it makes sense. Xcode 16 is necessary for this project anyway.


Contour: destructor not implemeted

The contour destructor is not implemented and outputs:
Fudging timestep info in ContourRenderer. How do we get time range information from a Renderer class? Fix me!
To reproduce:

Load any dataset and enable a contour renderer
Click undo

Contour renderer not working so need to test later


Future of This Repository

As you probably have noticed, I haven't spend any time to maintain this repository in the last months, and I'm very sorry about that.
ember-power-select (the future?)
Maybe you have already seen the https://github.com/cibernox/ember-power-select project, which aims at creating a select component that works similarly to Select2 but is implemented "natively" using Ember technologies.
The author of that component has kindly contacted me before starting with his work and asked for my opinion on his idea, and I was quickly convinced.The truth is: maintaining ember-select-2 sometimes is a real PITA because of all the edge cases, the huge API surface of Select2 and the permanent data conversion between the jQuery layer and the Ember layer. Implementing a similar component with native Ember code was, in fact, my long-term idea for this component anyway, and I'm glad that there are strong supporters for this approach, as you can see with the activity of the ember-power-select repo.
ember-select-2 (this component)
On the other hand, some of you have probably invested quite some time into integrating this component into their apps, which is why I understand that some people would like having this project a little longer.
If you feel ready to take over control over this repositories, please comment on this issue so we can discuss a way forward. Since it would probably be wise to have more than one person administrating this project, I am very open to invite multiple people to use this opportunity.

@iStefo I recently found ember-power-select and was going to take a look at it. If the community is moving toward this solution, I am happy to start using that and seeing if it satisfies my needs (style customization and lots of features). I don't want to maintain something that will become obsolete within a year. That being said, if there is a big following for this component, I'd be happy to help maintain this repo. I've worked with Ember and ED for almost 2.5 years now; most actively in the pre 1.0 - 1.7 versions but have recently started picking up the newest features in the latest versions for some large projects moving forward.

@iStefo first of all thanks for putting together this addon and maintaining it all this while. It's really great!
In my opinion if the feature set of the other plugin is the same as this one i'm ok with switching over. My only concern is that with this plugin you don't have to entirely worry about the actually dropdown part at all as its maintained by the select-2 project. Since that project is HUGE you can assume it isn't going anywhere.

Watching this project from the outside (as the primary maintainer of Select2), the Select2 4.0.0 upgrade is going to affect this project (along with others) in one of two ways:

During the upgrade you'll find that Ember properly interacts with the native <select>, and suddenly a lot of special-cased code for Select2 will no longer be needed. This is what happened with Angular and Knockout.JS, and it (mostly) removed the need for a special adapter for Select2.

You find that Ember doesn't properly communicate with a standard <select> and you'll notice that most of the work you did for managing Select2's internal data format can no longer be used. This happened with x-editable and a few other projects, and the final result for most of them was to scrap support for Select2 4.0.0 and/or rebuild the plugin from scratch.

Neither situation is really promising for this project, and as the maintainer of Select2 I'd hate to see this project fizzle out. But I'd also prefer seeing a functional component that works within the native ecosystem than a plugin which was forced into a corner and doesn't work well.

So i'm guessing this has gone the way of the dodo.
Unfortunately https://github.com/cibernox/ember-power-select doesn't support passing objects as content so its not quite a good replacement.

ember-power-select also doesn't work easily if you put it inside your own addon.
I was pretty keen to make it work, but it got too hard so unfortunately select-2 is my only option for now.

I finally pulled myself together and put a deprecation notice onto this repo. Without being able to support this addon within the scope of my work, there is no way I can invest an adequate amount of time to keep up with the issues that arise (and that have been piling up for over a year now).
If anyone is interested in gaining access to the the repository, you are very welcome.

I need to update this addon to Select2 4.0, do you give me access or transfer to me this repository?

@clairton done! Thanks in advance for your efforts


gitignore: ignore build files relevant for iOS sample apps

Can one of the admins verify this patch?


RTL enhancements

[ ] Navigation slide Bar (SideNav) should be on right side, when click on Navbar menu icon.
[x] Please add Tahoma font, in persian and Arabic the default font is Tahoma.
[ ] Scrollspy in lef side of all pages that shows titles, does not set properly for example on page 11
[ ] For Persian and Arabic language that use different font, font size should be small, H1 = 4.2rem is too big and does not display properly. I use your H3 as my H1 :)
[ ] The Floating Buttons does not work correctly on some devices (I checked on Android). Specially those buttons that show others button when you Hover on it.
[ ] I think Chips should have top and buttom margin, in  small devices they lay on each other.
on Collections page, Secondary Content section, those not show it's icon correctly. in RTL they should circle 180 degree.
[ ] On Form Page, the direction of inputing strings should be Right to left. we type our first name from right to left. Email and numbers should be left to right.
[ ] On Form Page, the Placeholders in input fields should be on right. Select list Labels should be on right too. Check boxes does not show correctly when selecting them and should be opposite.
[ ] On Form Page, when selecting a date on Date picker, the date that I select is going below the Icon. I thisnk if you set icon on right  should be better ;)
[ ] On Pagination page, the pagination of Basic section is not correct. they should be horizontally and from right to left.
[ ] Circular Preloader does not show correctly.
[ ] The Toast message should be on right.
[ ] Tooltip should have some margin from right.
[ ] Tabs: they should be in this order(from left to right) 4 3 2 1 not 1 2 3 4, I mean the first Tab should be 1 but in the right not in left.
[ ] Tabular form should be RTL, I mean the checkboxes must onon right, and check boxes thos not show correct.
[ ] Pagination should be RTL.
[ ] Interactive Report  should be RTL as Tabular form.
[ ] The Action menu should open to left.

Need to have a look at how the new 5.1 RTL option can be useful.

Rolling back the side navigation menu for now. It's not a good use of template options and we will benefit from better options in 5.1.

Update: https://github.com/vincentmorneau/material-apex/issues/153


Unclear which python is used

Testing #21878
I'm a python novice, so feel free to close the issue if all is working as expected

create a new folder with a hellp.py file
on the command line in that folder create a virtual environment with python3 -m venv env
open the hello.py file in VS Code

The test issue says ensure that the selected python is the one from pre-existing .venv.

I hover over the python version in the status bar: it says /bin/python3
I click on the  python version in the status bar. The quick pick says: Selected interpreter: ./env/bin/python
The quick pick also has a star. I'm not sure what the star means. Is it because it is selected, or because it is recommended...

So which one is now selected?

@aeschli In the Quick Pick placeholder it shows you the path to the python that is selected. Are you suggesting more of visual icon on the path to the python in the quickpick list?
/cc @luabud @cwebster-99

I was confused that the hover in the status bar seems to contradict what the quick pick says.
So the bug might be in the status bar then.

The quick pick also has a star. I'm not sure what the star means. Is it because it is selected, or because it is recommended...

We have plans to re-evaluate the icons and way to highlight recommended or selected interpreter: https://github.com/microsoft/vscode-python/issues/19904 https://github.com/microsoft/vscode-python/issues/20275.
Unfortunately I'm unable to reproduce the status bar bug. For me "env" shows up in the status bar as well.

@aeschli Apologies, we thought we had the repro but unfortunately are not able to right now. Here's what we tried:

Select a pre-existing .venv (env folder name is ".venv")
Attempt to Create env, choose re-create
Things seem to be normal, with status bar pointing to .venv

Would appreciate you helping with the exact steps to follow to land in this situation, where status bar is different from what picker says.

@karthiknadig @aeschli Let me know if any of you are able to provide the repro steps.

Because we have not heard back with the information we requested, we are closing this issue for now. If you are able to provide the info later on then we will be happy to re-open this issue to pick up where we left off.


Compressed lapis

EE compressed lapis does not work in create recipes.
In the create create crafting mechenism, if one puts EE compressed lapis insted of create compressed lapis, the recipe will not craft the items will fall to the ground.

Which block does this not work in?

Fixed in 9413a0e482d62156b8fe4f36d3d1da24c96d9524.

https://github.com/Creators-of-Create/Create/wiki/0.3.2


Error on 3.38 again, settings can't be displayed

Hi,
I justed installed the extension again from the gitlab page, as soon as #46 was closed. The extension now works, however I cannot access the settings

The technical details are
`Error: Requiring Clutter, version none: Typelib file for namespace 'Clutter' (any version) not found
Stack trace:
@/home/may/.local/share/gnome-shell/extensions/gnomesome@chwick.github.com/convenience.js:8:17
@/home/may/.local/share/gnome-shell/extensions/gnomesome@chwick.github.com/gnomesome_settings.js:6:38
@/home/may/.local/share/gnome-shell/extensions/gnomesome@chwick.github.com/prefs.js:7:27
_init@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:204:33
OpenExtensionPrefsAsync/<@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:122:28
asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:132:22
run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:177:20
main@resource:///org/gnome/Shell/Extensions/js/main.js:19:13
run@resource:///org/gnome/gjs/modules/script/package.js:222:19
start@resource:///org/gnome/gjs/modules/script/package.js:206:8
@/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17
`

@maymage Did you install clutter?
sudo apt install gir1.2-clutter-1.0 gir1.2-clutter-gst-3.0 gir1.2-gtkclutter-1.0

@ChWick
Okay, stupid me.. I could have sworn to have installed these :(


Cannot replace em or rem with px

I really think that you should add an alternative field to specify the unit for widths:
containerUnits:  'px'
And allow the xs md etc properties to accept pixels

My main issue with it is how to do with percentage. For example, if i happen to have a padding in one div, then all the number in rem seems just stop working properly.


fix(Slideover): remove dynamic component when closing

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
When closing the slideover, the component should be removed from the DOM. This is the default behavior of useModal and I think should be the default behavior here as well.
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

LGTM

I've pushed to your PR to fix the formatting and make useModal and useSlideover the same.


Reconnects during registration process.

Hi there, thanks for this lib! Great work!
While performing the registration process, I get multiple reconnects. Every time a reconnect occurs, a new code is generated.
Is this normal or am I doing something wrong?
The code is use:
        Whatsapp whatsapp = Whatsapp.webBuilder()
            .lastConnection()
            .unregistered(phoneNumber, PairingCodeHandler.toTerminal())
            .connect()
            .join();

I see several codes on the console and the time to enter and authorize them in WhatsApp is too short.

Hi there, thanks for this lib! Great work!
While performing the registration process, I get multiple reconnects. Every time a reconnect occurs, a new code is generated. Is this normal or am I doing something wrong?
The code is use:
        Whatsapp whatsapp = Whatsapp.webBuilder()
            .lastConnection()
            .unregistered(phoneNumber, PairingCodeHandler.toTerminal())
            .connect()
            .join();

I see several codes on the console and the time to enter and authorize them in WhatsApp is too short.

Are you using 0.0.5? What if you add .awaitDisconnection() ?

Hi,
Sorry I forgot to mention the version. I tried with 0.0.4 and 0.0.5
Thx for the hint. I will test the scenario with .awaitDisconnection().
Alessandro Autiero @.***> schrieb am Sa., 27. Apr.
2024, 22:15:

Hi there, thanks for this lib! Great work!
While performing the registration process, I get multiple reconnects.
Every time a reconnect occurs, a new code is generated. Is this normal or
am I doing something wrong?
The code is use:
    Whatsapp whatsapp = Whatsapp.webBuilder()
        .lastConnection()
        .unregistered(phoneNumber, PairingCodeHandler.toTerminal())
        .connect()
        .join();

I see several codes on the console and the time to enter and authorize
them in WhatsApp is too short.
Are you using 0.0.5? What if you add .awaitDisconnection() ?
—
Reply to this email directly, view it on GitHub
https://github.com/Auties00/Cobalt/issues/484#issuecomment-2081170264,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADNFVQSB3CFZZNPI4X5UJ2TY7QBMVAVCNFSM6AAAAABGYQAONGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBRGE3TAMRWGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Updates?

Hi, Sorry I forgot to mention the version. I tried with 0.0.4 and 0.0.5 Thx for the hint. I will test the scenario with .awaitDisconnection(). Alessandro Autiero @.> schrieb am Sa., 27. Apr. 2024, 22:15:
…
Hi there, thanks for this lib! Great work! While performing the registration process, I get multiple reconnects. Every time a reconnect occurs, a new code is generated. Is this normal or am I doing something wrong? The code is use: Whatsapp whatsapp = Whatsapp.webBuilder() .lastConnection() .unregistered(phoneNumber, PairingCodeHandler.toTerminal()) .connect() .join(); I see several codes on the console and the time to enter and authorize them in WhatsApp is too short. Are you using 0.0.5? What if you add .awaitDisconnection() ? — Reply to this email directly, view it on GitHub <#484 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADNFVQSB3CFZZNPI4X5UJ2TY7QBMVAVCNFSM6AAAAABGYQAONGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBRGE3TAMRWGQ . You are receiving this because you authored the thread.Message ID: @.>

This is the solution

Hi sorry for the delay. I tried with .awaitReconnection() but that does not change anything.
The registration process is aborted by a reconnect after 20 seconds or so.
Whatsapp.webBuilder()
            .lastConnection()
            .unregistered(phoneNumber, PairingCodeHandler.toTerminal())
            .connect()
            .awaitDisconnection();

And I get this output:
<REGISTRATION_CODE>
Disconnected (reason): RECONNECTING
<REGISTRATION_CODE>


Typo in node module reference in README.md usage instructions

Hey just wanted to point out that in your README.md, for the usage instructions you've written to require the module "botkit-storage-mysql" instead of "botkit-storage-postgres".

Hehe, that should definitely be corrected. Thanks!

Fixed 👍


Description

Codes in the

This would not be hard to accomplish.  Using the same pattern as the javascript and css, but instead the html beautifier would call itself on text/html script contents.


TS/JS keeps crashing

Type: Bug
each time I reload vs code with my project, after 5 - 10 minutes, I am getting that JS/TS has crashed 5 times, and intellisence stops working
VS Code version: Code 1.74.3 (Universal) (97dec172d3256f8ca4bfb2143f3f76b503ca0534, 2023-01-09T17:07:18.579Z)
OS version: Darwin arm64 22.1.0
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Apple M1 Pro (10 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
3, 3, 3

Memory (System)
32.00GB (0.86GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (9)

Extension
Author (truncated)
Version

npm-intellisense
chr
1.4.4

vscode-markdownlint
Dav
0.49.0

vscode-eslint
dba
2.2.6

gitlens
eam
13.2.0

LogFileHighlighter
emi
2.16.0

search-node-modules
jas
1.3.0

dotenv
mik
1.0.1

vscode-thunder-client
ran
2.3.0

vscode-wakatime
Wak
23.1.0

Does this reproduce in the latest VS Code insiders build with all extensions disabled?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Create Numpy issue for PyArray_GetPtr and flexible types

Depends on #12 to figure out what the NumPy issue should contain.

Closing because while it's not documented, it is not surprising that flexible dtypes are not supported by the array indexing macros because there is no "order".


TypeError: float() argument must be a string or a number, not 'JpegImageFile' when using Model.evaluate_generator()

from keras.preprocessing.image import ImageDataGenerator

test_datagen = ImageDataGenerator(rescale=1. / 255)
test_gen = test_datagen.flow_from_directory(test_dir,
                                            target_size=target_size,
                                            batch_size=batch_size,
                                            class_mode='binary')
model = #defined elsewhere

model.evaluate_generator(test_gen)

Results in the exception:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\keras\utils\data_utils.py in get(self)
    577             while self.is_running():
--> 578                 inputs = self.queue.get(block=True).get()
    579                 self.queue.task_done()

C:\Python36\Lib\multiprocessing\pool.py in get(self, timeout)
    643         else:
--> 644             raise self._value
    645

C:\Python36\Lib\multiprocessing\pool.py in worker(inqueue, outqueue, initializer, initargs, maxtasks, wrap_exception)
    118         try:
--> 119             result = (True, func(*args, **kwds))
    120         except Exception as e:

~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\keras\utils\data_utils.py in get_index(uid, i)
    400     """
--> 401     return _SHARED_SEQUENCES[uid][i]
    402

~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\keras_preprocessing\image.py in __getitem__(self, idx)
   1262                                        self.batch_size * (idx + 1)]
-> 1263         return self._get_batches_of_transformed_samples(index_array)
   1264

~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\keras_preprocessing\image.py in _get_batches_of_transformed_samples(self, index_array)
   1734                            interpolation=self.interpolation)
-> 1735             x = img_to_array(img, data_format=self.data_format)
   1736             params = self.image_data_generator.get_random_transform(x.shape)

~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\keras_preprocessing\image.py in img_to_array(img, data_format)
    409     # but original PIL image has format (width, height, channel)
--> 410     x = np.asarray(img, dtype=backend.floatx())
    411     if len(x.shape) == 3:

~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\numpy\core\numeric.py in asarray(a, dtype, order)
    491     """
--> 492     return array(a, dtype, copy=False, order=order)
    493

TypeError: float() argument must be a string or a number, not 'JpegImageFile'

The above exception was the direct cause of the following exception:

StopIteration                             Traceback (most recent call last)
<ipython-input-4-162faf28a7af> in <module>()
----> 1 model.evaluate_generator(test_gen)

~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\keras\legacy\interfaces.py in wrapper(*args, **kwargs)
     89                 warnings.warn('Update your `' + object_name +
     90                               '` call to the Keras 2 API: ' + signature, stacklevel=2)
---> 91             return func(*args, **kwargs)
     92         wrapper._original_function = func
     93         return wrapper

~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\keras\engine\training.py in evaluate_generator(self, generator, steps, max_queue_size, workers, use_multiprocessing, verbose)
   1478             workers=workers,
   1479             use_multiprocessing=use_multiprocessing,
-> 1480             verbose=verbose)
   1481
   1482     @interfaces.legacy_generator_methods_support

~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\keras\engine\training_generator.py in evaluate_generator(model, generator, steps, max_queue_size, workers, use_multiprocessing, verbose)
    307
    308         while steps_done < steps:
--> 309             generator_output = next(output_generator)
    310             if not hasattr(generator_output, '__len__'):
    311                 raise ValueError('Output of generator should be a tuple '

~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\keras\utils\data_utils.py in get(self)
    582         except Exception as e:
    583             self.stop()
--> 584             six.raise_from(StopIteration(e), e)
    585
    586     def _send_sequence(self):

~\.virtualenvs\ML-WTkM-kxU\lib\site-packages\six.py in raise_from(value, from_value)

StopIteration: float() argument must be a string or a number, not 'JpegImageFile'

@dareal-andre I had the same error.    Not a problem with keras (other than hard to decode error message).
Try $ jpeginfo -c /image/folder/path/*.jpg | grep 'WARNING' to find corrupt images.

My Images are all OK, I am still getting this error please help!

I have the same issue, but with 'TiffImageFile'. My script runs in one anaconda environment, but not in another. The keras version is 2.1.5 in both environments, tensorflow is 1.05 in the 'good' environment, 1.10 in the 'bad' environment. I'm sure there are other differences between the two environments.

TypeError: float() argument must be a string or a number, not 'TiffImageFile'
I am facing this type of problem? How did you people solve it? I think it is similar types of error

I have the same issue, but with 'TiffImageFile'. My script runs in one anaconda environment, but not in another. The keras version is 2.1.5 in both environments, tensorflow is 1.05 in the 'good' environment, 1.10 in the 'bad' environment. I'm sure there are other differences between the two environments.

did you solve it? I am facing same problem.

No, unfortunately the only way for me is to clone the good environment.
On Sun, Feb 16, 2020, 08:22 Chiranjibi Sitaula<EMAIL_ADDRESS>wrote:

I have the same issue, but with 'TiffImageFile'. My script runs in one
anaconda environment, but not in another. The keras version is 2.1.5 in
both environments, tensorflow is 1.05 in the 'good' environment, 1.10 in
the 'bad' environment. I'm sure there are other differences between the two
environments.
did you solve it? I am facing same problem.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/keras-team/keras/issues/10668?email_source=notifications&email_token=ANN2EKBDCA7F3HTJIGTFUDDRDDSTHA5CNFSM4FJZZMHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEL37V4Q#issuecomment-586676978,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANN2EKDRZSVEYPVUQUS6WLLRDDSTHANCNFSM4FJZZMHA
.


Added emojis to issue templates

For both templates

Bug report
Feature request

tavis passes but not updated here.. 🤔


Bump Dependencies #4075758720

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/4075758720

 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.jenkins-is-staging seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Provide FocusTracker for console

We could make good use of a FocusTracker<ConsolePanel> from console plugin if it would be provides as a service in the same manner as it was done with the FocusTracker<NotebookPanel> from notebook plugin.
Our custom Widget should be "linked" to the focused console to match users' expectations.
Are there any objections to expose a FocusTracker<ConsolePanel>? Would you like to receive a PR with an implementation similar to the notebook plugin?

That sounds good to me, a PR would be most welcome!

@blink1073, please have a look at PR https://github.com/jupyter/jupyterlab/pull/1025.

Fixed by #1025, thanks!


Made the cardiologist doctor page responsive .

Description
I have made the cardiologist doctor page responsive .
Related Issues
#894
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]

Closes #

Type of PR

[x] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)

Checklist

[x] I have gone through the contributing guide
[x] I have updated my branch and synced it with project main branch before making this PR
[x] I have performed a self-review of my code
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

@varshith257 please review this .

@varshith257 please review and merge.

@varshith257 kindly review this as well .

@meetarora10 Fix conflicts and tag me to get merged

@varshith257 done .


Generating a project in existing folder with .gitignore or readme.md fails...

When generating a project within an existing folder that contains a .gitignore or readme.md causes the cli to only generate the node_modules folder.
Versions
node 6.9.2 & 8.10.0
npm 4.0.5 &  5.6.0
nvm 0.33.2
ng 1.7.3
OSX 10.13.3
Repro steps
This is the exact method I used.

Create a repo on github with a node.js .gitignore, readme.md, and the unlicense
Clone the repo on your computer.
Navigate to the parent directory and run ng new appName --directory=your-cloned-directory
Note that only the node_modules folder is created.
Then delete the .gitignore & readme.md in your-cloned-directory
Rerun ng new command from the parent directory.

Observed behavior
Only creates the node_modules folder and nothing else.
Desired behavior
Display an error when there is a .gitignore file present.
Generate the project without a readme.md when a readme.md is present.

ng new now shows errors when these files already exists.


Fix PHPStan extension for matchAllStrictGroups

closes https://github.com/composer/pcre/pull/34

//cc @Seldaek

Great thanks!


⚠ Bofrost.at has degraded performance

In bfaa98b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 989 ms

Resolved: Bofrost.at performance has improved in 0b16ee2 after 6 minutes.


Google Sign In Feature

Feature request-

We expect you to add a google sign in functionality through which the users can directly sign in using Google OAuth functionality and don't have to type in the lengthy details before login/sign-up.
Technically, this should work for both the new users (who haven't made an account on our website) as well as for the ones who have already signed in before using the Google sign-in feature. Moreover, the rest of the users who already have an account shouldn't suffer any problems i.e, everything else with the signup/login route must be working fine as they are right now.
Since, this could be a little lengthy issue, so you may raise multiple PRs for it to have max points. In the sense, that each PR must add a completely functional part of the whole feature.
You can always discuss your approach or ask for doubts if you get stuck.

LGM-SOC

Note:

If you want to work on an issue, you should check if it has already been assigned to anyone. If the issue is free you can comment /assign to get the issue assigned to you.
If you are raising a new issue and want to work on it then also you should comment /assign under the issue to get it auto assigned.
It is adviced to take up/ work on only 2 issues at the same time.
Please refrain from adding labels to your issue/pull-request on your own. It is the job of the Project Admin and the Mentors to review your issue/pull-request and add labels accordingly.

/assign

/assign


CB-1248. Deregister databases.

Databases are now deregistered during RDS termination.
Note: Need to do a bit more testing, but overall this looks good.
I had to change the DatabaseServerConfig to make the databases field not lazy, as I was running into a LazyInitializationError otherwise.

Unit tests timed out, but pass locally, so I'm going to merge this.


Can't fetch schema for Dremio via Flight

We have an dremio and superset installation on kubernetes.
When we create a database connection to dremio I get an successful test connection "Connection looks good".
As "Supported Databases" we use "Other" and as connection string we have something like that: "dremio+flight://:@:32010/?UseEncryption=false&DisableCertificateVerification=true" where all variables are urlencoded because those can contain special characters like '='.
But when we create that database connection, it shows the error:

But the connection is created anyway.
When I test that connection, it can't fetch the schema, and shows errors. Neither in SQLLab, nor in create datasets.
But when choosing that new connection in SQLLab without choosing a schema, the query runs successfully and can be saved as new Dataset. That can then also used on charts and everything.
Last test was with following versions, but we also tried with some older ones.
superset-image: apache/superset:ebca20b80050b90a5c361358e0d582d140ccfc85
sqlalchemy_dremio version: 3.0.3
dremio version: 24.1.0

We discovered, that it was no problem with the connection between SuperSet and Dremio, but it was a problem with timeouts between the browser/user and SuperSet. So it was no problem with SuperSet but with the network connection. Other databases had no problem, because fetching the schemata was fast. But dremio takes a few seconds for the schemata so that's why it only occured with dremio.


Tests for rule-no-bom fail

 2 failed

  [chrome] If a request throws and exception, it should be managed and report an error

  /Users/xxxxxx/projects/sonarwhal/packages/rule-no-bom/node_modules/sonarwhal/dist/tests/helpers/rule-runner.js:47

  No results found, should be 1

  validateResults (node_modules/sonarwhal/dist/tests/helpers/rule-runner.js:47:18)
  retry (node_modules/sonarwhal/dist/tests/helpers/rule-runner.js:108:24)

  [jsdom] If a request throws and exception, it should be managed and report an error

  /Users/xxxxxx/projects/sonarwhal/packages/rule-no-bom/node_modules/sonarwhal/dist/tests/helpers/rule-runner.js:47

  No results found, should be 1

  validateResults (node_modules/sonarwhal/dist/tests/helpers/rule-runner.js:47:18)
  retry (node_modules/sonarwhal/dist/tests/helpers/rule-runner.js:108:24)

@alrra I need a little bit more information, steps to reproduce, node version, yarn version, etc. I can't reproduce it.

@sarvaje Yes, sorry, here you go:
Just run yarn test in rule-no-bom.

Node: 9.11.1
Yarn: 1.6.0

@sarvaje Cleaned up some stuff and things work now!


We need to run full_update at least once

Expected behavior
Looks like disabling full update results in new characters spawning at 0, 0, 0 even though their position is correctly set to spawn points.
Toggling full_update fixes the issue, so it looks like we need to run full_update at least once.

Actually further testing shows that this doesn't necessarily solved the issue.
Needs more testing.


Username -> id

I can't find a way to GET the id of a user with his username
@frad ->193828384 for example
Can u help me?

@PowerRangerPink There is no way to request an ID by username. The only way to get an Id is by the updates received from Telegram api


Roadmap

@st--
I think we should establish a roadmap. For the most part, I already have what I need from this package. All I need to do is expand/finish the approximations.
We have a good foundation for the kernel derivatives defined for the Gaussian kernel. I can expand it to include all the other kernels, it's just a matter of sinking some time into it.
What are you priorities in terms of the features? How do you want to approach it?

Well, when I came across your package I thought it'd be better to focus on a single, well-done package rather than keeping rolling my own. This I already have in my own (and need to port to MLKernels.jl before I can get rid of my covariances.jl):

Kernels

[ ] Automatic Relevance Determination (ARD) kernels: scale ||x-y|| or dot(x,y) with a weights array

[ ] derivatives w.r.t. the weights (parameter array)

[ ] composites of composite kernels

[ ] derivatives w.r.t. parameters of subkernels

[ ] periodic kernel: exp(-2sin(π*(x-y)/k.p)^2 / k.ell^2)

Methods

[ ] optimized matrices of kernel derivatives (need to be careful about memory allocation; that made my first stab at it very slow...)

Not a priority for myself, but should be implemented before we can call it "completed":

[ ] expand derivatives to the other kernels

Okay, I added a wiki. We can organize there.
I was going to have some free time to spend on development the next couple days. Can you mark what you'll be working on and, if you'd like, mark anything that's important to you feature-wise that you'd like me to work on. That way we can prioritize and we won't have any overlap in work (like there was with the most recent commit)

I'll be away until Tuesday. (I've uploaded my WIP on kernel matrix derivatives. The in-place version now performs almost as well as my own-brewn previous function.) I'd quite like to figure out how to implement all the ARD stuff myself (though do say if you come up with good ideas), and on the other hand if you could implement the weighted gramian calculation that'd be helpful. Everything else, if you get to it, great, and if not, I can have a go at it once I'm back!

I played around with the kernel derivatives and cleaned up code.
Just a note, I'd like to keep the kernelize function scalar. It should be a function that can be inlined easily. As such, it should take a scalar and return a scalar. The same for any of its derivatives.
Kernel matrices are usually a simple, element-wise transformations of another matrix. The element level transformation is kernelize and the 'another matrix' is usually a gramian of some kind.
I've changed the names of some things for simplicity (partially noted in the style guide). Generally speaking, we're looking at kernels of a form k(x,y) = kappa(z(x,y)) where z maps two vectors to a scalar. kappa is the old kernelize function. z is either sqdist or scprod. Z  is either sqdistmatrix or scprodmatrix and represents matrix of pair-wise z(x,y) values for two sets of vectors X and Y (previously gramian and lagged gramian).
So basically, K(X,Y) = elementwise_kappa(Z(X,Y)) where Z() depends on the class of kernel and kappa() depends on the kernel itself. This way kappa (and its derivatives) can be defined once and are usually one-liners. Also, if we ever need to compute K1(X,Y) and K2(X,Y) and k1 and k2 are kernels of the same class, then they can reuse the Z(X,Y) matrix.


Can't create album when Google Photos has no photos.

Hi,
I recently updated your script and now I have this error
ERROR Album "test album" is not found.
ERROR TypeError: Cannot read property 'map' of null
    at /usr/local/lib/node_modules/upload-gphotos/lib/index.js:397:35
    at Generator.next (<anonymous>)
    at onFulfilled (/usr/local/lib/node_modules/upload-gphotos/node_modules/co/index.js:65:19)

It's seems your script try to create album name before uploading photos.
What's wrong?

Google Photos requires least one photo which already uploaded to create album.
I think your account have no photo in Google Photos, so please upload any photo via web before using cli.
Note: I'll try to fix this bug.

You right, I remove every photos and every albums to do a new fresh version.
I was thinking about that before posting this error and put a photo by the html interface.
But no way, I think it's an other problem, maybe I block my account because I remove 35000 photos and 1500 albums (with auto mouse click).
I try too with an other account and it's work.
I think, I need to wait couple of days and try again.
We wil see, thanks for your help

Fixed and released as v1.4.4.


Corrections preventing successfull pull-request to upstream

Hello Kale,
I here are few modificatinos which solve failing tests no your pull-request to upstream https://github.com/netbox-community/devicetype-library/pull/378

Sorry not a very active member on GitHub. Thank you.


Feat/new editor starter

✨ Codu Pull Request 💻

👉 Please remove the below and replace with your own values, leaving the headers where they are. 👈
Pull Request details:

Working on a new editor test as an alternative.
Tagging @xiaoniuniu89 so he can look 👓

Any Breaking changes:

It's under alpha so probably

Associated Screenshots:

@xiaoniuniu89 I'm still fighting with getting a working build, so feel free to branch from here in case I'm slowing you down. I'm on holidays so not getting enough time to figure it out. 😢

@xiaoniuniu89 Finally building 👍


Optional Multiplicities

Problem
Multiplicities work well, but should require a CTRL+Space, because one rarely needs them everywhere. the "---" can stay as a placeholder for text on the edge.

Implement the change.

The visualisation now hides default multiplicities.  In the text one can/should just ignore them if the default 0..* is ok.


TypeError: imageElement.getBoundingClientRect is not a function

Please provide you version information :

Dependency
Version

ionic
3.9.2

angular
5.0.1

ionic-img-viewer
2.9.0

I get this error when using ion-img tag and not img.

It works perfectly when using img tag only.

Same here.

I believe this happens if you don't pass the necessary object or set the #
Try the following:
html
<img src="youtimageurl.png" #imageToView (click)="openImage(imageToView)"/>
ts
openImag```
e(imageToView){
const viewer = this.imageViewerCtrl.create(imageToView, {fullResImage: fullSizePicture})
viewer.present();
}
You can remove ", {fullResImage: fullSizePicture}" if you are not loading a different fullsize image

this can be solved by doing this if u are using ion-img tag  <ion-img  src="cat.png"  imageViewer="cat.png"></ion-img>


[feature] add cartpole test running in k8s cluster

add cartpole dijob managed by di-orchestrator

algo_test passed ：https://github.com/konnase/DI-engine/runs/3567070299?check_suite_focus=true

Codecov Report

Merging #49 (7c60bd1) into main (54eb8aa) will decrease coverage by 0.14%.
The diff coverage is 85.00%.

@@            Coverage Diff             @@
##             main      #49      +/-   ##
==========================================
- Coverage   88.94%   88.80%   -0.15%
==========================================
  Files         349      349
  Lines       25967    25678     -289
==========================================
- Hits        23097    22803     -294
- Misses       2870     2875       +5

Flag
Coverage Δ

unittests
88.80% <85.00%> (-0.15%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

ding/utils/orchestrator_launcher.py
87.69% <85.00%> (-2.31%)
:arrow_down:

ding/entry/tests/test_parallel_entry.py
45.45% <0.00%> (-4.55%)
:arrow_down:

ding/entry/tests/test_serial_entry.py
77.04% <0.00%> (-2.22%)
:arrow_down:

ding/utils/tests/test_system_helper.py
80.00% <0.00%> (-1.82%)
:arrow_down:

ding/rl_utils/tests/test_ppg.py
27.50% <0.00%> (-1.77%)
:arrow_down:

ding/rl_utils/tests/test_gae.py
61.90% <0.00%> (-1.74%)
:arrow_down:

ding/utils/data/tests/test_dataloader.py
31.25% <0.00%> (-1.68%)
:arrow_down:

ding/envs/env_manager/subprocess_env_manager.py
82.08% <0.00%> (-1.34%)
:arrow_down:

ding/torch_utils/tests/test_data_helper.py
73.85% <0.00%> (-0.99%)
:arrow_down:

...s/env_manager/tests/test_subprocess_env_manager.py
71.42% <0.00%> (-0.73%)
:arrow_down:

... and 117 more

Continue to review full report at Codecov.

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


add node.js and babel support

Adds support for:
n> 5+5
node> 5+5

b> 5+5
babel> 5+5

These will fail if docker isn't installed.  Otherwise they will automatically download the image required to run these in a sandbox.  The command used:
"docker, ["run",
// run in interactive mode, i.e. connect stdin to the process in the container's stdin
"-i",
// don't keep the image running after it completes the execution
"--rm",
// disallow all network access, like an unplugged computer with no wifi hardware
"--net=none",
// limit to 64mb of RAM usage
"-m=64m",
// 1024 means normal cpu priority, 128 means 'let other things interupt my usage at will'
"-c=128",
// this name uses a random id, which is used to kill it after the timeout duration
"--name=" + childId,
// the docker image to run, i.e. https://registry.hub.docker.com/u/brigand/js-eval/
// which builds from the repo https://github.com/brigand/docker-js-eval
"brigand/js-eval"]

If it will fail without docker, should docker not be a dependency, ideally in package.json?

What versions of node and io.js do this work with? Does each command run in its own docker instance? What happens when a new version is released?

You can't put docker in package.json, unless there's a package.

If it will fail without docker,

The way it fails is it tries to run docker, the command doesn't exist, and it just does nothing.  I haven't removed the existing spidermonkey engine code.

What versions of node and io.js do this work with?

I can switch it to use nvm or directly with any tar, but it'll work with any version since the -p flag.

Does each command run in its own docker instance?

Yes.

What happens when a new version is released?

I can add tags to the docker repo, which will allow us to lock in versions.  Otherwise it works like npm, where if you don't specify a version, it pulls the latest when you install.  Likewise docker pull brigand/js-eval would update it.  If you don't have the version you request, it automatically installs it.

I maintain nvm, so I'd be stoked for it to use it - that way you could just use nvm install iojs and nvm install node and always get the latest.
This is awesome!

Also, would be nice if there are docs added in the README about it.

+1 for docs

Okay, so everything seems to be working well. I'll send any other improvements in a separate PR.
It now uses io.js instead of node because (I think) the goal isn't node, it's a recent v8 version which io.js provides.
Babel is just installed based on the major version (currently 5). Unless babel-node is removed at some point (unlikely), it could be relaxed to just babel@latest.
If the output is over 100 characters, it truncates it, and puts the full content in a gist (less noise, avoids irc single line limits, etc.).

For maintenance the command docker pull brigand/js-eval will grab the latest build of the docker image, which means updates io/babel versions. The bot doesn't need to be restarted when this happens, so it could just be run in a cron job or similar.
Not sure what you want for docs. There isn't really a place to put them, or an example to follow.
Aside from the docs and squashing the commits, anything I need to do?

Docs belong in the README. So far, our documentation is lacking but hopefully we can do a better job in the future :)
As for what should go in the docs for this, some of what you have in the last comment. Also, how to get it set up for the first time in general.

Docs added, see here.

Removed node --harmony* (as nh>) per ljharb's comment on #50.

It'd be great if we could include the es5-shim and es6-shim in b> output - ideally before core-js is loaded, but even afterwards would be better than nothing. This will ensure spec-correctness in many builtin methods.

I think this is ready to merge.
It's currently stuck on babel 5 because on babel 6 b> 1 takes over 10 seconds. This could be solved by running babel in the bot itself and passing the output to the eval service, but this PR has been open for a while so I'd like to just merge and add that later.


c_val and c_train are hardcoded: No such file or directory: '/data/001/val/ann'

Hi colleagues, either using docker image or running code localy there is an error at step:
c_val = get_counter('/data/001/val')
c_train = get_counter('/data/001/train')
or
c_val = get_counter('/data/val/anpr_ocr/train/')
c_train = get_counter('/data/train/anpr_ocr/train/')
there are no such directories in docker image

Hello! I think you have to pull repository, because it was updated few days ago. Check the latest version please.


Update compose files to be compatible with podman-compose on Fedora

Updates:

Referred to database container by hostname (podman doesn't treat localhost or <IP_ADDRESS> appropriately)
Added a hard-coded sleep before unleash_web tries to interact with postgres. (health checks are no longer honored by compose as part of "depends_on")

@catastrophe-brandon we will probably also need some env variables for the WebPort and Metrics ports configurations. The defaults can be occupied and my system is dying on that with these changes.


Commander Agent not transmitting data from Rss Agent to Post Agent

I'm a complete noob to Huginn, well about 24 hours in. Love it! Having one issue though. I'm attemping to wire up an event workflow that checks an RSS feed and then triggers a post to my Pinboard.in account.

I'm wondering if I have something incorrect in my Post agent. I'm trying to pass the url and title from the RSS agent to the Post agent. Pinboard is not getting the url value so the post fails. I have confirmed that Huginn can create bookmarks when I hard code values in the Agent.
RSS Agent
{
  "id": "829f845279611d7925146725317b868d",
  "date_published": "2014-09-11 01:30:00 -0700",
  "last_updated": "Thu, 11 Sep 2014 01:30:00 -0700",
  "url": "http://example.com/...",
  "urls": [ "http://example.com/..." ],
  "description": "Some description",
  "content": "Some content",
  "title": "Some title",
  "authors": [ ... ],
  "categories": [ ... ]
}

Post agent
{
  "post_url": "https://api.pinboard.in/v1/posts/add?auth_token=user:token",
  "expected_receive_period_in_days": "1",
  "content_type": "text/xml",
  "method": "get",
  "payload": {
    "format": "json",
    "url": "url",
    "description": "title",
    "tags": "wd",
    "shared": "yes"
  },
  "headers": {},
  "emit_events": "true",
  "no_merge": "true"
}

What am I missing?

Hi @kepford,
glad you like Huginn! I think you do not need to CommanderAgent in the setup. Sending the event from the RssAgent to the PostAgent will trigger it automatically. Try using Liquid interpolation in the PostAgent to use the fields of the incoming events.
{
  "post_url": "https://api.pinboard.in/v1/posts/add?auth_token=user:token",
  "expected_receive_period_in_days": "1",
  "content_type": "text/xml",
  "method": "get",
  "payload": {
    "format": "json",
    "url": "{{url}}",
    "description": "{{title}}",
    "tags": "wd",
    "shared": "yes"
  },
  "headers": {},
  "emit_events": "true",
  "no_merge": "true"
}

Ah! That makes sense now. And it worked. Thanks!

Great, have fun with Huginn! :smile:


Chrome Driver 116 Missing

I've really been enjoying using SeleniumVBA with my Access db. It is sure a help. I noticed today after Chrome updated to 116 that it couldn't update the driver to match. It appears that Chrome has made some changes to where they're stored. I manually updated mine but just wondering if you could change you're code to get the new location?

I had the same problem as above and I am not sure how to manually update it...
Hope this could be updated/fixed soon.

Hi @dpgt - we are happy that you are finding SeleniumVBA useful and thanks for reporting this! After a quick google search, I see that you are correct that they have changed the api and storage location, and of course that has broken our auto-update feature. Sorry for that inconvenience. This is the link that I just found:
https://groups.google.com/g/chromedriver-users/c/clpipqvOGjE
Anyway, will look at this over the weekend and see if we can get the auto-update back up and running.
Cheers!
Mike

@GHRyunosuke: I was able to manually download the driver from one of the links below:
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.0/win64/chromedriver-win64.zip
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.0/win32/chromedriver-win32.zip
Unless you modified the driver location via the SeleniumVBA.ini file, you will need to placed the unzipped driver in your Downloads folder.

@GHRyunosuke: I was able to manually download the driver from one of the links below:
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.0/win64/chromedriver-win64.zip https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.0/win32/chromedriver-win32.zip
Unless you modified the driver location via the SeleniumVBA.ini file, you will need to placed the unzipped driver in your Downloads folder.

It worked, thank you so much @GCuser99 !

I'm not sure if we want to auto-calculate those new URLs or we want to get them using the official endpoints.
If we choose the second way, here are a couple of functions to start with:
Function GetLatestDriverVersion(channel As String) As String
    'Get the JSON from the official endpoint
    With New MSXML2.ServerXMLHTTP60
        .Open "GET", "https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json", False
        .send
        Dim json As Object
        Set json = WebJsonConverter.ParseJson(.ResponseText)
    End With

    'Return the latest version
    GetLatestDriverVersion = json("channels")(channel)("version")
End Function

Function GetDownloadUrlFromJson(version As String, platform As String) As String
    'Get the JSON from the official endpoint
    With New MSXML2.ServerXMLHTTP60
        .Open "GET", "https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json", False
        .send
        Dim json As Object
        Set json = WebJsonConverter.ParseJson(.ResponseText)
    End With

    Dim ver
    For Each ver In json("versions")
      If ver("version") = version Then
        Dim download
        For Each download In ver("downloads")("chrome")
          If download("platform") = platform Then
            GetDownloadUrlFromJson = download("url")
            Exit Function
          End If
        Next
      End If
    Next
End Function

Sub Test()
    Debug.Print GetLatestDriverVersion("Stable")
    Debug.Print GetDownloadUrlFromJson("116.0.5845.96", "win64")
End Sub

Thanks for helping to kick-start this @6DiegoDiego9!
After doing additional research based mostly from this post and some experimentation, here are some of my take-aways:

The json end-point "latest-patch-version-per-build" can be used to emulate the old deprecated api for finding the compatible driver version given the MAJOR.MINOR.BUILD of the browser.
The version found above, in theory, should be the same for both browser and driver, so "calculation" of the driver download url should be reliable (just as was done before using the deprecated api)
The json file retrieved from above is ordered from oldest to newest, and so as the file grows it may become increasingly costly to parse/search, so I'm guessing efficiency may someday be important.
While we can use the json end-point "latest-patch-version-per-build-with-downloads" to get the download without calculation, that file is 20x larger than the end-point without downloads - using this could be a fall-back if calculation fails in the future, probably at a significant efficiency cost.
I tested the "calculation" method versus getting the download url directly for all build versions from 115.0.5763 to 118.0.5958 and the two methods yield the same - the calculation methods works thus far.
There is a gap in coverage between the old and new api's - for build versions from 115.0.5739 to 115.0.5762, we must use ChromeDriver 114.0.5735.90 (I tested this and it does seem to work).
Parsing the json results using RegExp is approximately 2000 times faster than with the WebJsonConverter object!

Building on @6DiegoDiego9's work above, below is a test flow to illustrate my findings. @6DiegoDiego9 maybe if you have the time you could check my RegExp pattern for correctness :-)
Sub testWebDriverDownload()
    'Finds the compatible driver version for the given browser version

    'Get the JSON from the official endpoint "latest-patch-version-per-build"
    'from docs: The latest versions for which all CfT assets are available for download,
    'for each known combination of MAJOR.MINOR.BUILD versions.

    Dim responseTxt As String
    Dim verMajor As String
    Dim verMinor As String
    Dim verBuild As String
    Dim driverVersion As String
    Dim driverUrl As String

    'these are the test inputs
    browserVersion = "117.0.5938.99"
    platform = "win64"

    'remove the patch number from the browser version
    verMajor = Split(browserVersion, ".")(0)
    verMinor = Split(browserVersion, ".")(1)
    verBuild = Split(browserVersion, ".")(2)

    browserBuild = verMajor & "." & verMinor & "." & verBuild

    With New MSXML2.ServerXMLHTTP60
        .Open "GET", "https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build.json", False
        .send
        responseTxt = .ResponseText
    End With

    'This below works but is VERY SLOW
    'Dim json As Object
    'Set json = WebJsonConverter.ParseJson(responseTxt)
    'driverVersion = json("builds")(browserBuild)("version")

    'let's use RegExp because this Json file could grow to be very large and
    'this is the fastest (2000x faster than Json parse above!!)
    Dim oRegExp As New VBScript_RegExp_55.RegExp
    Dim matches As VBScript_RegExp_55.MatchCollection

    browserBuild = Replace(browserBuild, ".", "\.") 'escape periods in browser build for search pattern

    oRegExp.Global = False 'should only be one match!
    searchPattern = """" & browserBuild & """:{""version"":""(.*?)"",""revision"":"".*?""}"
    oRegExp.Pattern = searchPattern

    driverVersion = oRegExp.execute(responseTxt)(0).SubMatches(0)

    Debug.Print driverVersion

    'as per https://groups.google.com/g/chromedriver-users/c/clpipqvOGjE/m/yywxERcZAwAJ,
    'every chrome release returned by the json end-point since build 115.0.5763 has a
    'corresponding driver release with same version
    'so we should be able to calculate the driver url...
    '(the above tested true for builds 115.0.5763 to 118.0.5958)
    driverUrl = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/" & driverVersion & "/" & platform & "/chromedriver-" & platform & ".zip"

    Debug.Print driverUrl
End Sub

I updated the WebDriverManager class to handle the new ChromeDriver release api. Due to the importance of timely fixing this "bug", I did not do my normal testing due diligence but hopefully you all will report back issues or suggestions for improvement, if any.
One interesting change with the new api is that there is now a 64-bit version of the ChromeDriver, where there was not before. With this new update, the default is to check the bit-ness of the OS to decide which version to install, as we have always done with the EdgeDriver. Hopefully this change does not cause you any problems...
I'll leave this issue open for comments/feedbacks for a while...

100% OK with you solution, @GCuser99! Thanks for being always so responsive and thorough in your approach :-)
I didn't see the updated WebDriverManager class in your 4.5 update, but I'll try it with my Chrome 116 as soon as I see it.
Cheers!

Awesome! If you are doing an incremental update to your code base, be sure to include the small changes to the private "start" procedure in the WebDriver class - I incorporated your "platform" idea from your code above.... Cheers!

for updating my code base I always replace all the Web* module/classes. Thanks anyway for the note!  :)


Support for setting user in default executor

/fixes #1261

@ssalinas thanks for the addition

LGTM aside from comment above


 The error is-
45%] Built target picoquic-core
make[2]: *** No rule to make target 'picoquic/michelfralloc/libmichelfralloc.a', needed by 'picoquic_ct'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:114: CMakeFiles/picoquic_ct.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

This log error is not complete. What commands did you type? Did you follow the instructions at https://github.com/p-quic/pquic#pquic-on-linux ?

Yes, I followed the steps
git submodule update --init
cd ubpf/vm
make
cd ../..
cd picoquic/michelfralloc
make
cd ../..
cmake .
-->  make
At this step I got the above error

Ok, but could you please provide the full compilation log? Otherwise, it is hard to understand why it fails.

I am attaching the error logs with this
log.txt

Ok, so the first error seemed to be solved by makeing in the picoquic/michelfralloc submodule. The error now
/usr/bin/ld: cannot find -lprofiler
seems to indicate that you don't have the gperftools dependency. Could you try first installing it and then remaking the project again?
# On Ubuntu
$ sudo apt install gperftools
# On Fedora
$ sudo dnf install gperftools

Closing this as it seems that no further assistance is required.

Closing this as it seems that no further assistance is required.