Add methods that automatically split proto requests into batches and …

…merge them back

@PKJonas Can you benchmark this changes?

@PKJonas Can you benchmark this changes?
I'll give it a shot, keep you guys posted.


Remove readonly annotation

Purpose
This PR removes @readonly annotation.
Resolves #11616

@Shan1024 Some of the stdlibs are failing. Shall we update them?


[BUG] Pen extension doesn't work with Camera Controls extension

When I move the camera and draw with the pen extension (the car in video is drawing), it doesn't go out of the normal camera spot.
video.webm

This is because the pen layer is an image that is drawn onto. Thus the image has a fixed size

this is intentional behaviour, as David-Orangemoon said


[Features] 同步群组消息到线上游戏

看不懂matrix-nio（pypi）的文档，不会写循环从matrix群组实时获取单条消息的逻辑。
如果有了解该项目的大佬或者能提供技术方案，欢迎pr或和我讨论。

If everyone wants to help this program, he/she can commit pull requests or contact me. You may need tools to translate something.

初步完成.
Finished firstly.


27.1.1 broken

Seems that the latest release is broken:
Downloading https://pypi.io/packages/source/s/setuptools/setuptools-27.1.1.zip
Extracting in /var/folders/sl/zm2jlwhx5vg91v5th340r5dw0000gn/T/tmpUr9V2u
Now working in /var/folders/sl/zm2jlwhx5vg91v5th340r5dw0000gn/T/tmpUr9V2u/setuptools-27.1.1
Building a Setuptools egg in /var/folders/sl/zm2jlwhx5vg91v5th340r5dw0000gn/T/tmpgk66xP
Traceback (most recent call last):
  File "setup.py", line 11, in <module>
    import setuptools
  File "/private/var/folders/sl/zm2jlwhx5vg91v5th340r5dw0000gn/T/tmpUr9V2u/setuptools-27.1.1/setuptools/__init__.py", line 13, in <module>
    from setuptools.extension import Extension
  File "/private/var/folders/sl/zm2jlwhx5vg91v5th340r5dw0000gn/T/tmpUr9V2u/setuptools-27.1.1/setuptools/extension.py", line 9, in <module>
    from .monkey import get_unpatched
  File "/private/var/folders/sl/zm2jlwhx5vg91v5th340r5dw0000gn/T/tmpUr9V2u/setuptools-27.1.1/setuptools/monkey.py", line 10, in <module>
    from . import msvc
  File "/private/var/folders/sl/zm2jlwhx5vg91v5th340r5dw0000gn/T/tmpUr9V2u/setuptools-27.1.1/setuptools/msvc.py", line 27, in <module>
    from . import monkey
ImportError: cannot import name monkey
/var/folders/sl/zm2jlwhx5vg91v5th340r5dw0000gn/T/tmpgk66xP/setuptools-27.1.1-py2.7.egg
Traceback (most recent call last):
  File "bootstrap.py", line 92, in <module>
    ez['use_setuptools'](**setup_args)
  File "<string>", line 178, in use_setuptools
  File "<string>", line 129, in _do_download
  File "<string>", line 75, in _build_egg
IOError: Could not build the egg.

There is a circular import from setuptools/monkey.py and setuptools/__init__.py.

see also https://github.com/pypa/setuptools/issues/780

Duplicate #780

I'll pull it from pypi now.


Branding Page (Design > Theme Preferences) Referring Asgardeo Links in Input Placeholders

Describe the issue:
The branding page in Console Theme Preferences section appears to be referencing Asgardeo links within input placeholders
How to reproduce:
Navigate to the Branding Page > Design >  "Theme Preferences" section
Observe the branding page, particularly the input placeholders for links.
Notice that Asgardeo links are directly inserted into these placeholders.
Expected behavior:
The input placeholders should not contain hardcoded Asgardeo links.

Closing this issue with the fix https://github.com/wso2/identity-apps/pull/4451


Toolwindow icon is not visible in IDE light mode

In light mode toolwindow icon is pretty much invisible.

Environment
IntelliJ IDEA 2024.3 RC (Ultimate Edition)
Build #IU-243.21565.129, built on November 7, 2024
Subscription is active until January 19, 2025.
Runtime version: 21.0.5+8-b631.16 amd64 (JCEF 122.1.9)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.windows.WToolkit
Windows 10.0
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 8192M
Cores: 8
Registry:
  idea.coverage.new.test.tracking.enabled=false
  new.project.load.remote.templates=true
  ide.allow.merge.buttons=false
  ide.experimental.ui=true
  ide.slow.operations.assertion=false
  ide.slow.operations.assertion.action.update=false
  ide.slow.operations.assertion.generic=false
  ide.slow.operations.assertion.other=false
  ide.ui.new.file.chooser=true
  coroutine.scope.model=false
  i18n.locale=
  terminal.new.ui=true
Kotlin: 243.21565.129-IJ

Thanks for reporting this! I will add a proper light-mode icon.

Should be fixed in 0.0.3


Update to v0.10.1

The new release just fixes the reported version string.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@pp-mo consider adding yourself as a maintainer here. In conda-forge self-merges are OK when bumping the version and you need to be a maintainer to get merge rights.

@pp-mo consider adding yourself as a maintainer here

Thanks, will think about that for next time.


Addition a package to example makes check to not to perform

I'm playing with examples using online Bixie. I realized that if I add a valid package name before a class, nothing happens on pushing the "Ask Bixie!" button. I mean, no checks, no results. I think, simple addition of a package shouldn't do so.

This is a security thing with tomcat and the bytecode framework that we use. The online version throws away all sorts of things in your input so that we don’t have to create folders based on user input. If you try it locally, you can certainly use the whole of java.

Martin Schäf

On Dec 6, 2017, at 11:27, Denis Buzdalov<EMAIL_ADDRESS>wrote:
I'm playing with examples using online Bixie. I realized that if I add a valid package name before a class, nothing happens on pushing the "Ask Bixie!" button. I mean, no checks, no results. I think, simple addition of a package shouldn't do so.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Update kubernetes-dashboard-init image.

Avoid creating empty secrets by kubernetes-dashboard-init container. Ref. https://github.com/kubernetes/dashboard/pull/2468

Codecov Report

Merging #984 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #984   +/-   ##
=======================================
  Coverage   34.84%   34.84%
=======================================
  Files          59       59
  Lines        4130     4130
=======================================
  Hits         1439     1439
  Misses       2532     2532
  Partials      159      159

Impacted Files
Coverage Δ

core/controlplane/config/config.go
58.11% <100%> (ø)
:arrow_up:

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 6838d00...d21a49f. Read the comment docs.

/lgtm

Thanks as always for your contribution and review :+1:


[$250] [Group 4][Accessible Pressable] Migrate EmojiPickerMenuItem

HOLD on https://github.com/Expensify/App/issues/16988
Description
Migrate EmojiPickerMenuItem to use PressableWithoutFeedback
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01445bc1a3988e9911
Upwork Job ID:<PHONE_NUMBER>274091520
Last Price Increase: 2023-06-11

Triggered auto assignment to @garrettmknight (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero process steps for feature requests for more details.

Can you assign me to this one, please?

Assigning @Skalakid as requested and myself since I got auto-assigned to review the PR.

Can I work on it?

@Vishrut19 we already have a PR up

How to start this project?

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01b7fc496875b2b3dd

And then what should I do?

@JavSFDev we have someone assigned to this job and a PR is in review already!

OMG. Which project is not ongoing?

Hey @JavSFDev! A great place to start is open issues in the repo with the Help wanted label: https://github.com/Expensify/App/issues?q=is%3Aopen+is%3Aissue+label%3A"Help+Wanted"

Only payment due is $250 to @eVoloshchak

Not overdue, this is awaiting for payments to be settled

Sent you an offer @eVoloshchak.

@trjExpensify, I've requested payment via NewDot instead

Oh cool, okay. I'll keep this open until that's actioned on! :)

@eVoloshchak has this been paid already?

@luacmartins, not quite yet, should arrive on Jul 6

@luacmartins, this has been paid out!

Seems like we're all set here then


update ajv + ajv-keywords

updates to<EMAIL_ADDRESS>updates to<EMAIL_ADDRESS>(required for better validation in webpack/webpack-cli#240)

What kind of change does this PR introduce?
dependency version bump (ajv and ajv-keywords)
Did you add tests for your changes?
No.
If relevant, link to documentation update:
N/A
Summary
webpack/webpack-cli#240 adds some basic configuration type validation using webpack/validateSchema (ajv powered).
It seems the "cleanest" way to validate Promise-type configurations, would be to use ajv-keyword's "instanceof": "Promise", this was only added to the 3.x release which has a dependency on ajv@6.
Current tests (validations) are still passing with this update – ajv's changelog from 5.2-6 doesn't suggest any breaking changes based on webpack's usage.
Does this PR introduce a breaking change?
No.
Other information
This does seem a little heavy-handed for resolving webpack/webpack-cli#240, but the version bump(s) seem generally safe.

I think you should target next branch instead of master.

Thanks


Support mosaic optimizations as plugins

This library mosaic has neat tricks for optimizing the models for faster training.
Each application is done as a single line to the model
import composer.functional as cf
from torchvision import models

my_model = models.resnet18()

# add blurpool and squeeze excite layers
model = cf.apply_blurpool(my_model)
model = cf.apply_squeeze_excite(my_model)

# your own training code starts here

Which is something we can automatically do for users under the hood if they want to enable the mosaic optimizations.
I propose an API like this
import pytorch_lightning as pl

trainer = pl.Trainer(plugins=[
    mosaic.BlurPool(replace_convs=True, replace_maxpools=True, blur_first=True),
    mosaic.ChannelsLast(),
    mosaic.CutMix(num_classes=10),
    mosaic.LabelSmoothing(smoothing=0.1),
])

cc @borda @akihironitta @Borda @carmocca @tchaton

I believe the proposed API just mimics what composer offers:
trainer = composer.Trainer(
    ...
    algorithms=[
        BlurPool(replace_convs=True, replace_maxpools=True, blur_first=True),
        ChannelsLast(),
        CutMix(num_classes=10),
        LabelSmoothing(smoothing=0.1),
    ]
)

(from their README)
The key difference here is that (AFAIK) composer does not provide a "Module" abstraction such as the LightningModule so it is natural for their library to put these directly in their trainer.
Also, looking at the source code, it does not look like they do any special management of these and just run all algorithms during every trigger event:
https://github.com/mosaicml/composer/blob/42271f8f6b10810d660318d17d037822beb05ee7/composer/core/engine.py#L177-L185
https://github.com/mosaicml/composer/blob/42271f8f6b10810d660318d17d037822beb05ee7/composer/core/engine.py#L192-L196
These could be directly part of the LightningModule especially because they are part of the research and that's the where you usually put your research code. So unless we need to integrate with strategies or something specific to our internals, I agree with @ananthsub

@hanlint do you forsee any limitations that would be better adressed by making the algorithms part of the Trainer?

@carmocca agreed with the approach. We designed the functional API so that users can utilize our methods inside their own training loops, so would be natural for users wishing to employ our efficiency methods to put in LightningModule themselves, where the research code lives.
A few limitations I can think of:

The composer trainer does handle some of the ordering complexity e.g. the algorithms run in LIFO during the before_ and after_ events so that they clean up their own effects. Or ensuring that SelectiveBackprop runs first (see: https://github.com/mosaicml/composer/blob/0d7175573225001549e36ac91b2e3def250fa19f/composer/core/engine.py#L231).
Less user error in inserting the algorithms at the wrong place in the loop.
Other quality of life such as tracking when algorithms are run, algorithm-specific profiling overlays, serialization/resumption of algorithms state, etc.

However, most of these are ease-of-use items that could be handled with good docs and warnings (e.g. we recently added algorithm warnings in https://github.com/mosaicml/composer/pull/720), as we harden our functional API.

@hanlint I wanted to introduce you to Lightning Flash: https://github.com/PyTorchLightning/lightning-flash/tree/master/flash.
We have 2 custom objects there: Input and InputTransform used to organize data loading and data transform + the concept of Adapter (learn2learn example) to easily integrate thrid party libraries.
I believe we could explore a Flash integration first, understand how we can address some of the limitations raised above, and upstream any core components which work for all users.

Thanks @tchaton for the pointer, I will take a look.


gauss rule creates invalid constraints instead of complaining

in the gauss rule the sensitivity of interesting variables is restircted by the sensitivity given as parameter. if the user made a mistake and the actual sensitivity of said variables is too large, we end up with invalid isLessEqual constraints. instead we should only set the result privacy to the requested epsilon/delta is the isLessEqual constraint is actually satisfied, and otherwise set the privacy to infinity and maybe give a warning.

let's just resolve constraints of the form inf <= x to x = inf and that's it.


Order creation webhook doesn't send data with "application/json"

What I'm trying to achieve
Send order data to a web server via webhooks
Steps to reproduce the problem

Create a simple server that prints out the JSON request body
Create a order creation webhook pointing to this server
Create a new order
Observe that the JSON request body sent to the server is empty

What I expected to happen
Order data should be sent as JSON body
Screenshots

Second line is console.log(req.body) in an example expressjs server with body-parser JSON parser
After modifying the file in saleor/plugins/webhook/tasks.py to add the Content-Type: application/json header when sending the data, it worked as expected.

Looks like it, we send no content-type headers. https://github.com/mirumee/saleor/blob/0e7267bb26405100fbbcd6864c4123139129c62d/saleor/plugins/webhook/tasks.py#L47-L50
cc. @maciekjablonski


WIP: Mass conversion from ABAP system to files

is this PR still relevant? https://github.com/SAP/abap-file-formats/issues/212 was closed

continued in #222


Switch to using the Vary: X-Inertia header

Fixes #400
Fixes #401
This PR fixes an issue where the $response->header() method wasn't available for all possible response types — in particular those that come from HTTP Foundation like HttpFoundation\StreamedResponse and HttpFoundation\BinaryFileResponse. Now we're using $response->headers->set(), which is available everywhere.
This PR also updates the Vary header to use X-Inertia instead of Accept. While Accept previously worked, I think this was largely by coincidence (luck), because of the difference between the browser's default accept header and Inertia's XHR accept header:
Browser:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

Inertia (see here):
Accept: text/html, application/xhtml+xml

Doing some digging into how the Vary header works tonight, I realized that I can technically tell it to use whatever header I want to help the browser differentiate between the HTML version of a page and the Inertia JSON version of a page. And since the thing that really matters here is whether the X-Inertia header is set, this feels like the more correct approach.

Test now passing with this changes

@crynobone Thanks for your help with this 🙏


Issue with contact forces when computing r damage in strike task

Hello,
When trying to see the value of each reward term for the task of striking, I noticed that the r_damage can be triggered even when the agents are not hitting each other. After further investigation, I found that the contact buffers can also include self collision in addition to contact between different agents; for example, if an agent's hand collide with its own head it will be included in the contact buffer, therefore it will be used in the reward as if it got hit by the opponent which was not the case.
This could be solved by filtering the contact buffer by specifying the bodies involved in the contact, but I saw that this functionality is not available right now in isaacgym. The workaround I can think of is to detect first if there was contact between specific bodies by measuring the distance between them, once the distance is lower than some threshold, you assume there was contact, then you check the magnitude of the contact force.
Hope I was clear.

@jacktheripper19 you are right,your solution will work in most situations (when the distance is lower than threshold, self damage will still be included in r_damage), feel free to create pr.


Teacher CSV Export

Originally reported by @dbrumley:
It would be good to be able to export the current view of students as a CSV file (with timestamp). The purpose would be to allow a teacher to dump information of student point values so far, e.g., so they can keep track of picoctf progress as if it were an assignment. Bonus if we can also log which problems a student has solved with timestamp.
Copied over from picoCTF-platform-2 as a part of moving that project towards retirement.

Pretty sure this exists in the current infrastructure here; however, the new ui (which will be coming soon) does not. So maybe we should keep this open.


Create integration test for SAML SSO update endpoint

Related Issue

https://github.com/wso2/product-is/issues/16151

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/5538879778

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/5538879778
Status: success


Update many web3 python packages

Description of changes

eth-abi: 3.0.1 -> 4.1.0
eth-account: 0.6.1 -> 0.9.0
eth-hash: 0.3.2 -> 0.5.2
web3: 6.3.0 -> 6.5.0

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

can this also be backported?

As per the backporting guidelines which you have read, no

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

57 packages failed to build:

baserow
baserow.dist
buildbot
buildbot-full
buildbot-ui
buildbot-worker
buildbot-worker.dist
buildbot.dist
gnome-keysign
gnome-keysign.dist
grab-site
grab-site.dist
magic-wormhole (python310Packages.magic-wormhole)
magic-wormhole.dist (python310Packages.magic-wormhole.dist)
paperless-ngx
python310Packages.autobahn
python310Packages.autobahn.dist
python310Packages.channels
python310Packages.channels-redis
python310Packages.channels-redis.dist
python310Packages.channels.dist
python310Packages.daphne
python310Packages.daphne.dist
python310Packages.labgrid
python310Packages.labgrid.dist
python310Packages.magic-wormhole-mailbox-server
python310Packages.magic-wormhole-mailbox-server.dist
python310Packages.magic-wormhole-transit-relay
python310Packages.magic-wormhole-transit-relay.dist
python310Packages.py-eth-sig-utils
python310Packages.py-eth-sig-utils.dist
python310Packages.strawberry-graphql
python310Packages.strawberry-graphql.dist
python311Packages.autobahn
python311Packages.autobahn.dist
python311Packages.channels
python311Packages.channels-redis
python311Packages.channels-redis.dist
python311Packages.channels.dist
python311Packages.daphne
python311Packages.daphne.dist
python311Packages.labgrid
python311Packages.labgrid.dist
python311Packages.magic-wormhole
python311Packages.magic-wormhole-mailbox-server
python311Packages.magic-wormhole-mailbox-server.dist
python311Packages.magic-wormhole-transit-relay
python311Packages.magic-wormhole-transit-relay.dist
python311Packages.magic-wormhole.dist
python311Packages.py-eth-sig-utils
python311Packages.py-eth-sig-utils.dist
python311Packages.strawberry-graphql
python311Packages.strawberry-graphql.dist
tahoe-lafs
tahoe-lafs.dist
tahoe-lafs.doc
tahoe-lafs.info

48 packages built:

python310Packages.cairo-lang
python310Packages.cairo-lang.dist
python310Packages.eth-abi
python310Packages.eth-abi.dist
python310Packages.eth-account
python310Packages.eth-account.dist
python310Packages.eth-hash
python310Packages.eth-hash.dist
python310Packages.eth-keyfile
python310Packages.eth-keyfile.dist
python310Packages.eth-keys
python310Packages.eth-keys.dist
python310Packages.eth-rlp
python310Packages.eth-rlp.dist
python310Packages.eth-utils
python310Packages.eth-utils.dist
python310Packages.hexbytes
python310Packages.hexbytes.dist
python310Packages.py-ecc
python310Packages.py-ecc.dist
python310Packages.rlp
python310Packages.rlp.dist
python310Packages.web3
python310Packages.web3.dist
python311Packages.cairo-lang
python311Packages.cairo-lang.dist
python311Packages.eth-abi
python311Packages.eth-abi.dist
python311Packages.eth-account
python311Packages.eth-account.dist
python311Packages.eth-hash
python311Packages.eth-hash.dist
python311Packages.eth-keyfile
python311Packages.eth-keyfile.dist
python311Packages.eth-keys
python311Packages.eth-keys.dist
python311Packages.eth-rlp
python311Packages.eth-rlp.dist
python311Packages.eth-utils
python311Packages.eth-utils.dist
python311Packages.hexbytes
python311Packages.hexbytes.dist
python311Packages.py-ecc
python311Packages.py-ecc.dist
python311Packages.rlp
python311Packages.rlp.dist
python311Packages.web3
python311Packages.web3.dist

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2370

What causes the build failures?

What causes the build failures?

I am not so sure, it doesn't seem to be related to this changeset.

Those packages build fine before the commits of this PR and break now. So it somehow must be caused by it.

Since eth-abi is the culprit, is it allowed to have eth-abi and eth-abi3 coexisting in the python-modules? This way I could keep eth-abi3 packaging and use it in the affected packages.

A bit filtering of the failed projects suggests:
python311Packages.autobahn
python311Packages.channels
python311Packages.channels-redis
python311Packages.daphne
python311Packages.labgrid
python311Packages.magic-wormhole
python311Packages.magic-wormhole-mailbox-server
python311Packages.magic-wormhole-transit-relay
python311Packages.py-eth-sig-utils
python311Packages.strawberry-graphql

A fairly short list.
The failure are most likely very common, it's a "api" change, e.g.:
$ nix build .#python311Packages.channels
...
       >     from eth_abi import encode_single, encode_abi
       > ImportError: cannot import name 'encode_single' from 'eth_abi' (/nix/store/6ky7bj25disfi0kqm7v0ppicjjwdp3bv-python3.11-eth-abi-4.1.0/lib/python3.11/site-packages/eth_abi/__init__.py)

Okay, I did a bit digging, and here is my summary for now.

The main culprit is the dead project python311Packages.py-eth-sig-utils

->  it breaks the python311Packages.autobahn package (providing some sort of testing framework but unfortunately having a dependency of py-eth-sig-utils` apparently due to some crypto-era zombie project influence.

-> then it breaks these pakcages that uses it for testing:

-> python311Packages.channels & python311Packages.channels-redis
-> python311Packages.daphne
-> python311Packages.labgrid
-> python311Packages.magic-wormhole & two more python311Packages.magic-wormhole-*
-> python311Packages.strawberry-graphql

https://github.com/NixOS/nixpkgs/pull/241713 merged.
will fix this PR soon.

Done, and ready:
$ nixpkgs-review pr --print-result 240007:
Result of nixpkgs-review pr 240007 run on x86_64-linux 1

4 packages marked as broken and skipped:

python310Packages.py-eth-sig-utils
python310Packages.py-eth-sig-utils.dist
python311Packages.py-eth-sig-utils
python311Packages.py-eth-sig-utils.dist

99 packages built:

baserow
baserow.dist
buildbot
buildbot-full
buildbot-ui
buildbot-worker
buildbot-worker.dist
buildbot.dist
gnome-keysign
gnome-keysign.dist
magic-wormhole (python310Packages.magic-wormhole)
magic-wormhole.dist (python310Packages.magic-wormhole.dist)
paperless-ngx
python310Packages.autobahn
python310Packages.autobahn.dist
python310Packages.cairo-lang
python310Packages.cairo-lang.dist
python310Packages.channels
python310Packages.channels-redis
python310Packages.channels-redis.dist
python310Packages.channels.dist
python310Packages.daphne
python310Packages.daphne.dist
python310Packages.eth-abi
python310Packages.eth-abi.dist
python310Packages.eth-account
python310Packages.eth-account.dist
python310Packages.eth-hash
python310Packages.eth-hash.dist
python310Packages.eth-keyfile
python310Packages.eth-keyfile.dist
python310Packages.eth-keys
python310Packages.eth-keys.dist
python310Packages.eth-rlp
python310Packages.eth-rlp.dist
python310Packages.eth-utils
python310Packages.eth-utils.dist
python310Packages.hexbytes
python310Packages.hexbytes.dist
python310Packages.labgrid
python310Packages.labgrid.dist
python310Packages.magic-wormhole-mailbox-server
python310Packages.magic-wormhole-mailbox-server.dist
python310Packages.magic-wormhole-transit-relay
python310Packages.magic-wormhole-transit-relay.dist
python310Packages.py-ecc
python310Packages.py-ecc.dist
python310Packages.rlp
python310Packages.rlp.dist
python310Packages.strawberry-graphql
python310Packages.strawberry-graphql.dist
python310Packages.web3
python310Packages.web3.dist
python311Packages.autobahn
python311Packages.autobahn.dist
python311Packages.cairo-lang
python311Packages.cairo-lang.dist
python311Packages.channels
python311Packages.channels-redis
python311Packages.channels-redis.dist
python311Packages.channels.dist
python311Packages.daphne
python311Packages.daphne.dist
python311Packages.eth-abi
python311Packages.eth-abi.dist
python311Packages.eth-account
python311Packages.eth-account.dist
python311Packages.eth-hash
python311Packages.eth-hash.dist
python311Packages.eth-keyfile
python311Packages.eth-keyfile.dist
python311Packages.eth-keys
python311Packages.eth-keys.dist
python311Packages.eth-rlp
python311Packages.eth-rlp.dist
python311Packages.eth-utils
python311Packages.eth-utils.dist
python311Packages.hexbytes
python311Packages.hexbytes.dist
python311Packages.labgrid
python311Packages.labgrid.dist
python311Packages.magic-wormhole
python311Packages.magic-wormhole-mailbox-server
python311Packages.magic-wormhole-mailbox-server.dist
python311Packages.magic-wormhole-transit-relay
python311Packages.magic-wormhole-transit-relay.dist
python311Packages.magic-wormhole.dist
python311Packages.py-ecc
python311Packages.py-ecc.dist
python311Packages.rlp
python311Packages.rlp.dist
python311Packages.strawberry-graphql
python311Packages.strawberry-graphql.dist
python311Packages.web3
python311Packages.web3.dist
tahoe-lafs
tahoe-lafs.dist
tahoe-lafs.doc
tahoe-lafs.info


rke2: change configPath to configFile

Description of changes
Change configPath to configFile. configFile is more common and clarity than configPath.
cc @mogeko

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Hello @mogeko , If you think this modification is ok, then i thought we can merge this commit.


Split package io.matthewnelson.kmp.tor.internal across 2 jars

As one of the final parts of my testing, I am making each of the jars used by kmp-tor modular using an internal Gradle plugin, in order to make it possible to use it in a modular application like Sparrow. However, I have run into a hard block - there is a split package between kmp-tor-internal-jvm-1.4.0.jar and kmp-tor-jvm-1.4.0.jar. Specifically, both jars contain the package io.matthewnelson.kmp.tor.internal, and kmp-tor-jvm-1.4.0.jar requires the ProcessId class in the other jar.
Java modules strictly disallows splitting packages across jars. Would it be possible to include the ProcessId class in kmp-tor-jvm-1.4.0.jar, rather than having another jar for one class?

Already scheduled for axing in 2.0.0 via #269 . I think I could bump that up though and just still publish the module in case people were utilizing it as to not break their shit.
For the time being, could you instead have a single jar for kmp-tor that handles instantiation of TorManager and startup, and then have your other modules simply depend on kmp-tor-manager-common which has all APIs except TorManager?
I definitely need to do a little WiKi on the module strucutre of this library

Already scheduled for axing in 2.0.0 via https://github.com/05nelsonm/kmp-tor/issues/269 . I think I could bump that up though and just still publish the module in case people were utilizing it as to not break their shit.

Would be great, thanks!

For the time being, could you instead have a single jar for kmp-tor that handles instantiation of TorManager and startup, and then have your other modules simply depend on kmp-tor-manager-common which has all APIs except TorManager?

Not sure I follow precisely, but certainly the fewer jars the better when it comes to modules. To give you an idea, here is the current configuration I have in Gradle to get all the interdependencies working:
    module('kotlinx-coroutines-core-jvm-1.6.4.jar', 'kotlinx.coroutines.core.jvm', '1.6.4') {
        exports('kotlinx.coroutines')
        requires('kotlin.stdlib')
        uses('kotlinx.coroutines.CoroutineExceptionHandler')
        uses('kotlinx.coroutines.internal.MainDispatcherFactory')
    }
    module('kotlinx-coroutines-javafx-1.6.4.jar', 'kotlinx.coroutines.javafx', '1.6.4') {
        exports('kotlinx.coroutines.javafx')
        requires('kotlinx.coroutines.core.jvm')
        requires('kotlin.stdlib')
        requires('javafx.graphics')
    }
    module("kmp-tor-jvm-${vKmpTor}.jar", 'kmp.tor.jvm', "$vTor-$vKmpTor") {
        exports('io.matthewnelson.kmp.tor')
        requires('kmp.tor.binary.extract.jvm')
        requires('kmp.tor.manager.jvm')
        requires('kmp.tor.controller.common.jvm')
        requires('kotlin.stdlib')
        requires('kotlinx.coroutines.core.jvm')
        requires('kmp.tor.internal.jvm')
    }
    if(kmpOs == "linux" && kmpArch == "arm64") {
        module("kmp-tor-binary-$kmpOs$kmpArch-jvm-${vTor}.jar", "kmp.tor.binary.$kmpOs$kmpArch", "$vTor")
    } else {
        module("kmp-tor-binary-$kmpOs$kmpArch-jvm-${vTor}.jar", "kmp.tor.binary.$kmpOs$kmpArch", "$vTor")
    }
    module("kmp-tor-binary-extract-jvm-${vTor}.jar", 'kmp.tor.binary.extract.jvm', "$vTor") {
        exports('io.matthewnelson.kmp.tor.binary.extract')
        exports('io.matthewnelson.kmp.tor.binary.extract.internal')
    }
    module("kmp-tor-manager-jvm-${vKmpTor}.jar", 'kmp.tor.manager.jvm', "$vKmpTor") {
        exports('io.matthewnelson.kmp.tor.manager')
        requires('kmp.tor.controller.common.jvm')
        requires('kmp.tor.manager.common.jvm')
        requires('kotlin.stdlib')
        requires('kotlinx.coroutines.core.jvm')
        requires('kotlinx.atomicfu')
        requires('kmp.tor.controller.jvm')
        requires('kmp.tor.common.jvm')
    }
    module("kmp-tor-manager-common-jvm-${vKmpTor}.jar", 'kmp.tor.manager.common.jvm', "$vKmpTor") {
        exports('io.matthewnelson.kmp.tor.manager.common')
        exports('io.matthewnelson.kmp.tor.manager.common.event')
        exports('io.matthewnelson.kmp.tor.manager.common.state')
        requires('kmp.tor.controller.common.jvm')
        requires('kmp.tor.common.jvm')
        requires('kotlin.stdlib')
    }
    module("kmp-tor-controller-common-jvm-${vKmpTor}.jar", 'kmp.tor.controller.common.jvm', "$vKmpTor") {
        exports('io.matthewnelson.kmp.tor.controller.common.config')
        exports('io.matthewnelson.kmp.tor.controller.common.file')
        exports('io.matthewnelson.kmp.tor.controller.common.control')
        exports('io.matthewnelson.kmp.tor.controller.common.control.usecase')
        exports('io.matthewnelson.kmp.tor.controller.common.events')
        exports('io.matthewnelson.kmp.tor.controller.common.exceptions')
        requires('kmp.tor.common.jvm')
        requires('kotlin.stdlib')
        requires('kotlinx.atomicfu')
    }
    module("kmp-tor-common-jvm-${vKmpTor}.jar", 'kmp.tor.common.jvm', "$vKmpTor") {
        exports('io.matthewnelson.kmp.tor.common.address')
        requires('parcelize.jvm')
        requires('kotlin.stdlib')
    }
    module("kmp-tor-controller-jvm-${vKmpTor}.jar", 'kmp.tor.controller.jvm', "$vKmpTor") {
        exports('io.matthewnelson.kmp.tor.controller.internal.controller')
        requires('kmp.tor.controller.common.jvm')
        requires('kotlin.stdlib')
    }
    module("kmp-tor-internal-jvm-${vKmpTor}.jar", 'kmp.tor.internal.jvm', "$vKmpTor") {
        exports('io.matthewnelson.kmp.tor.internal')
    }
    module("kmp-tor-ext-callback-manager-jvm-${vKmpTor}.jar", 'kmp.tor.ext.callback.manager.jvm', "$vKmpTor") {
        exports('io.matthewnelson.kmp.tor.ext.callback.manager')
    }
    module("kmp-tor-ext-callback-manager-common-jvm-${vKmpTor}.jar", 'kmp.tor.ext.callback.manager.common', "$vKmpTor") {
        exports('io.matthewnelson.kmp.tor.ext.callback.manager.common')
    }
    module("kmp-tor-binary-geoip-jvm-${vTor}.jar", 'kmp.tor.binary.geoip.jvm', "${vTor}")
    module("encoding-base16-jvm-1.2.1.jar", 'encoding.base16.jvm', "1.2.1")
    module("encoding-base32-jvm-1.2.1.jar", 'encoding.base32.jvm', "1.2.1")
    module("encoding-base64-jvm-1.2.1.jar", 'encoding.base64.jvm', "1.2.1")
    module("encoding-core-jvm-1.2.1.jar", 'encoding.core.jvm', "1.2.1")
    module("parcelize-jvm-0.1.2.jar", 'parcelize.jvm', "0.1.2") {
        exports('io.matthewnelson.component.parcelize')
    }
    module("annotations-13.0.jar", 'jetbrains.annotations', "13.0") {
        exports('org.jetbrains.annotations')
    }

It's a custom one sourced from the Gradle project itself called 'extra-java-module-info' and added to buildSrc (check out a version here: https://github.com/sparrowwallet/sparrow/tree/master/buildSrc) that allows you to repackage dependencies with module-info.java files, for those dependencies that don't have module support.

Got it. Are module-info.java files something that I could add to kmp-tor (and all of my other libraries, lol) so that you and other consumers wouldn't need to do this?


Avatar customization

Branching out from #42, I'd love to be able to choose to use, say, robohash.org/ instead of avatar.adorable.io because I'm totally creeped out by the weird squished faces that avatar.adorable.io generates, whereas I welcome our robohash overlords. (Someone who really hates happiness might prefer GitHub's identicons, etc.)
While we're at it, we should let you disable them entirely so the Slack bot user's default icon shows up.

So something like:
"avatar_url": "https://robohash.org/$nick.png"

and
"avatar_url": false

to disable generated avatars.
(What if by some stroke of evil genius, an identicon service provider (ISP?) requires the string '$nick' somewhere in their URL? Well their evil plan is foiled, because we can just percent-encode the dollar sign.)

Ooh also, you know what would be cool, you can set metadata for your nick on NickServ (/msg nickserv set property avatar http://example.com/avatar.png), we could query for that when someone joins and use it if present
Maybe that would be a totally useless feature

I like the idea of something like "avatarUrl": "https://robohash.org/$username.png". Would you want to try and send a pull request? I think the NickServ feature might be a bit too specific .
Robohash was nice though, cool find.

I'm totally creeped out by the weird squished faces that avatar.adorable.io generates

Same here, very odd faces indeed, would rather disable an avatar altogether if possible instead of having this weirdness.

I don't have time to implement a configuration option just right now, but if anyone's interested in giving it a shot the URL is specified here: https://github.com/ekmartin/slack-irc/blob/master/lib%2Fbot.js#L237

This has been fixed and released in 3.8.0: https://github.com/ekmartin/slack-irc/blob/master/CHANGELOG.md#380---2016-04-30


charts dependencies not work if same alias name but different repository

Output of helm version:
version.BuildInfo{Version:"v3.13.3", GitCommit:"c8b948945e52abba22ff885446a1486cb5fd3474", GitTreeState:"clean", GoVersion:"go1.20.11"}
Output of kubectl version:
v1.28.2
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
on-premise k8s
=====
I want use condition to pull differnet chart from differnet repository
here is my chart
dependencies-lab.tar.gz
dont' matter dependencies what charts, just demo
in Chart.yaml - dependencies
if the alias is same
helm will do nothing
helm template dependencies-lab dependencies-lab

if remove alias, helm can work

thanks. agree, Helm simply not working when dependencies share the same alias is a bug

note the similar: https://github.com/helm/helm/issues/12666


Update to Node.js 16

Node.js 16 has been in LTS status for a few months now. At BYU, the only thing sort-of blocking our mass adoption is the lack of native AWS Lambda support for Node.js 16, but that doesn't directly affect anything that's in this template.

Node.js 18's out now (but won't be in LTS status until October).
AWS's newest Lambda runtime is still nodejs14.x. Maybe they'll bump things soon. Node.js 12 reaches EOL in 10 days.

nodejs16.x was released about a week and a half ago. Time to bump things.


[Bug] Unexpexted is_incremental() macro behavior after running model in full-refresh mode

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
After running a model with the command dbt run -m stg_payments --full-refresh I'm encountering unexpected behavior.
Model stg_payments.sql looks like this:
{{
  config(
    materialized = 'incremental',
    )
}}

with payments as (
select
    id as payment_id,
    orderid as order_id,
    paymentmethod as payment_method,
    status,

    -- amount is stored in cents, convert it to dollars
    amount / 100 as amount,
    created as created_at

from {{ source('stripe', 'payment_src') }}
{% if is_incremental %}
  where created > (select max(created_at) from {{this}})
{% endif %}
)

select * from payments

Per DBT's documentation is_incremental() macro should return True only if dbt is not running in full-refresh mode.
Compiled sql in dbt.log looks like this:
  create  table my_schema.stg_payments

  as

with payments as (
select
    id as payment_id,
    orderid as order_id,
    paymentmethod as payment_method,
    status,

    -- amount is stored in cents, convert it to dollars
    amount / 100 as amount,
    created as created_at

from schema.payment_src

  where created > (select max(created_at) from my_schema.stg_payments)

)

select * from payments

Because of this I'm getting an error: ORA-00942: table or view does not exist
Expected Behavior
Expected is_incremental() macro to be ignored.
Steps To Reproduce
dbt run -m stg_payments --full-refresh
Relevant log output using --debug flag enabled
No response
Environment
- OS: Windows-10-10.0.19041-SP0
- Python: 3.9.0
- dbt: 1.3.0

What Oracle database version are you using dbt with?
Oracle Database 11g Enterprise Edition Release <IP_ADDRESS>.0 - 64bit
Additional Context
No response

@Mirko-T
Thanks for detailed report.
I tried to reproduce this but could not. In full refresh mode, the is_incremental() clause is not added to the SQL. I tested with the incremental model included in our demo project.
Would it be possible to attach portion of the dbt log ? We need more information on the intermediate SQL queries run and which one throws an error.
Please run dbt with --debug option as shown below.
dbt --debug run -m us_product_sales_channel_ranking --full-refresh

Hi @aosingh, thanks for your comment. Here are the logs for dbt --debug run -m stg_payments --full-refresh
============================== 2022-11-25 08:39:03.494931 | 118e531c-b4b5-437d-bd60-29ce53ebfef8 ==============================
08:39:03.494931 [info ] [MainThread]: Running with dbt=1.3.0
08:39:03.511134 [debug] [MainThread]: running dbt with arguments {'debug': True, 'write_json': True, 'use_colors': True, 'printer_width': 80, 'version_check': True, 'partial_parse': True, 'static_parser': True, 'profiles_dir': 'C:\\Users\\user\\.dbt', 'send_anonymous_usage_stats': False, 'event_buffer_size': 100000, 'quiet': False, 'no_print': False, 'select': ['stg_payments'], 'full_refresh': True, 'which': 'run', 'rpc_method': 'run', 'indirect_selection': 'eager'}
08:39:03.511134 [debug] [MainThread]: Tracking: do not track
08:39:03.628272 [debug] [MainThread]: Partial parsing enabled: 0 files deleted, 0 files added, 0 files changed.
08:39:03.628272 [debug] [MainThread]: Partial parsing enabled, no changes found, skipping parsing
08:39:03.656312 [info ] [MainThread]: Found 6 models, 12 tests, 0 snapshots, 0 analyses, 433 macros, 0 operations, 0 seed files, 3 sources, 0 exposures, 0 metrics
08:39:03.658187 [info ] [MainThread]:
08:39:03.659184 [debug] [MainThread]: Acquiring new oracle connection "master"
08:39:03.662319 [debug] [ThreadPool]: Acquiring new oracle connection "list_None"
08:39:03.668640 [debug] [ThreadPool]: oracle adapter: Using oracle connection "list_None".
08:39:03.668640 [debug] [ThreadPool]: oracle adapter: On list_None: f/* {"app": "dbt", "dbt_version": "1.3.0", "profile_name": "dbt_fundementals", "target_name": "dev", "connection_name": "list_None"} */
select username as "name"
      from sys.all_users
      order by username

08:39:03.677747 [debug] [ThreadPool]: Opening a new connection, currently in state init
08:39:03.678171 [debug] [ThreadPool]: oracle adapter: Attempting to connect using Oracle method: 'OracleConnectionMethod.CONNECTION_STRING' and dsn: '<connection>'
08:39:03.828931 [debug] [ThreadPool]: oracle adapter: SQL status: OK in 0.1511838436126709 seconds
08:39:03.835552 [debug] [ThreadPool]: On list_None: Close
08:39:03.844733 [debug] [ThreadPool]: Acquiring new oracle connection "list_None_user"
08:39:03.853716 [debug] [ThreadPool]: oracle adapter: Using oracle connection "list_None_user".
08:39:03.854833 [debug] [ThreadPool]: oracle adapter: On list_None_user: f/* {"app": "dbt", "dbt_version": "1.3.0", "profile_name": "dbt_fundementals", "target_name": "dev", "connection_name": "list_None_user"} */

    select SYS_CONTEXT('userenv', 'DB_NAME') FROM DUAL

08:39:03.855840 [debug] [ThreadPool]: Opening a new connection, currently in state init
08:39:03.856854 [debug] [ThreadPool]: oracle adapter: Attempting to connect using Oracle method: 'OracleConnectionMethod.CONNECTION_STRING' and dsn: '<connection>'
08:39:03.924273 [debug] [ThreadPool]: oracle adapter: SQL status: OK in 0.06843328475952148 seconds
08:39:03.929141 [debug] [ThreadPool]: oracle adapter: Using oracle connection "list_None_user".
08:39:03.929141 [debug] [ThreadPool]: oracle adapter: On list_None_user: f/* {"app": "dbt", "dbt_version": "1.3.0", "profile_name": "dbt_fundementals", "target_name": "dev", "connection_name": "list_None_user"} */
with tables as
      <table type code>
  )
  select table_catalog as "database_name"
    ,table_name as "name"
    ,table_schema as "schema_name"
    ,case table_type
      when 'BASE TABLE' then 'table'
      when 'VIEW' then 'view'
    end as "kind"
  from tables
  where table_type in ('BASE TABLE', 'VIEW')
    and upper(table_schema) = upper('user')

08:39:03.983718 [debug] [ThreadPool]: oracle adapter: SQL status: OK in 0.044034719467163086 seconds
08:39:03.989697 [debug] [ThreadPool]: On list_None_user: ROLLBACK
08:39:03.991691 [debug] [ThreadPool]: On list_None_user: Close
08:39:03.999565 [debug] [MainThread]: Opening a new connection, currently in state init
08:39:03.999565 [debug] [MainThread]: oracle adapter: Attempting to connect using Oracle method: 'OracleConnectionMethod.CONNECTION_STRING' and dsn: '<connection>'
08:39:04.045880 [debug] [MainThread]: On master: COMMIT
08:39:04.046878 [debug] [MainThread]: oracle adapter: Using oracle connection "master".
08:39:04.046878 [debug] [MainThread]: oracle adapter: On master: fCOMMIT
08:39:04.051064 [debug] [MainThread]: oracle adapter: SQL status: OK in 0.0031888484954833984 seconds
08:39:04.053068 [debug] [MainThread]: On master: Close
08:39:04.057213 [info ] [MainThread]: Concurrency: 4 threads (target='dev')
08:39:04.058218 [info ] [MainThread]:
08:39:04.062889 [debug] [Thread-1  ]: Began running node model.jaffle_shop.stg_payments
08:39:04.062889 [info ] [Thread-1  ]: 1 of 1 START sql incremental model user.stg_payments ......................... [RUN]
08:39:04.067636 [debug] [Thread-1  ]: Acquiring new oracle connection "model.jaffle_shop.stg_payments"
08:39:04.068633 [debug] [Thread-1  ]: Began compiling node model.jaffle_shop.stg_payments
08:39:04.069136 [debug] [Thread-1  ]: Compiling model.jaffle_shop.stg_payments
08:39:04.074486 [debug] [Thread-1  ]: Writing injected SQL for node "model.jaffle_shop.stg_payments"
08:39:04.077490 [debug] [Thread-1  ]: finished collecting timing info
08:39:04.078472 [debug] [Thread-1  ]: Began executing node model.jaffle_shop.stg_payments
08:39:04.117388 [debug] [Thread-1  ]: Writing runtime sql for node "model.jaffle_shop.stg_payments"
08:39:04.119968 [debug] [Thread-1  ]: Opening a new connection, currently in state init
08:39:04.120961 [debug] [Thread-1  ]: oracle adapter: Attempting to connect using Oracle method: 'OracleConnectionMethod.CONNECTION_STRING' and dsn: '<connection>'
08:39:04.194170 [debug] [Thread-1  ]: oracle adapter: Using oracle connection "model.jaffle_shop.stg_payments".
08:39:04.194170 [debug] [Thread-1  ]: oracle adapter: On model.jaffle_shop.stg_payments: f/* {"app": "dbt", "dbt_version": "1.3.0", "profile_name": "dbt_fundementals", "target_name": "dev", "node_id": "model.jaffle_shop.stg_payments"} */

  create  table user.stg_payments

  as

with payments as (
select
    id as payment_id,
    orderid as order_id,
    paymentmethod as payment_method,
    status,

    -- amount is stored in cents, convert it to dollars
    amount / 100 as amount,
    created as created_at

from dwh_admin.payment_src

  where created > (select max(created_at) from user.stg_payments)

)

select * from payments

08:39:04.211579 [info ] [Thread-1  ]: oracle adapter: Oracle error: ORA-00942: table or view does not exist
08:39:04.213586 [debug] [Thread-1  ]: On model.jaffle_shop.stg_payments: ROLLBACK
08:39:04.216572 [debug] [Thread-1  ]: On model.jaffle_shop.stg_payments: Close
08:39:04.221365 [debug] [Thread-1  ]: finished collecting timing info
08:39:04.222954 [debug] [Thread-1  ]: Database Error in model stg_payments (models\staging\stripe\stg_payments.sql)
  ORA-00942: table or view does not exist
  compiled Code at target\run\jaffle_shop\models\staging\stripe\stg_payments.sql
08:39:04.238186 [error] [Thread-1  ]: 1 of 1 ERROR creating sql incremental model user.stg_payments ................ [ERROR in 0.17s]
08:39:04.238433 [debug] [Thread-1  ]: Finished running node model.jaffle_shop.stg_payments
08:39:04.240430 [debug] [MainThread]: Acquiring new oracle connection "master"
08:39:04.241434 [debug] [MainThread]: Opening a new connection, currently in state closed
08:39:04.242422 [debug] [MainThread]: oracle adapter: Attempting to connect using Oracle method: 'OracleConnectionMethod.CONNECTION_STRING' and dsn: '<connection>'
08:39:04.311407 [debug] [MainThread]: On master: COMMIT
08:39:04.313435 [debug] [MainThread]: oracle adapter: Using oracle connection "master".
08:39:04.315433 [debug] [MainThread]: oracle adapter: On master: fCOMMIT
08:39:04.319537 [debug] [MainThread]: oracle adapter: SQL status: OK in 0.0025796890258789062 seconds
08:39:04.320496 [debug] [MainThread]: On master: Close
08:39:04.325459 [info ] [MainThread]:
08:39:04.326611 [info ] [MainThread]: Finished running 1 incremental model in 0 hours 0 minutes and 0.67 seconds (0.67s).
08:39:04.327329 [debug] [MainThread]: Connection 'master' was properly closed.
08:39:04.328101 [debug] [MainThread]: Connection 'list_None' was properly closed.
08:39:04.329640 [debug] [MainThread]: Connection 'list_None_user' was properly closed.
08:39:04.330658 [debug] [MainThread]: Connection 'model.jaffle_shop.stg_payments' was properly closed.
08:39:04.342224 [info ] [MainThread]:
08:39:04.343932 [info ] [MainThread]: Completed with 1 error and 0 warnings:
08:39:04.345937 [info ] [MainThread]:
08:39:04.346929 [error] [MainThread]: Database Error in model stg_payments (models\staging\stripe\stg_payments.sql)
08:39:04.348174 [error] [MainThread]:   ORA-00942: table or view does not exist
08:39:04.349624 [error] [MainThread]:   compiled Code at target\run\jaffle_shop\models\staging\stripe\stg_payments.sql
08:39:04.350622 [info ] [MainThread]:
08:39:04.351307 [info ] [MainThread]: Done. PASS=0 WARN=0 ERROR=1 SKIP=0 TOTAL=1
08:39:04.351480 [debug] [MainThread]: Flushing usage events

Found the solution, I've forgot to add the "()" at the end of is_incremental function.


Does/Can/Will this plugin support configuration via pyproject.toml?

Right now, it supports configuration only via .bandit file.

Now that Microsoft recommends this plugin for VSCode in official statement, I also want to switch soon. They are ending support for the distinct linter packages. I usually set up my Python projects with pyproject.toml as well. Therefore, I would also like this option very much

Now that Microsoft recommends this plugin for VSCode in official statement

Given the almost non-existent activity on this repository, I wonder why Microsoft recommends this at all.

I submitted two PRs, https://github.com/PyCQA/bandit/pull/1052 and https://github.com/tylerwince/flake8-bandit/pull/44. The two are doing similar things but could in principle by accepted independently.

https://github.com/PyCQA/bandit/pull/1052 has been merged and released in 1.7.9. Would be great if flake8-bandit could follow that.


Note additional required packages for x86_64

As discussed in https://github.com/elfshaker/manyclangs/issues/8, the packages binfmt-support and qemu-user-static seem to be required

I could alternatively add an explicit sudo apt install binfmt-support qemu-user-static step, but maybe that would be too specific to Debian-based distros?

It is quite Debian specific but I think it represents an improvement on what we have. Thanks!


ServerValue.TIMESTAMP not found on AngularFireStore

Angular:
6.1.0
AngularFire:
5.0.0-rc.11
I want to use the ServerValue.TIMESTAMP like I find on the internet and in the docs right here:
https://firebase.google.com/docs/reference/js/firebase.database.ServerValue
Now I've got a AngularFirestore injected in my service and I can't find the timestamp property on this one. I also don't find this in the docs of angularfire2.
How can I use this to add a createdAtTimestamp?

Hi don,
I encountered the same issue, did you solve it ?

import { database } from 'firebase/app';
...
whateverRef.push({
  time: database.ServerValue.TIMESTAMP
});


Adds support for using Fn::If in function policies

Issue #, if available:
https://github.com/awslabs/serverless-application-model/issues/874
Description of changes:
Adds support for using Fn::If in function policies.
Description of how you validated changes:
Unit testing
Checklist:

[y] Write/update tests
[y] make pr passes
[y] Update documentation
[n] Verify transformed template deploys and application functions as expected
[n] Add/update example to examples/2016-10-31

Implemented according to jlhood's suggestions on Issue 874.
bin/sam-translate.py fails when the !If function resolves to the policy template type.
This seems to be because the PolicyTemplatesForFunctionPlugin class expects a policy template object to be passed to it, but in this case we pass the entire If object. How should I proceed?
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #988 into master will increase coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #988      +/-   ##
==========================================
+ Coverage   94.62%   94.68%   +0.05%
==========================================
  Files          69       69
  Lines        2997     3029      +32
  Branches      554      563       +9
==========================================
+ Hits         2836     2868      +32
  Misses         85       85
  Partials       76       76

Impacted Files
Coverage Δ

samtranslator/model/function_policies.py
100% <100%> (ø)
:arrow_up:

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 f6a3c51...b108014. Read the comment docs.

Added support for intrinsic if to the policy plugin and sam resource. Made suggested changes. Added end to end test. Was able to verify stack launch with the end to end test outputs.


feat: support hessian 4

ref: https://github.com/sofastack/sofa-rpc-node/issues/57
Java 的实现里 hessian 3 和 4 是互斥的，所以我们也用一个开关来设置
const bolt = require('sofa-bolt-node');

bolt.setHessianVersion('4.0');

// 或者 bolt.setOptions({ hessianVersion: '4.0' });

Codecov Report

Merging #11 into master will increase coverage by 0.18%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #11      +/-   ##
==========================================
+ Coverage   96.78%   96.96%   +0.18%
==========================================
  Files          30       31       +1
  Lines         777      792      +15
==========================================
+ Hits          752      768      +16
+ Misses         25       24       -1

Impacted Files
Coverage Δ

lib/codec/index.js
100.00% <ø> (ø)

lib/codec/hessian/app_type/rpc_server_exception.js
91.66% <100.00%> (-0.65%)
:arrow_down:

lib/codec/hessian/app_type/sofa_request.js
96.55% <100.00%> (-0.12%)
:arrow_down:

lib/codec/hessian/app_type/sofa_response.js
69.56% <100.00%> (-2.44%)
:arrow_down:

lib/codec/hessian/hessian.js
100.00% <100.00%> (ø)

lib/codec/hessian/index.js
96.15% <100.00%> (ø)

lib/decoder.js
92.00% <100.00%> (ø)

lib/index.js
100.00% <100.00%> (+4.00%)
:arrow_up:

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 e908dec...f8a67b8. Read the comment docs.

2.0.0

默认还是 hessian 3.0 吧


MudSelect doesn't use null MudSelectItem

Bug type
Component
Component name
MudSelect
What happened?
When authoring a MudSelect with no Placeholder set and a MudSelectItem with value of null, the null option is not displayed when the value is null. Instead the MudSelect becomes blank.
Expected behavior
Null option is desplayed just like any other selectable option. Placeholder is too limited and the formatting is completely out of our control. I would want the null option to be rendered just like any other selected option.
Reproduction link
https://try.mudblazor.com/snippet/GuccYCRklmPEUhum
Reproduction steps
See reproduction link.
Relevant log output
No response
Version (bug)
6.0.14
Version (working)
No response
What browsers are you seeing the problem on?
Microsoft Edge
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Duplicate of #4720

Now MudSelectExtended is released. It should fix your issue.
Ready on Nuget: https://www.nuget.org/packages/CodeBeam.MudExtensions/6.2.1
Try online: https://codebeam-mudextensions.pages.dev/mudselectextended

Closing as duplicate of https://github.com/MudBlazor/MudBlazor/issues/4720


Enable context parallelism in SFT

solve #189
lm loss of cp 2 and cp 1 are very similar in the fixed branch compared to main branch.

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

Good first contribution! Code looks good to me in general. However, I can't find lm_loss on fixed_cp1. Could you please attach it to the description?
BTW, could you please provide MT-Bench results on supervised fine-tuning Llama2-7B base model with CP enabled and disabled? We believe that the MT-Bench result will ensure the robustness of the PR. (You could find related instructions in https://github.com/lm-sys/FastChat/blob/main/fastchat/llm_judge/README.md. Besides, you could refer to https://code.alibaba-inc.com/torchx/rlhf/blob/master/docs/en/tutorial/data.md for data preparation and preprocessing. Ideally, the MT-Bench result shall be align with those in https://github.com/alibaba/ChatLearn/blob/main/docs/en/tutorial/tutorial_llama2.md#evaluation). If you have any other questions, please feel free to contact us. We are always glad to help ;)

Good first contribution! Code looks good to me in general. However, I can't find lm_loss on fixed_cp1. Could you please attach it to the description?
BTW, could you please provide MT-Bench results on supervised fine-tuning Llama2-7B base model with CP enabled and disabled? We believe that the MT-Bench result will ensure the robustness of the PR. (You could find related instructions in https://github.com/lm-sys/FastChat/blob/main/fastchat/llm_judge/README.md. Besides, you could refer to https://code.alibaba-inc.com/torchx/rlhf/blob/master/docs/en/tutorial/data.md for data preparation and preprocessing. Ideally, the MT-Bench result shall be align with those in https://github.com/alibaba/ChatLearn/blob/main/docs/en/tutorial/tutorial_llama2.md#evaluation). If you have any other questions, please feel free to contact us. We are always glad to help ;)

about fixed_cp1, it is on behind buggy_cp1

Good first contribution! Code looks good to me in general. However, I can't find lm_loss on fixed_cp1. Could you please attach it to the description?
BTW, could you please provide MT-Bench results on supervised fine-tuning Llama2-7B base model with CP enabled and disabled? We believe that the MT-Bench result will ensure the robustness of the PR. (You could find related instructions in https://github.com/lm-sys/FastChat/blob/main/fastchat/llm_judge/README.md. Besides, you could refer to https://code.alibaba-inc.com/torchx/rlhf/blob/master/docs/en/tutorial/data.md for data preparation and preprocessing. Ideally, the MT-Bench result shall be align with those in https://github.com/alibaba/ChatLearn/blob/main/docs/en/tutorial/tutorial_llama2.md#evaluation). If you have any other questions, please feel free to contact us. We are always glad to help ;)

about fixed_cp1, it is behind buggy_cp1
BTW the code is roughly copy pasting from pretrain_gpt of Megatron LM. Nothing fancy about it.

On one hand, we have to review the related license and ensure that everything is ok if the code is copied from other open-sourced repo. On the other hand, evaluating MT-Bench is necessary (or one of the necessary TODOs) to guarantee performance and reproducibility in ChatLearn. Therefore, it will take some time for us to go through all processes before merging this PR. Of course, we would be glad if you could help provide the MT-Bench result on this PR because we could double-check it in regression test. Again, thanks a lot for the contribution~!


[Preset] Add linux crosscompile wasm preset

This preset will be used by community CI for WebAssembly to ensure single-threaded-runtime mode won't be broken again and enable us testing IRGen for WebAssembly in upstream.
Note that the current preset doesn't build stdlib for Wasm for now because some essential patches haven't been ported yet and build-script doesn't support it. But that should be enabled after their supports.
CC: @MaxDesiatov, @shahmishal

@swift-ci please smoke test

Can we add bugs.swift.org ticket number in the comment to track the work?


Refactor Result class

I plan to add "timed out" case to the union later.
todo:

update tests
update json reporter

@loganek do you have any early feedback about the api?

@loganek do you have any early feedback about the api?

I left a few comments. It looks ok to me in general, although I'm not really sure if we should have yet another type in the Result union for timeout - after all, it is a failure, right?


feat: add job posting schema

Description
Basic implementation for job posting according to the issue. If this implementation is too specific I might just use raw json definition in useSchemaOrg like suggested in this comment

Linked Issues
https://github.com/harlan-zw/unhead-schema-org/issues/10
Additional context

Amazing, great stuff @sanderdewinter. Beyond the comments I've put in the PR, I've pushed up a couple of commits, can you pull them into this pr:

fixed the snapshot issue causing you to have to update unrelated tests
moved Place and VirtualLocation to root nodes so you don't have to duplicate them

@harlan-zw Thanks for your help. I think something went wrong since I don't see any comments yet on this PR.

Oops, sorry should be visible now

Thanks again @sanderdewinter, have merged and released in v0.4.0, and have also bumped nuxt-schema-org and @vueuse/schema-org.


Sharing Service Remote IP

Hello,
The sharing service only works locally but it's not reached from external network. Example:

deploy sharedService.exe on server with ip "52.232.97.xxx"
from another pc in another network the connection failed.
the ports required are open.

Do you have any advice?
Thank you

Hi,
Sharing service definitely works remotely (guys here host it in a cloud https://github.com/Microsoft/MixedRealityToolkit-Unity/issues/953)
I would start from checking network's interaction/accessibility.

Perhaps some firewall rules are blocking it? I have also tried in the past hosting on an azure VM etc.

I have Dinamic Ip....

Closing issues older than 180 days. If this is still an issue, please reactivate with recent information.


Close #LGVISIUM-101: Added the possibily to parse the AWS_S3_Bucket environment variable

After a discussion with the Geowerkstatt team, it seems that the Borehole API is specifying the environment slightly differently than expected.
AWS_ENDPOINT does not contain the name of the bucket but only the domain and the AWS Region
AWS_S3_BUCKET this environment variable was added to get the name of the bucket to parse

@coderabbitai full review


plan: discuss rabbit future state/plans

Kubernetes Version (output of kubectl version): N/A
Helm Client and Tiller Versions (output of helm version): N/A
Development or Deployment Environment?: N/A
Release Tag or Master: N/A
Expected Behavior: N/A
What Actually Happened: N/A
How to Reproduce the Issue (as minimally as possible): N/A
Any Additional Comments:
Background:
I think we need to discuss how to appropriately handle dependencies again. to this point, any deployment waiting in an init state was caught on either an init-container, or a job within the single service-level chart. we now have changes within our rabbit chart that will wait in an init state because of an undeclared dependency outside of the rabbit chart (etcd; another chart). if and operator deploys rabbit, it will be blocked until the separate etcd chart is deployed. the operator must know in advance that rabbit requires etcd, and this is fundamentally different from our other charts. it went undocumented as well, so users really need to figure this out on their own (as it stands today). this challenges how we're handling dependencies for the project. we'll also need to address endpoints similarly to our other charts (as pete works through these).
i'm concerned with carrying over this mixed message into openstack proper without a formally documented roadmap to RabbitMQ 3.7.0. we should appropriately document the edge cases as part of the PR, along with our plans to bring them back into the fold with our vision [dependency handing].
also, one other smaller consideration. if we're pulling large portions of source from upstream projects we need to ensure that those sources are dedicated to maintaining the code (dockerfiles/images, etc). for example, what would happen if this code/image were suddenly dropped by the maintainer? we don't want to own extra debt in our repo, but strike a balance with the "what if" scenarios of potential changes to upstream. we can handle this with documenting our sources (and also keep track of licensing; which could potentially be more concerning).
cc: @intlabs @alanmeadows @ss7pro

In addition to the points @v1k0d3n raises above, this raises issues that I can see, and we should discuss at our next community meeting:

Documentation needs to be updated as operations and features change: The change in behavior, installation, and operations of rabbitmq were not noted in either the development or deployment docs.
This chart did not correctly set the password for use with the existing charts, meaning that it does not work out of the box. This will be caught by gating when put in place, but I'm very concerned that it was not tested in minikube or on a real cluster prior to merging, this has caused issues like https://github.com/att-comdev/openstack-helm/issues/239. This should have been caught as part of the review process, and would definitely have been caught if the documentation had been updated and tested prior to merging.
Both of the above issues means that a user new to the project, following the documentation to the letter, would not have been able to create a functional OpenStack-Helm cluster.
There are large portions of code pulled from another code-base, without proper attribution. This is  AFAIK in conflict with sections 5&7 of the OpenStack Contributors Agreement, and would also conflict with the CNCF Contributors Agreement, meaning that this work may potentially not be suitable for import/migration.
The image used cannot be rebuilt easily and comes from a relatively unknown repo: https://github.com/openstack/fuel-ccp-rabbitmq/blob/master/docker/rabbitmq/Dockerfile.j2, meaning that we lose one of the project ideals of being image/runtime agnostic.
Though it was stated that there were potential race condition issues in the original PR with a DNS-based approach, these were not properly evaluated in the open, meaning that it is unclear whether the best solution was selected, or the most convenient.

Really good analysis. Evaluating clustering backends for autocluster plugin we (Intel) have implemented native support for k8s (https://github.com/aweber/rabbitmq-autocluster/blob/master/src/autocluster_k8s.erl) but we withdrawn our support for that as Mirantis did full investigation of clustering methods. Result of their research is reflected in multiple improvements to etcd clustering backend, where the most important part is to avoid race condition on startup (leader election with lock) and split brain avoidance.
I would simply suggest to add rabbitmq with autocluster plugin to kolla so we will have this solution in well recognizable place, but IMHO there's no better rabbitmq solution for clustering on top of k8s at the moment. The one developed by Mirantis runs on multiple Intel production cluster without any issues (although we still use stackanetes there).
On #292 issue we discover that later when deploying openstack-helm in our clusters, but simply run out of time to upstream fix for that.
I don't really understand concept of proper attribution, what do you mean by that ? README file with credits to Mirantis repo ?


fix problem in cascade persist

As reported by @gbadner here, the way I implemented cascading operations wasn't quite perfect for cascade persist.
When we cascade the persist operation from a child to a parent, we should wait until the parent persist operation has completed and its id has been generated before capturing the snapshot of the child, because we're going to need the parent id as a foreign key.
This commit fixes that. However, I don't totally love this solution since it means cascade persist functions a bit differently from other cascading operations.
An alternative fix would be to cascade the persist operation in two phases, where the first phase only generates and assigns ids. But that's more work.
I need to think about this further.

@gavinking, your branch has Hibernate ORM 5.4.12.Final as a dependency.
I'm getting 42 failures with that version.
Do you have some other change on your local copy?

@gbadner Sure, I manually edited the dependency to hibernateOrmVersion = '5.4.11-SNAPSHOT', i.e. the version of Hibernate before the change that broke us.

OK, thanks. I also had to change the user, password, and database back to "hibernate-rx".

Merged https://github.com/hibernate/hibernate-rx/pull/71

I've merged it on master, I'm going to delete the branch from upstream

By the way @gavinking  could you fork the project and not create branches for fixes upstream, please? We usually reserved branches here for important ongoing ones.


link error on ubuntu

I used vcpkg to install arrow versions 4 and 5, trying to build my code that uses parquet fails by giving link errors of undefined reference.
The same code works on OSX but fails on ubuntu.
My cmake snippet is as follows:

find_package(Arrow CONFIG REQUIRED)
get_filename_component(MY_SEARCH_DIR ${Arrow_CONFIG} DIRECTORY)
find_package(Parquet CONFIG REQUIRED PATHS ${MY_SEARCH_DIR})
find_package(Thrift CONFIG REQUIRED)

and the linking:

target_link_libraries(vision_obj PUBLIC .... thrift::thrift re2::re2 arrow_static parquet_static )

I get a lot of errors

Environment: Ubuntu 18.04, gcc-9, and vcpkg installation of arrow
Reporter: Amir Ghamarian
Original Issue Attachments:

completerr.txt
linkerror.txt

Note: This issue was originally created as ARROW-14188. Please see the migration documentation for further details.

The vcpkg port has had 6 new versions so it is unlikely that this issue still remains.


Can we add PlanWorkspacePath() method?

Can we add a PlanWorkspacePath() method, or would that be slow?

Someone has to write it ... or are you referring to Rachel's code?

Yes Rachel and I were wondering if Trajopt was capable of taking an input of a desired workspace path, and if it would be good at creating such a path?
Currently we are only using Trajopt to optimize a configuration space path.


For uri consider type  Uri | string

Testing #203094
It seems weird to pass in string when you could just pass in a Uri. Better yet, consider Uri | string

I think when I was testing, URI wasn't serializable so it wouldn't be passed thru the command properly - will double check this soon though 👍

@justschen you may need to turn it into a UriComponents and then revive that on the other end. It's possible. We do it with other processes.


How to add a link?

Awesome project! I am wondering how to add a link to a button?

@ronaldaug I tried both, Chrome and Firefox, but neither browser allows me to access the button in a way, that I can change the title and/or add a link to it. The layout manager is no help either, all I can access and see when I click the button-element are those options:

So changing in the editor will probably work, but would be nice if the gui could handle it, because the caption can't be edited either.


Feature: Hessian-vector product function

Closes #125 and completes part of #84.
This adds a function with the following signature to the C API:
int bs_log_density_hessian_vector_product(const bs_model* m, bool propto,
                                          bool jacobian,
                                          const double* theta_unc,
                                          const double* vector, double* val,
                                          double* Hvp, char** error_msg);

When BRIDGESTAN_AD_HESSIAN is defined, this uses stan::math::hessian_vector_product. Otherwise, I currently have it implemented to compute the hessian and then just multiply it by the supplied vector.
In Stan 2.33 we can use https://github.com/stan-dev/math/pull/2914

I would prefer to default to a system that works rather than one that throws errors.  A first implementation can build the entire Hessian with finite diffs of gradients, then multiply.   A less memory intensive version would generate one row of the Hessian at a time with finite diffs of gradients, then multiply to get a single entry in the result.  This is, of course, parallelizable, as would be the Hessian algorithm in AD for that matter.

In the case of using finite diffs, why not approximate $H_pv$ by $\frac{\nabla f(p + hv) - \nabla f(p)}{h}$ (after normalizing $v$)? Is there a problem with that I should be aware of?

We're doing the central version (second thing you wrote under "related finite diff").  It's implemented as a functional in Stan's C++ here and we just plugged that into BridgeStan:
https://github.com/stan-dev/math/blob/develop/stan/math/rev/functor/finite_diff_hessian_auto.hpp

Sorry if I'm missing something here, but doesn't that compute the complete hessian (in 2n grad calls). I was referring to the finite diff version of a hessian vector product (with 2 grad calls).

Nope---I was the one missing the point.  Yes, what I pointed to computes the complete Hessian.
I hadn't though about updating the finite diff algorithm to do Hessian-vector products innately.  The place to add that would probably be the Stan math lib.  It'd be faster (and more accurate?) than what we're doing now for tests, which I'm pretty sure just computes the Hessian and multiplies.

Exposed this function in each interface. For the moment I've left it as the naive "calculate the hessian via finite differences and multiply" approach when autodiff hessians are unavailable.

I've left it as the naive "calculate the hessian via finite differences and multiply" approach

I think that's OK for a first implementation.
@aseyboldt :  do you know how to write the algorithm to do this more efficiently with finite differences over gradients that doesn't involve computing the whole Hessian?

I guess pretty much this one:
from scipy import optimize, linalg

# From scipy.optimize.approx_fprime
_epsilon = np.sqrt(np.finfo(float).eps)

def hessian_vector_prod_approx(grad_func, x, v, *, h=_epsilon):
    v_norm = linalg.norm(v)
    v = v / v_norm
    grad_forward = grad_func(x + h*v)
    grad_backward = grad_func(x - h*v)
    return v_norm * (grad_forward - grad_backward) / (2 * h)

The problem is that I really don't know too much about the numerical issues that I'm pretty sure are buried here, and just googling a bit for literature about this I couldn't find too much that looked useful...

Thanks for the algorithm and reference.  @justindomke was visiting, but we can still check with him.  @bgoodri may also know---I think the central finite diffs rather than one-sided versions was his idea.
The place to code the faster version is in the stan-dev/math repo.  It should also be easier to test inside of the math repo.   Then we can just include it in BridgeStan.  We can also fix the link.

Hi everyone! I have a few things to add that might be helpful.
One is that you can think of a Hessian-vector product as two composed gradient evaluations. (This doesn't change anything, but I find it a useful way to look at things.) Say you want to compute $\nabla^2 f(x) v$, where $x$ and $v$ are vectors and $f: R^n \rightarrow R$. Define $g(x) = \nabla f(x)$ to be the gradient and define $h(x) = g(x) \cdot v$. Then $\nabla^2 f(x) v = \nabla h(x)$.
I don't know if Stan can do 2-nd order derivatives like this, but here's a little demo using JAX:
import jax
from jax import numpy as jnp

def f(x):
    "random nonlinear function"
    return (x[0] * jnp.sum(jnp.sin(x)))**x[1]

def naive_hvp(x,v):
    return jax.hessian(f)(x) @ v

def recursive_hvp(x,v):
    g = jax.grad(f)
    h = lambda x: g(x) @ v
    return jax.grad(h)(x)

x = jnp.array([1.1,2.2,3.3])
v = jnp.array([4.4,5.5,6.6])

produces the output
naive_hvp(x,v)=Array([ -6.506892, -44.439754, -32.04876 ], dtype=float32)
recursive_hvp(x,v)=Array([ -6.5068817, -44.43976  , -32.048767 ], dtype=float32)

If you can do it this way, you probably should. recursive_hvp has the same complexity as f (up to some constant independent of the length of x) and has no finite-different floating point errors.
Second, there's essentially an infinite number of finite difference schemes, with different tradeoffs between computational cost and accuracy. You can go beyond 1-sided or 2-sided differences to "4-sided" or higher. Here's short post from me giving the basic idea. This is for derivatives rather than Hessian-vector products, but the same idea applies. You could modify  @aseyboldt 's code above to use any of these.
In practice many people seem to find two-sided differences to be a reasonable compromise. They at least work "most of the time" whereas with one-sided differences will fall over for even slightly challenging problems.
Finally, if you're doing finite differences, don't neglect the problem of choosing the perturbation size. As far as I know, this is hard and there is no general scheme that's always guaranteed to work well. But probably there are heuristics that are better than always using numerical epsilon. I've had good luck using the heuristic $r = \sqrt{\epsilon}(1 + \vert x \vert_\infty) \vert \nabla f(x) \vert_\infty$ (where $r$ is the perturbation size and $\epsilon$ is numerical epsilon) which I first found in this paper.

Thanks for the explanation and refs, @justindomke.  Stan has a reasonable Hessian-vector product implemented for everything but our implicit functions.  For models using implicit functions, we want to provide finite differences.  I opened an issue in the math lib, which is where the implementation should go:
https://github.com/stan-dev/math/issues/2913
When we were discussing finite diffs, someone made exactly the same point about 2 diffs being a good compromise.

I took a pass at the above in https://github.com/stan-dev/math/pull/2914, more or less a direct translation of what @aseyboldt had above.
For BridgeStan, we have a couple choices in the meantime:

Hold off on the next release of Stan, and use the stan::math implementation assuming one gets merged
Include a copy of it ourselves for now
Use the naive approach of calculating the Hessian and then multiplying when second order autodiff is not available.

I'm OK with any of those choices---they all have pros and cons.  I'm leaning slightly toward (2) or (3) just to get the API in place even if we change implementations later.

I've had good luck using the heuristic $r = \sqrt{\epsilon}(1 + \vert x \vert_\infty) \vert \nabla f(x) \vert_\infty$ (where $r$ is the perturbation size and $\epsilon$ is numerical epsilon) which I first found in this paper.

@justindomke It seems like that paper suggests a different heuristic (namely $r = \frac{\sqrt{\epsilon} ( 1 + \Vert x\Vert)}{\Vert v \Vert} $) in eq 5.2, am I missing the other one somewhere?

I too am OK with any of those choice, lean towards 2. or 3., and I vote 3. just because that's already written up in this PR.

@justindomke It seems like that paper suggests a different heuristic (namely r=ϵ(1+‖x‖)‖v‖) in eq 5.2, am I missing the other one somewhere?

No, I'm sure you're right! I missed a division symbol above (fixed now), and also mine was for gradients. Yours looks good.

With the release of Stan 2.33 this has been updated to use the finite diff Hessian-vector-product from stan::math if autodiff hessians are unavailable. I believe it's ready for review @roualdes @bob-carpenter


chore(main): release 3.69.0

:robot: I have created a release beep boop
3.69.0 (2024-10-09)
Features

icons: Update Lucide to https://github.com/lucide-icons/lucide/releases/tag/0.451.0 (5cea346)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v3.69.0
:sunflower:


Important information which is missing

Folks, an important information that unfortunately is missing in most data sets is the total number of COVID-19 tests performed. Without this it is not entirely clear whether changes in numbers are due to increase in illnesses or more widespread testing.  If one could find this information it would be highly valuable in determining the actual dynamics of the disease.

You can find it in the official repo of the Protezione Civile
https://github.com/pcm-dpc/COVID-19/ yesterday the number was 206886


Install New Apps in AndroidWorld

Thanks for the great work! I would like to ask if the current AndroidWorld environment supports the installation of new apps, such as the applications in AndroidControl. If it does, what is the recommended method or channel for installing them?
Thanks!

Hi! If the apps are OSS and can be acquired from fdroid.org, then you can just use adb_utils.install_apk('my_app.apk, env.controller) (example)
If the apps are not OSS, you will need to download them from the playstore. This is a little trickier and requires you to launch an emulator with Playstore. The default Pixel 6 does not, but you can use another one, e.g., Pixel 6a, which does have Google Play. Then once you do that, you can automate installation using the GUI. I wrote a quick script that you can try in a notebook.
from android_world.env import env_launcher
from android_world.env import json_action, adb_utils, actuation
import time
import os

def _find_adb_directory() -> str:
  """Returns the directory where adb is located."""
  potential_paths = [
      os.path.expanduser('~/Library/Android/sdk/platform-tools/adb'),
      os.path.expanduser('~/Android/Sdk/platform-tools/adb'),
  ]
  for path in potential_paths:
    if os.path.isfile(path):
      return path
  raise EnvironmentError('adb not found')

env = env_launcher.load_and_setup_env(adb_path=_find_adb_directory())

# First, manually open playstore and login.
apps = ['brave', 'doordash', 'uber', 'firefox']
for app in apps:
    actuation.find_and_click_element('Search for apps & games', env.controller)
    adb_utils.type_text('  ' + app, env.controller)
    env.execute_action(json_action.JSONAction(action_type=json_action.KEYBOARD_ENTER))
    actuation.find_and_click_element('Install', env.controller)
    time.sleep(10)
    actuation.find_and_click_element('Navigate up', env.controller)

It may be a bit brittle, but hopefully this is helpful to get you going.
P.S. You can use this to inspect the UI elements:
from android_world.utils import plotting
state = env.get_state()
plotting.plot_ui_elements(state)

Thank you for your response!!!❤ I tried switching to Pixel 6a to use Google Play. I followed the exact same setup process as described in the README(for Pixel6), but when I ran python minimal_task_runner.py --task=ContactsAddContact to check if it works, I kept encountering the following errors. Is there any way to resolve this issue?
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_call_parser.py", line 755, in _handle_generic   File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_call_parser.py", line 82, in _execute_command   File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_controller.py", line 147, in execute_command android_env.components.errors.AdbControllerError: Error executing adb command: [adb -P 5037 -s emulator-5554 shell date<PHONE_NUMBER>.00] Caused by: Command '['/Users/qiushisun/Library/Android/sdk/platform-tools/adb', '-P', '5037', '-s', 'emulator-5554', 'shell', 'date', '1015153423.00']' returned non-zero exit status 1. adb stdout: [b'Sun Oct 15 15:34:00 UTC 2023\ndate: cannot set date: Operation not permitted\n'] adb stderr: [None]
Thanks again for your help.

Hmm, can you try disabling the datetime arg, by doing freeze_datetime = False. This is needed for reproducibility for the AndroidWorld suite. I think the issue is that Google Play store emulator doesn't play as nice with setting the datetime. You could also try running adb root in the terminal, although we are already doing that so it shouldn't be neccessary.
I think since you are installing additional apps outside of the 20 apps in the test suite, it would probably be better to maintain a separate emulator image (in this case Pixel 6a) for installing new apps and testing them, running your experiments, and setting the freeze_datetime=False Then, if you want to run the AndroidWorld test suite (i.e the original 116 tests), just use the original instructions (Pixel 6) and keep that separate. Does this make sense?

Thank you very much for your reply🙏. I now understand the logic of app installing / testing and will try further!

Thank you very much for your help. 🙏 I'm currently experimenting with a Pixel 6a (I want to install apps covered by AndroidControl, which aren't all available on F-Droid, so I chose to use the Play Store).
I followed your suggestion and disabled the datetime argument in env_launcher.py:
def setup_env(
    env: interface.AsyncEnv,
    emulator_setup: bool = False,
    freeze_datetime: bool = False, # switch to false
) -> None:
    """Performs environment setup and validation."""
    _increase_file_descriptor_limit()
    if emulator_setup:
        setup.setup_apps(env)
    if freeze_datetime:
        datetime_utils.setup_datetime(env.controller)

and
def load_and_setup_env(
    console_port: int = 5554,
    emulator_setup: bool = False,
    freeze_datetime: bool = False, # switch to false
    adb_path: str = android_world_controller.DEFAULT_ADB_PATH,
    grpc_port: int = 8554,
) -> interface.AsyncEnv:

However, I'm still encountering the error regarding "cannot set date: Operation not permitted" when running python minimal_task_runner.py --task=ContactsAddContact
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_controller.py", line 147, in execute_command
android_env.components.errors.AdbControllerError: Error executing adb command: [adb -P 5037 -s emulator-5554 shell date<PHONE_NUMBER>.00]
Caused by: Command '['/Users/qiushisun/Library/Android/sdk/platform-tools/adb', '-P', '5037', '-s', 'emulator-5554', 'shell', 'date', '1015153423.00']' returned non-zero exit status 1.
adb stdout: [b'Sun Oct 15 15:34:00 HKT 2023\ndate: cannot set date: Operation not permitted\n']
adb stderr: [None]

Could you provide further guidance? Thank you! 🙏

Can you please provide the full stack trace so I can see where it's trying to set the date? Thanks!

Thanks a lot for your response! 🙏 I set both freeze_datetime: bool = False, in env_launcher.py
python minimal_task_runner.py --task=ContactsAddContact
warnings.warn(
/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/google/protobuf/runtime_version.py:112: UserWarning: Protobuf gencode version 5.27.2 is older than the runtime version 5.28.1 at android_env/proto/a11y/android_accessibility_forest.proto. Please avoid checked-in Protobuf gencode that can be obsolete.
warnings.warn(
/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/google/protobuf/runtime_version.py:112: UserWarning: Protobuf gencode version 5.27.2 is older than the runtime version 5.28.1 at android_env/proto/a11y/rect.proto. Please avoid checked-in Protobuf gencode that can be obsolete.
warnings.warn(
/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/google/protobuf/runtime_version.py:112: UserWarning: Protobuf gencode version 5.27.2 is older than the runtime version 5.28.1 at android_env/proto/a11y/a11y.proto. Please avoid checked-in Protobuf gencode that can be obsolete.
warnings.warn(
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1730831269.557623 5294176 trace.cc:90] Unknown tracer: none
W1106 02:28:09.450361<PHONE_NUMBER> android_world_controller.py:98] Could not get a11y tree, retrying.
E1106 02:28:10.973581<PHONE_NUMBER> adb_controller.py:131] Failed to execute ADB command (try 1 of 3): [adb -P 5037 -s emulator-5554 shell date<PHONE_NUMBER>.00]
Traceback (most recent call last):
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_controller.py", line 122, in execute_command
  cmd_output = subprocess.check_output(
               ^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/subprocess.py", line 466, in check_output
  return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/subprocess.py", line 571, in run
  raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/Users/qiushisun/Library/Android/sdk/platform-tools/adb', '-P', '5037', '-s', 'emulator-5554', 'shell', 'date', '1015153423.00']' returned non-zero exit status 1.
E1106 02:28:10.975132<PHONE_NUMBER> adb_controller.py:135] **stdout**:
E1106 02:28:10.975165<PHONE_NUMBER> adb_controller.py:137]     b'Sun Oct 15 15:34:00 HKT 2023'
E1106 02:28:10.975341<PHONE_NUMBER> adb_controller.py:137]     b'date: cannot set date: Operation not permitted'
E1106 02:28:16.648721<PHONE_NUMBER> adb_controller.py:131] Failed to execute ADB command (try 2 of 3): [adb -P 5037 -s emulator-5554 shell date<PHONE_NUMBER>.00]
Traceback (most recent call last):
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_controller.py", line 122, in execute_command
  cmd_output = subprocess.check_output(
               ^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/subprocess.py", line 466, in check_output
  return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/subprocess.py", line 571, in run
  raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/Users/qiushisun/Library/Android/sdk/platform-tools/adb', '-P', '5037', '-s', 'emulator-5554', 'shell', 'date', '1015153423.00']' returned non-zero exit status 1.
E1106 02:28:16.649288<PHONE_NUMBER> adb_controller.py:135] **stdout**:
E1106 02:28:16.649338<PHONE_NUMBER> adb_controller.py:137]     b'Sun Oct 15 15:34:00 HKT 2023'
E1106 02:28:16.649402<PHONE_NUMBER> adb_controller.py:137]     b'date: cannot set date: Operation not permitted'
Traceback (most recent call last):
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_controller.py", line 122, in execute_command
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/subprocess.py", line 466, in check_output
  return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/subprocess.py", line 571, in run
  raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/Users/qiushisun/Library/Android/sdk/platform-tools/adb', '-P', '5037', '-s', 'emulator-5554', 'shell', 'date', '1015153423.00']' returned non-zero exit status 1.

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

Traceback (most recent call last):
File "/Users/qiushisun/Desktop/OS-Sim Playground/android_env/android_world/minimal_task_runner.py", line 131, in <module>
  app.run(main)
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/absl_py-2.1.0-py3.11.egg/absl/app.py", line 308, in run
  _run_main(main, args)
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/absl_py-2.1.0-py3.11.egg/absl/app.py", line 254, in _run_main
  sys.exit(main(argv))
           ^^^^^^^^^^
File "/Users/qiushisun/Desktop/OS-Sim Playground/android_env/android_world/minimal_task_runner.py", line 127, in main
  _main()
File "/Users/qiushisun/Desktop/OS-Sim Playground/android_env/android_world/minimal_task_runner.py", line 107, in _main
  task.initialize_task(env)
File "/Users/qiushisun/Desktop/OS-Sim Playground/android_env/android_world/android_world/task_evals/common_validators/contacts_validators.py", line 39, in initialize_task
  super().initialize_task(env)
File "/Users/qiushisun/Desktop/OS-Sim Playground/android_env/android_world/android_world/task_evals/task_eval.py", line 135, in initialize_task
  self.initialize_device_time(env)
File "/Users/qiushisun/Desktop/OS-Sim Playground/android_env/android_world/android_world/task_evals/task_eval.py", line 129, in initialize_device_time
  datetime_utils.set_datetime(env.controller, self.device_time)
File "/Users/qiushisun/Desktop/OS-Sim Playground/android_env/android_world/android_world/utils/datetime_utils.py", line 130, in set_datetime
  _set_datetime(env, dt)
File "/Users/qiushisun/Desktop/OS-Sim Playground/android_env/android_world/android_world/utils/datetime_utils.py", line 201, in _set_datetime
  adb_utils.issue_generic_request(
File "/Users/qiushisun/Desktop/OS-Sim Playground/android_env/android_world/android_world/env/adb_utils.py", line 528, in issue_generic_request
  response = env.execute_adb_call(
             ^^^^^^^^^^^^^^^^^^^^^
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/wrappers/base_wrapper.py", line 101, in execute_adb_call
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/wrappers/base_wrapper.py", line 101, in execute_adb_call
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/environment.py", line 139, in execute_adb_call
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/coordinator.py", line 284, in execute_adb_call
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_call_parser.py", line 112, in parse
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_call_parser.py", line 755, in _handle_generic
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_call_parser.py", line 82, in _execute_command
File "/Users/qiushisun/opt/miniconda3/envs/android_world/lib/python3.11/site-packages/android_env-1.2.2-py3.11.egg/android_env/components/adb_controller.py", line 147, in execute_command
android_env.components.errors.AdbControllerError: Error executing adb command: [adb -P 5037 -s emulator-5554 shell date<PHONE_NUMBER>.00]
Caused by: Command '['/Users/qiushisun/Library/Android/sdk/platform-tools/adb', '-P', '5037', '-s', 'emulator-5554', 'shell', 'date', '1015153423.00']' returned non-zero exit status 1.
adb stdout: [b'Sun Oct 15 15:34:00 HKT 2023\ndate: cannot set date: Operation not permitted\n']
adb stderr: [None]

Ah, I see, thanks for that.
For now you should be able to just comment out this line in task_eval.py.
I will think of a fix so this can get disabled if the user desires.
(For posterity, from this error)

File "/Users/qiushisun/Desktop/OS-Sim Playground/android_env/android_world/android_world/task_evals/task_eval.py", line 135, in initialize_task
self.initialize_device_time(env)


Create B variant for shingles

https://trello.com/c/Px5wOXil/1079-run-an-a-b-test-for-shingles
Once this is deployed, the next step will be to set up finder-frontend to take an AB test request header and use it to make requests to search-api using the AB test variant provided.

Awesome, lets put it on integration and re-index with the new schema  :)