fix(Revert): "refactor: purge unconstrained functions where possible"

Reverts AztecProtocol/aztec-packages#5819. The use of constrained functions made the writing of tests etc nicer, but the testing time absolutely exploded as an effect 💀

Benchmark results
Metrics with a significant change:

note_successful_decrypting_time_in_ms (8): 158 (+53%)
note_successful_decrypting_time_in_ms (64): 769 (+17%)
note_trial_decrypting_time_in_ms (32): 99.9 (+137%)

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

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
772
772
772

l1_rollup_calldata_gas
6,820
6,844
6,844

l1_rollup_execution_gas
587,301
587,325
587,325

l2_block_processing_time_in_ms
1,489 (+3%)
5,450 (+3%)
10,485 (+1%)

note_successful_decrypting_time_in_ms
:warning: 158 (+53%)
399 (-10%)
:warning: 769 (+17%)

note_trial_decrypting_time_in_ms
49.6 (-47%)
:warning: 99.9 (+137%)
77.0 (+24%)

l2_block_building_time_in_ms
18,888 (+1%)
73,659 (+1%)
147,072 (+1%)

l2_block_rollup_simulation_time_in_ms
18,680 (+1%)
72,906 (+1%)
145,611 (+1%)

l2_block_public_tx_process_time_in_ms
8,556 (+1%)
33,545 (+1%)
67,242 (+1%)

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

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,494
30,416 (+4%)

note_history_successful_decrypting_time_in_ms
882 (-2%)
1,664 (-2%)

note_history_trial_decrypting_time_in_ms
97.7 (-14%)
88.6 (-15%)

node_database_size_in_bytes
19,152,976
35,868,752

pxe_database_size_in_bytes
29,859
59,414

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

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
156
47,815
31,978

private-kernel-inner
176
80,846
31,978

private-kernel-ordering
136
57,732
49,888

base-parity
71.9 (-1%)
128
265

root-parity
129 (-3%)
1,244
265

base-rollup
12,347
110,926
957

root-rollup
49.7
4,551
821

public-kernel-app-logic
1,649 (-1%)
62,069
52,067

public-kernel-tail
4,273 (+1%)
168,566
7,491

merge-rollup
3,155
2,760
957

public-kernel-teardown
119 (+4%)
62,069
52,067

public-kernel-setup
118 (-1%)
62,069
52,067

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.9 (-1%)
17.7
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.636 (-1%)
0.547
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
51.4
80.7 (+1%)
268 (+3%)
501
990 (+1%)
1,952 (+2%)
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.527
0.498 (+1%)
0.488 (+3%)
0.469
0.471 (+1%)
0.467 (+1%)
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
60.2 (-1%)
119 (+1%)
375
735
1,467 (+1%)
2,904 (+1%)
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
105
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.533 (-1%)
0.539 (+1%)
0.512
0.507
0.510 (+1%)
0.506 (+1%)
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
67.2

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
109

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.587

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
51,450
537,961

Transaction size based on fee payment method

Metric
native fee payment method
fpc_public fee payment method
fpc_private fee payment method

tx_with_fee_size_in_bytes
897
1,145
1,345

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes
2 new note hashes

tx_pxe_processing_time_ms
1,233 (-3%)
860
3,525 (-1%)

Metric
1 public data writes
2 public data writes
3 public data writes
4 public data writes
5 public data writes
8 public data writes

tx_sequencer_processing_time_ms
837
697 (-2%)
1,357 (-2%)
913 (-2%)
2,083 (-1%)
1,166 (-3%)

expediting


Support Ubuntu 21.10 (Impish Indri)

The version 21.10 (Impish Indri) of Ubuntu will soon be current and should therefore be supported.

... but it won't:

ROCm officially supports LTS versions of Ubuntu only.
All other versions(other than LTS) might work with ROCm but there will not be any official support.

Source: https://github.com/RadeonOpenCompute/ROCm/issues/1263#issuecomment-720264016


Fancy Zones displays behind taskbar

Microsoft PowerToys version
0.60.0
Running as admin

[ ] Yes

Area(s) with issue?
General, FancyZones
Steps to reproduce
Fancy Zones display behind taskbar:
1: open a browser window
2: shift-drag it to the Fancy Zone
3: drop it in the zone
4: the window appears behind the taskbar, making the bottom of the browser inaccessible
✔ Expected Behavior
Up until now, the Fancy Zone window appeared above the taskbar
❌ Actual Behavior
Now I can't access (for example a New Conversation button in Microsoft Teams) the bottom of the window
Other Software
Teams desktop You have Microsoft Teams Version <IP_ADDRESS>63 (64-bit). It was last updated on 8/13/2022.

Hi. As the taskbar is always the top-most window we can't draw over the taskbar.

I don’t want you to draw on top of the taskbar, but above it, as it always has done. It may have just been a glitch, now with 0.61.1 it’s not behind the taskbar any more.
From: Aaron Junker @.>
Sent: Thursday, August 25, 2022 8:55 AM
To: microsoft/PowerToys @.>
Cc: Kip Kniskern @.>; Author @.>
Subject: Re: [microsoft/PowerToys] Fancy Zones displays behind taskbar (Issue #20068)
Hi. As the taskbar is always the top-most window we can't draw over the taskbar.
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/PowerToys/issues/20068#issuecomment-1227462299, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGDXLDVRDUNCKDSJMJL4JS3V26JM7ANCNFSM57QDMDWQ.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>


Authorization ( RBAC) issue in deploying kale pipeline with kubeflow deployed on kubernetes on-prem cluster

Hi,
We are trying to integrate kale with kubeflow , which is deployed on-prem  kubernetes cluster with out any authentication . From the kubeflow created a notebook server with the docker image "gcr.io/arrikto/jupyter-kale:v0.5.0-47-g2427cc9" . I can see kale is integrated but when running the kale pipeline getting the below exception.
Note: kubeflow API doesn't have any authorisation.
Exception on UI:
Type: RPC
Method: kfp.list_experiments()
Code: 6 (UnhandledError)
Transaction ID: hzlnrdbjd1
Message: (403)
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'content-length': '19', 'content-type': 'text/plain', 'date': 'Wed, 21 Oct 2020 09:51:41 GMT', 'server': 'envoy', 'x-envoy-upstream-service-time': '0'})
HTTP response body: RBAC: access denied
Details: You can find more information under /home/jovyan/kale.log
Attached kale.log
2020-10-21 08:36:50 run:125 [[ERROR]] [TID=7wiujdvk7h] [/home/jovyan/Untitled.ipynb] RPC function 'upload_pipeline' raised an unhandled exception
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/kale/rpc/run.py", line 116, in run
result = func(request, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/kale/rpc/kfp.py", line 96, in upload_pipeline
pipeline = client.upload_pipeline(pipeline_package_path, pipeline_name)
File "/usr/local/lib/python3.6/dist-packages/kfp/_client.py", line 692, in upload_pipeline
response = self._upload_api.upload_pipeline(pipeline_package_path, name=pipeline_name, description=description)
File "/usr/local/lib/python3.6/dist-packages/kfp_server_api/api/pipeline_upload_service_api.py", line 56, in upload_pipeline
(data) = self.upload_pipeline_with_http_info(uploadfile, **kwargs)  # noqa: E501
File "/usr/local/lib/python3.6/dist-packages/kfp_server_api/api/pipeline_upload_service_api.py", line 139, in upload_pipeline_with_http_info
collection_formats=collection_formats)
File "/usr/local/lib/python3.6/dist-packages/kfp_server_api/api_client.py", line 330, in call_api
_preload_content, _request_timeout)
File "/usr/local/lib/python3.6/dist-packages/kfp_server_api/api_client.py", line 161, in __call_api
_request_timeout=_request_timeout)
File "/usr/local/lib/python3.6/dist-packages/kfp_server_api/api_client.py", line 373, in request
body=body)
File "/usr/local/lib/python3.6/dist-packages/kfp_server_api/rest.py", line 275, in POST
body=body)
File "/usr/local/lib/python3.6/dist-packages/kfp_server_api/rest.py", line 228, in request
raise ApiException(http_resp=r)
kfp_server_api.rest.ApiException: (403)
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'content-length': '19', 'content-type': 'text/plain', 'date': 'Wed, 21 Oct 2020 08:36:50 GMT', 'server': 'envoy', 'x-envoy-upstream-service-time': '2'})
HTTP response body: RBAC: access denied
any one facing this?

Oh, I have been looking into it for a couple of days and it's driving me crazy! I kept looking into the standard Kubernetes RBAC and couldn't find any issues. Even tried to give the default-editor service account full access to all apis ('*') and still faced the same problem. I finally tracked that down to ServiceRole and ServiceRoleBinding (Istio resources). I've tried adding kubeflow to the ClusterRbacConfig installed by Kubeflow and it went past that exception. Of course, now I'm getting another one :(
But this is a hack and probably opened all sorts of security issues. DO NOT DO IT IN PRODUCTION, at least until this is investigated and a proper solution is put in place.
apiVersion: rbac.istio.io/v1alpha1
kind: ClusterRbacConfig
metadata:
name: default
spec:
exclusion:
namespaces:
- istio-system
- kubeflow
- admin
mode: ON_WITH_EXCLUSION

Hi @HariKunapareddy and @lomori!
I believe this is duplicate of #204, so I'll copy what I said there:

Unfortunately, we are not aware of an open source deployment configuration that enables the usage of KFP client (there are multiple open issues in the KFP repo).
Even if you overcome the (Istio) RBAC issue you are bumping into, you won't be able to get properly authenticated and authorized.
We, as Arrikto, have made some modifications and support it, but that's for our Enterprise deployments.

You can take a look at #204 and see how others have worked around this problem. However, as mentioned in the other issue, we don't advise you to follow the same path because it is not secure.
That said, I will close this issue. Of course, feel free to reopen.

@elikatsis : thanks for your reply, I sincerely appreciated it. Certainly not directed at you, and maybe to nobody in particular, but this royally sux. And that is the tip of the iceberg. I've been evaluating and until recently very helpful that we could potentially use Kubeflow at our University and Healthcare divisions, but it is coming to a point where I can't really push for it with a clean conscience. Just can't.


feat: Introduce color-patcher tool

This script provides a temporary solution for customizing the primary color in Graphite theme files.  It updates the token-rgb-primary value in YAML theme files to a user-specified RGB color.

Nice feature :)
I added a folder watcher and run a automation to update the color automatically after a graphite update:
alias: Graphite Theme Update -> Set primary color
description: ""
triggers:
  - trigger: state
    entity_id:
      - event.folder_watcher_config_themes_graphite
conditions: []
actions:
  - action: script.update_patch_graphite_theme
    metadata: {}
    data:
      user_primary_color:
        - 255
        - 51
        - 86
  - delay:
      hours: 0
      minutes: 0
      seconds: 5
      milliseconds: 0
mode: single

This requires to have the folder watcher set up.
in configuration.yaml:
homeassistant:
allowlist_external_dirs:
- "/config/themes/graphite"
And this integration: folder_watcher


ignore directive not working

I have a simple ignore directive in config.rb:
ignore '/javascripts/vendor/*'

The directive worked in Middleman 4 but does not in 4.1. Has something changed  or is this a bug?

Definitely looks like a bug and there was some code changed around that. Will investigate.

Hmm. Passes the tests for this and my naive test case locally. Can you shared a config.rb, Gemfile and explain what isn't working?

The project is a really simple SPA. Worked fine on Middleman 4. The ignore directives stopped working after bundle update to version 4.1. Here are the requested files. The site works fine but it's including a bunch of JavaScript files that are already getting bundled into a single file using Sprockets.
config.rb:
set :css_dir, 'stylesheets'
set :images_dir, 'images'
set :js_dir, 'javascripts'
set :layout, false

activate :directory_indexes
activate :autoprefixer do |config|
  config.browsers = ['last 5 versions', 'Explorer >= 9']
  config.remove   = false
end

ignore '/javascripts/shared/*'
ignore '/javascripts/vendor/*'

configure :build do
  activate :minify_css
  activate :minify_javascript
end

Gemfile:
source 'https://rubygems.org'
gem 'middleman', '~> 4'
gem 'middleman-sprockets', '~> 4.rc'
gem 'rake'
gem 'guard-middleman'
gem 'terminal-notifier'
gem 'terminal-notifier-guard'
gem 'middleman-autoprefixer'

Can you post the build output before and after?
Also, could you try a recursive glob:
ignore '/javascripts/shared/**/*'

Here's the build output.

Thank you, I'll try to setup a test case today, unless you've got one available.

I've created a test case for you: https://github.com/pbougie/middleman-issue-1789
I noticed while building the test case that if I remove the middleman-sprockets gem, the ignore directive starts working again.

Ah, great, another Sprockets bug. Pretty much why we're not really supporting it any more. I'll see if this is quickly fixable

Looks like this may be fixed on git already. Try changing your Gemfile to:
gem 'middleman-sprockets', github: 'middleman/middleman-sprockets'

Unfortunately it did not fix the problem. I've made the change to the test case as well:
https://github.com/pbougie/middleman-issue-1789

I get
thomasreynolds:middleman-issue-1789 thomasreynolds$ bundle exec middleman b
      create  build/stylesheets/default.css
      create  build/index.html
      create  build/javascripts/default.js
      create  build/javascripts/vendor/zepto.js
Project built successfully.

You?

is it the vendor that's wrong?

Ah, I see this is simplified from the above output post earlier. On it :)

This JavaScript file should be excluded:
/javascripts/vendor/zepto.js
Yes, the test case is very much simplified from the earlier post.

In the process of updating to Middleman 4. Overall it's been pretty smooth, I like the new version.
However, I'm also seeing this issue. Did either of you manage to track it down?

@sandstrom Can you confirm you're also using middleman-sprockets?

@tdreyno Yes!

I'll add an issue and get working on that -- I think we should definitely be respecting ignore's.

@stevenosloan Reach out if it's confusing. Basically, ignore run as a reducer pass and simply marks the resources as ignored (they can still be queried via the sitemap if necessary). We may simply need to re-run the ignore step after sprockets.

@pbougie / @sandstrom should be good now if y'all don't mind checking.

@stevenosloan it works, thanks a lot! :smile:

@tdreyno @stevenosloan have been having this issue since a while. Have put together a test project on my machine to arrive to the conclusion that anything that is nested in a subfolder under source is not traversed.
Any chance to look at this?

Actually, I spent more times in investigating, and it seems the problem is connected with the i18n gem. If a directory within what it was designated the template folder is used with the ignore, in this circumstance the ignore command doesn't work.
In any other circumstance it works.
I'm not sure who can patch this, but it would be really useful.

Please open a new ticket and provide your test repo.

@tdreyno repo and ticket created. They are available here


operator project-quay (3.12.0-nightly.20240616)

Add 3.12.0-nightly.20240616 to community operators

/merge possible

/merge possible


Update scene content alignment and boundary system

Overview
There were some quirks on legacy vs Windows XR Plugin vs OpenXR.

Non-legacy in the editor seemed to need to wait ~4 frames instead of 1 to align scene content. Defaulting to 5 to be safe
Boundary was broken in 2020, since it was looking specifically at the legacy type which is null in 2020 and returning that boundary was always disabled
Reworked BaseBoundarySystem a bit to use a built-in MRTK utility for detecting device presence, as well as allowing it to late-init in the editor since there were a few frames of the device not being "present" in OpenXR
Minor formatting (made some unshipped things private that didn't need to be public)

/azp run

/azp run

/azp run

/azp run

/azp run

/azp run

/azp run

/azp run

/azp run


Add wpif and imgsizer as crawlers

See discussion at https://github.com/JayBizzle/Crawler-Detect/issues/222 .
The wpif user agent string has non-human-like qualities from an investigation of about 5,000 requests.

Good work, thanks a lot. Will merge and release once tests have passed.
Thanks again 👍


Add rental, book files and implement one-to-many , and many-to-many r…

…elationship
Project requirements
Create a class Classroom with the following:
@label instance variable, should be initialized in the constructor.
Setter and getter for @label (remember about attr_accessor).
Create the has-many/belongs-to relationship between Classroom and Student. The following should be implemented:
Create the has-many side (a classroom has many students).
Create the belongs-to side (a student belongs to a classroom).
Make sure that when adding a student to a classroom it also sets the classroom for the student.
Make sure that when setting the classroom for a student it also adds it to the classrooms' students.
Create a class Book with the following:
@title and @author instance variables, should be initialized in the constructor.
Setters and getters for instance variables (remember about attr_accessor).
Create a class Rental with the following:
@date instance variable, should be initialized in the constructor.
Setter and getter for @date (remember about attr_accessor).
Create the many-to-many (also has-many-through) relationship between Person and Book using the intermediate class Rental. The following should be implemented:
Create the has-many side of Book and Rental (a book has many rentals).
Create the belongs-to side of Rental and Book (a rental belongs to a book).
Create the has-many side of Person and Rental (a person has many rentals).
Create the belongs-to side of Rental and Person (a rental belongs to a person).
Modify the constructor of Rental so Book and Person are set in it.

okay thank you, I have already implements the things you said


flocker container-agent log file is very large?

exec /usr/sbin/flocker-container-agent --logfile=/var/log/flocker/flocker-container-agent.log
flocker-container-agent.log file size increased very quickly. No operation, file is inc 400M+ every day.

Hi @ttllyy, the container agent talks to the docker daemon very frequently, there fore when you log to a file instead of using something like journald it can build up quickly. You can use something like logrotate to help with this. Or we recommend running the agents with something like systemd which uses journald is what most installations use.

re-opening for now for discussion

Hi,
We are planning on eventually removing Flocker's container API, in favor of e.g. the Docker plugin. In the short term that means we are going to make the container agent optional, since it shouldn't be necessary to run it if you're using the Docker plugin for Flocker. As such we're not putting much effort into fixing issues in the container agent, since it will become obsolete in near future.
I believe that on Ubuntu the files will get rotated, and eventually deleted (see the upstart config file for the service).


Siren support?

I would like to use HATEOAS with Hypermedia Maturity Level 2's Siren
Is the repo open for contributions and PRs?

Absolutely! The way the library is written means it’s reasonably easily extended, and I’m more than happy to accept PRs for additional hypermedia formats.


Implement a System for Representing Builtin Objects

Summary
The way we currently represent builtin (primitive) objects is very limited. Each new kind of object requires implementing a lot of boilerplate and, in particular, extending the method resolver node, making it slower for every other object.
We need a more plug-and-play system for this.
Value
Better representation of primitive values.
Specification
Implement a common subclass of TruffleObject, able to expose methods through the use of some (possibly Enso-specific) Library. Migrate existing objects, such as files, streams, arrays, references and texts to this system.
Acceptance Criteria & Test Cases
There are no test & benchmark regressions.

Should be done after #1538 and #1175.
A DSL:

Where we can create MethodNodes in the body of the objects.
Which abstracts away the GetFunctionalDispatch boilerplate.
We want to automate the wrapper generation for the builtins which registers the methods.

There is a standard way to do this. Look at BuiltinTestObject.java in the Truffle sources. We want a BuiltinObject class. This needs to interact nicely with shadow definitions.

The File builtin type is going to be a great test for whether this works well or not.


quite slow response using the cooking table

opening cooking table doesn't show ingredients for a few seconds, and when clicking recipes there is a similar delay between each one being created.
This is in enigmatica 2 (not expert) 1.71a version.  Is this a known issue or something I am doing wrong as a user?  I'm happy to try to fix but I do not know where to begin.
Thanks for any assistance,

Enigmatica 2 is a huge pack from what I remember so I wouldn't be surprised if there's huge amounts of food recipes needing to be checked. Maybe there's some that can be safely ignored by Cooking for Blockheads too.
Moving all performance related issues to here: #346

One more thing, was this on a server (and if so, with Sponge?) or singleplayer?

This was on a server and I don’t see sponge in the mod list.  You’re right it’s a big old pack, I just didn’t experience this issue on a different modpack which was also pretty large so I figured I would log it.  😊
The server is running enigmatica 2  1.71 version, if it is of any help.
From: BlayTheNinth<EMAIL_ADDRESS>Sent: Saturday, 05 October 2019 20:12
To: blay09/CookingForBlockheads<EMAIL_ADDRESS>Cc: wallasaurus<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [blay09/CookingForBlockheads] quite slow response using the cooking table (#400)
One more thing, was this on a server (and if so, with Sponge?) or singleplayer?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/blay09/CookingForBlockheads/issues/400?email_source=notifications&email_token=AEB576U6XN7WF42NIIWGQ4TQNDRIPA5CNFSM4IWHUPVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEANZW2I#issuecomment-538680169 , or mute the thread https://github.com/notifications/unsubscribe-auth/AEB576XTNSBHPCMECISA4YTQNDRIPANCNFSM4IWHUPVA .  https://github.com/notifications/beacon/AEB576TGMAYH6BHUOYWLS63QNDRIPA5CNFSM4IWHUPVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEANZW2I.gif


MatTab: Control lazy loaded tabs recycling

As already asked here (https://github.com/angular/components/issues/16065) I think it would be great to be able to control lazy loaded tabs recycling (or at least set a switch so they get not destroyed). Sure the tab's content could (& should) be made persistent outside the control, but I think there are use cases where it just saves much effort - never the less it can be managed with every tab's content getting destroyed, as soon as it gets out of view.

I could see how this would be useful in some cases, but I don't think the additional API complexity and code size is worth the trade-off for the limited cases in which this would be particularly helpful.


The console is spammed. :(

Hey,
See this : https://hastebin.com/azihevojay.hs

Your selected language file is missing some entries. You can either let the plugin re-create the file by deleting it or manually add the missing values.


Test case for CSS support

Summary
A test case for testing CSS support in <style> element.
What's required for testing (prerequisites)?

npm install
npm test

Notice that before npm can run jest, npm run lint && npm run tsc && npm run flow must be passed successfully first.
To have a quick test, you can add this to package.json and run npm run jest:
"scripts": {
  "jest": "jest",
}

Thanks for this! Much appreciated!

:tada: This PR is included in version 9.13.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Iterator::collect should ideally support conversions

An Iterator<const std::string&> can not be collected into a Vecstd::string, because it requires FromIterator<std::string> to be true for Iterator<const std::string&> which it's not. The from_iter() impl needs to accept an IntoIterator<std::string> which is not matching Iterator<const std::string&>'s implementation which returns itself.
An example in subdoc:
  run_options.macro_prefixes =
      sus::iter::from_range(option_include_macro_prefixes)
          .cloned()
          .collect<sus::Vec<std::string>>();

This should really work without cloned() ideally, since it's a copy constructible type.

Some thoughts from the PR #425:
The issue is that IntoIterator (and thus collect) requires the into_iter() function's returned Iterator::Item type to be exactly the same as the type specified in IntoIterator. But I believe it would be better here to match an Iterator::Item type if its convertible-to the type in IntoIterator.
Some options:

Maybe collect needs to use a more lenient version of IntoIterator, and perform a map itself when the types don't match.
Maybe Iterator can match a concrete type if its Item is convertible-to T since next() returning a T will be valid in code that wants something T converts to as well.

Would the latter then automatically make IntoIterator more lenient? I think so, but didn't look carefully yet.


fixed UWP builds with RS4 SDK

This PR fixes UWP builds of openssl with the RS4 SDK. getenv is now available to UWP apps and conflicts with the stubbed UWP version in ms/winrtdef.h.

Thanks!


Adds support for Mongo Pro Batch features

This also has the sync fixes from the other pull request included. Testing all unit tests pass locally apart from 2 that have to do the the dates stored by the monitoring API but those same tests fail if i run the tests on your master branch as well.  I did not change any of that code as you can see my code is only the last change and is in just 2 files (src/Hangfire.Mongo/MongoWriteOnlyTransaction.cs and src/Hangfire.Mongo.Tests/MongoWriteOnlyTransactionFacts.cs).
implementation based on this email below that i got from Sergey

Hi Chris,
I've checked some classes, and looks like Hangfire.Mongo doesn't support all the required methods. >But it is an open-source project, you can implement them and propose a pull request. I believe >Sergey Zwezdin will be happy to accept it. All you need is to make MongoConnection inherited from >JobStorageConnection, and MongoWriteOnlyTransaction from JobStorageTransaction and implement >all the missing methods.
Kind regards, Sergey Odinokov,
Founder/developer @ http://hangfire.io

Please also ensure that distributed locks are re-entrant, i.e. it is possible to nest locks for the same resource and the same connection:
[Fact, CleanRedis]
public void AcquireDistributedLock_Granted_OnSameResource_AndSameConnections()
{
    using (_connection.AcquireDistributedLock("resource", TimeSpan.FromSeconds(5)))
    using (_connection.AcquireDistributedLock("resource", TimeSpan.FromSeconds(1)))
    {
    }
}

odinserj it seems that is functionality the existing mongo driver does not support.  Will that only affect batch jobs or other jobs as well?

@seertenedos, this PR also includes switch to the synchronous API, so it may affect other jobs as well. However, batch job support requires only some additional methods to implement that doesn't mix with other background job types.


Fix bug in AnimatedSwitcher

Please review each commit separately. They each have commit descriptions.
cc @gspencergoog


S3 Presign

S3 presign is done using a helper library @aws-sdk/s3-request-presigner this seems like something that would need a helper library or additional documentation to mock properly.
It would be good to see a way to mock presign requests. I'm happy to help with this.

I looked at it and I think mocking it is not (easily) possible right now with the lib.
Presign is done by a middleware. getSignedUrl() is creating the middleware and makes the send() call. Middleware intercepts the command, generates signed URL, and returns the result instead of proceeding with actually sending the command to AWS. See: https://github.com/aws/aws-sdk-js-v3/blob/main/packages/s3-request-presigner/src/getSignedUrl.ts
The mocking lib does not mock middlewares, but only client send() command. Mocking middleware can be especially hard in this case, since it's created locally in the getSignedUrl() function.
I think the way to go is to mock the whole getSignedUrl() function.
Feel free to submit a PR for this!

Yeah so at the moment my strategy has been to mock getSignedUrl() and this works but it's a pretty basic mock. I'll look into it but might take some time. I'll post here if I have any updates.

Yeah, this functionality would be great.

An alternative solution is to mock your URL command to return a {presigned: require('url').parse('http://url')}. At least, it worked for me on PutObject.

The best solution I've found is from the referenced issue:
const presigner = require('@aws-sdk/s3-request-presigner/dist-cjs/getSignedUrl') // eslint-disable-line @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-assignment

sinon.stub(presigner, 'getSignedUrl').resolves('https://s3.amazonaws.com/path/to/object')

I get an error with this,
TypeError: Descriptor for property getSignedUrl is non-configurable and non-writable

This is how I've done using jest:
const presigner = require('@aws-sdk/s3-request-presigner/dist-cjs/getSignedUrl')
jest.spyOn(presigner, 'getSignedUrl').mockResolvedValueOnce(signedUrlMockValue)

Thanks for the simple solution @jhecking 🙌

This is how I've done using jest:
const presigner = require('@aws-sdk/s3-request-presigner/dist-cjs/getSignedUrl')
jest.spyOn(presigner, 'getSignedUrl').mockResolvedValueOnce(signedUrlMockValue)

Thanks for the simple solution @jhecking 🙌

This works great, but you need to expose (fake) AWS credentials, or otherwise it will complain.

CredentialsProviderError: Could not load credentials from any providers

Similar behaviour can be achieved for createPresignedPost from s3-presigned-post.
const postPresigner =<EMAIL_ADDRESS>jest.spyOn(postPresigner, 'createPresignedPost').mockResolvedValue({ url: 'mockValue',
	fields: {
		key: 'mockValue',
		Policy: 'mockValue',
		'X-Amz-Signature': 'mockValue',
		'X-Amz-Security-Token': 'mockValue',
		bucket: 'mockValue',
		'X-Amz-Algorithm': 'mockValue',
		'X-Amz-Credential': 'mockValue',
		'X-Amz-Date': 'mockValue',
	} })

This is how I've done using jest:
const presigner = require('@aws-sdk/s3-request-presigner/dist-cjs/getSignedUrl')
jest.spyOn(presigner, 'getSignedUrl').mockResolvedValueOnce(signedUrlMockValue)

Thanks for the simple solution @jhecking 🙌

Thank you. I had to change it, but your approach help me.
My solution:
jest.mock("@aws-sdk/s3-request-presigner", () => {
  return {
    getSignedUrl: jest.fn().mockResolvedValueOnce(signedUrlMockValue),
  };
});

This is how I've done using jest:
const presigner = require('@aws-sdk/s3-request-presigner/dist-cjs/getSignedUrl')
jest.spyOn(presigner, 'getSignedUrl').mockResolvedValueOnce(signedUrlMockValue)

Thanks for the simple solution @jhecking 🙌

This solution doesn't work anymore starting from SDK v3.495.0 unfortunately.

Is there any PR open to support getSignedUrl mock ? I am completely blocked as work around discussed above as well not working with new version of sdk

If someone wants to create a PR, I will gladly review it.

For those still struggling with this issue even today, you can workaround it with reimporting getSignedUrl to your own module  like described in here https://stackoverflow.com/questions/72616800/trying-to-stub-a-function-results-in-descriptor-for-property-is-non-configurable/72793194#72793194


Modified validateForm to only update form state when the overall state changes

This behavior could be up for some debate but we found the "spamming" of invoking the callbacks and setting the state on every call to validateForm (which occurs on every keystroke) to be bothersome at the overall form level. Based on the behavior listed in the readme for the onValid and onInvalid handlers, I think this is more inline with the intention. If somebody needs to listen to every keystroke, the onChange handler would be better suited. For these handlers, we really only want to have the callback invoked and the form's state set when there is a change of state.

Modified the overall form validation handler to only set state once per overall form state change to prevent event spamming on every keystroke.
Added/modified tests for the above.
Fixed the invalid form test which had the spy assigned to the onValid handler rather than onInvalid.

Hi @bryannaegele,
Just wondered why you closed it? Did it not work out?
I have just been busy working on fixing the props warning stuff for React 0.13.1, so have not had time reviewing the pull. Overall it makes a lot of sense, but have to dive into it a bit more :-)

@christianalfoni We made a few other modifications. I opened an issue to have an open discussion around it. I will put the PR back up when you and anyone else has had time to ponder it.


[PROPOSAL] #1 Add Terms of Use Policy

This is a Proposal as per the R-multiverse Governance Document at https://r-multiverse.org/governance.html.
The intention is to adopt a formal general terms of use document.
Further background is detailed in the original issue raised: https://github.com/r-multiverse/help/issues/82.
A PR with the specific policy wording is available at: https://github.com/r-multiverse/r-multiverse.github.io/pull/25.
This shall become effective October 13, 2024.

I vote yes

The policy is now merged and live on the website.


setup

When I follow the instructions in the "README" file to set up the environment, there is no '. /config.sh' file, how can I get this file, if you can answer the question, I will be grateful!

Please try installing it via pip:
pip install eeg-to-fmri


Add emoji country flag to geotagged place

For my clips that are outside my country, I'm using an emoji flag for the country and the place name. Would that make sense as an option?

Nice idea!


Clarify backend cert expiration behavior on v1

In some appliances the whitelisting process for explicitly including the back-end server certificates overrides other considerations such as CA signatures or expiration dates. In the case of Microsoft Application Gateways it looks like CA signatures are overridden but expiration dates are checked. This trivial change clarifies this behavior.

@sbonds : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@greg-lindsay - Can you review this old PR and determine whether it needs to be closed or merged?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.

@MicrosoftDocs/public-repo-pr-review-team

#sign-off

Because the author has changed since this PR was opened, I am not able to sign off.  I will close the PR and add the information in my own PR. #please-close


axes: fix get_regular_master

Calling font.customParameters["Variation Font Origin"] returns the master's id, not its name.

Will look into the failing test now.

The had retuned the ID but shows the name in the UI.

So, the current behavior is correct?

@m4rc1e what concrete problem did you have?

@m4rc1e are you going to work on this or can I close the PR?


Send serial writes in max 62 byte chunks.

I'll probably leave this one for a bit to discuss with someone who's been more involved in this sort of WebUSB issue.
Fixes https://github.com/microbit-foundation/python-editor-next/issues/215

@microbit-carlos does this seem reasonable to you? See the issue for reproductions which also apply to the V2 editor.
If so, do you think there's a case for the fix being at a lower level in DAPJs? Wouldn't the limit apply to all uses?


How to tell if debugAdapter supports Exception breakpoints?

Looking at the debugProtocol.d.ts file and the Capabilities object, I don't see how to notify VSCode that the debugAdapter does not support Exception Breakpoints.
What would be the proper way to do this or does there need to be a capability that is added in the InitializeResponse to support this?
Thanks
Pierson

@pieandcakes for enabling the exception breakpoint filters, you have to return the filters as the exceptionBreakpointFilters  Capability from the InitializeRequest:
https://github.com/Microsoft/vscode-debugadapter-node/blob/master/protocol/src/debugProtocol.ts#L752
Here is an example from node-debug:
		// This debug adapter supports two exception breakpoint filters
		response.body.exceptionBreakpointFilters = [
			{
				label: localize('exceptions.all', "All Exceptions"),
				filter: 'all',
				default: false
			},
			{
				label: localize('exceptions.uncaught', "Uncaught Exceptions"),
				filter: 'uncaught',
				default: true
			}
		];


Nuxt 3 - "No urql Client was provided. Did you forget to install the plugin or call provideClient in a parent?"

I have setup the following useURQ() composable:
import { createClient, provideClient, useClientHandle } from '@urql/vue'

import { dedupExchange, cacheExchange, fetchExchange, ssrExchange } from '@urql/core'

export interface UseURQLOptions {
  // URI representing a GraphQL endpoint:
  url: string
}

/**
 * useURQL()
 * Returns an URQL client instance based off of an input uri
 *
 * @param options of type UseURQLOptions
 * @output URQL client, useQuery and useMutation
 */
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
export const useURQL = (options: UseURQLOptions) => {
  const { url } = options

  const isServerSide = typeof window === 'undefined'

  // The `ssrExchange` must be initialized with `isClient` and `initialState`
  const ssr = ssrExchange({
    isClient: !isServerSide,
    initialState: undefined
  })

  const client = createClient({
    url: url,
    exchanges: [
      dedupExchange,
      cacheExchange,
      ssr,
      fetchExchange,
    ]
  })

  return {
    client,
    provideClient,
    useClientHandle
  }
}

And usage would be inside of a component's setup() method is as follows:
setup() {
    const { client, provideClient, useClientHandle } = useURQL({
      url: 'https://countries.trevorblades.com'
    })

    provideClient(client)

   ...

}

However, I'm seeing this error:
No urql Client was provided. Did you forget to install the plugin or call provideClient in a parent?

This is within a Nuxt 3 environment ...
Could someone advise on the usage of this library within a composable please ...

Moving this to a discussion, since it's likely a usage issue;
That said, have you checked where you're using urql hooks? They can only be used below the component that provides the client


Devise 4.2.0

There is a new version of Devise released on 2016-07-01, the Gemspec of this gem tells me I can only use it with Devise < 4.2.
Is there something I can to do get this working on Devise 4.2?

Hey @jankeesvw,
sure, create a PR where you adapt the gemspec accordingly. Let CI do its job and ensure that the tests are green with the recent changes in devise 4.2. :-)


KAFKA-9212; Ensure LeaderAndIsr state updated in controller context during reassignment

This is a cherry-pick of https://github.com/apache/kafka/commit/5d0cb1419cd1f1cdfb7bc04ed4760d5a0eae0aa1. The main differences are 1) leader epoch validation is unconditionally disabled, and 2) the test case has been refactored due to the absence of the reassignment admin APIs.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

retest this please

The failures are all known flakes in 2.3. I ran them locally and they pass. I will go ahead and merge.


Is it compatible with angular4 and bootstrap4?

Hi, Is it compatible with and angular4.0.0 version and bootstrap4? Please tell us!

Yest it is now compatible with angular 4. It uses bootstrap 3, but I will not cause any trouble on bootstrap 4


Solutions merged into exercise

In the following pull request you merged the exercise notebook with solutions
https://github.com/udacity/deep-learning-v2-pytorch/commit/0d69f2669d755f7031fa44b0d747d0874a6dba6d#diff-ae7662d58c8d54ec785f3db1e845a9d424b02657ff6d820072df7bd355fec1cd
See: https://knowledge.udacity.com/questions/550090

It's a mess. Including wrong solutions.

This was resolved by commit - https://github.com/udacity/deep-learning-v2-pytorch/commit/ae8f4ac647ca0125a2cb1e8d1d1275701b975d21

@abhiojha8 your commit didn't resolve the solutions (which are broken/incorrect) in Part 2 introduced by PR #269...also that PR modified the vscode dotfile with the PR user's specific paths on his workstation.

That's true, there are solutions in Part 2 Exercices, and messy outputs.


adapt/lazy not importable in pip-installed skmultilearn

I am not able to import anything from the submodules lazy (or nowadays adapt):
/u/l/l/p/s/skmultilearn >>>  (master ↩) ls
__init__.py       base.py           dataset.py        ext               utils.pyc
__init__.pyc      base.pyc          dataset.pyc       problem_transform
base              cluster           ensemble          utils.py

it works now in git, will release this week a corrected version


Packaging Refactoring

Why this refactor

Consistency
Leaking abstractions

Consistency
the way to implement a new provider is not clear, because half of the providers are on the metrics package and half are segregated on packages.
Normalizing the way providers are created will ease this process.
Leaking abstractions
Putting in main package the main model (Sink, Metric, Label, etc...) together with specific models (like inmemory, statsd, etc) will lead to use cross package references without being noticed.
For instance, Prometheus and the other providers are not included in  the URL Factory method, because the way there were implemented (with packages) they can't just include a method on metrics package referencing the specific package, this will raise a cyclic package reference.
What was actually done
Packaging ALL providers
All providers were moved to a folder (providers) in which all of them are within its own package (including inmem, statsd and statsite)
Correcting some tests
tests were not running nor the code was building because of some tests.
Some other PR's were also addressing this matter like (https://github.com/armon/go-metrics/pull/86) but none were merged, I included it here.
Other tests, like of the circonus providers were not passing, I also corrected them.
Segregated Factory (FromUrl)
All those factory functions in which accessed metrics and specific packages were segregated in a
factory package in which its only responsibility is to parse the URL to the specific factory function of the provider.
This removes the parsing responsibility from specific Sink providers.
Added Circle CI build check
Just what it says
Renaming for better convention

Change Sink interface name to Sinker following Effective Go good practices

Change composite names of sink structures to only sink (InmemSink -> Sink)

Added Prometheus unit tests
Added unit tests for prometheus for all 6 implemented methods
Breaking changes

Changing specific factory methods from NewProviderSink to pkg.NewSink
Changing url factory method from metrics package to factory pkg

Intermitent test

Although https://github.com/armon/go-metrics/pull/86 tried to address the memstats randomization problem, it just reduced the problem, there are some false negatives.

Statsite "server" was taking more time to listen TCP port than the code to send message and was failing to connect intermitently, I just added a 1 mili sleep to workaround this problem

But all changes are just renaming and package usage, functionality was not changed.

well, I see in your description new sinks: FanoutSink, BlackholeSink, but there are none in your code

A little too late to answer hahaha
but it was here https://github.com/armon/go-metrics/pull/89/files#diff-346f965b89515534332cb33346f6a6a4R23
To solve this issue in the time I created this PR, I have forked this repo and this is the result https://github.com/hugoluchessi/go-metrics
I have further optimized the code and took some observability good practices like transactions and logging integrations here https://github.com/hugoluchessi/gobservable
It is not possible to reuse this PR, but sure it is valid to try redoing it in the current source.


Remove database from table on delete with join

SingleStore does not seem to support "DELETE database.table" when a JOIN is present as well. This removes the database when present.

Looks good.
I believe that tests are failing because of this issue https://github.com/singlestore-labs/singlestoredb-laravel-driver/issues/76
I also created a ticket to support "DELETE database.table" in SingleStore.