[fix][broker] WaitForExclusive should fenced when exist Shared producer.

Motivation
In the current implementation, if a Shared Producer is created first, and can be again created successfully a producer of the WaitForExclusive.
It's confuse. Because even if the Shared producer is disconnected, it will not trigger the WaitForExclusive producer to become exclusive.
Modifications

WaitForExclusive producer should fence when existing Shared producer.

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/shibd/pulsar/pull/20

Codecov Report

Merging #18380 (674e7a8) into master (2e878e8) will decrease coverage by 9.40%.
The diff coverage is 24.00%.

@@             Coverage Diff              @@
##             master   #18380      +/-   ##
============================================
- Coverage     40.04%   30.64%   -9.41%
+ Complexity     8625     6924    -1701
============================================
  Files           687      752      +65
  Lines         67436    72523    +5087
  Branches       7221     7792     +571
============================================
- Hits          27007    22222    -4785
- Misses        37411    47183    +9772
- Partials       3018     3118     +100

Flag
Coverage Δ

unittests
30.64% <24.00%> (-9.41%)
:arrow_down:

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

 The user should have a scenario like this:
Users used multiple producers before and need to change to Exclusive now. In this case, if users want to smooth over, users need the coexistence of the producers of both modes Shared(old) and Exclusive(new)

Makes sense, thanks for your explan.

No, I don't agree. The user should have a scenario like this:
Users used multiple producers before and need to change to Exclusive now. In this case, if users want to smooth over, users need the coexistence of the producers of both modes Shared(old) and Exclusive(new)

I think we should keep the Exclusive functional single and should not allow both Shared and WaitForExclusive to appear at the same time. @merlimat Can you take a look at it?

I think that a Exclusive producer should fence out all of the existing shared producers.
The point of WaitForExclusive is the you want to take control over the topic, but wait if there is another Exclusive producer connected or enquired as WaitForExclusive.

Isn't direct fencing a bit forcible? If the user wants to fence all existing Shared producers, he can use ExclusiveWithFencing mode.

@eolivelli Thanks for your reply.

I think that we should behave like Exclusive and ExclusiveWithFencing: if there are Shared producers they must be disconnected and fail

In fact, Exclusive's current behavior is that when it encounters has shared producer, it will fence itself.
https://github.com/apache/pulsar/blob/5b062f37bd6688c09384abbe908f7c14e28052fc/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractTopic.java#L752-L754
In my opinion, this scenario occurs when the user connects to the wrong topic. We should tell Exclusive/WaitForExclusive producers about the exception of existing shared producers, rather than fence existing shared producers.

my point is if the share producer connects first, the WaitForExclusive producer behavior should be like Exclusive. WaitForExclusive is only used if an Exclusive consumer has connected to the topic, if don't have an Exclusive consumer, its behavior doesn't have any difference from the Exclusive consumer.


pc.init does not check process exit code when installing bun

Describe the bug
I just ran into a situation where I pushed my Reflex project to Fly and when Fly was building the Docker image, there were some issues with validating Github's SSL certificate, because of which bun installation failed.
Here's the relevant reflex init log from build time:
root@de9d849ca1d4:/code# poetry run reflex init
───────────────────────────────────────────────────────────────────────────────────────────────────────────── Initializing code ──────────────────────────────────────────────────────────────────────────────────────────────────────────────
[17:57:45] Installing bun...                                                                                console.py:30
curl: (60) SSL: no alternative certificate subject name matches target host name 'objects.githubusercontent.com'
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

error: Failed to download bun from "https://github.com/oven-sh/bun/releases/download/bun-v0.6.9/bun-linux-x64-baseline.zip"
[17:57:47] Initializing the web directory.                                                                                console.py:30
[17:57:48] Finished Initializing: code                                                                                console.py:30
]

This was somewhat tricky to debug because when building the Docker image, those error logs didn't show up, so I had no idea why the frontend was complaining about bun not being installed.
It would be nice if pc.init would check the status code of intermediate commands (particularly the os.system(constants.INSTALL_BUN) in this case) and exit if there was a problem.
To Reproduce
Steps to reproduce the behavior:

Code/Link to Repo:

Expected behavior
If os.system(constants.INSTALL_BUN) fails, exit with an error code
Screenshots
Specifics (please complete the following information):

Python Version: 3.11
Reflex Version: 0.2
OS: linux/amd64 (docker)
Browser (Optional):

Additional context
Add any other context about the problem here.

(I'm happy to submit a patch if you like.)

this isn't the only place we're swallowing potentially useful errors and exit codes. see #1285 as well.

(I'm happy to submit a patch if you like.)

🥺 if we could only be so lucky 🙏


Drop default ssh firewall rule when custom ssh port is used

It is not necessary to open the standard port 22 when using a custom port

Have you tested building a complete cluster from scratch with this patch? I forgot if nodes are firstly added to the firewall and only afterwards the port is changed from the default, which would make this patch break the cluster setup or if it was the other way around, which means it's perfectly safe to merge this patch.

@aleksasiriski Yeah, I tested it with a 3 CP + 2 Worker node cluster and checked the firewall by looking into hetzner UI and also trying to ssh into a machine and it seems to do the trick

@MaximilianMeister Indeed that is legacy logic left over from the days when we used to enter rescue mode to install the OS. Thanks for the find!

Indeed that is legacy logic left over from the days when we used to enter rescue mode to install the OS. Thanks for the find!

Ah good to know. Thanks!


end to end testing pipeline

What are the relevant tickets?
Closes https://github.com/mitodl/ocw-studio/issues/2033
Description (What does it do?)
This PR adds a new pipeline definition, TestPipelineDefiniton. This pipeline is designed for running the end to end Playwright tests defined in ocw-hugo-themes against the output of the steps defined in SitePipelineOnlineTasks. The resulting pipeline will be automatically triggered on pushes to ocw-hugo-themes or ocw-hugo-projects based on configured branches and will alert us of any problems running the end to end tests against content that was built and deployed using the same steps we use to build and deploy any other site using pipelines generated by ocw-studio.
How can this be tested?

Make sure your instance of ocw-studio is set up to publish websites according to the readme
Set the following environment variables:

OCW_WWW_TEST_SLUG=ocw-ci-test-www
OCW_COURSE_TEST_SLUG=ocw-ci-test-course
AWS_TEST_BUCKET_NAME=ocw-content-test
AWS_OFFLINE_TEST_BUCKET_NAME=ocw-content-offline-test

Download the JSON fixtures from this Google Drive folder: https://drive.google.com/drive/folders/1iqLw2C2Atk1_O94z7PpUC9X7JQe_IxSn
In your local Django admin, make sure you don't have existing sites that would conflict with the test courses. You can do this by going to http://localhost:8043/admin/websites/website/ and looking for ocw-ci-test-course and ocw-ci-test-www. If these websites already exist, delete them.
Place test_websites.json and test_website_content.json at the root of your ocw-studio folder
Run docker compose exec web ./manage.py loaddata test_websites.json and you should see Installed 2 object(s) from 1 fixture(s)
Run docker compose exec web ./manage.py loaddata test_website_content.json and you should see Installed 43 object(s) from 1 fixture(s)
Run docker compose exec web ./manage.py reset_sync_states --filter "ocw-ci-test-course, ocw-ci-test-www" --skip_sync
Run docker compose exec web ./manage.py sync_website_to_backend --filter "ocw-ci-test-course, ocw-ci-test-www" --delete
Browse to http://localhost:8043/sites/ocw-ci-test-www and publish the site live. Don't worry if the publish fails, the important part is that it gets pushed to the release branch in Github. To verify this browse to the repo in your test org and make sure that the site content is in the release branch.
Repeat the previous step for http://localhost:8043/sites/ocw-ci-test-course
Download the test course static resources from this Google Drive link: https://drive.google.com/drive/folders/14Hlid31Qy7Yy5V4OgHUwNleYUFuJ5BH2?usp=sharing
Open the Minio web UI at http://localhost:9001 and login with your credentials
Browse to the ol-ocw-studio-app bucket, then in the courses folder create a folder named ocw-ci-test-course if it doesn't already exist
Drag and drop the static resources we downloaded from Google Drive into the Minio folder we just created
Run docker compose exec web ./manage.py upsert_theme_assets_pipeline --themes-branch cg/playwright-external-site
Run docker compose exec web ./manage.py upsert_e2e_test_pipeline --themes-branch cg/playwright-external-site
Browse to your locally running Concourse instance at http://localhost:8080
Find the theme assets pipeline that we pushed up for cg/playwright-external-site, unpause it and trigger a build. The theme assets build has been altered as part of this PR to also copy the theme assets to the test buckets. Wait for it to finish.
Once the theme assets build has completed, locate the end to end testing pipeline and unpause it. The pipeline should eventually start automatically after about a minute. If it does not, check the inputs to the job and try refreshing them manually. Once the pipeline starts, it should complete without error.

Additional Context
The offline build is currently not tested, but will be tested in the future and this pipeline will be updated to support it. Before this PR is merged, the new settings should be set in Heroku via a salt-ops PR. These settings include:

OCW_WWW_TEST_SLUG
OCW_COURSE_TEST_SLUG
AWS_TEST_BUCKET_NAME
AWS_OFFLINE_TEST_BUCKET_NAME

This salt-ops PR will not be created until https://github.com/mitodl/ol-infrastructure/issues/1945 is resolved and the new buckets that it will point at have been created.

@HussainTaj-arbisoft Thanks for your reviews. I took some of your suggestions and did the following:

STATIC_API_BASE_URL_TEST when running the pipeline locally needs to be the Docker IP of your nginx instance on the correct port. I made some changes to content_sync/utils/get_common_pipeline_vars to set the correct defaults, but for what it's worth that ends up being http://<IP_ADDRESS>:8046. In a browser you can access this at http://localhost:8046 because of port forwarding, but Concourse needs to access it through the Docker IP.
I altered the docker-compose.yml to create the test buckets
@ChristopherChudzicki pointed out that once this gets deployed to RC and production, the test sites will show up in the "new courses" section. This will cause the ocw-www build to fail, because the test sites aren't actually deployed to the publish bucket. I modified the API view sets to exclude the test sites based on OCW_WWW_TEST_SLUG and OCW_COURSE_TEST_SLUG.
I committed the fixtures to the repo under test_site_fixtures
I added a section to the readme about how to set up the pipeline locally

@HussainTaj-arbisoft I updated the url path of the offending files in the test site fixtures

@HussainTaj-arbisoft I was able to address everything you noted above, but was not able to finish the unit tests tonight. I'll get that done first thing tomorrow morning.


fix typos in train_ppo_ray.py

Fix typos. Saw this and was confused when I tried to merge with main locally. Apologize for the repeated PR.

Thanks


DWTv2 support and watchpoint improvements

The primary purpose of this PR is to add support for version 2 of the DWT as present in v8-M.
In addition, watchpoint related commands were added to the commander, and DWT gained a couple APIs used by those commands.
The new commander commands are:

watch
rmwatch
lswatch

An unlikely but possible bug was fixed in CortexM, where it would attempt to use the DWT object even if it didn't exist (i.e. not included in the MCU).

/morph test


Add missing configuration options

Describe the Feature
To use the native geolocation APIs correctly and in a battery efficient way, you need to be able to tweak the location settings. Currently, only a small subset of the options are exposed. We should extend this to ensure all options are present and they have sensible defaults (matching current defaults to avoid breaking changes, if possible).
Possible Implementations
A partial list of the options is here:
https://github.com/timfpark/react-native-location/blob/master/README.md#rnlocationconfigure
Some of these are specific to each platform and some have the same meaning, but different values. We should take that into account when adding these options.

What values are planned to add this?? 🤔🤔


Tracking Indonesian Translation Progress (M7)

This is tracking issue of our progress from Q2 2021 onwards. In the beginning of this milestone, as per our metrics, we have translated 220 pages from 84 contributors (the script from main repo shows 260+ pages), with around 8,000 views per month. In this milestone, we still continuing on updating the obsolete pages. We are not officially listing down target pages to translate, but feel free if you have spare time to translate some.
Maintainers

@ariscahyadi
@danninov
@girikuncoro
@irvifa
@phanama
@qbl
@wahyuoi
@habibrosyad

For New Contributors
Please check this documentation about Dokumentasi Khusus Untuk Translasi Bahasa Indonesia which gives step-by-step on how to start to contribute and translate using official guidelines.
Work Status
There is a list of 28 pages and please feel free if you want to take part on this work.
Follow-up pages from M6 Milestone

[ ] add content/en/docs/contribute/style/write-new-topic.md
[ ] add content/en/docs/tasks/administer-cluster/cluster-upgrade.md
[ ] add content/en/docs/tasks/administer-cluster/enable-disable-api.md
[ ] add content/en/docs/tasks/administer-cluster/safely-drain-node.md
[ ] modify content/en/docs/setup/_index.md
[ ] modify content/en/docs/concepts/architecture/nodes.md
[ ] modify content/en/docs/concepts/cluster-administration/_index.md
[ ] modify content/en/docs/concepts/configuration/pod-priority-preemption.md

Remove pages

[ ] removed content/en//docs/concepts/configuration/manage-compute-resources-container.md
[ ] removed content/en//docs/concepts/workloads/pods/pod-overview.md
[ ] removed content/en//docs/concepts/workloads/pods/pod.md
[ ] removed content/en//docs/concepts/workloads/controllers/jobs-run-to-completion.md #29173
[ ] removed content/en//docs/concepts/extend-kubernetes/poseidon-firmament-alternate-scheduler.md
[ ] removed content/en//docs/concepts/containers/overview.md
[ ] removed content/en//docs/concepts/cluster-administration/cluster-administration-overview.md
[ ] removed content/en//docs/concepts/cluster-administration/federation.md
[ ] removed content/en//docs/concepts/cluster-administration/cloud-providers.md
[ ] removed content/en//docs/concepts/cluster-administration/controller-metrics.md

Modified Pages

[ ] modified content/en/docs/home/_index.md
[ ] modified content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md
[ ] modified content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md
[ ] modified content/en/docs/tasks/run-application/horizontal-pod-autoscale.md
[ ] modified content/en/docs/tasks/run-application/run-stateless-application-deployment.md
[ ] modified content/en/docs/tasks/run-application/force-delete-stateful-set-pod.md
[ ] modified content/en/docs/tasks/tools/install-kubectl.md
[ ] modified content/en/docs/tasks/tools/_index.md
[ ] modified content/en/docs/tasks/configure-pod-container/configure-service-account.md
[ ] modified content/en/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md

———————————————————————————————————-———————————————————
Trick to find related PR which delete/modified a file as shared by @habibrosyad
1. Get a commit hash related with the changes
git log --diff-filter=D -- [file path]
e.g.
git log --diff-filter=D -- content/en/docs/sitemap.md
The output will be similar with this:
Author: ROSHEEN NAEEM<EMAIL_ADDRESS>Date:   Wed Sep 30 20:30:50 2020 +0500

Delete sitemap.md

Please note the commit hash in the output (b1fb333fad2301d4d6c30548fb001687f42e24c1, in the case of the example above).
You can use the same command to find which commit modified a file by changing the filter from D to M (refer to here for more filters). In case of modified file, you might get multiple commit hashes, pick the latest one (contains the recent changes), or just pick ones that suit your needs.
2.
Find the related PR with the commit, e.g. via web UI:

In bottom left hand corner near the branch name, in this case master, you can see the PR id (#24270). Click on the link and you will be redirected to the respective PR page, then you can analyse what changes has been made and what actions needed to incorporate it to our localization.
/language id
/cc @kubernetes/sig-docs-id-reviews

/triage accepted

/remove-lifecycle stale

/remove-lifecycle stale

/remove-lifecycle rotten

/remove-lifecycle stale

/area localization

Hi folks!
As a sig-docs localization subproject lead, I would like to check if this issue remains useful and if there's a general willingness to keep it open as is. (sig-docs is endeavoring to manage the quantity of open issues.)
PTAL
@ariscahyadi
@danninov
@girikuncoro
@irvifa
@phanama
@qbl
@wahyuoi
@habibrosyad

@seokho-son thanks for commenting, this issue is more than 2 years old, and few of them are no longer relevant, currently @kubernetes/sig-docs-id-owners still looking for lead who wants to drive the ID localization further, we can close this issue and revisit after we revamp the project initiative


Support for changes().

.changes().filter currently works, but not the other terms (or at least they are not tested).
It's pretty easy to add it, just update lib/changes.js

As far as I know, all the methods are now implemented since bfaeb50e1365ad574d03b67556b92669aad61e28


Missing package.json file

🐛 Bug description

run wasm-pack build
pkg directory missing package.json file

🤔 Expected Behavior
There is a package.json file in the pkg directory
👟 Steps to reproduce
example: https://github.com/lencx/learn-wasm
❯ wasm-pack build
[INFO]: 🎯  Checking for the Wasm target...
[INFO]: 🌀  Compiling to Wasm...
    Finished release [optimized] target(s) in 0.01s
⚠   [WARN]: origin crate has no README
[INFO]: ⬇  Installing wasm-bindgen...
Error: no prebuilt wasm-opt binaries are available for this platform: Unrecognized target!
To disable `wasm-opt`, add `wasm-opt = false` to your package metadata in your `Cargo.toml`.

# wasm-pack build

[pkg]
|- .gitignore
|- chasm_bg.js
|- chasm_bg.wasm
|- chasm_bg.wasm.d.ts
|- chasm.d.ts
|- chasm.js
|- package.json # missing

🌍 Your environment
os: macOS M1(arm)
wasm-pack version: 0.9.1
rustc version: rustc 1.49.0 (e1884a8e3 2020-12-29)

Solution: disable wasm-opt in Cargo.toml (see: https://github.com/rustwasm/wasm-pack/issues/886#issuecomment-666309982)
[package.metadata.wasm-pack.profile.release]
wasm-opt = false

Solution: disable wasm-opt in Cargo.toml (see: https://github.com/rustwasm/wasm-pack/issues/886#issuecomment-666309982)
[package.metadata.wasm-pack.profile.release]
wasm-opt = false


Alpha stabilization part 1

I'm now going one by one through the tasks to try removing feature gates, to minimize the number of tasks that will stop working at 1.0.
In the case of function_composition, where the current solution is inherently unstable (we already know direct implementation of Fn traits will still be feature-gated at 1.0), I rewrote the solution with Boxed unboxed closures.
I'm also sprinkling #![allow(unstable)] to silence the warnings that are making it hard to follow compilation output and travis logs. For the warnings where a specific direction is suggested (like for ranges or some stray i/u suffixes) I try following the suggestion before silencing the others.
For the others (the one that just say that a method is not yet stable), adding a #![allow(unstable)] means that if/when those APIs change, these tasks will just break, of course. But that's just how it has been until today, and being warned about them on every build is only adding noise. But feel free to object!

fixed the FIXME in closures-value-capture

Looks good to me. Nice work!

@aochagavia when you're done reviewing (unless you spot something else that needs correcting) feel free to merge. If you agree with allowing unstable, I'll do the other tasks little by little in other PRs.

Done!


plist missing CFBundleVersion - fails AppStore Connect upload

Using carthage to either grab the latest prebuilt binary 0.3.0 or forcing carthage to build the latest XmlCoder results in the framework's plist missing a value for CFBundleVersion, which is required for AppStore Connect upload. Other plist keys are correctly filled in. I see it's using the $(CURRENT_PROJECT_VERSION) variable for CFBundleVersion. Perhaps that is not resolving when built with carthage? Also - looking at the project.pbxproj file - I do not see a project version at all
AppStore error: ERROR ITMS-90056: XMLCoder.framework is invalid. The Info.plist file is missing the required key: CFBundleVersion

Thanks @stonedauwg! I've bumped the version and set it in the project file. Will tag and release it ASAP

This has been released as 0.3.1 and pushed to CocoaPods as well. Please reopen this if you still see any issues.


Give option for changing rendered markup content in Jupyter Notebook

Looking at image of a opened jupyter notebook above; we see three fonts: SF Mono, Fira Code and default Windows font Segoe UI.
Currently vscode provides option for customising two of them: SF Mono and Fira Code (i.e. those element's font family can be customised), but no customisation is there for changing Markup font.
We need new markup font customisation option.
A option like notebook.markup.fontFamily is needed.
Thank You.

/duplicate of https://github.com/microsoft/vscode/issues/143907


install-dependencies.sh: do not install weak dependencies

Especially for Java, we really do not need the tens of packages and MBs it adds, just because Java apps can be built and use sound and graphics and whatnot.

LGTM
I think this will require a frozen toolchain update, so I'll leave merging it to @avikivity.

Correct, but that's the next step after this gets in, we can (should) update the toolchain (same cycle as https://github.com/scylladb/scylladb/pull/15045 ?)

No, it has to be done atomically (well, the sky won't fall down if we don't, but it's the Right Thing To Do).

https://github.com/scylladb/scylladb/pull/15322


Memory leak

I see an constant increase of memory when running an app.
I have noticed that the sippet supervisor consumes more and more memory.
iex(as@stirsrv01)1> Supervisor.count_children(:as_stack_sup)
%{active: 47, specs: 173756, supervisors: 1, workers: 173755}

I think that the application uses a simple Supervisor and not a DynamicSupervisor.
This is very easy to reproduce, just let the application run while sending calls to it then call the Supervisor.count_children() function.

While I understand the problem you're referring to, I don't see how/why moving from Supervisor to DynamicSupervisor would fix it.
So, transactions are short living processes. They are started on demand and after every timer ends, they stop. In order to stop properly they should finish with reason :normal.
However the :restart flag should be set to :transient. I'm using GenStateMachine, which doesn't provide the option to set such at the "use GenStateMachine" declaration.
So it should be part of the child_spec function. If you inspect Sippet.Transactions.Client.child_spec, you'll notice the flag being set there as :transient as expected.

Oh, maybe I got it now. So when child process stop, their supervisors maintain their child_spec/1 in memory case you want to restart them. And in this case the code leaks memory, isn't it?

Exactly, I should have been more precise.  DynamicSupervisor takes care of cleaning up of dead process's child_spec.

@martinos, added some other modifications and fixed the unit tests: https://github.com/balena/elixir-sippet/pull/29.
Merged. Thanks!


Add a Gitter chat badge to README.md

locp/puppet-odoo9 now has a Chat Room on Gitter
@dallinb has just created a chat room. You can visit it here: https://gitter.im/locp/puppet-odoo9.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

This is for the old repo name so closing.


Fix typo in comment in functions.php

Just fixing a typo I spotted in a comment of functions.php

Indeed, that's no good — thanks @matbush !


Shuffle samples to generate each mini-batch at Replay.get_batch.

Previous implementation randomize only the offset in the memory and the mini-batch contains a series of samples in original experienced order.
I believe the experiences should be sampled at random to get rid of bias of experiences.
I've realized np.random.permutation with whole memory capacity is not memory efficient. Because I'm newbee on Python and numpy, I cannot find the equivalent way to do this more efficiently. Any hint or suggestions are welcome.

Hi,
thanks for helping! These are 2 separate strategies and both can be desired. One is to sample each entry separately (not with np.permutaton but with np.random.shuffle and re-assignment of keys), one is to sample continuous ranges.  Hence, I wont merge this but rather suggest you create an issue and then we will see how we can make this optional.

Thank you for your comment!
I didn't know that there's the case that the continuous experiences are desirable. I will file new issue to discuss optional strategies.


Suggestion: Fire webhooks per environment

It would be nice to set publish and pull webhooks per lasso_env. For example when using envoyer, i would like to trigger another project when going to staging.

Maybe like this:
 /*
     * Lasso can also trigger Webhooks after its commands have been
     * successfully executed. You may specify URLs that Lasso will POST
     * to, for each of the commands.
     */
    'webhooks'    => [

        /*
         * Specify which webhooks should be triggered after a successful
         * "php artisan lasso:publish" command execution.
         */
        'publish' => [
            'staging' => [],
            'production' => [],
            'always' => []
        ],

        /*
         * Specify which webhooks should be triggered after a successful
         * "php artisan lasso:pull" command execution.
         */
        'pull'    => [
            //
        ],

    ],

Ooh I love this idea! Thanks for the suggestion, I will consider adding this over the next coming weeks

Really appreciate this idea. I'm going to close this issue for now but will let you know if this is added in a future release.


[WIP] rewrite to solidjs

Planning to rewrite this to SolidJS + UnoCSS and deployed on Cloudflare pages (worker? idk)
dunno if it's going to be finished or not, we'll see

nope, this thing is still too bliding for what I want to do. closing


Fix typography styles in markdown and remove the border

@goutham-subramanyam _a As discussed earlier, please work on these changes.
UI _t

The issue was KB specific. Fixed in https://github.com/bigbinary/neeto-kb-web/pull/885


Read notification Carplay & Android

I am not quite sure this is something you have already implemented or not. I am looking to integrate a feature where the user can receive the notification on his carplay or android auto, he clicks on it, and the voice (siri or google) can read out loud the text in the notifications. In my case the notification is an article.

I think stackoverflow is better suited for these kind of questions :)


docs: Convert ARCOptmization.rst to Markdown

Currently docs are a mix of reStructuredText and Markdown and unifying them as Markdown would make more sense long term, as far as I understand. This converts ARCOptmization.rst, initially converted with Pandoc with manual cleanup added after the fact.

@swift-ci please smoke test

@swift-ci please smoke test

There's also a link in docs/README.md.

Thanks, that's fixed now.

@swift-ci please smoke test and merge

@swift-ci please smoke test

@swift-ci Please smoke test Linux platform

@swift-ci please test Windows platform

writing output... [ 98%] proposals/valref
writing output... [100%] weak

Warning, treated as error:
/Users/teemperor/swift/master2/swift/docs/SIL.rst:4247:undefined label: arcopts.is_unique
[264/1631][ 16%][26.504s] Building CXX object stdlib/public/runtime/CMakeFiles/swiftRuntime-macosx-arm64e.dir/Metadata.cpp.o
ninja: build stopped: subcommand failed.
ERROR: command terminated with a non-zero exit status 1, aborting

This breaks the doc compilation which in turns breaks the complete build. Please revert, thank you.

This breaks the doc compilation which in turns breaks the complete build. Please revert, thank you.

@Teemperor Possible fix: apple/swift#36131


Support for model instance in HFLM.pretrained argument

Hello EleutherAI team!
First of all, thanks for the amazing work on putting the big_refactor together and releasing it! We were eagerly waiting for it!
I have one question though. Is there anything similar to this class: https://github.com/EleutherAI/lm-evaluation-harness/blob/master/lm_eval/models/gpt2.py? This particular HFLM allowed a custom model to be passed to the pretrained argument, whereas models.huggingface.HFLM restricts pretrained to always be a string.
With the assertion, models.huggingface.HFLM is limited to load HF-based models from inside the class, whereas there might be some use cases to load a model from outside and pass it as an argument. For example, a transformer-based class that is not available with AutoModelForCausalLM, but follows the HF API.
Thanks for the attention and best regards,
Gustavo.

We were not aware we were breaking this compatibility. Can you elaborate on why the string restriction prevent loading models outside the class?

We were not aware we were breaking this compatibility. Can you elaborate on why the string restriction prevent loading models outside the class?

Sure! Imagine that I have a custom class TransformerX which is a torch.nn.Module and have support for standard methods lm-eval is using, e.g., generate(), forward(), etc. However, it does not have support for AutoModelForCausalLM.
I used to use models.gpt2.HFLM as a hacky alternative because it didn't have the string assertion, but with the current models.huggingface.HFLM, the pretrained argument + string assertion will always require it to be used within AutoModelForCausalLM


Sort methods to stabalize operation id generation

The methods attribute accessed by the generate_unique_id function is modeled as a python set, which is not ordered and between runs might change. This results in the same fastapi generating different openapi specs if started multiple times.
This also relates to the bigger issue https://github.com/tiangolo/fastapi/issues/4740 but is not a solution for that issue.

Because it's runtime random behavior, I find it hard to come up with a proper test case that will work across different python versions and will make sure we are actually doing the right thing instead of possibly passing because of shear luck. Consider the following output:
Python 3.8.9 (default, Dec 16 2021, 12:39:57)
[GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information
>>> b=set(["2","1","3"])
>>> list(b)[0]
'1'
>>> b=set(["1","2","3"])
>>> list(b)[0]
'3'
>>> b=set(["1","2","3"])
>>> list(b)[0]
'3'
>>> b=set(["1","2","3"])
>>> list(b)[0]
'3'
>>> b=set(["1","2","3"])
>>> list(b)[0]
'3'
>>> b=set(["1","2","4"])
>>> list(b)[0]
'4'

Yeah I was having a stroll outside right after I made that comment, and I had the exact same thought. You are right, I also couldn't find a way to properly test it.
That leaves me with the thought that somehow (if not through a specific test case) we would want to make it specific that there was a reason this line of code uses sorted. I can think of two possibilities:

Use a comment line in the code
Create a testcase with two lists (one reversed from the other) with explicit naming and pull that through the function. This doesn't test for sets, but it does make it explicit that despite different ordering in a Iterable, the outcome should be the same.

Let me know your thoughts!

I've decided to add a comment.
I was writing the test case and came to the conclusion that there would be no way to write the test that would still make sense if APIRoute would be refactored to accept a single http method only.
Because I think that will probably end up being the outcome of #4740 I decided a comment would be best for now. Happy to hear from official reviewers on this.

@JarroVGIT any updates on this? Recently came up in one of my projects, would love to see this getting merged eventually

Thanks for the interest! :nerd_face:
I'm not sure I understand the use case that this solves. :thinking:
It would probably be better if we start in a GitHub Discussion, with a minimal self contained example that I can copy paste to understand the current issue, and then we can check if this would solve it, or maybe there's another way to handle it.
For now I'll close this one, but thanks for the effort! :cake:

The use case for me, when I filed the issue a fee years ago, was that I was deploying an AWS gateway configuration via Terraform based on the OpenAPI spec generated by FastAPI. This would randomly change and cause a reconfiguration without actual changes to the API implementation.
Like the developers of FastAPI, I also lost interest. Thank you for closing!


Update 2015-04-22-wifi-ble-javascript.md

Added clearer explanation on capacitor after reader feedback

:+1:


ARROW-12791: [R] Better error handling for DatasetFactory$Finish() when no format specified

https://github.com/apache/arrow/commit/ace2bfc160e049b4edc7ffb55081cfb7210d6e43 and https://github.com/apache/arrow/commit/aa27b4c71c61e7264974c5eb076d0241ed1ddfe0 can be a model for your solution here

ace2bfc and aa27b4c can be a model for your solution here

Thanks, @nealrichardson, have now updated the PR to follow this pattern!


Enhancement Proposal: Integrate FHIR TestReport Resource for CQL Test Runner Results

The proposal suggests incorporating the FHIR TestReport Resource into the CQL Test Runner to serve as the test result. Presently, the CQL Test Runner generates results in a custom format.

Based on discussion on DQIC, this will be addressed in Issue #3, so closing this


.github/workflows directory

Pull Request Overview
📝 Summary
Implementation of CI/CD workflows for the PayStell frontend application using GitHub Actions.
🔗 Related Issues

Closes #3

🔄 Changes Made

Created .github/workflows directory
Added ci.yml for Continuous Integration workflow:

Runs on push to main/develop and PRs
Performs linting, type checking, and build verification
Uses Node.js 20 and npm

Added cd.yml for Continuous Deployment workflow:

Deploys to Vercel on main branch pushes
Only triggers on frontend changes
Includes production deployment configuration

🖼 Current Output

🧪 Testing
💬 Comments
To complete the deployment, you need to:

Set up the following secrets on GitHub:

VERCEL_TOKEN
VERCEL_ORG_ID
VERCEL_PROJECT_ID

@MPSxDev Can you review this PR?


[BUG] Archive autocomplete-javascript package

What is the Bug
Please, archive (and mark as broken?) autocomplete-javascript package.
How to Replicate the Bug
It doesn't work. And there are issues about it without reactions:
https://github.com/guiguan/autocomplete-javascript/issues

And the most sad part of me it's not even occupying the name, but I've found no alternatives. So, I can even have autocomplete for Ruby, but not for JavaScript — insane.

ide-typescript (and my candidate for modernizing it, pulsar-ide-typescript-alpha) do a decent job at autocompleting JavaScript, despite the name. They do better at TypeScript (for obvious reasons), but you might be surprised at how well they analyze typeless JS.

ide-typescript (and my candidate for modernizing it, pulsar-ide-typescript-alpha) do a decent job at autocompleting JavaScript, despite the name. They do better at TypeScript (for obvious reasons), but you might be surprised at how well they analyze typeless JS.

Thank you.
It seems conflicting (duplicating) some another package:

I don't know what I should to leave and what I should to turn off.

Perhaps post a list of your installed packages? It wouldn't be a built-in package. pulsar -p list or ppm list will list all your packages.


DataMovement Resume Sample Update

Converts a resume sample to use the new resume helper APIs for constructing its resources.

API change check
API changes are not detected in this pull request.


Added Installation guide for Gitlab Pages

Again, same as #590

Thanks @mgeier for your in-depth review!
To be honest, I really don't know much about gitlab workflows, and this script is something that performed good for me and I wanted to share it to others, who also might want to use nbsphinx in gitlab. I don't have so much clue about optimizing these lines, and also, I currently don't have much time/not the priority to figure that out, so please feel free to push any changes that you think are appropriate on this branch, and thanks again for your review! :)

Hi @mgeier ,
sorry for my very delayed reply.
Unfortunately, I am really involved in other open-source projects right now, so I don't have the capacity to work on this pr.
Nevertheless, I tested your script on a repo that I created extra for this reason:
https://gitlab.gwdg.de/jan-hendrik.mller/okapi42
and I did not get it to work.
First of all, it did give me the error:
config directory doesn't contain a conf.py file (/builds/jan-hendrik.mller/okapi42/doc)
see log here: https://gitlab.gwdg.de/jan-hendrik.mller/okapi42/-/jobs/701975
When the conf.py was at okapi42/doc/source.
Still changing the whole folder structure gave me then this error.
https://gitlab.gwdg.de/jan-hendrik.mller/okapi42/-/jobs/701983
I hope this will help you to build a nice GitLab pipeline with nbsphinx.

Thanks for trying this out @kolibril13!
As you have seen, the source directory is unnecessary, but if you like to use it nevertheless, you can just change the Sphinx call to use doc/source instead of doc.
However, I think it is much less confusing for newcomers to just get rid of the source subdirectory.
Your second error is just a warning-turned-into-an-error. If you don't want this to happen, you can remove the -W flag from the Sphinx call. However, I highly recommend to keep it and to fix the warning instead.
In this case, the warning is:
WARNING: html_static_path entry '_static' does not exist

There are two ways to fix this: either you remove the unused setting html_static_path = ['_static'] from your conf.py, or you create the _static directory that is referenced in this setting.

or you create the _static directory

Nice, that fixed it! :)
Thanks for taking time and writing the GitLab script, I've just updated this pr with your script.

Sorry for the long delay, I've merged your PR now.

Not problem!
Thanks! :)

I forgot to squash your commits, I've done that now in 8f6343a65eb5780715a3d0a26625cd5af9bdcd44.


[Change] I would like fix the nav Bar

I would like to work to improve the nav-bar I can see that the side nav bar functionality doesn't work , so i can fix that . More over there is problem in the media query in the nav-bar i can fix that too.
You can assign this work to me , i can fix this problem :)

@ANSHIKA-26  please assign me the issue .

can you please assign this work to me again I mistakenly remove assigned work   :(

I would like to work on fixing this issue. Please assign it to me.


Broken link in documentation

The link to http://openbloomberg.com in your description box is broken. I believe it should point to the link stated in the README (Bloomberg Labs API). Just a heads up!

Fixed, thanks!


Doesn't work as described in README: log.logSync(logName).write(log.entry(metadata, payload))

The behavior of log.logSync(logName).write(log.entry(metadata, payload)) doesn't match what's described in the README.
Environment details

OS: Google App Engine Standard Environment for Node.js
Node.js version: 16
npm version: 8.3.1
@google-cloud/logging version: 9.8.3

I've created a reproduction at https://github.com/chriscalo/logsync-bug and copied the full details here:
Steps:

Deploy to App Engine Standard environment:

gcloud app deploy app.yaml --project=<PROJECT_ID>

Go to console.cloud.google.com/logs/ to view output

Expected:
Here are the first two calls to log.write() in index.js:
const metadata = {
  resource: {
    type: "gae_app",
    labels: {
      module_id: process.env.GAE_SERVICE,
      version_id: process.env.GAE_VERSION,
    },
  },
};

log.write(log.entry(metadata, "A text payload"));
log.write(log.entry(metadata, { message: "A JSON payload" }));

The expected output is something like: (irrelevant details removed)
[
  {
    "textPayload": "A text payload",
    "resource": {
      "type": "gae_app",
      "labels": {
        "version_id": "logsync-bug",
        "module_id": "default",
      }
    },
    "timestamp": "2022-05-06T23:13:23.002Z",
    "logName": "projects/REDACTED_PROJECT_ID/logs/my_log"
  },
  {
    "jsonPayload": {
      "message": "A JSON payload"
    },
    "resource": {
      "type": "gae_app",
      "labels": {
        "module_id": "default",
        "version_id": "logsync-bug"
      }
    },
    "timestamp": "2022-05-06T23:13:23.004Z",
    "logName": "projects/REDACTED_PROJECT_ID/logs/my_log",
    "receiveTimestamp": "2022-05-06T23:13:23.270510336Z"
  }
]

Actual:
The actual output looks like the following: (irrelevant details removed)
[
  {
    "jsonPayload": {
      "message": "A text payload",
      "timestamp": "2022-05-06T23:13:23.002Z",
      "logName": "projects/REDACTED_PROJECT_ID/logs/my_log",
      "resource": {
        "type": "gae_app",
        "labels": {
          "module_id": "default",
          "version_id": "logsync-bug"
        }
      }
    },
    "resource": {
      "type": "gae_app",
      "labels": {
        "zone": "us3",
        "version_id": "logsync-bug",
        "module_id": "default",
        "project_id": "REDACTED_PROJECT_ID"
      }
    },
    "timestamp": "2022-05-06T23:13:23.004560Z",
    "logName": "projects/REDACTED_PROJECT_ID/logs/stdout",
  },
  {
    "jsonPayload": {
      "timestamp": "2022-05-06T23:13:23.004Z",
      "message": {
        "message": "A JSON payload"
      },
      "resource": {
        "labels": {
          "module_id": "default",
          "version_id": "logsync-bug"
        },
        "type": "gae_app"
      },
      "logName": "projects/REDACTED_PROJECT_ID/logs/my_log"
    },
    "resource": {
      "type": "gae_app",
      "labels": {
        "version_id": "logsync-bug",
        "module_id": "default",
        "project_id": "REDACTED_PROJECT_ID",
        "zone": "us3"
      }
    },
    "timestamp": "2022-05-06T23:13:23.005096Z",
    "logName": "projects/REDACTED_PROJECT_ID/logs/stdout",
  }
]

The full output can be seen in downloaded-logs-20220506-191603.json
Fix
I've followed the instructions from the README, copied below. Notice that it says to create an entry, passing metadata and a payload and then call log.write(entry):
// Optional: Create and configure a client
const logging = new Logging();
await logging.setProjectId()
await logging.setDetectedResource()

// Create a LogSync transport, defaulting to `process.stdout`
const log = logging.logSync(logname);
const meta = { /* optional field overrides here */ };
const entry = log.entry(meta, 'Your log message');
log.write(entry);

// Syntax sugar for logging at a specific severity
log.alert(entry);
log.warning(entry);

However, in calls to log.write(entry), it appears the final payload is being populated with the entire entry object passed to log.write() and therefore the entry.metadata isn't being applied at all.
So either the README is wrong or there's a bug here. To fix this it seems would require either:

updating the README to show how to correctly create and write to a log.logSync(), or
fixing the behavior to match what's in the README.

I also encountered the same issue. Can't set the logName to something custom and also can't have textPayload and jsonPayload when using logSync

Thanks @chriscalo for opening this issue! It seems that there are multiple issues here, feel free to correct me if I am wrong:

I believe that having extra "message" field in jsonPayload is related to recently fixed 1301 - we added an ability to eliminate extra "message" field when LogSync is used to output structured logs.
As for textPayload, I believe we only have an ability today to have text in "message" field inside jsonPayload. I am going to follow up on this to see how it behaves when I print raw console logs which has "textPayload" field and will get back to you.
As for metadata, the logic to retrieve LogEntry specific fields can be followed here.

Please let me know if my observations make sense and please comment if you have more questions.

Actually, my bad on that edit: the mentioned change (#1301) was released, so I've tried setting useMessageField to false.
It's still not behaving the same way as async Log does, as the end result is this:
{
  insertId: "INSERT ID"
  jsonPayload: {
    data: {16}
    logName: "projects/{{RETRACTED}}/logs/hyperloop-telemetry"
    resource: {2}
    timestamp: "2022-07-20T11:27:36.726Z"
    type: "BatteryStatusUpdate"
  }
  labels: {3}
  logName: "projects/{{RETRACTED}}/logs/cloudfunctions.googleapis.com%2Fcloud-functions"
  receiveTimestamp: "2022-07-20T11:27:36.839152437Z"
  resource: {2}
  timestamp: "2022-07-20T11:27:36.726459Z"
  trace: "SOME TRACE"
}

As you can see from the above: logName, timestamp and resource are still stuck under jsonPayload. This is clearly a bug (and is not according to the docs): at least the logName should actual set the value to top level, otherwise what's the point... The only thing it changed for better: message is no longer wrapping the data (jsonPayload#message).

Thanks @NeverwinterMoon for providing more context! Below are some points with respect of your observations:

When running in serverless environments like Cloud Functions (CF), the logName and resource fields are always overriden by the environment when stdout-based output is used. See more explanation in Structured logging in Google Cloud blog under How to write logs section. I filed an issue with CF team to provide an ability to override the logName, so for now we embedding this into jsonPayload field so it could be searched at least. As for resource, I believe it is mandatory field and expected to be in specific format which is described here.
I will follow up regarding the timestamp field - based on explanation here it should be picked up correctly from the output, but seems it might be some issues.

Downgrading priority for now until we clarify this issue with product teams

@chriscalo and @NeverwinterMoon , I was thinking to close this issue - the timestamp issue was fixed and as for logName, it might take time to fix - I filed a feature request for our product team and it will be tracked separately.
Please let me know if you have any other questions - thanks!

I might be misunderstanding something, but I think the original problem still stands that the docs and the behavior don't align. This would suggest that we shouldn't close this issue unless (a) there's a flaw in my original interpretation, (b) the behavior is fixed to match the docs, or (c) the docs are updated to match the behavior.

So either the README is wrong or there's a bug here. To fix this it seems would require either:

updating the README to show how to correctly create and write to a
log.logSync(), or
fixing the behavior to match what's in the README.

Hi @chriscalo, when the logging agent pick up the logs from stdout written by LogSync, it is expected that the Logging agent then sends the structured logs to Cloud Logging as the jsonPayload of the LogEntry structure. textPayload will be extracted to LogEntry  parent level in very few cases, more details can be found here: https://cloud.google.com/logging/docs/structured-logging

However, in calls to log.write(entry), it appears the final payload is being populated with the entire entry object passed to >log.write() and therefore the entry.metadata isn't being applied at all.

In your case, entry.metadata is actually still being extracted in LogEntry.resource in an extended fashion:

Since by default the logging agent will rename LogName when sending to Cloud Logging API, we will still want to keep logName under jsonPayload so it is searchable before CF team provide an ability to override the logName.
I understand this is causing confusions since the logging behavior is inconsistent with log async. I will update the document to explain the expected behavior. Thank you!

I am nearly certain that the original issue as I stated it is incorrect behavior.
We might be taking past each other. Where do we think the disconnect is coming from? What more can I provide to convince the team that this behavior (or the README) is wrong.

@chriscalo
I am also having trouble understanding LogSync and its intended purpose.
The default behaviour of the logging object returned by logSynch is non-sensical and doesn't work in practice afaik.
The logging object must be instantiated with the useMessageField: false options for it generate actual logging agent/cloudrun parsable output
i.e
 const log = logging.logSync('test', process.stdout, {useMessageField: false})

I am nearly certain that the original issue as I stated it is incorrect behavior.
We might be talking past each other. Where do we think the disconnect is coming from? What more can I provide to convince the team that this behavior (or the README) is wrong?
Shouldn't the following be true for the log.entry() method?

it should be possible to pass a string for the payload parameter and have that end up in the log entry as a textPayload
nothing from the metadata parameter should end up in the jsonPayload

Sorry about the confusion here Chris. I agree that there is a mismatch between the actual behavior and the README documentation for using LogSync. I will try a latest repro and get back to you.


Add car

Allow to add from cars menu and also fron start transaction screen when no cars
Navigation between Payment Method Form and Start transaction screen improved
Navigation between Add Car Form and Start transaction screen improved
HOTFIX: display no Payment Method error when user selection hidden (already merged)

@LucasBrazi06 I have a navigation issue, I'd like to take some time to try updating react-navigation to the latest version.

Maybe you should do this in another PR? This one is big enough ;-)

I can yes, the thing is I have an issue for this specific PR


Multi-Label Training With Variable Label-width

I'm wondering if the current  Data Iterator could support flexible number of label for a single image, for example:
0 label1 path_to_image1
1 label1 label2 path_to_image2
2 label3 label4 label5 path_to_image3

or it is possible to fix the label-width while put NULL in none-label place,such as:
0 label1 NULL NULL NULL NULL path_to_image1
1 label1 label2 NULL NULL NULL path_to_image2
2 NULL NULL label3 label4 label5 path_to_image3

You need your own data iter with bucketing for this. Because the graph is different each time.

@piiswrong Thanks for the reply, could your share me some more information about it? Any samples about how I can create it by myself?


storage: don't break existing functionality if landscape not up to date

This fixes LAND-1096 by making sure we default the new values even if Landscape doesn't send them to us. This ensures that uploads still work until Landscape is updated. This also clears credentials from being stored in local storage.

@arthyn Any blockers? Currently broken in testing.


Drop build-host label

CLOUDBLD-8832
OSBS will not provide this label anymore.
Signed-off-by: Adam Cmiel<EMAIL_ADDRESS>Maintainers will complete the following section

[x] Commit messages are descriptive enough
[x] Code coverage from testing does not decrease and new code is covered
[n/a] JSON/YAML configuration changes are updated in the relevant schema
[x] Changes to metadata also update the documentation for the metadata
[x] Pull request has a link to an osbs-docs PR for user documentation updates

Release notes (Incompatible Changes)

Support for build-host label has been removed, as it is no longer used by OSBS


Issues with description of minimaxApprox package in RemezProblem.md

Hi, @hwborchers.
I'd like to address a couple of issues with your description of the minimaxApprox package in RemezProblem.md.

Per your comments in Issue 2, when the mechanical algorithm for fitting a polynomial of degree $n$ fails, the package has been updated to look for a polynomial of degree $n+1$ and return that so long as the "highest" coefficient is effectively 0. Which means it recovers the same parameters for the Runge function as do the other implementations (at least to machine precision). Therefore, I believe this statement "the coefficients that minimaxApprox produces are not really accurate" is now itself incorrect. I understand you want to write your own work, which is why I presume you did not accept this pull request, but I would request a review given the changes.
You write "We also see that the uneven coefficients are very small. The reason is that the Runge function is 'even', i.e., fnRunge(-x) = fnRunge(x)". That is partially incorrect. While it is true that the theoretical minimax approximation to an even/odd function is itself even/odd, that is not guaranteed by the standard Remez algorithm. See https://arxiv.org/pdf/0803.0439.pdf page 2. There are adjustment to the "standard" Remez that can correct for that, but a classic Remez returning non-zero (although close) parameters for even/odd powers is not unexpected.

I apologize if I sounded too harsh when I described the state of the first version of the 'minimaxApprox' package. I can say that I am happy that you took up the task of implementing the Remez algorithm in R. I had some criticism of the user interface of your function, and I am still not really satisfied with item (1).
I will rework this note.  Even Julia with its implementation utilizing higher-precision numbers does not return zeros for the uneven coefficients. I sincerely hope you will continue working on and maintaining this package. Your contribution to CRAN is welcome.
The main intention of this "Remez problem" note was to show that one can generate good results for the Remez problem by applying convex optimization. Still, the result is not as accurate as calculating the coefficients a la Remez.


Fix Jenkins CI test logs

Two options:

either we pass flags to Boost.Test and Google benchmark to disable color in the console output,
or wrap the shell steps in the Jenkinsfile using the ansicolor plugin

Any preference?

The current change works around Jenkins truncating the logs.
Still need to fiddle with CTest settings (CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE and such...)

This still gives
The rest of the test output was removed since it exceeds the threshold of 1024 bytes.

Can't you just pipe the output to cat (https://stackoverflow.com/questions/46117069/how-to-force-black-and-white-output-in-google-benchmark)?

Is there anything that needs to be done here? Is it still a problem?

Is there anything that needs to be done here? Is it still a problem?

This is still a problem and I couldn't figure it out.

From the thread description, it is not clear what exactly does not work. Is the current problem that something is still producing colored output?

(Did not work though)

(Did not work though)

Please put in more details. What and why?

https://cloud.cees.ornl.gov/jenkins-ci/blue/organizations/jenkins/ArborX/detail/PR-55/6/tests
Standard Output
Running 6 test cases...
[NON-XML-CHAR-0x1B][0;39;49m*** No errors detected
[NON-XML-CHAR-0x1B][0;39;49m

Also ...[truncated 114 chars]... in ArborX_DistributedTree_Benchmark

I don't get why the standard output reported for the tests is still messed up.
The environment seems to be set properly in the builds and I this works on my local machine.
In any case these changes improve the jenkinsfile so I am in favor of merging as is.

The console output looks correct but the overview in Blue Ocean doesn't so it's seems to be some xunit problem.


Allow using druxt.js without all modules

Is your feature request related to a problem? Please describe.
We'd like to use druxt.js, but not all of the modules.
Currently we're forced to use them all per https://github.com/druxt/druxt.js/blob/develop/src/module.js#L30
  // Add NuxtJS modules.
  const modules = [
    '@nuxtjs/proxy',
    'druxt-blocks',
    'druxt-breadcrumb',
    'druxt-entity',
    'druxt-menu',
    'druxt-router',
    'druxt-schema',
    'druxt-search',
    'druxt-views'
  ]
  for (const key in modules) {
    this.addModule(modules[key])
  }

Describe the solution you'd like
I'd like druxt.js to just work with what modules we define.
Describe alternatives you've considered
Hacking the code in node_modules
Additional context
druxt-schema does not work with aliased resource types. So the alternative is to not use schema or entity modules.

My thought is that you could add an modules item to the options key in nuxt.config.js, and then modify DruxtModule() like so:
for (const key in options.modules) {
  this.addModule(options.modules[key]
}

Hi @mglaman / @wonder95,
You can already use DruxtJS without all the modules, you just need to install the modules individually instead of installing the meta module.
However, the suggestion to have them configurable is very appealing, so I’m happy to proceed with a solution like that.
With regards to the Druxt Schema and aliased resources, there is an open issue with code available at https://github.com/druxt/druxt-schema/issues/6

As per a Slack discussion with @wonder95, a working example of how to just use the druxt-menu module by itself can be found here: https://github.com/Decipher/druxt-menu-example

@Decipher great! so there's nothing too fancy for the store.
Maybe we can have a repo in the org for an "awesome-druxt" list and "druxt-contrib"
Totally ripping this from https://github.com/drud/awesome-ddev and https://github.com/drud/ddev-contrib.

so there's nothing too fancy for the store.

Yeah, NuxtJS only initialises the Vuex store if you have atleast one module present. But the DruxtJS module specifically turns the feature on.
Each individual module that has a Vuex store should also be doing this, I will follow that up in in the future.
And absolutely intend to have awesome-druxt.

I'm revisiting this issue, as Druxt 0.3.0 is going to be bing in a new Druxt component that will become the core of this module.
As such, the requirements to create a parity Drupal application should be shifted into it's own module.

The DruxtJS Site module now lives, which will now be the base module for anyone using Druxt to do a fully decoupled "Site".
This functionality will be deprecated from the DruxtJS module, along with a bunch of new core improvements, in an upcoming release.

The site specific functionality now lives in Druxt Site, and the Druxt module now provides a Druxt component to provide a connection to the relevant module.
You can find more details at https://druxtjs.org


[xbar/dv] Fix the hard-coded path in the xbar dv template

The output vcs setting files should not have a fixed top_earlgrey name.

@timothytrippel May I trouble you to review this? Thanks a lot!

Thanks @timothytrippel for the review. Is this PR okay to be merged? The failed test did not seem to be related to the change.

I just triggered a re-run of the failed jobs, let's see if it passes this time.


Add workout screen

Create workout screen by following the design given

Do follow the guidelines and attach the screenshots in PR

plz assign me

plz assign me

Sure, good luck.

plz assign me

What is the progress?


[Improvement] [Alert] mask the password of email(#11913)

Purpose of the pull request

mask the password of email, telegram,feishu,dingtalk
Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Manually verified the change by testing locally.
(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

@pandong2011  hello, i cherry-pick this pr but found it does not work, can you help check again?

@fhygh Okay, sure

Codecov Report

Merging #11959 (715d088) into dev (e70c501) will increase coverage by 0.11%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                dev   #11959      +/-   ##
============================================
+ Coverage     38.55%   38.66%   +0.11%
- Complexity     4034     4046      +12
============================================
  Files           993      999       +6
  Lines         36673    36701      +28
  Branches       4274     4267       -7
============================================
+ Hits          14138    14190      +52
+ Misses        20912    20886      -26
- Partials       1623     1625       +2

Impacted Files
Coverage Δ

...in/alert/dingtalk/DingTalkAlertChannelFactory.java
98.80% <100.00%> (+0.01%)
:arrow_up:

...r/plugin/alert/email/EmailAlertChannelFactory.java
98.64% <100.00%> (+0.01%)
:arrow_up:

...plugin/alert/feishu/FeiShuAlertChannelFactory.java
97.22% <100.00%> (+0.07%)
:arrow_up:

...in/alert/telegram/TelegramAlertChannelFactory.java
100.00% <100.00%> (ø)

...eduler/server/worker/task/WorkerHeartBeatTask.java
69.38% <0.00%> (-8.17%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
50.00% <0.00%> (-2.86%)
:arrow_down:

...rver/master/runner/task/BlockingTaskProcessor.java
75.86% <0.00%> (-0.55%)
:arrow_down:

...heduler/api/service/impl/ResourcesServiceImpl.java
51.99% <0.00%> (-0.49%)
:arrow_down:

...eduler/api/service/impl/DataSourceServiceImpl.java
27.90% <0.00%> (ø)

...cheduler/server/master/utils/DependentExecute.java
0.00% <0.00%> (ø)

... and 22 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

The commit history of this PR looks pretty wired, could u plz fix it? Thx


Print return of jit method in class

Hi all,
I'm trying to use classes with jax and one of the problems I have is that I can't print a value that is manipulated in a JIT compiled class method. Example code:
import jax.numpy as np
from jax import jit
from functools import partial

class World:
    def __init__(self, p, v):
        self.p = p
        self.v = v

    @partial(jit, static_argnums=(0,))
    def step(self, dt):
        a = - 9.8
        self.v += a * dt
        self.p += self.v *dt

world = World(np.array([0, 0]), np.array([1, 1]))

for i in range(1000):
    world.step(0.01)
print(world.p)

This prints Traced<ShapedArray(float32[2]):JaxprTrace(level=-1/1)>
I'm aware this is expected behavior when you print something inside the function, but this is not inside the function right?
More generally, I'm wondering if object oriented programming is well suited for jax? Should I avoid this kind of stuff? Is JIT capable of working optimally this way?
Thanks for your time!

Thanks for the question!
The issue is that the step method violates functional purity: it has a side-effect (of updating self.v and self.p). You can only use jit on pure functions. (Unfortunately, we don't have good ways of checking whether a function is pure and warning you; it's just an un-checked user promise.)
See also What's supported in the readme.

More generally, I'm wondering if object oriented programming is well suited for jax? Should I avoid this kind of stuff?

Objects are okay, but jit functions can't have side-effects, and that means the pattern in your example (which is pretty canonical Python OOP) won't work with jit.
(@dougalm your leak-detector could have caught this issue. I wonder if we should look into reviving it.)
WDYT?

Here are a couple styles that do work well with JAX:
import jax.numpy as np
from jax import jit
from collections import namedtuple

World = namedtuple("World", ["p", "v"])

@jit
def step(world, dt):
  a = -9.8
  new_v = world.v + a * dt
  new_p = world.p + new_v * dt
  return World(new_p, new_v)

world = World(np.array([0, 0]), np.array([1, 1]))

for i in range(1000):
  world = step(world, 0.01)
print(world.p)

That's just a functional version of your code. The key is that step returns a new World, rather than modifying the existing one.
We can organize the same thing into Python classes if we want:
from jax.tree_util import register_pytree_node
from functools import partial

class World:
  def __init__(self, p, v):
    self.p = p
    self.v = v

  @jit
  def step(self, dt):
    a = -9.8
    new_v = self.v + a * dt
    new_p = self.p + new_v * dt
    return World(new_p, new_v)

# By registering 'World' as a pytree, it turns into a transparent container and
# can be used as an argument to any JAX-transformed functions.
register_pytree_node(World,
                     lambda x: ((x.p, x.v), None),
                     lambda _, tup: World(tup[0], tup[1]))

world = World(np.array([0, 0]), np.array([1, 1]))

for i in range(1000):
  world = world.step(0.01)
print(world.p)

The key difference there is that step returns a new World instance.
Here's one last pattern that works, using your original World class, though it's a bit more subtle:
class World:
  def __init__(self, p, v):
    self.p = p
    self.v = v

  def step(self, dt):
    a = - 9.8
    self.v += a * dt
    self.p += self.v *dt

@jit
def run(init_p, init_v):
  world = World(init_p, init_v)
  for i in range(1000):
    world.step(0.01)
  return world.p, world.v

out = run(np.array([0, 0]), np.array([1, 1]))
print(out)

(That last one takes much longer to compile, because we're unrolling 1000 steps into a single XLA computation and compiling that; in practice we'd use something like lax.fori_loop or lax.scan to avoid those long compile times.)
The reason your original class works in that last example is that we're only using it under a jit, so the jit function itself doesn't have any side-effects.
Of those styles, I personally have grown to like the first. I wrote all my code in grad school in an OOP-heavy style, and I regret it: it was hard to compose with other code, even other code that I wrote, and that really limited its reach. Functional code, by forcing explicit state management, solves the composition problem. It's also a great fit for numerical computing in general, since numerical computing is much closer to math than, say, writing a web server.
Hope that's helpful :)

Hi mattjj
Thanks a lot for your elaborate answers! They're very enlightening.
It's interesting to hear your experiences from grad school, I'll try to learn from them.
I've been thinking about why exactly I want to use OOP, and the pros and cons in relation to JAX.
The main reason to use OOP in my case is because I'm building a physics engine, and OOP provides a neat way of defining objects in the scene with properties and states.
Eventually you get a global state vector with the states of all the objects in it, so I think I'll still try to use OOP to build up the scene and the objects, and define what's what in the global state vector.
But I could keep the vector itself out of the OOP.
That way, there's nothing in self that changes throughout the simulation. And jit would work, right?

Here are a couple styles that do work well with JAX:
import jax.numpy as np
from jax import jit
from collections import namedtuple

World = namedtuple("World", ["p", "v"])

@jit
def step(world, dt):
  a = -9.8
  new_v = world.v + a * dt
  new_p = world.p + new_v * dt
  return World(new_p, new_v)

world = World(np.array([0, 0]), np.array([1, 1]))

for i in range(1000):
  world = step(world, 0.01)
print(world.p)

That's just a functional version of your code. The key is that step returns a new World, rather than modifying the existing one.
We can organize the same thing into Python classes if we want:
from jax.tree_util import register_pytree_node
from functools import partial

class World:
  def __init__(self, p, v):
    self.p = p
    self.v = v

  @jit
  def step(self, dt):
    a = -9.8
    new_v = self.v + a * dt
    new_p = self.p + new_v * dt
    return World(new_p, new_v)

# By registering 'World' as a pytree, it turns into a transparent container and
# can be used as an argument to any JAX-transformed functions.
register_pytree_node(World,
                     lambda x: ((x.p, x.v), None),
                     lambda _, tup: World(tup[0], tup[1]))

world = World(np.array([0, 0]), np.array([1, 1]))

for i in range(1000):
  world = world.step(0.01)
print(world.p)

The key difference there is that step returns a new World instance.
Here's one last pattern that works, using your original World class, though it's a bit more subtle:
class World:
  def __init__(self, p, v):
    self.p = p
    self.v = v

  def step(self, dt):
    a = - 9.8
    self.v += a * dt
    self.p += self.v *dt

@jit
def run(init_p, init_v):
  world = World(init_p, init_v)
  for i in range(1000):
    world.step(0.01)
  return world.p, world.v

out = run(np.array([0, 0]), np.array([1, 1]))
print(out)

(That last one takes much longer to compile, because we're unrolling 1000 steps into a single XLA computation and compiling that; in practice we'd use something like lax.fori_loop or lax.scan to avoid those long compile times.)
The reason your original class works in that last example is that we're only using it under a jit, so the jit function itself doesn't have any side-effects.
Of those styles, I personally have grown to like the first. I wrote all my code in grad school in an OOP-heavy style, and I regret it: it was hard to compose with other code, even other code that I wrote, and that really limited its reach. Functional code, by forcing explicit state management, solves the composition problem. It's also a great fit for numerical computing in general, since numerical computing is much closer to math than, say, writing a web server.
Hope that's helpful :)

Just wanted to let you know that this answer allowed me to convert from an OOP to a functional mindset for the first time! Was v helpful and illustrative, and I can now @jax.jit everything! ;)

I believe we can close this issue, will keep the useful_read label.

Otherwise why not add support for attr classes? They're basically namedtuples under steroids.
Looks to me like it would need a small contrib to the pytree file, mostly at lines:

https://github.com/google/jax/blob/1d09b6be2660fcb2f887c9fd6ee7c72eb27f6a45/jaxlib/pytree.cc#L268
https://github.com/google/jax/blob/1d09b6be2660fcb2f887c9fd6ee7c72eb27f6a45/jaxlib/pytree.cc#L323
https://github.com/google/jax/blob/1d09b6be2660fcb2f887c9fd6ee7c72eb27f6a45/jaxlib/pytree.cc#L538

Then you'd be able to do something like:
@attr.s
class World:
    p: np.ndarray = attr.ib()
    v: np.ndarray = attr.ib()

    @jax.jit
    def step(self, dt):
        a = - 9.8
        v = a * dt
        p = self.v *dt
        return attr.evolve(self, p=p, v=v)

Cause World instances would be recognized as acceptable arguments and outputs of jitted functions.

In case anyone comes across this, there is now a section in the FAQ addressing jit compilation of methods: https://jax.readthedocs.io/en/latest/faq.html#how-to-use-jit-with-methods


320 ezedittable integration

Made Dropdown and Checklist filters regenerate on rows-changed event
Made AlternateRows regenarate zebra background on rows-changed event
Added unit tests

#320

Current coverage is 85.43% (diff: 100%)

Merging #375 into master will increase coverage by 0.04%

@@             master       #375   diff @@
==========================================
  Files            35         35
  Lines          4284       4324    +40
  Methods           0          0
  Messages          0          0
  Branches        377        376     -1
==========================================
+ Hits           3658       3694    +36
- Misses          593        599     +6
+ Partials         33         31     -2

Powered by Codecov. Last update c1f0d71...312d8b1

Current coverage is 85.43% (diff: 100%)

Merging #375 into master will increase coverage by 0.04%

@@             master       #375   diff @@
==========================================
  Files            35         35
  Lines          4284       4324    +40
  Methods           0          0
  Messages          0          0
  Branches        377        376     -1
==========================================
+ Hits           3658       3694    +36
- Misses          593        599     +6
+ Partials         33         31     -2

Powered by Codecov. Last update c1f0d71...312d8b1

🚢

🚢


Kotlin: 875. Koko Eating Bananas

File(s) Modified: 875-Koko-Eating-Bananas.kt.
Language(s) Used: Kotlin..
Submission URL: _https://leetcode.com/submissions/detail/780612055/_

Thanks, @MaratKhakim!


is this a gem?

if so whats its name?

Unlikely due to the Gem not being published to RubyGems.org and its README instructions usage saying:

Usage:

Clone this repository and simply run ruby icloud.rb
You will be prompted for your iCloud username, then password.

You most likely need to clone via the following command
git clone https://github.com/jurriaan/Ruby-iCloud.git

Or download it via the following URL
https://github.com/jurriaan/Ruby-iCloud/archive/master.zip
Or via the download link on the main repository page

Then navigate into the the download file directory and then follow the usage instructions, by entering the following in the command line prompt
ruby icloud.rb

@Sonna Fair enough, but does that mean I have to load the whole project into my rails application if I want to use it?

Technically you load the whole project into you rails application when you use it.
But what you are asking is, how do you include a Ruby Gem that is not listed on Ruby Gems?
Within your Ruby project, add the following line to your Gemfile
gem "ruby-icloud", github: "jurriaan/Ruby-iCloud"

For more information, please refer Bundlers documentation:

Bundler: The best way to manage a Ruby application's gems

That should work, otherwise you need to specify the full URL like the following:
gem "ruby-icloud", git: "https://github.com/jurriaan/Ruby-iCloud"

However, like you suggested you can copy the contents of the project into your lib directory or use a vendor directory for gems; e.g. vendor/gems and specific in your Gemfile something like the following
gem "ruby-icloud", path: "vendor/gems/Ruby-iCloud"

Reference: - ruby on rails - How do I vendorize gems for Rails3/Bundler - Stack Overflow
How you copy into the directory could be just a straight copy or a Git Submodule (but submodules are bit more involved when moving the parent level repository around or during deployment, I would only cautiously recommend it).

When I do any of those things I get a
`require': cannot load such file -- ./lib/ruby-icloud/util (LoadError)"

originating from
Ruby-iCloud-5bda330e8271/lib/ruby-icloud.rb:3:in `<top (required)>'

Really all I want from this is a way to verify if an iCloud account (email/password) is valid since they're one of the only major providers not to offer omniauth (to my knowledge), I don't want the command line interface at all. Do you have any idea how to do this?
Preemptive thank you! I'm aware I'm being difficult so thanks for trying to help even though I'm being a chore.

um... You are not going to like this answer (or at least most it).
From what I can gather the Ruby-iCloud/ruby-icloud.rb file that Bundler uses via the Gemfile is written to only work locally, because of its ./lib/ruby-icloud file paths that are relative and so was really written to use externally.
There two ways to fix this I have found:
To fix the Gem, the Ruby-iCloud/ruby-icloud.rb file that looks this:
require 'bundler/setup'

require './lib/ruby-icloud/util'
require './lib/ruby-icloud/client'
require './lib/ruby-icloud/response'
require './lib/ruby-icloud/plistresponse'
require './lib/ruby-icloud/jsonresponse'
require './lib/ruby-icloud/protobufresponse'
require './lib/ruby-icloud/request'

require './lib/ruby-icloud/protodef/backup.rb'

require './lib/ruby-icloud/responses/accountsettingsresponse.rb'
require './lib/ruby-icloud/responses/authenticationresponse.rb'
require './lib/ruby-icloud/responses/Backup/backupdevicesresponse.rb'
require './lib/ruby-icloud/responses/Backup/backupdeviceresponse.rb'
require './lib/ruby-icloud/responses/Backup/backupfilesresponse.rb'
require './lib/ruby-icloud/responses/Backup/backupgetfilesresponse.rb'
require './lib/ruby-icloud/responses/Backup/backupkeysresponse.rb'
require './lib/ruby-icloud/responses/configurationresponse.rb'
require './lib/ruby-icloud/responses/defaultresponse.rb'
require './lib/ruby-icloud/responses/FindMyiPhone/initclientresponse.rb'
require './lib/ruby-icloud/responses/FindMyiPhone/updateclientresponse.rb'

require './lib/ruby-icloud/requests/accountsettingsrequest.rb'
require './lib/ruby-icloud/requests/authenticationrequest.rb'
require './lib/ruby-icloud/requests/Backup/backupdevicesrequest.rb'
require './lib/ruby-icloud/requests/Backup/backupdevicerequest.rb'
require './lib/ruby-icloud/requests/Backup/backupfilesrequest.rb'
require './lib/ruby-icloud/requests/Backup/backupgetfilesrequest.rb'
require './lib/ruby-icloud/requests/Backup/backupkeysrequest.rb'
require './lib/ruby-icloud/requests/configurationrequest.rb'
require './lib/ruby-icloud/requests/FindMyiPhone/initclientrequest.rb'
require './lib/ruby-icloud/requests/FindMyiPhone/updateclientrequest.rb'

Needs to be updated to look this
require 'bundler/setup'

require 'ruby-icloud/util'
require 'ruby-icloud/client'
require 'ruby-icloud/response'
require 'ruby-icloud/plistresponse'
require 'ruby-icloud/jsonresponse'
require 'ruby-icloud/protobufresponse'
require 'ruby-icloud/request'

require 'ruby-icloud/protodef/backup.rb'

require 'ruby-icloud/responses/accountsettingsresponse.rb'
require 'ruby-icloud/responses/authenticationresponse.rb'
require 'ruby-icloud/responses/Backup/backupdevicesresponse.rb'
require 'ruby-icloud/responses/Backup/backupdeviceresponse.rb'
require 'ruby-icloud/responses/Backup/backupfilesresponse.rb'
require 'ruby-icloud/responses/Backup/backupgetfilesresponse.rb'
require 'ruby-icloud/responses/Backup/backupkeysresponse.rb'
require 'ruby-icloud/responses/configurationresponse.rb'
require 'ruby-icloud/responses/defaultresponse.rb'
require 'ruby-icloud/responses/FindMyiPhone/initclientresponse.rb'
require 'ruby-icloud/responses/FindMyiPhone/updateclientresponse.rb'

require 'ruby-icloud/requests/accountsettingsrequest.rb'
require 'ruby-icloud/requests/authenticationrequest.rb'
require 'ruby-icloud/requests/Backup/backupdevicesrequest.rb'
require 'ruby-icloud/requests/Backup/backupdevicerequest.rb'
require 'ruby-icloud/requests/Backup/backupfilesrequest.rb'
require 'ruby-icloud/requests/Backup/backupgetfilesrequest.rb'
require 'ruby-icloud/requests/Backup/backupkeysrequest.rb'
require 'ruby-icloud/requests/configurationrequest.rb'
require 'ruby-icloud/requests/FindMyiPhone/initclientrequest.rb'
require 'ruby-icloud/requests/FindMyiPhone/updateclientrequest.rb'

So, no relative paths, otherwise you would get these kind of errors
~/.gems/2.3.0/bundler/gems/Ruby-iCloud-5bda330e8271/lib/ruby-icloud.rb:3:in `require': cannot load such file -- ./lib/ruby-icloud/util (LoadError)

However, we are trying to avoid altering the source without taking full ownership, so my alternative and second solution is to recreate that file within your vendor/gems directory as ruby-icloud.rb as follows:
require "bundler/setup"

require 'ruby-icloud/client'
require 'ruby-icloud/util'
require 'ruby-icloud/client'
require 'ruby-icloud/response'
require 'ruby-icloud/plistresponse'
require 'ruby-icloud/jsonresponse'
require 'ruby-icloud/protobufresponse'
require 'ruby-icloud/request'

require 'ruby-icloud/protodef/backup.rb'

require 'ruby-icloud/responses/accountsettingsresponse.rb'
require 'ruby-icloud/responses/authenticationresponse.rb'
require 'ruby-icloud/responses/Backup/backupdevicesresponse.rb'
require 'ruby-icloud/responses/Backup/backupdeviceresponse.rb'
require 'ruby-icloud/responses/Backup/backupfilesresponse.rb'
require 'ruby-icloud/responses/Backup/backupgetfilesresponse.rb'
require 'ruby-icloud/responses/Backup/backupkeysresponse.rb'
require 'ruby-icloud/responses/configurationresponse.rb'
require 'ruby-icloud/responses/defaultresponse.rb'
require 'ruby-icloud/responses/FindMyiPhone/initclientresponse.rb'
require 'ruby-icloud/responses/FindMyiPhone/updateclientresponse.rb'

require 'ruby-icloud/requests/accountsettingsrequest.rb'
require 'ruby-icloud/requests/authenticationrequest.rb'
require 'ruby-icloud/requests/Backup/backupdevicesrequest.rb'
require 'ruby-icloud/requests/Backup/backupdevicerequest.rb'
require 'ruby-icloud/requests/Backup/backupfilesrequest.rb'
require 'ruby-icloud/requests/Backup/backupgetfilesrequest.rb'
require 'ruby-icloud/requests/Backup/backupkeysrequest.rb'
require 'ruby-icloud/requests/configurationrequest.rb'
require 'ruby-icloud/requests/FindMyiPhone/initclientrequest.rb'
require 'ruby-icloud/requests/FindMyiPhone/updateclientrequest.rb'

Also,require "bundler/setup" may or may not required, depending on your setup since it may have been required (but require it first and toggle it off and on after it works the first time to see if it is necessary)
So basically it is the same fix, but you would call your vendor copy locally, via:
require "vendor/gems/ruby-icloud"

Depending on where you place it and how your load paths are setup
Instead of
require "ruby-icloud"

And lastly, if are using Rails it is usually setup to require everything included in the Gem file (that varies between environments and Gem groups) so would need to add the following option require: false to your ruby-icloud gem within the Gemfile, like so:
gem "ruby-icloud", github: "jurriaan/Ruby-iCloud", require: false

I think that's it.

Ok got it to load in my project, but when I try to initialize a RubyiCloud::Client object it errors on this line
      dir = Dir.mktmpdir
      # this one @client.set_cookie_store("#{dir}/cookies.bin")

with the error
Errno::ENOENT: No such file or directory @ rb_sysopen - /var/folders/ss/tbk3ffkj0snff_tgm5wp0wj00000gn/T/d20170309-7719-1v6dskk/cookies.bin

I am not actually familiar with this Ruby library, I just thought I could help you with your require Gem issue.
Also, it kind of a new issue
I can get pass the initial RubyiCloud::Client.new and authenticate myself, then print my User account details. So my guess would file / folder permissions for the user running the Rails application and writing to the temporary directory (which is usuallytmp/).
The /var/folder indicates you are running on OSX (or macOS); according to - What is "/var/folders"?.
The temporary folder might be aggressively flushed by the operating system, or full (somehow). However, you should be able to change it with the Rails environment setting ENV['RAILS_TMP'] to something else; e.g.
RAILS_TMP='/tmp' rails server # ...

_Just make sure the tmp directory exists, or set to public folder instead; e.g. RAILS_TMP='public' _


wasm_is_reftype_supers_of_extern seems unused

/Users/yamamoto/git/wasm-micro-runtime/core/iwasm/common/gc/gc_type.c:850:1: warning: unused function 'wasm_is_reftype_supers_of_extern' [-Wunused-function]
wasm_is_reftype_supers_of_extern(uint8 type)

i'm not familiar with the nearby logic to say if a removal is a correct fix.

Close this issue since the unused function was removed in https://github.com/bytecodealliance/wasm-micro-runtime/pull/3489.


Model Serving - AutoGluonOnnx

For tabular model, or any model class, is there any easy way or plan in the coming release to integrate with ONNX for downstream serving ?
A side question is for any individual trained model, e.g.model = predictor._trainer.load_model('xgboost'), is this directly compatible to things like mlflow.xgboost or  bentoml.frameworks.xgboost.XgboostModelArtifact? It is not hard to write a customised wrapper, however would like to hear from your plan. I think it would be super good to consider the overall ecosystem when we have a such user friendly autogluon already.

If anyone wants to try building a prototyping / POC of AutoGluon with ONNX support, we welcome contributions! One tricky aspect of AutoGluon is that it is an end-to-end ML solution, whereas most optimization frameworks like ONNX operate at the individual model level (aka does not support pre-processing, feature generation, post-processing, ensembling, etc.).
Obviously this doesn't mean it isn't possible, just that in order to incorporate AutoGluon nicely into these frameworks, it might be more in-depth than incorporating a singular model such as a random forest.

A side question is for any individual trained model, e.g.model = predictor._trainer.load_model('xgboost'), is this directly compatible to things like mlflow.xgboost or bentoml.frameworks.xgboost.XgboostModelArtifact? It is not hard to write a customised wrapper, however would like to hear from your plan. I think it would be super good to consider the overall ecosystem when we have a such user friendly autogluon already.

The actual ML model you would be familiar with (not the AutoGluon wrapper) is somewhat hard to get to in a simple manner due to the complexity of how AutoGluon operates. If you are not doing bagging / stacking, you can find the actual xgboost model via predictor._trainer.load_model('xgboost').model.
If you are using bagging / stacking, it would be:
xgboost_bag = predictor._trainer.load_model('xgboost')
xgboost_bag.persist_child_models()
xgboost_0 = xgboost_bag.models[0].model
xgboost_1 = xgboost_bag.models[1].model
# etc...

Cool, I think the answer is expected however still thank you for the transparency. Do you have any plan in your mind regarding model serving then when it comes to end-to-end, i.e how the best model/models could be horizontally scalable for inference?

We are working on improving general inference latency across the board (v0.2.0 that will soon be releasing is 5x faster in inference than v0.1.0), as well as incorporating acceleration frameworks internally such as Intel DAAL and NVIDIA RAPIDS. We are looking into distributed / cluster based inference which we will provide more news for when it's ready. Currently if you have the skills to containerize your trained AutoGluon model, you could use an inference hosting service like SageMaker.
I think in general speed-ups internally for AutoGluon are the lowest hanging fruit, as containerizing / dockerizing is relatively straightforward compared to integrating heavily with optimization frameworks that may not have end-to-end ML in mind.

0.2.0 is planned for release sometime this week. For deployment, it's possible to do some kind of custom ECS / EC2 solution (or a fully generic one), as all thats needed is to wrap the TabularPredictor object in some kind of callable API. Would be very interested if you end up having any info to share on how this process goes. We are thinking about some kind of cloud API such as autogluon.cloud.CloudPredictor, which could then do predictor.deploy(...). Ideally, we could then convert a TabularPredictor to a CloudPredictor to seamlessly deploy a local model, however the planning is still in early stages.

ESC/EC2 are absolutely our first choice here. We are trying to bundling with BentoML, which looks similar to you cloud API solution. Will let you know how it goes. Congratulations on the release then!
Regards
Shaohong Bai

On 26 Apr 2021, at 22:11, Nick Erickson @.***> wrote:
cloud API

BentoML looks really cool! We might end up using that for our backend in the official API, thanks for mentioning it.


TLS native feature flag name does not match docu

Bug Description
The documentation for the TLS native feature references a "tls-native" feature flag, but the flag is actually called "tls-native-tls" according to the Cargo.toml
I think either the feature flag or the Readme/docu should be updated.
Furthermore the documentation also seems to use "tls-native" and "native-tls" interchangeably.
Info

SQLx version: 0.7.0

This should all be fixed now. Please reopen if there's something missing in the 0.7.1 release.


  Maybe Docker hub is calculating it wrong.
Ive played around with removing the cache and stuff but it only lowers it a little bit.  Ive updated the doc to reflect the new 87MB size.


Alluxio  does not work with IBM Cloud Object Storage as an underlying storage

Alluxio Version:
What version of Alluxio are you using? Alluxio 2.2.0
Describe the bug
I was trying to configure IBM Cloud Object Storage as an underlying storage for alluxio.  Since IBM Cloud Object Storage is S3-API Compatible , tried using the AWS config parameters to mount the IBM COS  buckets similar to MinIO but unable to get it work as i keep getting 403 errors.  Plese find commands and logs below:

./bin/alluxio fs mount --option aws.accessKeyId=XXXX --option aws.secretKey=XXXX --option alluxio.underfs.s3.disable.dns.buckets=true --option alluxio.underfs.s3.endpoint=https://s3.direct.eu.cloud-object-storage.appdomain.cloud /mnt/s3 s3://XXXX/
com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden; Request ID: 77F1F14CB9E4784C; S3 Extended Request ID: tL5o3oXL+TniRUoKtZY4hGOaDYKYpgWjQgTYWVesaiRww4THEKjcNWbYCQXK6Fb6NwL77uHQmBs=), S3 Extended Request ID: tL5o3oXL+TniRUoKtZY4hGOaDYKYpgWjQgTYWVesaiRww4THEKjcNWbYCQXK6Fb6NwL77uHQmBs=

Alluxio master logs for the above command:
2020-11-21 04:53:43,399 INFO  ExtensionFactoryRegistry - Loading core jars from /opt/alluxio-2.2.0/lib
2020-11-21 04:53:43,415 INFO  ExtensionFactoryRegistry - Loading extension jars from /opt/alluxio-2.2.0/extensions
2020-11-21 04:53:44,097 WARN  FileSystemMasterClientServiceHandler - Exit (Error): Mount: request=alluxioPath: "/mnt/s3"
ufsPath: "s3://XXXX/"
options {
readOnly: false
properties {
key: "aws.secretKey"
value: "XXXX"
}
properties {
key: "aws.accessKeyId"
value: "XXXX"
}
properties {
key: "alluxio.underfs.s3.endpoint"
value: "https://s3.direct.eu.cloud-object-storage.appdomain.cloud"
}
properties {
key: "alluxio.underfs.s3.disable.dns.buckets"
value: "true"
}
shared: false
commonOptions {
syncIntervalMs: -1
ttl: -1
ttlAction: DELETE
}
}
, Error=java.io.IOException: com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden; Request ID: B6A05E8CD0D9920A; S3 Extended Request ID: X/359gjljZYBZsC1/VQEyYLEZlpQ6dbYTNZjhzOGm6sZy2ga15xEO24mlawTgriwAOiw85UrdEk=), S3 Extended Request ID: X/359gjljZYBZsC1/VQEyYLEZlpQ6dbYTNZjhzOGm6sZy2ga15xEO24mlawTgriwAOiw85UrdEk=
To Reproduce
Please find commands above to reproduce this issue
Expected behavior
Alluxio to be able to mount IBM COS buckets as underlying storage
Urgency
Will be helpful if this is taken on priority as we have a scheduled customer engagements  in few days.
Additional context
Add any other context about the problem here.

Please ignore. I was able to get this work for me. closing as a non-issue.

Closing as not-a-bug


Fix/symphony onboarding steps

:tada: This PR is included in version 1.17.0-dev.11 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.21.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Delete cirq.google.ExpWGate

Replace all usages with cirq.X, cirq.Y, or cirq.PhasedXPowGate

Comes after #1103
Fixes https://github.com/quantumlib/Cirq/issues/952

Automerge done.


Type checker is not working within functions

This issue was imported from Closure Compiler's previous home at http://closure-compiler.googlecode.com
The link to the original issue is:
https://code.google.com/p/closure-compiler/issues/detail?id=134

Fixed with InferConst's introduction


Events pre/postSave. Ability to know values before modification.

Current event models provide only next features: check if field had modified and know only new value. Also, it's limited only by preSave() event and you can access only new state of model on postSave(). I want to store changed fields and they «before» values through pre and post events. Any suggestions or objections?

+1 for that ;)

Afaik this feature is already implemented in 'data-mapper' branch. Isn't it
@marcj ?
2016-01-07 9:21 GMT+01:00 Ansas Meyer<EMAIL_ADDRESS>
+1 for that ;)
—
Reply to this email directly or view it on GitHub
https://github.com/propelorm/Propel2/issues/1096#issuecomment-169592915.

Yes, it is. There's no way except to track old values setters on your own currently with Propel to retrieve the old values.

I know that it doesn't allow now but i want to implement it without waiting ready of datamapper version.

You need to overwrite your setter and add new properties to your class which are being used to track the change.

@marcj, of course i know this workaround but it seems really easy to implement values tracking as standart Propel feature. Why not? It will not introduce any disadvantage as i think.

That's a rather big change in the current version. I believe it's better to work on the data-mapper branch, where this is already possible.


Adding ReplicationStreamTiming.md doc.

Copy of the internal doc, with all the internal stuff cleaned up. ;)
@sougou

This change is

LGTM


How does iowebsocketchannel.connect determine whether the connection is successful

When I use iowebsocketchannel.connect to connect to a websocket, how do I judge whether the connection is successful

It is similar to the onopen event on the web

Hi @lalLAL95828
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Consider making verifiedQueryClient.GetStoreData() accept a queryHeight

Related with https://github.com/medibloc/panacea-oracle/issues/46, but with a different approach. We can probably use both, or one of them.
Currently, the verifiedQueryClient.GetStoreData() always execute a ABCI query based on the latest block, and wait for the next block (= latest + 1) for the light block verification. That logic is correct basically, but I think we don't always need to make a query based on the latest block. If there is some cases where it's okay to make a query based on a previous block, we might be able to skip waiting for a new block sometimes. This strategy will speed up the verifiedQueryClient.
Case 1: When handling events subscribed
We can get a block height of that event as below. Then, we can make a ABCI query based on that height in order to get chain states related with that event. Then, we can call GetStoreData() with that height (if we make it accept a height).
func (e RegisterOracleEvent) EventHandler(event ctypes.ResultEvent) error {
	eventDataTx := event.Data.(types.EventDataTx)
	queryHeight := eventDataTx.Height
        ...
        ... := queryClient.GetStoreData(..., queryHeight)
        ...
}

If the event handler was triggered right after the event was emitted, the GetStoreData() will wait for a next block (= queryHeight + 1). But, the event subscriber was delayed for some reason, the GetStoreData() will skip waiting. But the possibility of this case is low. The subscriber won't be delayed in most cases.
Case 2: When handling end-user requests
Currently, it seems that all end-user requests should be handled based on the latest block. Here could be also a temporal delay between the time when the end-user decides to send a request and the time when the verifiedQueryClient starts its logic. However, in general, end-users send requests without checking if certain states are finalized in the chain. In other words, end-users don't usually have any desired block height when they send requests to oracles. So, I think this approach is not that helpful for this case.
Discussion
So, it seems that the approach #46 is more useful in most cases. But still, this approach is more lightweight. We need to keep thinking if this approach is needed.

I saw this discussion and commented on #46
We can covered Case 2: end-user side.
I think this solution.
We get the last block height on every end-user request and store it in the context.
And all queries for one request are based on the stored height.
Maybe we can get data in 0 and 6 seconds

Good idea. Let's go with your idea. It's simpler than using goroutines (described in #46), and it may make the similar level of improvement result.