Python pixi init example in docs may need update

I was trying out the guide at https://pixi.sh/latest/tutorials/python/#lets-get-started
and noted that the step to "add the Python project to the tree" doesn't seem to be relevant when I run
pixi init pixi-py --format pyproject

It looks like init command creates a "src layout" automatically now (perhaps as a result of this https://github.com/prefix-dev/pixi/pull/1947?)
So it looks like the guide should just present the structure that is generated after running the init command
├── src
│   └── pixi_py
│       └── __init__.py
└── pyproject.toml

And then maybe note that init generates src-layout, but flat layout is also supported.
If I've understood this correctly, I'd be happy to open a PR to make the relevant change.

Yes, you are correct in your understanding. PR welcome 💯 !


feat(math): Mathに整数丸めを追加

https://github.com/asciidwango/js-primer/issues/599

Deploy preview for js-primer ready!
Built with commit 404113fa813d8f5723b840b38c652858f23212f1
https://deploy-preview-626--js-primer.netlify.com


Added new augmentation methods and the option of augmentation by addition instead of replacement

Greetings,
The new augmentation methods I've implemented follow the same logic as the already implemented ones through the yaml files and are the following:

Global frustum dropout
Local transformations, such as translation, scaling, rotation and frustum dropout

Furthermore, a new method of augmenting by adding X fold  augmented samples instead of replacing the original ones through the following fields in the DATA_AUGMENTATION section of the yaml file:

KEEP_RAW_DATA: (boolean) -> either or not the original samples are used in training
EXTEND_FACTOR: (double) -> the input dataset will have the size of the original dataset times the extend factor (e.g. EXTEND_FACTOR: 2 would duplicate the original dataset putting it through the augmentation pipeline again)

Feel free to use and modify whatever you need.
Best regards,
Xavier Santos

Hi, thank you for the PR!
Currently there are so many changes and new configs.
Although I think these augmentations may be useful in some cases, I could not merge it in current status to avoid destroying the whole structures.
Could you only keep the new augmentations and a simple config (based on any model for reference) while removing other parts? I think that would be great to merge it for potential usage.

I've kept only the essential code to perform the augmentations, which is written in the files: data_augmentor.py and augmentor_utils.py.
The visualization of the effect of these augmentations can done through the jupyter notebook in my fork of the repository.
I've also included a config file for PointPillars, which successfully replicates the results of the optimal augmentation policy proposed by Hahner et al. in https://arxiv.org/abs/2004.01643

Hi,
I have trained and tested two configs (w./w.o new aug) of pointpillar.
Unfortunately, the performance drops after incorporating the new augs. The detailed comparison is as below.
Sorry I am a little bit busy and do not have much time to look into it.

But many thanks to @xaviersantos: I am glad to see that you were able to reproduce our results in OpenPCDet.
I was not using OpenPCDet yet when I was working on Quantifying Data Augmentation for LiDAR-based 3D Object Detection.
Would be great if your pull request could be merged.

I've noticed a couple of bugs in the cfg file I've provided. That may have something to do with the performance drop, as two unwanted transformations were being applied and one intended transformation wasn't.
I'm sorry I cannot test the results before committing, but the workstation I was using for training is facing some technical difficulties and won't be available for the next couple of weeks.

@sshaoshuai: can you repeat the training with the updated "newaugs" config?

Sure, the experiment has been repeated. Let's see what will happen after fixing the bug.

Here are the new results, and we still do not see obvious performance improvement with the new augs.
Are there any other potential updates?
kitti_models/pointpillar/ex1_e80:
2021-12-08 09:06:54,784   INFO  Car<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:90.7527, 89.7032, 88.8203
bev  AP:89.4830, 87.1204, 85.0039
3d   AP:85.9750, 76.7086, 74.9935
aos  AP:90.73, 89.53, 88.50
Car<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:95.5335, 93.4306, 91.3087
bev  AP:91.7994, 87.8895, 86.7348
3d   AP:87.0832, 77.8370, 74.9903
aos  AP:95.50, 93.22, 90.96
Car<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:90.7527, 89.7032, 88.8203
bev  AP:90.8227, 93.5160, 89.4313
3d   AP:90.8227, 90.0305, 89.3053
aos  AP:90.73, 89.53, 88.50
Car<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:95.5335, 93.4306, 91.3087
bev  AP:95.6526, 95.8797, 93.9737
3d   AP:95.6399, 94.5263, 93.6050
aos  AP:95.50, 93.22, 90.96
Pedestrian<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:65.0546, 60.5082, 57.2984
bev  AP:60.1787, 55.0007, 50.5978
3d   AP:55.5727, 49.6548, 46.0004
aos  AP:47.64, 44.29, 41.37
Pedestrian<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:64.9431, 60.3267, 56.6870
bev  AP:59.9911, 54.2032, 49.5747
3d   AP:54.8259, 48.6312, 44.0889
aos  AP:44.97, 41.79, 38.53
Pedestrian<EMAIL_ADDRESS>0.25, 0.25:
bbox AP:65.0546, 60.5082, 57.2984
bev  AP:70.9825, 67.6143, 64.2035
3d   AP:70.8376, 67.3980, 63.8426
aos  AP:47.64, 44.29, 41.37
Pedestrian<EMAIL_ADDRESS>0.25, 0.25:
bbox AP:64.9431, 60.3267, 56.6870
bev  AP:72.4878, 68.3799, 64.4638
3d   AP:72.3947, 68.0342, 64.0442
aos  AP:44.97, 41.79, 38.53
Cyclist<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:86.0547, 71.9854, 68.0125
bev  AP:82.8196, 66.4960, 62.0066
3d   AP:79.9991, 62.1636, 58.6683
aos  AP:84.77, 69.72, 65.73
Cyclist<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:89.3820, 73.0658, 68.6808
bev  AP:85.9026, 66.6140, 62.1211
3d   AP:81.8078, 62.0278, 57.9298
aos  AP:87.91, 70.51, 66.20
Cyclist<EMAIL_ADDRESS>0.25, 0.25:
bbox AP:86.0547, 71.9854, 68.0125
bev  AP:86.4702, 68.9746, 65.5664
3d   AP:86.4702, 68.9746, 65.5664
aos  AP:84.77, 69.72, 65.73
Cyclist<EMAIL_ADDRESS>0.25, 0.25:
bbox AP:89.3820, 73.0658, 68.6808
bev  AP:88.5279, 69.9593, 65.5938
3d   AP:88.5279, 69.9593, 65.5938
aos  AP:87.91, 70.51, 66.20
kitti_models/pointpillar_newaugs/ex1_e80:
Car<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:90.7562, 89.3665, 88.1819
bev  AP:90.0133, 86.9856, 83.8322
3d   AP:86.9327, 76.9307, 72.6927
aos  AP:90.74, 89.18, 87.83
Car<EMAIL_ADDRESS>0.70, 0.70:
bbox AP:95.7424, 91.8032, 89.0978
bev  AP:92.5188, 88.1786, 85.3835
3d   AP:88.1510, 77.6397, 73.3243
aos  AP:95.73, 91.60, 88.74
Car<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:90.7562, 89.3665, 88.1819
bev  AP:90.8136, 90.1005, 89.2816
3d   AP:90.8136, 89.9972, 89.0670
aos  AP:90.74, 89.18, 87.83
Car<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:95.7424, 91.8032, 89.0978
bev  AP:95.8739, 94.6364, 93.7658
3d   AP:95.8528, 94.3261, 93.0584
aos  AP:95.73, 91.60, 88.74
Pedestrian<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:65.7274, 61.8874, 57.4009
bev  AP:61.0954, 54.9804, 49.3737
3d   AP:53.4783, 47.7331, 42.6695
aos  AP:49.13, 46.44, 43.12
Pedestrian<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:65.6664, 61.4598, 56.6956
bev  AP:60.2807, 54.2185, 48.2721
3d   AP:52.4506, 46.2056, 40.2810
aos  AP:46.80, 43.73, 40.00
Pedestrian<EMAIL_ADDRESS>0.25, 0.25:
bbox AP:65.7274, 61.8874, 57.4009
bev  AP:71.2825, 67.3262, 62.6374
3d   AP:71.2705, 66.9210, 62.4561
aos  AP:49.13, 46.44, 43.12
Pedestrian<EMAIL_ADDRESS>0.25, 0.25:
bbox AP:65.6664, 61.4598, 56.6956
bev  AP:71.7958, 68.0118, 62.6637
3d   AP:71.7791, 67.7389, 62.4219
aos  AP:46.80, 43.73, 40.00
Cyclist<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:85.2706, 72.2641, 67.8621
bev  AP:83.1330, 67.7719, 62.7745
3d   AP:79.9187, 63.1960, 59.4880
aos  AP:83.62, 69.41, 65.06
Cyclist<EMAIL_ADDRESS>0.50, 0.50:
bbox AP:87.8885, 73.3546, 68.5955
bev  AP:85.9962, 67.9373, 63.1839
3d   AP:81.1843, 63.6355, 58.8810
aos  AP:86.03, 70.27, 65.43
Cyclist<EMAIL_ADDRESS>0.25, 0.25:
bbox AP:85.2706, 72.2641, 67.8621
bev  AP:84.3811, 70.5995, 65.9590
3d   AP:84.3811, 70.2955, 65.9448
aos  AP:83.62, 69.41, 65.06
Cyclist<EMAIL_ADDRESS>0.25, 0.25:
bbox AP:87.8885, 73.3546, 68.5955
bev  AP:87.1743, 71.2911, 66.5168
3d   AP:87.1739, 71.1559, 66.4866
aos  AP:86.03, 70.27, 65.43

From our paper:

To reduce the impact of randomness and to have a more meaningful comparison, we carried out all experiments exactly three times and report the numbers of the training run which has the highest R40 score on moderate difficulty, the same metric that is used for ranking submissions on the official KITTI leader-board.

The updated "newaugs" config from @xaviersantos should correspond to the strongest augmentation policy we found in our paper. I have double-checked it, but I have not checked the code.
@sshaoshuai: If you don't mind, you could run each experiment two more times and report the strongest run of all three, then it would be in accordance with what we did in our study.

Hi!
Thanks for running the experiment for me.
I was looking closer into the point clouds to see if there was something wrong with the new point selection method, seeing as the previous one (which was wrong) seemed to achieve better results somehow. This previous mistake meant that some background points were inadvertently transformed along with the object if its bounding box's edges weren't parallel to the coordinate axis.
So, this was my original PC (now in oblique positions to avoid the previous mistake):

And this is the result after a 1/2 scaling for a MARGIN=0.01:

If you look close enough, you can see that not the whole object was selected. Some points belonging to the object can still be seen where the edges of the bounding box were. Which makes me think that a MARGIN=1e-2 may not be enough here.
Testing the results for MARGIN=0.1:

Seems better, although there seems to be some residual points left on the bottom left car.
With MARGIN=1:

The background around the objects starts getting visibly distorted, so maybe there is a sweet spot in the interval [0.1, 1]. Then again, maybe some background context is needed.

@MartinHahner @xaviersantos , thank you for the comments and visualizations, I will launch a second run for them.
I may merge these new augs if they achieve similar performance, since the effectiveness of new augs may depends on the dataset and the experiments on KITTI may not be stable.
Maybe we can just merge these new augs for potential future usage and leave the problems to the researchers who will use it on their own datasets.

Maybe we can just merge these new augs for potential future usage and leave the problems to the researchers who will use it on their own datasets.

@sshaoshuai, I totally agree. Seeing as each augmentation is toggleable through the config file and does not affect the rest of the code I think it could be useful to researchers to have these tools available.
As long as each transformation does what is intended of them, should be a helpful addition. The performance gains are relative to the dataset and the model's hyperparameters so there may be some trial and error in trying to come up with a new configuration which includes these augmentations.
I've increased the margin in the selection of points to be transformed, because, at least visually, it seemed to produce better results. Let me know if you agree.

Hi,
Thanks again for the PR! I have merged these augs after fixing several potential bugs.
Feel free to submit a new PR if you want to do any modifications.

Hi, awesome work. I am impressed to see your work on Lidar Augmentation. I have a few questions for you:
1- mlab is creating an obj file, I think it's face values. Can you check on this I can not visualize it.
2- As I am also working with kitti dataset format using my own custom dataset and I have augmented using your git. Instead of creating obj files can we create .bin files?

Hi @xaviersantos   !
First of all, we want to express our gratitude for your significant PR in the OpenMMLab project. Your contribution is highly appreciated, and we are grateful for your efforts in helping improve this open-source project during your personal time. We believe that many developers will benefit from your PR.
We would also like to invite you to join our Special Interest Group (SIG) private channel on Discord, where you can share your experiences, ideas, and build connections with like-minded peers. To join the SIG channel, simply message moderator— OpenMMLab on Discord or briefly share your open-source contributions in the #introductions channel and we will assist you. Look forward to seeing you there! Join us ：https://discord.gg/UjgXkPWNqA
If you have WeChat account，welcome to join our community on WeChat. You can add our assistant ：openmmlabwx. Please add "mmsig + Github ID" as a remark when adding friends：）
Thank you again for your contribution❤


Building in Docker fails with Turbo >=1.11.0

Verify canary release

[X] I verified that the issue exists in the latest Turborepo canary release.

Link to code that reproduces this issue
https://github.com/vercel/turbo/tree/main/examples/with-docker
What package manager are you using / does the bug impact?
Yarn v1
What operating system are you using?
Linux
Which canary version will you have in your reproduction?
1.11.3-canary.2
Describe the Bug
After upgrading Turbo to v1.11.x, building in our Docker image is throwing Panic errors. Check the logs below.
Expected Behavior
Building in Docker should work same in v1.10.x and previous versions.
To Reproduce
Duplicate Docker example, change Node version to v20 and run build.
I have verified, that our issue occurs on any Node version, with turbo >=1.11.0

Contents of `/tmp/report-*.toml` files
name = "turbo"
operating_system = "Alpine Linux 3.19.0 [64-bit]"
crate_version = "1.11.3-canary.2"
explanation = """
file 'crates/turborepo-api-client/src/retry.rs' at line 25
"""
cause = "cannot clone request"
method = "Panic"
backtrace = """

   0:   0xaadba8 - turborepo_api_client::retry::make_retryable_request::{{closure}}::h47dc94bcf701cfc6.30959
   1:   0xa9934c - <turborepo_api_client::APIClient as turborepo_api_client::analytics::AnalyticsClient>::record_analytics::{{closure}}::h3169f58e4c6f1e68
   2:   0xcb77b4 - <tokio::time::timeout::Timeout<T> as core::future::future::Future>::poll::ha440f64b1c1b3321
   3:   0xc73ca0 - turborepo_analytics::Worker<C>::send_events::{{closure}}::hc7b6be12756d5029
   4:   0xd1a734 - tokio::runtime::task::raw::poll::h48e78d40353a2877
   5:   0xa0851c - tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h74958dfae80c6dca
   6:   0x9effa0 - tokio::runtime::task::raw::poll::h9d497871a68e1db1
   7:   0x9f9414 - std::sys_common::backtrace::__rust_begin_short_backtrace::hcbc382b24415fb49
   8:   0x9fb32c - core::ops::function::FnOnce::call_once{{vtable.shim}}::hea363e36ad532edd
   9:   0x9bbfcc - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h80e0256344119ecd
                at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/alloc/src/boxed.rs:2007
                 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hecc439716a31ba3c
                at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/alloc/src/boxed.rs:2007
                 - std::sys::unix::thread::Thread::new::thread_start::h8e25b89a5e558141
                at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/std/src/sys/unix/thread.rs:108"""

-----

name = "turbo"
operating_system = "Alpine Linux 3.19.0 [64-bit]"
crate_version = "1.11.3-canary.2"
explanation = """
file 'crates/turborepo-api-client/src/retry.rs' at line 25
"""
cause = "cannot clone request"
method = "Panic"
backtrace = """

   0:   0xa9a428 - turborepo_api_client::retry::make_retryable_request::{{closure}}::h47dc94bcf701cfc6
   1:   0xaa6184 - <turborepo_api_client::APIClient as turborepo_api_client::Client>::get_artifact::{{closure}}::h8151163a1b246dfd
   2:   0xaa95e0 - <turborepo_api_client::APIClient as turborepo_api_client::Client>::fetch_artifact::{{closure}}::hf9244dbdb94d966c
   3:   0xdd7ef0 - turborepo_cache::http::HTTPCache::fetch::{{closure}}::{{closure}}::hdadf2c31570c498c
   4:   0xdd743c - turborepo_cache::multiplexer::CacheMultiplexer::fetch::{{closure}}::{{closure}}::h4cd6ddf36b771781
   5:   0xdd6278 - turborepo_cache::async_cache::AsyncCache::fetch::{{closure}}::{{closure}}::h71e49cfe9e686d26
   6:   0xdcd828 - turborepo_lib::run::cache::TaskCache::restore_outputs::{{closure}}::ha0efff305c41a721
   7:   0xdc4844 - turborepo_lib::task_graph::visitor::ExecContext::execute_inner::{{closure}}::h532412df54d16b72
   8:   0xc64530 - turborepo_lib::task_graph::visitor::Visitor::visit::{{closure}}::{{closure}}::{{closure}}::hb77060e45277f330
   9:   0xd17b3c - tokio::runtime::task::raw::poll::h33c454e2b1bea18e
  10:   0xa08444 - tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h74958dfae80c6dca
  11:   0x9effa0 - tokio::runtime::task::raw::poll::h9d497871a68e1db1
  12:   0x9f9414 - std::sys_common::backtrace::__rust_begin_short_backtrace::hcbc382b24415fb49
  13:   0x9fb32c - core::ops::function::FnOnce::call_once{{vtable.shim}}::hea363e36ad532edd
  14:   0x9bbfcc - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h80e0256344119ecd
                at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/alloc/src/boxed.rs:2007
                 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hecc439716a31ba3c
                at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/alloc/src/boxed.rs:2007
                 - std::sys::unix::thread::Thread::new::thread_start::h8e25b89a5e558141
                at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/std/src/sys/unix/thread.rs:108"""
name = "turbo"
operating_system = "Alpine Linux 3.19.0 [64-bit]"
crate_version = "1.11.3-canary.2"
explanation = """
file 'crates/turborepo-lib/src/task_graph/visitor.rs' at line 279
"""
cause = "task executor panicked: JoinError::Panic(Id(34), ...)"
method = "Panic"
backtrace = """

   0:   0xdbfeb0 - turborepo_lib::task_graph::visitor::Visitor::visit::{{closure}}::{{closure}}::h794439fb64e59680
   1:   0xdbd280 - <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::he016a1478d747664
   2:   0xdafd84 - turborepo_lib::run::Run::run_with_analytics::{{closure}}::h40d9342a1f4ae6ee
   3:   0xfac540 - <tokio::future::poll_fn::PollFn<F> as core::future::future::Future>::poll::hfbd829849494b674
   4:   0xd4a08c - turborepo_lib::cli::run::{{closure}}::h208eb4d117f7d867
   5:   0xf7e704 - turborepo_lib::cli::run::hd2a7f7b62b136151
   6:   0xe3d454 - turborepo_lib::shim::run_correct_turbo::hf3da810f5a25dbd6
   7:   0xe399f0 - turborepo_lib::main::hf672299f7af3c6ec
   8:   0xa5dbec - turbo::main::hbfdd7f2162b1bc5a
   9:   0xa774b4 - std::sys_common::backtrace::__rust_begin_short_backtrace::hff9e541e88d9283e
  10:   0xa77138 - std::rt::lang_start::h5a16c1d5119a8613
  11:   0xa5d8c8 - main"""

-----

name = "turbo"
operating_system = "Alpine Linux 3.19.0 [64-bit]"
crate_version = "1.11.3-canary.2"
explanation = """
file 'crates/turborepo-api-client/src/retry.rs' at line 25
"""
cause = "cannot clone request"
method = "Panic"
backtrace = """

   0:   0xa9a428 - turborepo_api_client::retry::make_retryable_request::{{closure}}::h47dc94bcf701cfc6
   1:   0xaa6184 - <turborepo_api_client::APIClient as turborepo_api_client::Client>::get_artifact::{{closure}}::h8151163a1b246dfd
   2:   0xaa95e0 - <turborepo_api_client::APIClient as turborepo_api_client::Client>::fetch_artifact::{{closure}}::hf9244dbdb94d966c
   3:   0xdd7ef0 - turborepo_cache::http::HTTPCache::fetch::{{closure}}::{{closure}}::hdadf2c31570c498c
   4:   0xdd743c - turborepo_cache::multiplexer::CacheMultiplexer::fetch::{{closure}}::{{closure}}::h4cd6ddf36b771781
   5:   0xdd6278 - turborepo_cache::async_cache::AsyncCache::fetch::{{closure}}::{{closure}}::h71e49cfe9e686d26
   6:   0xdcd828 - turborepo_lib::run::cache::TaskCache::restore_outputs::{{closure}}::ha0efff305c41a721
   7:   0xdc4844 - turborepo_lib::task_graph::visitor::ExecContext::execute_inner::{{closure}}::h532412df54d16b72
   8:   0xc64530 - turborepo_lib::task_graph::visitor::Visitor::visit::{{closure}}::{{closure}}::{{closure}}::hb77060e45277f330
   9:   0xd17b3c - tokio::runtime::task::raw::poll::h33c454e2b1bea18e
  10:   0xa08444 - tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h74958dfae80c6dca
  11:   0x9effa0 - tokio::runtime::task::raw::poll::h9d497871a68e1db1
  12:   0x9f9414 - std::sys_common::backtrace::__rust_begin_short_backtrace::hcbc382b24415fb49
  13:   0x9fb32c - core::ops::function::FnOnce::call_once{{vtable.shim}}::hea363e36ad532edd
  14:   0x9bbfcc - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h80e0256344119ecd
                at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/alloc/src/boxed.rs:2007
                 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hecc439716a31ba3c
                at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/alloc/src/boxed.rs:2007
                 - std::sys::unix::thread::Thread::new::thread_start::h8e25b89a5e558141
                at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/std/src/sys/unix/thread.rs:108"""

Additional context
Building locally on my M1 Macbook sometime works and sometime throws same error. Nothing has been changed/libraries other than turbo version.
I though, that it is linked with https://github.com/vercel/turbo/issues/6715, but still does not work after merging.

I would guess that this stems from Alpine using musl instead of glibc, but it's odd that you have been able to reproduce on your Macbook.

Are you setting TURBO_API at all or using --api?

Hi, thank you for you insights!
I tried building multiple times again, with latest canary release locally on my MacBook outside of Docker, and it looks like it is working again.
In the Dockerfile which is used in the non-working build is:
ARG TURBO_TOKEN
ENV TURBO_TOKEN=$TURBO_TOKEN
ARG TURBO_TEAM
ENV TURBO_TEAM=$TURBO_TEAM
ARG TURBO_API
ENV TURBO_API=$TURBO_API

After deleting the last two lines, the build started working again. The build command is only docker buildx build --file DockerfilePath . without specifying arguments mentioned above (working on 1.10.x fine, but not on 1.11.x).
I tried reading changelog, but I do not see any change regarding TURBO_API variable, but it looks like turbo fails, when an empty TURBO_API variable is present.
I am currently testing this on CI/CD, whether not specifying empty TURBO_API variable/argument in Dockerfile solves the error there.
The ideal way will be the same behavior as in previous minor version. Can you pinpoint me to the source code, where I can find the change? If it will be something trivial, I can try creating PR reverting/fixing this behavior, but I have never worked with Rust before.

I tried reading changelog, but I do not see any change regarding TURBO_API variable, but it looks like turbo fails, when an empty TURBO_API variable is present.

Thank you so much for this! It looks like we accidentally changed the interpretation of TURBO_API being set but empty so we were trying to make requests to an API url of "". I should have a fix up shortly.


Why are certain unsigned operations marked as unsigned in handlers.py?

A few operations in cognito and STS are marked as unsigned here:
https://github.com/boto/botocore/blob/5028b2106e078c4257be23db0905ac9a1593acf6/botocore/handlers.py#L923-L929
But other operations in cognito like ChangePassword are marked as "authtype": "none" in the JSON models:
https://github.com/boto/botocore/blob/4c1679ca45c23966ac0a0c1aa39450ebb81567b3/botocore/data/cognito-idp/2016-04-18/service-2.json#L569-L573
Given that quite a few other projects use the botocore JSON model files to generate their own code (and various other sorts of analysis) I'm wondering why "authtype": "none" isn't used for all these APIs.

The disable_signing handler predates having this modeled via "authtype": "none".  It looks like when the authtype was added, pre-existing service models weren't backfilled to use this new feature.  I'll follow up about getting these services updated.

That makes sense, thanks!


Homogenizing Dropout

What does this PR do?
Added some bert dropout and homogenized naming across all our models.
Dropout can be applied at various points throughout a model, and our previous naming does not reflect this well.
This is a work in progress, example configs and tutorials have yet to be changed as well.
The current default dropout values are arbitrary and should be set to something sensible.
Previously, the encoder_dropout in RNN/CNN is now called post_encoder_dropout because they apply after the RNN/CNN encoder, not within the encoder itself.
RNN now has encoder_dropout that applies after each token passes through the model.
Previously, the dropout in BERT models are inconsistent and missing some dropout parameters.
Now we have

encoder_hidden_dropout
encoder_attention_dropout
post_encoder_dropout
attention_dropout

Test CLI & API (bash tests/autotest.sh)
Test APIs used by main.py.

[ ] Test Pass

(Copy and paste the last outputted line here.)

[ ] Not Applicable (i.e., the PR does not include API changes.)

Check API Document
If any new APIs are added, please check if the description of the APIs is added to API document.

[ ] API document is updated (linear, nn)
[ ] Not Applicable (i.e., the PR does not include API changes.)

Test quickstart & API (bash tests/docs/test_changed_document.sh)
If any APIs in quickstarts or tutorials are modified, please run this test to check if the current examples can run correctly after the modified APIs are released.

Configs and tutorials have been changed.
Bert default dropout values have been changed because it was inconsistent with each other (and looks like a bug).
All configs explicitly set their dropout values so none was affected.

related to LAAT (RNN)


Reason for this repository

the litellm project has blocked me on every platform for questioning the way the project was open sourced.
I removed all the "enterprise" code from the repository here.
will rebase it and maintain it.

#help wanted.
Help out by rebasing this fork  code onto the latest version of litellm


Update CMake to 2.8.12

And switch back to regular travis infrastructure (not container-based).
Needed by #218

[ ]   File: .travis.yml:L10-26
<img border=0 src='https://avatars.githubusercontent.com/u/12096004?v=3' height=16 width=16'> add cmake-data

This pull request is now managed with CodeReviewHub. Refresh.

:+1:

:-1: Why are you not using ppa:kubuntu-ppa/backports for cmake <IP_ADDRESS>. This ppa is whitelisted

Or george-edison55-precise-backports for cmake 3.2.3. This ppa is whitelisted.


more explicit description of additional_profiles

@Justice4Joffrey thanks a lot. i'll merge this and generate a new README


Fix formatting of configs/sites/noaa-*/README.md

Summary
All in the title. Please preview in https://markdownlivepreview.com/
Testing
n/a
Applications affected
n/a
Systems affected
n/a
Dependencies
n/a
Issue(s) addressed
Resolves https://github.com/JCSDA/spack-stack/issues/1098
Checklist

[x] This PR addresses one issue/problem/enhancement, or has a very good reason for not doing so.
[ ] These changes have been tested on the affected systems and applications.
[ ] All dependency PRs/issues have been resolved and this PR can be merged.

Thank you, @climbfuji for making README files MD-compliant!


Ask for network when send transaction

Motivation
When sending transaction -> if no network is selected, should ask the user to select
Usage example
No response
Possible implementations
No response

It should not be possible for a user not to have a network selected.


[feature request] Rotation tweens should move in the direction of the shortest distance

Suppose I have a tank and I want to turn it to a specific angle using a rotation tween. The problem with the tween system now is that it only adds or subtracts a value to achieve the target value, but that simply logic doesn't work when you are dealing with angles. The function below will tell you wether adding to the rotation is the shortest direction to turn in to achieve a target angle. Given a current and target angle, when returning true, the tween manager should add, when returning false, it should subtract. That way you don't have the tank do an almost 360 spin to turn less than 10 degrees! Hopefully this code can be implemented in core as I think it is intuitive the tweening should work this way.
function addIsShortestDistanceToRotation(rotationAt, rotationGoing) {

    rotationAt = Phaser.Math.normalizeAngle(rotationAt);
    rotationGoing = Phaser.Math.normalizeAngle(rotationGoing);

    if ((rotationAt < rotationGoing) && ((rotationGoing - rotationAt) <= Math.PI)) {
        return true;
    }

    if ((rotationAt < rotationGoing) && ((rotationGoing - rotationAt) > Math.PI)) {
        return false;
    }

    if ((rotationAt > rotationGoing) && ((rotationAt - rotationGoing) <= Math.PI)) {
        return false;
    }

    if ((rotationAt > rotationGoing) && ((rotationAt - rotationGoing) > Math.PI)) {
        return true;
    }

}

I wonder if anyone can assist with a hack or workaround. I'd really like to make use of the tween system instead of having to manually tween all my rotations (with a simple +/- angle in updates), which looks horrible without easing and all the other neat features the tween system has.
Is there an easy way for me to implement this into core? I've scoured the tween code and couldn't find where something like adding/subtracting the properties of the tween target takes place. I'm running 2.4.7 btw.

Just a reminder. I would really really really love to have this. :)
I am currently doing manually tweens on sprites to get the rotation going the shortest distance and it is extremely problematic, especially over a network (now I need to communicate the direction of the rotation over the network). I miss simply tweening rotations/angles. It was so easy and the product was beautiful!

You can do this yourself, even if you need to hide it behind some abstraction. Since we know angles can wrap and be negative, we can do ourselves a favour and use some math to solve this problem...
var tween = game.add.tween(sprite).to({rotation: -(3.14*2 - (3.14*1.5))}, 2000, "Linear", true, 0, true)
is the same as
var tween = game.add.tween(sprite).to({rotation: (3.14*2 - (3.14*1.5))}, 2000, "Linear", true, 0, true)
Except the latter takes the longer route. :) Replace 3.14 w/ Pi and the number multiplied by 1.5 with your "target". You can use some basic math to figure out which is shorter. If the absolute distance is better to turn in one direction, use the positive sign. Otherwise, use the negative sign.
Does this help? You can hide this behind a TweenFactory of some sort... not sure if Phaser needs baked in support for something so simple, but if Rich is interested, I can draft a PR that is somewhat generic.

Oh wow, thanks! I will try your solutions and report back.

Great. Let me know if you have issues, I tested it and it works fine.

I'm having difficulty understanding how to implement your solution.
Suppose I have a sprite with rotation at 0. I want to tween its rotation to 1.5:
var rotation = 1.5;
        var turnNegative = -(Math.PI * 2 - (Math.PI * rotation));
        var turnPositive = (Math.PI * 2 - (Math.PI * rotation));
        var diffTurnNegative = Math.abs(gameObject.rotation - turnNegative);
        var diffTurnPos = Math.abs(gameObject.rotation - turnPositive);
        if (diffTurnPos > diffTurnNegative) {
            if (rotation > 0) {
                rotation = -rotation;
            }

        } else {
            if (rotation < 0) {

                rotation = rotation * -1;
            }

        }

        var moveTween = game.add.tween(gameObject).to({
            'x': actualX,
            'y': actualY,
            'rotation': rotation
        }, time, Phaser.Easing.Linear.None, true);

What am I doing wrong here? I really just don't understand it. Compare the absolute distance of what? Use positive/negative signs on what, the rotation target? I guess it would make much more sense to me if I saw a complete example. Thanks!

i might be thinking wrong but probably your errors coming from here :
`var rotation = 1.5;
var turnNegative = -(Math.PI * 2 - (Math.PI * rotation));
var turnPositive = (Math.PI * 2 - (Math.PI * rotation));
var diffTurnNegative = Math.abs(gameObject.rotation - turnNegative);
var diffTurnPos = Math.abs(gameObject.rotation - turnPositive);
if (diffTurnPos > diffTurnNegative) {
if (rotation > 0) {
rotation = -rotation;
}
////////////////////////////////////////////
//There is no else statment here and what if rotation smaller then 0 ??
    } else {
        if (rotation < 0) {

            rotation = rotation * -1;
        }
    ////////////////////////////////////////////
    //same thing here.. what if rotation bigger then 0 here
    }

    var moveTween = game.add.tween(gameObject).to({
        'rotation': rotation
    }, time, Phaser.Easing.Linear.None, true);

`
Please try to add else statments and give it a try
Hope this will fix your problem

If the rotation is smaller than 0 than the rotation is already negative; therefore, the sign doesn't need to change. But this is all based on my interpretation of hilts-vaughan's logic, but I don't understand the math.

Let's deal with the math then and see the result:
var rotation = 1.5;
var turnNegative = -1.57;    -((3.14*2) - (3.14 *1.5)) = -(6.28 - 4.71) = -1.57;
var turnPositive = +1.57`` //same math ^-^  var diffTurnNegative = Math.abs(gameObject.rotation - turnNegative); Okey now here I think at the first place you gameObject.rotation value is prbably zero then  var diffTurnNegative = +1.57;  (Math.abs(0 - (-1.57)); which gives you a positive 1.57) var diffTurnPos = Math.abs(gameObject.rotation - turnPositive);Okey this one also gives you a positive +1.57 cause of Math.abs() function. Sovar diffTurnPos = +1.57`
Look at if statemants, you will see that you are going into else statment for these results,
and ckecking your rotation is smaller then 0. Guess what.. It's not.
At the and your moveTween variable give the rotation value of 1.5.
Hope you will figure out rest :)

I've tried writing it like this:

        var turnNegative = -(Math.PI * 2 - (Math.PI * rotation));
        var turnPositive = (Math.PI * 2 - (Math.PI * rotation));
        var diffTurnNegative = Math.abs(gameObject.rotation - turnNegative);
        var diffTurnPos = Math.abs(gameObject.rotation - turnPositive);
        if (diffTurnPos < diffTurnNegative) {
                rotation = turnPositive;

        } else {
                rotation = turnNegative;
        }

        var moveTween = game.add.tween(gameObject).to({
            'rotation': rotation
        }, time, Phaser.Easing.Linear.None, true);

No luck.

Hi,
I'll write a Phaser sandbox example. :)

From one developer to another. <3
Pay it forward (http://phaser.io/sandbox/edit/zyzPzRcM)
Don't understand the math and want to? Send me an e-mail, we can talk.

Oh, and of course, hide this ugliness in another class somewhere. ProperRotationTweenFactory might do the trick... or if Rich wants, I can submit a PR w/ the crude math. :)

Here's my version :)
    /**
    * Gets the shortest angle between `angle1` and `angle2`.
    * Both angles must be in the range -180 to 180, which is the same clamped
    * range that `sprite.angle` uses, so you can pass in two sprite angles to
    * this method, and get the shortest angle back between the two of them.
    *
    * The angle returned will be in the same range. If the returned angle is
    * less than 0 then it's a counter-clockwise rotation, if >= 0 then it's
    * a clockwise rotation.
    *
    * @method Phaser.Math#getShortestAngle
    * @param {number} angle1 - The first angle. In the range -180 to 180.
    * @param {number} angle2 - The second angle. In the range -180 to 180.
    * @return {number} The shortest angle, in degrees. If less than zero it's counter-clockwise, otherwise clockwise.
    */
    getShortestAngle: function (angle1, angle2) {

        var difference = angle2 - angle1;
        var times = Math.floor((difference - (-180)) / 360);

        return (difference - (times * 360)) * -1;

    },

Here's a full example (you can find the assets in the Phaser Examples repo)
var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create });

function preload() {

    game.load.image('arrow', 'assets/sprites/longarrow.png');
    game.load.image('lemming', 'assets/sprites/lemming.png');

}

var arrow;
var arrow2;
var lemming;

function create() {

    game.stage.backgroundColor = '#000000';

    arrow = game.add.sprite(game.world.centerX, game.world.centerY, 'arrow');
    arrow.anchor.set(0, 0.5);
    // arrow.tint = 0xff0000;

    arrow2 = game.add.sprite(game.world.centerX, game.world.centerY, 'arrow');
    arrow2.anchor.set(0, 0.5);

    lemming = game.add.sprite(game.world.randomX, game.world.randomY, 'lemming');
    lemming.anchor.set(0.5);

    setNewLocation();

    game.input.onDown.add(setNewLocation, this);

}

function setNewLocation () {

    arrow2.angle = arrow.angle;

    lemming.x = game.world.randomX;
    lemming.y = game.world.randomY;

    var angleTo = Phaser.Math.radToDeg(arrow.position.angle(lemming.position));

    var shortestAngle = game.math.getShortestAngle(angleTo, arrow.angle);

    var newAngle = arrow.angle + shortestAngle;

    game.add.tween(arrow).to({ angle: newAngle }, 3000, 'Linear', true);

}

Wooooooooooot!
I just tested it now and works like a charm. Here is my example with Richard's method (note that I simply copied his function because it only exists in the dev repo):
function getShortestAngle(angle1, angle2) {

        var difference = angle2 - angle1;
        var times = Math.floor((difference - (-180)) / 360);

        return (difference - (times * 360)) * -1;

}

        var shortestAngle = getShortestAngle(Phaser.Math.radToDeg(newRotation), gameObject.angle);
        var newAngle = gameObject.angle + shortestAngle;

        var moveTween = game.add.tween(gameObject).to({
            'angle': newAngle
        }, time, Phaser.Easing.Linear.None, true);

Thanks everyone and I'm so glad to get this issue worked out. It's been plaguing me for a while now!

For anyone running into this now that hasn't discovered what I should've found much sooner.. Phaser 3 has the function: Phaser.Math.Angle.ShortestBetween.


Add options for using system versions of libraries

OpenCC build system should provide options for using system versions of libraries.
Using of system versions of libraries is preferred by packagers.
This patch adds options:

USE_SYSTEM_DARTS
USE_SYSTEM_GOOGLE_BENCHMARK
USE_SYSTEM_GTEST
USE_SYSTEM_MARISA
USE_SYSTEM_PYBIND11
USE_SYSTEM_RAPIDJSON
USE_SYSTEM_TCLAP

All options were successfully tested.
Default behavior remains unchanged.
(There was BUILD_BUNDLED_LIBMARISA option, but it did not affect call to include_directories(../deps/marisa-0.2.5/include). For consistency with other new options, this option is renamed by this patch.)
Patch does not add new cache variables for directories of headers, since users can easily manually add -I... option to CXXFLAGS if necessary.
If pybind11 CMake modules are located in non-standard location, users can call cmake with -DCMAKE_MODULE_PATH=... option.
Patch: OpenCC-system_libraries.patch.txt

Merged. Thanks.

Merged. Thanks.


Cannot scan qrcodes for version 2 and 3 with android qrdroid reader

Hello,
I want to report that I'm having issues with qr codes version 2 and 3.
I tried to scan qr code generated with this versions and qr droid for android is not able to detect them. I tried to generate qrcodes version 4 and 5 and I can scan them without any issue.
This sound strange, maybe a qr droid issue but I want to report the problem anyway to better investigate and check if other people noticed the same thing.
Thanks for this software,
Regards

Hello, thanks for your fast reply.
I'm trying to solve this issue on my own for days without any result and now that I have decided to open here an issue I found what's wrong; my fault sorry.
But maybe this can help other people.
As "Alphanumeric" characters in the table, it seems is intended this kind of characters:

0 to 9, A to Z (uppercase only), space, dollar, percent, asterisk, plus, hyphen, period, slash, colon.

When other signs exists inside the string (for example an equal and question mark characters in my case), you have to check the byte size in the column showed in documentation.
In my case I give a string length that is ok for alphanumeric section, too long for byte section but contains characters that are not "alphanumeric" resulting in a wrong qrcode generation.
Really appreciate your work and hope that this can help other people that are trying to generate some beautiful qr codes like me.
Best Regards,
Marco

No worries. It happens. :)


Install Error / Update to Laravel 10

When trying to install the Filament Modules I get the following error on a fresh install of Laravel 10, Filamentphp, and Filament Sheild.
Problem 1
- Root composer.json requires savannabits/filament-modules ^1.0 -> satisfiable by savannabits/filament-modules[v1.0.0, ..., v1.0.4].
- savannabits/filament-modules[v1.0.0, ..., v1.0.4] require illuminate/contracts ^9.0 -> found illuminate/contracts[v9.0.0, ..., v9.52.4] but these were not loaded, likely because it conflicts with another require.

I got the same here.
Tried to find out a solution through google... but,  without success...

Same here, so maybe the admin see this.

The issue reads right, this is because we haven't supported Laravel ^10 yet. Not to worry, I am going to do a release in a few minutes that supports Laravel 10. Sorry for the wait.

The issue reads right, this is because we haven't supported Laravel ^10 yet. Not to worry, I am going to do a release in a few minutes that supports Laravel 10. Sorry for the wait.

This has been fixed by PR #15


The operator should be reworked to use current versions of the Operator SDK

The operator currently has code dependencies on version 0.19.0 of the Operator SDK, and uses version 1.0.1 for bundle deployments.
The former is blocking us from upgrading a number of projects and dependencies, including Lighthouse and its CoreDNS dependency, which blocks https://github.com/submariner-io/lighthouse/issues/576
Upgrading the SDK involves reworking the operator since the expected project structure and operator construction have changed significantly.

Yes, let’s track this in the enhancements repository.


[Impact Metric Submission]: Summary Mode Onchain Metrics by month

Summary Mode Onchain Metrics by month
Tags

Mode network
l2

Brief description
This metric calculated using the superchain subproject on the opensource-observer directory/repository (mode_traces table).  Yes
Query Meets Challenge Spec? Yes
Complexity Score:
Utility Score: 🌟
Total Points: 0.5
Comments: Good metrics, but same as Base model"


GET Uploads response not correctly labeling directories

Describe the bug
GET Uploads call returns Directory:false for a directory
To Reproduce
Steps to reproduce the behavior:

make the GET Uploads Api call
View the response for a directory uploaded or upload a new directory
See error

Expected behavior
Should be Directory:True

Thanks, working on this now. Looks like the way directory uploads are done via the web browser is different than the cli, so my current method of detection is working with cli, but not uploads through the new playground.

Alright I talked with @DallasC and we're going to work around this by doing header detection for browser based directory upload.

This should be fixed now. Reopen if it happens again


use in Jupyter notebooks?

Hi - I emailed the email address provided but haven't had a response yet. I'm doing a history student doing a topic modeling project on really short inscriptions and this sounds like an ideal tool for me, but I'm running into loads of error messages when I try and run the program. I don't have the expertise to fix it myself, is anyone able to assist me?

Try this https://github.com/jasperyang/BTMpy

Try this if python work https://github.com/jasperyang/BTMpy

Thank you - I have actually tried this, but as the writer of the code noted on the GitHub page it doesn’t actually yield useful results. I think I’ve found a different code that works for me though, thank you!

On Jul 17, 2018, at 5:47 AM, Kinghuin<EMAIL_ADDRESS>wrote:
Try this if python work https://github.com/jasperyang/BTMpy https://github.com/jasperyang/BTMpy
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/xiaohuiyan/BTM/issues/20#issuecomment-405524873, or mute the thread https://github.com/notifications/unsubscribe-auth/Al7O3bTqXdvJXC-HTcq90d4n5lV2Fi_Mks5uHbKZgaJpZM4UTOXN.

meganhollie would you be willing to share your code?

I’d be happy to, but it’s not BTM - it’s just an LDA code that I’ve tweaked for my data

On Jul 18, 2018, at 11:09 PM, Mario Martinez<EMAIL_ADDRESS>wrote:
meganhollie would you be willing to share your code?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/xiaohuiyan/BTM/issues/20#issuecomment-406140654, or mute the thread https://github.com/notifications/unsubscribe-auth/Al7O3UCKN7vLJ9VGItTTWDErDCJL-8JIks5uH_htgaJpZM4UTOXN.

Thanks, Megan. I just figured out a solution to my problem. 😊

From: meganhollie<EMAIL_ADDRESS>Sent: Thursday, July 19, 2018 8:35:11 AM
To: xiaohuiyan/BTM
Cc: Mario Martinez; Comment
Subject: Re: [xiaohuiyan/BTM] use in Jupyter notebooks? (#20)
I’d be happy to, but it’s not BTM - it’s just an LDA code that I’ve tweaked for my data

On Jul 18, 2018, at 11:09 PM, Mario Martinez<EMAIL_ADDRESS>wrote:
meganhollie would you be willing to share your code?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/xiaohuiyan/BTM/issues/20#issuecomment-406140654, or mute the thread https://github.com/notifications/unsubscribe-auth/Al7O3UCKN7vLJ9VGItTTWDErDCJL-8JIks5uH_htgaJpZM4UTOXN.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fxiaohuiyan%2FBTM%2Fissues%2F20%23issuecomment-406278129&data=02|01||23d8d56082f3433a40b108d5ed7c740a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636676041126055406&sdata=wt%2BvoUAkd%2F9CSHfAHcJxNngGT2iyN6SMkDhwuw%2FsbE8%3D&reserved=0, or mute the threadhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAG4CI9qRY2cz5it3_sy9ey9MdHT7zav6ks5uIIsPgaJpZM4UTOXN&data=02|01||23d8d56082f3433a40b108d5ed7c740a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636676041126055406&sdata=IpuWAi%2FVhM5pmLADhSXd6UtSR3BDEY8N7otcpdJIJUU%3D&reserved=0.


fix: don't invalidate CCloud auth session on INVALID_TOKEN status

Summary of Changes

Closes #307. Paired with https://github.com/confluentinc/ide-sidecar/pull/90.
With the new FAILED CCloud authentication status, we need to change the way we handle INVALID_TOKEN as far as auth polling goes.
Previously, any non-VALID_TOKEN state would invalidate the session, which meant deleting the (sidecar) CCloud connection, and wiping CCloud-related resources.
Now, we effectively take no action on INVALID_TOKEN status only (no warning notifications, no messing with the connection, no changing the auth session from VS Code's perspective), and wait for the next polling interval(s) to get a different status before deciding what to do.
This is the simple approach, but comes with a drawback: any pending requests here may raise exceptions or return error responses.
The other option that may be more correct in the longer term is to implement a pre middleware callback that blocks any requests in the event this auth status is reached. Unfortunately, that would involve checking every incoming request's (sidecar) connection ID (if provided), and also making sure this middleware is attached to all the right (auto generated) service classes and/or request methods coming from src/clients/**. This may quickly become difficult to maintain, and we may need to collapse our (sidecar, Kafka REST, Schema Registry REST) OpenAPI specs first.
Pull request checklist
Please check if your PR fulfills the following (if applicable):
Tests

[x] Added new
[ ] Updated existing
[ ] Deleted existing

Other

[ ] Does anything in this PR need to be mentioned in the user-facing CHANGELOG or README?
[x] Have you validated this change locally by packaging and installing the extension .vsix file?gulp clicktest

Now, we effectively take no action on INVALID_TOKEN status only (no warning notifications, no messing with the connection, no changing the auth session from VS Code's perspective), and wait for the next polling interval(s) to get a different status before deciding what to do.

What are your thoughts on showing some kind of warning notification to the user so that they know that we are trying to reconnect to Confluent Cloud? I thought of something like "Experiencing issues interacting with the Confluent Cloud API. Trying to reconnect...".


Get the results

Hi, is there any way to get the result values? As far as I examine the "measurefinish" event, it is just used for warning the user. By the way I don't want to get the values from DOM search, after popup appears.
Regards

I've added an example of the results data at http://ljagis.github.io/leaflet-measure/

I am so happy with that, many thanks :)


Err, .underscore is not available!!!

I'm using the method underscore from ActiveSupport in one of my view helpers. When I'm inside draper and call a view the custom method complains that underscore is not a method on the decorator. Yet on it's own, when called from a view it's OK.

Did you try h.underscore? Can you post any sample code?


[Discussion] Decide on coding styles and apply PyCQA + Pytest

To improve consistency and readbility with external contributions let us add

A contributors file
Add some combination of linting and code-quality analysis via CI
Start working on a small test suite to check stability on PR's

I would work on all these as time allows.

They all sound like things I should read up on!
I'm regularly rewriting large chunks of the core code - might be a good time to learn, and implement, testing processes and try out some linting.

@whatnick any recommendations on style/linting to conform to?

Typical PyCQA settings are

A pre-commit hook on developer machines to reject failing code
A lint github action on push / on PR to maintain clean main branch from external contributions
Shed is a fully opinionated option, most projects I work on use isort, flake8, black and pylint. Pylint is perhaps the heaviest lift.

Checked out pylint - annoying. pedantic. -but- I can see the benefit and think It'll be worth enforcing style consistency with it. I've only read-up on isort but it also sounds like a good move - if only because I occasionally waste time pondering import sort order!
I'll see if I can get my current dev branch (0.0.9) into a passable format.


test/k8s: remove k8s agent health tests

These are covered in cilium-cli connectivity tests since https://github.com/cilium/cilium-cli/pull/1040 which was part of cilium-cli since release v0.12.4.
Suggested-by: André Martins<EMAIL_ADDRESS>

/test


Api squashed and merged

I think the only things are:

remove airbourne gem
include a description in the PR with an overview of whats been added (grape, grape swagger and swagger ui for the claims API)

and we can do some minor refactors in the next PR for the claims API. After those 2 changes are in it looks good to merge.

many thanks stephen. been working on another branch but will tweak the api
branch asap as you suggest and then get stephen R to review and merge.
i certainly think my error handling code could do with a refactor but
getting it in for now sounds good to me.
On 20 July 2015 at 15:01, Stephen Strudwick<EMAIL_ADDRESS>wrote:

I think the only things are:

remove airbourne gem

include a description in the PR with an overview of whats been
added (grape, grape swagger and swagger ui for the claims API)

and we can do some minor refactors in the next PR for the claims API.
After those 2 changes are in it looks good to merge.
—
Reply to this email directly or view it on GitHub
https://github.com/ministryofjustice/advocate-defence-payments/pull/324#issuecomment-122894898
.


[GHSA-9c47-m6qq-7p4h] Prototype Pollution in JSON5 via Parse Method

Updates

Description

Comments
This change restores fenced code blocks for syntax highlighting and fixes some improper character escapes.

Hi there @jdgregson and @jordanbtucker! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our highly-trained Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory

Hi @jordanbtucker, thank you for your patience! We're working behind the scenes to try to get the code blocks to appear properly.

@jordanbtucker I just tried again and I think the code blocks are rendering properly now. How do they look for you?

@shelbyc Thanks for trying, but no. The code blocks are not fenced, and they are actually extra indented now. Plus there are still character escapes where they shouldn't be.

Here's how it should look.

The parse method of the JSON5 library before and including version 2.2.1 does not restrict parsing of keys named __proto__, allowing specially crafted strings to pollute the prototype of the resulting object.
This vulnerability pollutes the prototype of the object returned by JSON5.parse and not the global Object prototype, which is the commonly understood definition of Prototype Pollution. However, polluting the prototype of a single object can have significant security impact for an application if the object is later used in trusted operations.
Impact
This vulnerability could allow an attacker to set arbitrary and unexpected keys on the object returned from JSON5.parse. The actual impact will depend on how applications utilize the returned object and how they filter unwanted keys, but could include denial of service, cross-site scripting, elevation of privilege, and in extreme cases, remote code execution.
Mitigation
This vulnerability is patched in json5 v2.2.2 and later. A patch has also been backported for json5 v1 in versions v1.0.2 and later.
Details
Suppose a developer wants to allow users and admins to perform some risky operation, but they want to restrict what non-admins can do. To accomplish this, they accept a JSON blob from the user, parse it using JSON5.parse, confirm that the provided data does not set some sensitive keys, and then performs the risky operation using the validated data:
const JSON5 = require('json5');

const doSomethingDangerous = (props) => {
  if (props.isAdmin) {
    console.log('Doing dangerous thing as admin.');
  } else {
    console.log('Doing dangerous thing as user.');
  }
};

const secCheckKeysSet = (obj, searchKeys) => {
  let searchKeyFound = false;
  Object.keys(obj).forEach((key) => {
    if (searchKeys.indexOf(key) > -1) {
      searchKeyFound = true;
    }
  });
  return searchKeyFound;
};

const props = JSON5.parse('{"foo": "bar"}');
if (!secCheckKeysSet(props, ['isAdmin', 'isMod'])) {
  doSomethingDangerous(props); // "Doing dangerous thing as user."
} else {
  throw new Error('Forbidden...');
}

If an attacker attempts to set the isAdmin key, their request will be rejected:
const props = JSON5.parse('{"foo": "bar", "isAdmin": true}');
if (!secCheckKeysSet(props, ['isAdmin', 'isMod'])) {
  doSomethingDangerous(props);
} else {
  throw new Error('Forbidden...'); // Error: Forbidden...
}

However, attackers can instead set the __proto__ key to {"isAdmin": true}. JSON5 will parse this key and will set the isAdmin key on the prototype of the returned object, allowing the attacker to bypass the security check and run their request as an admin:
const props = JSON5.parse('{"foo": "bar", "__proto__": {"isAdmin": true}}');
if (!secCheckKeysSet(props, ['isAdmin', 'isMod'])) {
  doSomethingDangerous(props); // "Doing dangerous thing as admin."
} else {
  throw new Error('Forbidden...');
}

Thank you for the comment and for helping me get closer to the right look! Unfortunately, syntax highlighting still doesn't appear. I see that @KateCatlin responded to you in https://github.com/github/advisory-database/issues/1555 and I hope for a resolution.


References not updating automatically

Hello. I'm really enjoying this module, it's been very useful and helpful, but I've run into a problem and I'm not sure if it's the module or if I'm just fundamentally misunderstanding how the module is supposed to work. I've set up my references in my sheets so I can call them from within macros, but when I update the data within the sheets, whether it be from Google sheets or from Foundry, the references fail to update until I remove them and add them again manually. Closing the sheet, pressing the update sheet button, none of it works.

Could you please tell me your Foundry Version and used System as well as post a console log of one of the actors you stored/tried to store references.

select the actors token
while in Foundry press F12
in the top you should see console if its not selected, select it
enter canvas.tokens.controlled[0].actor into the bottom text field
expand the now shown actor with the arrows until you have opened sheexcel: actor > system > sheexcel

The world in question is currently running Foundry 11.315 using Custom System Builder 3.2.5. Here's the log screenshot.

Update: I went ahead and tried it on Foundry 12.331 and the latest release of CSB (4.01) just to see if it was an out-of-date thing. Nope, same issue.

Sorry for the wait. It will be fixed in the next version, just lacking time currently.


Not full result returned for a small query

After investigating log files it looks like one of the datastore queries returned fewer rows than was expected (2 instead of 6 to be precise). The query was a simple Cursor-less, Limit-less entity query with a filter.
Is there a possibility that this scenario could have actually happened? Should we always use cursors and check if no more data was fetched, even if resulting dataset is small?
P.S. This might be better suited for SO, however, if someone interested I could provide necessary details of the query.

Depending on the server constraints on your query Cloud Datastore may always choose to not return the full result set. You should always depend on the RunQueryResponses more_results field to determine if another lookup is necessary (in particular, you will need to use cursors to fetch the remaining data if more_results == NOT_FINISHED). Note that the Cloud Datastore client libraries (gcloud-* and App Engine libraries) handle the batching for you.
Usually this happens if your query is a merge join (multiple equality filters and no composite index for the query). In this case, your operations scale with the size of the smallest set of results that match a single filter, which can explain the Cloud Datastore backends decided to return only a small number of results.

Unfortunately, this happened without merge and using Java client library (i.e. as you said more_results check should have happened underneath in com.google.cloud.datastore.QueryResultsImpl#QueryResultsImpl)
Query part extracted:
val q = Query.entityQueryBuilder().kind("MyEntity").build
datastore.run(q, ReadOption.eventualConsistency)

I'll watch the logs if this comes up again, still assuming that this query cannot produce partial results.

When you say "fewer rows than was expected", how do you know how many to expect? If you have committed these entities recently, this looks like Eventual Consistency.

Yes, you are absolute right about eventual consistency. However, I would not be surprised to see, say, 1K records out of 2K in couple of secs after insert. But, getting 2 out of 6 after ~ 40 seconds? Anyway, thanks for the suggestion, eventual consistency totally slipped my mind. Maybe datastore is not a good fit for this task.

Just for the record, this came up again.
2016-05-25 01:34:11 – 5 records added to datastore
2016-05-25 01:34:24 – 4 records appeared in result

When you're designing your code to work with Cloud Datastore, you need to prepare for eventually consistent results. Any time you need results to be strongly consistent you have to either use parent entities and ancestor queries or do strongly consistent Lookup calls to retrieve your data.


#ISSUE-4009 try to fix problem with doc tag

@pekkaklarck @mkorpela Hi, guys! I try to fix this problem.
Tests before fix:

After fix:

The fix looks good bug the test should rather go here:
https://github.com/robotframework/robotframework/blob/master/atest/robot/cli/rebot/remove_keywords/all_passed_tag_and_name.robot
It actually ought to be possible to just add misc/if_else.robot to the list of executed suites here:
https://github.com/robotframework/robotframework/blob/master/atest/robot/cli/rebot/remove_keywords/all_passed_tag_and_name.robot#L135

Thanks for the PR! The fix looks good but the test should rather go here:
https://github.com/robotframework/robotframework/blob/master/atest/robot/cli/rebot/remove_keywords/all_passed_tag_and_name.robot
It actually ought to be possible to just add misc/if_else.robot to the list of executed suites here:
https://github.com/robotframework/robotframework/blob/master/atest/robot/cli/rebot/remove_keywords/all_passed_tag_and_name.robot#L135

I have done.
Before fix

After fix

Looks good! The updated test makes sure there's no crash, but it would be good to also actually validate that IF works correctly. I can add a test for that separately. I also want to anyway check how this looks in the log file.


Fails with Cocoapods 1.7.0 Pod::Installer#installation_options is now private

Can be reproduced by
bundle update
and then
rake spec
Pod::Installer#installation_options is now private
NoMethodError: private method installation_options' called for #<Pod::Installer:0x00007fe656ca3bb0> 	~/projects/motion-cocoapods/lib/motion/project/cocoapods.rb:240:in install!': motion-cocoapods - provides a list of the activated pods on #inspect, which is used in rake config
~/projects/motion-cocoapods/lib/motion/project/cocoapods.rb:577:in `block (2 levels) in <top (required)>'

I started looking into this and the tests for this gem start failing with cocoapods 1.6.0. We might need to take case of that first.

see #153 for the 1.6.0 issue

This is happening to me on macOS 11.0.1 Big Sur. RM 7.14, Xcode 12.1
NoMethodError: private method installation_options' called for #Pod::Installer:0x00007fa544a0f410
/Users/shaun/.rvm/gems/ruby-2.6.4/gems/motion-cocoapods-1.9.2/lib/motion/project/cocoapods.rb:240:in install!'

Please disregard, bundle update didn't seem to move me to motion-cocoapods 1.10.0. Once I set the minimum gem target to 1.10.0 it worked fine!


Prompt user before destructive operations of great impact.

The Cut action (Ctrl+X) did not yet have a confirmation dialog. Equally, the Clear the watch list action did not always show a confirmation dialog, only when there were unsaved changes, which overlooked the case where the watch list is only backed up by the data stored in the settings file.

I dislike having a prompt for Cut.
If we want this it should be a configurable Option state that can be enabled/disabled
"Confirm Cut" or "Confirm on Cut" etc as the name

Yeah I am not a big fan of confirm on cut either.
For clear list, it's reasonable (maybe it can offer a save before, but I am fine either way). It's just cut is one that you may do very frequently enough.

Yeah I am not a big fan of confirm on cut either.
For clear list, it's reasonable (maybe it can offer a save before, but I am fine either way). It's just cut is one that you may do very frequently enough.

I guess the data is still in the clipboard, so no need to bother the user when cutting.

Yeah I am not a big fan of confirm on cut either.
For clear list, it's reasonable (maybe it can offer a save before, but I am fine either way). It's just cut is one that you may do very frequently enough.

I guess the data is still in the clipboard, so no need to bother the user when cutting.

Just an additional data point most modern OS/DE ship clipboard history by default now too, so id be fine not having that feature at all.

I've now dropped the changes for the cut action.


Added that fancy message when 1.9 clients try to enter a Minecart or Boat

Here you go :)

Minecarts does work. The only thing that does not work yet is leaving it (You'll stay inside the minecart client-sided)

I noticed that now :)

:+1:

Well on the spigot page it says  "(Probably won't be fixed due to them being changed in 1.9, we'll add a fancy message soon!)"
So i added a fancy message :) Haha

Adding that message can be a placeholder until a real fix comes out (if you guys decide to make it work)

If we don't have anything towards Minecarts / Boats being properly fixed by the end of the day I'll pull this change as we should notify them.
This won't be long term as hopefully we will get it done.
Thanks,
Myles

#83

^


support displaying table as "text"?

Currently I am trying to show a table for a single row in the "text" column. E.g

I have tried to use table strings with '\n'. But looks like the html generation ignore the new line operator. I have also added
 or
 in the strings, but also failed. Any way to display a table in the generated html?

Hi, you can probably add escape=false to here for your purpose.

Hi thanks for the prompt response. I have tried the following in https://github.com/mtli/HTML4Vision/blob/master/html4vision/common.py#L68
return td(**kwargs).add(a(*args, href=hrefs[idx], target='_blank', escape=false))
But it still does not work.

Try adding it to td() instead of a().

Thanks for the advice! I have tried the following code as you suggested. But it still does not print the table-type strings given the '\n' operator. Do you have other ideas in mind for a fix?
if hrefs and idx < len(hrefs) and hrefs[idx]:
    return td(**kwargs,escape=False).add(a(*args, href=hrefs[idx], target='_blank'))
else:
    return td(*args, **kwargs, escape=False)

'\n' is for python, try  for HTML.

I have tried both  and , still does not work. Actually the  is printed out in the strings

Is there a way to convert the
 into something that can be read by html?

Hmm, I haven't used the dominate library for a while. Maybe you can try wrapping it around with the text tag: td(text(*args, **kwargs, escape=False))?

Thanks for the advice, I make it works by
if isinstance(args[0],str):
    return td(text(*args, **kwargs, escape=False))
return td(*args, **kwargs, escape=False)

Glad that you got it working!


Error when selecting .tif image

Bug report filed at FuseTools:
https://www.fusetools.com/community/forums/bug_reports/camerarollgetimage_throws_error_when_selecting_tif

fixed (for now) in v1.0.7


How can I get the struct fields from buffer get from db_get_i64?

for example.
The buffer code is as follows.
const auto buffer_size = context.db_get_i64(iter, nullptr, 0);
bytes value(buffer_size);
wlog("buffer_size: ${bs}", ("bs", buffer_size));

const auto written_size = context.db_get_i64(iter, value.data(), buffer_size);
assert(written_size == buffer_size);

wlog("data: ${data}", ("data", value));

And my buffer struct is.
struct contractstat {
    account_name contract;
    std:string code_id;
    std::string status;

    account_name primary_key() const {
      return contract;
    }
 };

Where are you trying to use this code?  Your struct definition looks like you are writing contract code, but your code showing its use is calling context.db_get_i64(...) which looks like you are trying to make changes to the eosio source base.

@brianjohnson5972 I am writing the logic in the setcode phrase. in libraries/chain/eosio_contract.cpp

Can you tell me what you are trying to accomplish?  Are you writing code that you are hoping to submit  to the EOSIO repo?  Making changes in this location without submitting them would give your node very different behavior from every other node in the blockchain network.

solved.


alttab: 1.6.0 -> 1.6.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/sagb/alttab/releases.
meta.description for alttab is: "X11 window switcher designed for minimalistic window managers or standalone X11 session"
meta.homepage for alttab is: "https://github.com/sagb/alttab"
meta.changelog for alttab is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/5b4gncabc8305fg76hnv76hr5a25gsam-alttab-1.6.1/bin/alttab had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 1.6.1 with grep in /nix/store/5b4gncabc8305fg76hnv76hr5a25gsam-alttab-1.6.1
found 1.6.1 in filename of file in /nix/store/5b4gncabc8305fg76hnv76hr5a25gsam-alttab-1.6.1

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
alttab
docbookrx

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5b4gncabc8305fg76hnv76hr5a25gsam-alttab-1.6.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A alttab https://github.com/r-ryantm/nixpkgs/archive/33c520d18556f6075a7c37b7bd8855e6488d7a32.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5b4gncabc8305fg76hnv76hr5a25gsam-alttab-1.6.1
ls -la /nix/store/5b4gncabc8305fg76hnv76hr5a25gsam-alttab-1.6.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

alttab

Maintainer pings
cc @sgraf812 for testing.

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

1 package built:

alttab


fix modules and dockerfile

This PR:

updates drachtio-srf to 4.4.61
removes node_modules from list of commited files
changes Dockerfile to use npm ci and lockfile to have no surprises with dependencies in the Docker image.

fixed in commits aabbd094a69ded06650ff5c8938a7bae185e5050 and  78121a1930f9aa4236047bb66d577d4c4a5fa79d

@davehorton thank you


feat(message): Add markdown and responsive rendering

Changes to Message Component
Responsiveness and Markdown Support

Added full responsiveness using Tailwind CSS responsive classes
Implemented Markdown rendering with react-markdown
Added syntax highlighting for code blocks
Improved text and layout scaling across different screen sizes

Features Added

Semantic rendering of:

Headings (h1, h2, h3)
Unordered and ordered lists
Inline and block code

Dynamic styling based on message type (user/bot)

Technical Improvements

Introduced ReactMarkdown for rich text rendering
Added react-syntax-highlighter for code block styling
Enhanced component flexibility and readability

Dependencies

Added dependencies:

react-markdown
react-syntax-highlighter

Important Note

🚨 Unable to test locally due to API key constraints
Changes are based on code review and expected behavior
Recommended thorough testing in the actual environment

Potential Next Steps

Verify component rendering across different devices
Test Markdown parsing with various input types
Ensure syntax highlighting works as expected

Screenshots

Unable to provide screenshots due to local testing limitations
Reviewers are encouraged to test in the target environment

Summary by CodeRabbit

New Features

Introduced a CustomMarkdown component for enhanced markdown rendering with custom styles and syntax highlighting.
Improved layout and visual presentation of messages in the chat interface.

Bug Fixes

Adjusted padding, margin, and icon sizes for better alignment and readability.

Chores

Updated several dependencies to improve performance and maintainability.

Changes to Message Component
Responsiveness and Markdown Support

Added full responsiveness using Tailwind CSS responsive classes
Implemented Markdown rendering with react-markdown
Added syntax highlighting for code blocks
Improved text and layout scaling across different screen sizes

Features Added

Semantic rendering of:

Headings (h1, h2, h3)
Unordered and ordered lists
Inline and block code

Dynamic styling based on message type (user/bot)

Technical Improvements

Introduced ReactMarkdown for rich text rendering
Added react-syntax-highlighter for code block styling
Enhanced component flexibility and readability

Dependencies

Added dependencies:

react-markdown
react-syntax-highlighter

Important Note

🚨 Unable to test locally due to API key constraints
Changes are based on code review and expected behavior
Recommended thorough testing in the actual environment

Potential Next Steps

Verify component rendering across different devices
Test Markdown parsing with various input types
Ensure syntax highlighting works as expected

Screenshots

Unable to provide screenshots due to local testing limitations
Reviewers are encouraged to test in the target environment

Summary by CodeRabbit

New Features

Introduced a CustomMarkdown component for enhanced markdown rendering with custom styles and syntax highlighting.
Improved layout and visual presentation of messages in the chat interface.

Bug Fixes

Adjusted padding, margin, and icon sizes for better alignment and readability.

Chores

Updated several dependencies to improve performance and maintainability.

@Tahermaxse  pls fix this error and don't change package manager, we are using bun
[12:45:12.160] Cloning github.com/SkidGod4444/x0-GPT (Branch: feature/message-component-enhancement, Commit: a6c7373)
[12:45:13.269] Cloning completed: 1.113s
[12:45:20.250] Skipping build cache since Package Manager changed from "bun" to "npm"
[12:45:23.455] Running "vercel build"
[12:45:24.488] Vercel CLI 39.1.3
[12:45:24.936] Installing dependencies...
[12:45:29.361] npm warn deprecated<EMAIL_ADDRESS>Rimraf versions prior to v4 are no longer supported
[12:45:30.904] npm warn deprecated<EMAIL_ADDRESS>This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
[12:45:33.630] npm warn deprecated<EMAIL_ADDRESS>Use @eslint/object-schema instead
[12:45:33.676] npm warn deprecated<EMAIL_ADDRESS>Use @eslint/config-array instead
[12:45:34.548] npm warn deprecated<EMAIL_ADDRESS>Glob versions prior to v9 are no longer supported
[12:45:39.334] npm warn deprecated<EMAIL_ADDRESS>This version is no longer supported. Please see https://eslint.org/version-support for other options.
[12:45:57.096]
[12:45:57.097] added 933 packages in 32s
[12:45:57.097]
[12:45:57.097] 276 packages are looking for funding
[12:45:57.098]   run `npm fund` for details
[12:45:57.131] Detected Next.js version: 14.2.20
[12:45:57.144] Running "npm run build"
[12:45:57.280]
[12:45:57.280] ><EMAIL_ADDRESS>build
[12:45:57.280] > next build
[12:45:57.280]
[12:45:57.933] Attention: Next.js now collects completely anonymous telemetry regarding usage.
[12:45:57.933] This information is used to shape Next.js' roadmap and prioritize features.
[12:45:57.933] You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
[12:45:57.934] https://nextjs.org/telemetry
[12:45:57.934]
[12:45:57.998]   ▲ Next.js 14.2.20
[12:45:57.998]
[12:45:58.072]    Creating an optimized production build ...
[12:46:50.827]  ✓ Compiled successfully
[12:46:50.829]    Linting and checking validity of types ...
[12:46:55.930]
[12:46:55.930] ./components/custom/cover.tsx
[12:46:55.931] 34:6  Warning: React Hook useEffect has an unnecessary dependency: 'ref.current'. Either exclude it or remove the dependency array. Mutable values like 'ref.current' aren't valid dependencies because mutating them doesn't re-render the component.  react-hooks/exhaustive-deps
[12:46:55.932]
[12:46:55.932] ./components/custom/sparkle-text.tsx
[12:46:55.932] 105:6  Warning: React Hook useEffect has a missing dependency: 'sparklesCount'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps
[12:46:55.937]
[12:46:55.937] ./components/ui/typing-animation.tsx
[12:46:55.938] 34:6  Warning: React Hook useEffect has a missing dependency: 'text'. Either include it or remove the dependency array. If 'setDisplayedText' needs the current value of 'text', you can also switch to useReducer instead of useState and read 'text' in the reducer.  react-hooks/exhaustive-deps
[12:46:55.938]
[12:46:55.943] info  - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
[12:47:17.555] Failed to compile.
[12:47:17.555]
[12:47:17.556] ./components/custom/chat/message.tsx:33:23
[12:47:17.556] Type error: Property 'inline' does not exist on type 'ClassAttributes<HTMLElement> & HTMLAttributes<HTMLElement> & ExtraProps'.
[12:47:17.556]
[12:47:17.556]   31 |           />
[12:47:17.556]   32 |         ),
[12:47:17.556] > 33 |         code: ({node, inline, className, children, ...props}) => {
[12:47:17.557]      |                       ^
[12:47:17.557]   34 |           const match = /language-(\w+)/.exec(className || '');
[12:47:17.557]   35 |           return !inline && match ? (
[12:47:17.557]   36 |             <SyntaxHighlighter
[12:47:17.695] Error: Command "npm run build" exited with 1
[12:47:18.247] ```


[Bug]: TypeError: Cannot read properties of undefined (reading 'colorize')

🔎 Search Terms
none
The problem
In main.ts file of my Typescript project I am creating a Winston logger:
import winston from 'winston';

app.useLogger(
    winston.createLogger({
      level: 'info',
      format: winston.format.colorize(),
      transport: [ new transports.Console(), ],
      exitOnError: false,
    }),
  );

But it raises a TypeError:

TypeError: Cannot read properties of undefined (reading 'colorize')

My Winston version is 3.8.2 and node version is 16.16.0.
Can you help me please?
What version of Winston presents the issue?
v3.8.2
What version of Node are you using?
v16.16.0
If this worked in a previous version of Winston, which was it?
No response
Minimum Working Example
No response
Additional information
No response

It looks like 'format' is undefined on the 'winston' object.

You should import Winston like this:
import * as Winston from 'winston';
Instead of like this:
import winston from 'winston';


Build 'jupyter console' wrappers with nix installation

For those of us that prefer the console version of jupyter.
This adds ihaskell-console which runs jupyter console --kernel=haskell.
On an unrelated note, any plans to make a release anytime in the near future?
I'd like to have ihaskell available in nixpkgs but the last release is a couple of years old.

Thanks for this contribution! The most recent version of IHaskell in nixpkgs is only a few months old and corresponds to the latest release on Hackage. I don't have package uploading privileges so I was waiting for lts-10 to come out before pinging @gibiansky to make a new release. Is there a reason you can't override the derivation in nixpkgs with master for the time being?

Oh I didn't notice the release on Hackage. I see <IP_ADDRESS> there. This will do fine.
I was referring to github releases which only includes <IP_ADDRESS>.


Complete Badges

Is there a possibility to check after each trade, if a badge can be craftet, and if yes: send the cards for the badge to SteamMasterID?

No, and it's not planned to as it goes out of the scope of ASF. You can use !loot when you feel like it.


Make it work from a controller.js file

Is there an way to make it do its job from an scope function, after ng-click plus change view?

Require the "ScrollTo" Service and use it just with:
ScrollTo.idOrName('id-of-element');


Add trio based service implementation

What was wrong?
We use the "Service" abstraction heavily in our existing code.  We need something loosely equivalent that can be used with trio
How was it fixed?
Added a re-imagined implementation of the Service concept written in trio.
To-Do

[ ] Clean up commit history

[ ] Add entry to the release notes PR

Cute Animal Picture

Sorry, I've got to wrap early today, but I'll try to pick this up first thing tomorrow.

Noting that this should also add a release notes entry :)

Here's the API I'm thinking about:
    # blocking
    await Manager.run_service(service)

    # context
    async with run_service(service) as manager:
        # do things
        pass

    async with trio.open_nursery() as nursery:
        # ensure that service has started before doing next thing
        manager = await nursery.start(service)

Test failure can be found on: https://github.com/ethereum/trinity/pull/799

lint failures are due to #799

@jannikluhn @carver @cburgdorf I've re-worked this a bit.  Wanting another round of light review.  I don't think we should futz with the API specifics much more so really just looking for major problems and obvious bugs.
I expect once @jannikluhn starts using this we'll shake out the API improvements incrementally.


Example showing the collector installed as both an agent and separately a gateway

Fixes #522

I think we should remove one of the gateway-only examples now. They are very similar https://github.com/signalfx/splunk-otel-collector-chart/pull/735


Sync across tabs, reduce amount of ws connections

As a service, it would cause less traffic if messages from multiple tabs would be sent over one websocket connection.

This and would reduce the amount of messages being sent to and from multiple tabs and the server
Would be faster to see changes across tabs
Would work even when you lost connection and your app supports offline-mode

I know this idea from https://logux.io/. It elects the leading tab which holds the websocket connection and instead of creating own connection, it uses postMessage to send the message to the elected tab, which then sends the message to the server and also receives messages from the elected tab instead of its own websocket connection.
If you are in the same room you want sync to happen between all tabs as quickly as possible, without network delay (even though workers are quick, this will be quicker, especially if you are working on a weak connection or you lost connection).

Decided that this should be handled by a lib, like YPartyKitProvider uses broadcast channels


Client did not publish a checksum value when using uv publish

When using uv publish to publish a python package to pypi on artifactory, I get a warning that the client did not publish a checksum value.
uv version: 0.5.13

\cc @konstin when you're back


[Bug]: OpenAIAgent function not called in stream mode after a tools_call type response

Bug Description
On multiple occasions, when the agent executes a chat completion that may include responses with tool calls, the process fails to invoke functions if the response returns a JSON indicating that functions should be called.
After investigating, I've discovered that sometimes, depending on the model used, OpenAI returns an initial blank delta. The issue arises when this blank delta triggers the "_is_function_not_none_thread_event", allowing the code to continue executing and provide a response through the generator without waiting for the thread to complete execution before executing the function.
A way to fix (maybe is a hack) is to add this condition in StreamingAgentChatResponse -> write_response_to_history method the following line
for chat in self.chat_stream:
self._is_function = is_function(chat.message)
 #condition to add
      if chat.delta != "":
              self.put_in_queue(chat.delta)
      final_text += chat.delta or ""

Version
0.10.16
Steps to Reproduce
agent: OpenAIAgent = OpenAIAgent.from_tools(
    tools=tools, llm=llm, verbose=False, system_prompt=FRENCH_LEGAL_ADVICE_ASSISTANT_WITH_FUNCTION_CALLS
)
while True:
    text_input = input("User: ")
    if text_input == "exit":
        break

    response: StreamingAgentChatResponse = agent.stream_chat(text_input)
    response_gen = response.response_gen

    #message_assistant_content
    for token in response_gen:
        print(token, end="")

@logan-markewich If my fix seems appropriate, I'll proceed with creating a pull request to address the issue ;-)"
Relevant Logs/Tracbacks
No response

@jeremielenoir ah yea that's a good catch. I'm fine with this proposed fix (would just need it for both sync and async versions)

Bien sûr, i'll make the pull request.

#11713


Fix #485: reliance on english system error message

Fix for #485.
Instead of checking the string system error message permission denied (which maybe localized, so the match fails on non-English locales), check $! by comparing it to Errno::EACCES.

I've rebased this patch on top of branch dev. Please merge this soon. I'm suffering from this issue for 2.5 years now.

This will go out in 2.17_01.


Implemented RATIFY and ENACT

Description
This PR brings the Conway era up to date with the current specifications.
The ENACTMENT rule was renamed to ENACT to better reflect the spec.
The NEWEPOCH rule now calls RATIFY, which in turn calls ENACT. RATIFY is a new rule that is run at the epoch boundary and it loops over all active governance actions to decide whether it can be enacted. ENACT currently supports all governance actions except treasury payouts.
GovernanceActionInfo was removed since it's not in the spec and is very similar to GovernanceActionState. The Vote datatype was removed and that data is now kept directly in GovernanceProcedure. Votes and governance actions are now stored in TxBody as GovernanceProcedures.
Governance now uses credentials instead of key hashes for voting. This is different from the current spec, but makes sense if we want to use staking credentials for voting. The alternative would be to only allow staking credentials that use key hashes to participate in voting, filtering out any staking credentials that use Plutus scripts.
Three new governance actions were added:

NoConfidence
NewCommittee
NewConstitution

Checklist

[x] Commit sequence broadly makes sense
[x] Commits have useful messages
[x] New tests are added if needed and existing tests are updated
[x] Any changes are noted in the changelog
[x] Code is formatted with fourmolu (which can be run with scripts/fourmolize.sh)
[x] Cabal files are formatted (which can be done with scripts/cabal-format.sh)
[x] Self-reviewed the diff

:tada:


Fix output test cases broken in #690

LGTM, cant we have make test as part of the CI pipeline before make release to catch these?

Yeah, it's a good idea with the caveat that make test requires access to GCP credentials.

@morgante arent we already authing using  service_account_key: ${{ secrets.GCP_SA_KEY }} in the release workflow?

@morgante arent we already authing using service_account_key: ${{ secrets.GCP_SA_KEY }} in the release workflow?

Good point! Yeah I think that should work, I'll plan to give it a try later.


Add attachments breakdown file in docs

Pull Request adds documentation about attachments, including the types of files attachments can be and an idea of what the distribution of file types we will look like.

This is a great summary of the attachments. Thanks @jack11wagner


test(core): test for @Input with method call inside setter

class WithMethodCallInSetterTestHostComponent {
  _name: string;

  get name(): string {
    return this._name;
  }

  @Input()
  set name(name: string) {
    this._name = name;
    this.method(); // <-- lost contest throws error
  }

  private method(): void {
    return void 0;
  }
}

Test for #21

I see that attachContextPropertyToComponentInput method of NgxComponentOutletAdapterRef uses bindingDef of host component (adaper-ref.ts#167)
This method extracts property descriptor for component instance and calls it inside context property for outsidePropName with context binding (adaper-ref.ts#199).
There is no expected method in new context (this) and it throws error


Rasa X Story editor error when type Chinese

Rasa Open Source version
2.8.9
Rasa SDK version
2.8.2
Rasa X version
0.42.3
Python version
3.8
What operating system are you using?
Linux
What happened?
在编辑器里面输入中文失败，谁知道源码在哪，可以自己解决。
同样的问题
Command / Request
No response
Relevant log output
No response

Thanks for the issue, @joejuzl will get back to you about it soon!
You may find help in the docs and the forum, too 🤗

wait

Thank you for raising this issue about Rasa X. We decided to stop supporting the Community Edition (free version) of ‘Rasa X’ (see more info here: https://rasa.com/blog/rasa-x-community-edition-changes/). That’s why we’ve closed your issue. We suggest that Rasa Enterprise customers raise the issue with our customer support team if they haven’t done so already.


bug: various chrome checks are broken when chrome not installed

These checks are broken when Chrome is not installed because the string echoed in an attempt to match the expected regex is not correct.

CHECK #96: All Google Chrome web browser profiles have disabled the Adobe Shockwave Flash plug-in
CHECK #97: All Google Chrome web browser profiles have disabled the Adobe Flash Player plug-in
CHECK #98: All Google Chrome web browser profiles have disabled the Native Client plug-in
CHECK #99: All Google Chrome web browser profiles have disabled the Widevine Content Decryption Module plug-in

The fastest way to fix this is to just implement this:
https://github.com/kristovatlas/osx-config-check/issues/107

Satisfied completely by PR #117


feat: update opengraph image, add migration blueprint card, and update application description for reactors and proxies

Description

Update the docs opengraph image. Add migrations blueprint card to getting started and blueprints index page. Update Application description for reactors and proxies.

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

[x] Not Applicable

Rollback / Rollforward Procedure

[x] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

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


Log swarm events

At debug level, we log all libp2p swarm events. As it stands, lots of useful events such as errors are lost by our _ => {} branch.
In future, we should consider handling more of of these cases explicitly and log error!s.

FWIW the diff is me adding debug!(?event, "swarm event") before the match and then indenting everything inside one level deeper. Sorry for the messy diff.


minor changelog update

Coverage remained the same at 96.298% when pulling 8b11b2bd8bb648887ec2c086fea397a07a3c38a2 on boguslavsky:fix-changelog into 6e8d31138dbe78b3a197f6a4e9af03b485358682 on exonum:master.


Support mintapi's mfa-token option

It would be nice if mint-amazon-tagger could use the same authentication options for mint as are available in mintapi. In particular, using --mfa-method "soft-token" and --mfa-token would allow for token-based 2FA on systems that can generate the tokens in software.

I'm actually not clear on whether this is supported or not. There appears to be code that processes the soft tokens, but no way to pass them in from the command line.

It should prompt for your token at the console you launched the cli from. mfa_input_callback should be None from mint amazon tagger side, which will cause input to be used.
I'm actually unfamiliar, what is the soft token option? Like an OTP device?

I'm not sure if "soft token" is a common term or not, but this mintapi parameter lets you pass in an identifier for the 2FA configuration code (the "soft token") for a given account, and then internally uses oath (see https://www.nongnu.org/oath-toolkit/) to generate the 6-digit code. The configuration code is the alphabetical version of the QR code you scanned when defining the OTP in Google Authenticator, 1Password or whatever your password manager of choice is. This should presumably be kept secure, but if you are comfortable storing your password in Keychain and then retrieving it on the commandline to feed into mintapi or mint-amazon-tagger, then presumably you could do the same for your "soft token"

Picking this up again @jprouty: when trying to run from the cli with a soft token, the app fails because it can't find the oathtool library refenced at https://github.com/jprouty/mint-amazon-tagger/blob/3642c33e7d04751ff5fdccbd45285883022ce1d1/mintamazontagger/mintclient.py#L417. Pretty sure this is just an omission from your setup.py file


Remove a return statement to be able to add more than one peer in the existingAnchorPeers array

Resolves #49 If the node has more than one anchor peer, it will return before all existent peers have been added again to existingAnchorPeers
Signed-off-by: Ernesto Olivier<EMAIL_ADDRESS>Type of change

Bug fix

Description
When the RemoveAnchorPeer function is called, it just loops over the Anchor Peers and compare it with the one that it is requested to be deleted, if the current doesn't match it is added again to the config using a new array called existingAnchorPeers.
So far so good but then there is a return statement inside the loop that it is preventing to add more than one Peer to existingAnchorPeers array.
This PR just remove that return to enable to fill the existingAnchorPeers array with all remaining Anchor Peers.
My motivation is basically that I am using this function and is not working properly so I created a workaround in my code while this bug is fixed.
Related issues
This PR resolves issue 49

Thank you for the contribution and sorry for the delayed merge!


Rinkeby Test Network

Hi,
first of all, thank you for the great repo.
wanted to ask if everything works on the Rinkeby network (ID 4)? Or if I'm doing something wrong...
On the main network everything works fine.
Best

It surely works on the Rinkeby network, even in the example for testing. Can you share your embed code and website URL so I can figure out what's wrong?

Hi,
Thanks for your answer.
I got it. It worked after I verified the contract on etherscan.

Thanks, I fixed the README to warn users about that.


GH4331/GH4349: Migrate GHA Artifact to V4 API

fixes #4331
fixes #4349

@cake-build/cake-team this should be ready for review, integration tests no longer cause warnings like this

Example previous run: https://github.com/cake-build/cake/actions/runs/11092875166
Upload / Download artifact is completely rewritten for the new v4 APIs but public Cake Common APIs/Aliases remain the same and integration tests look to generate same set of artifacts
Previous: https://github.com/cake-build/cake/actions/runs/11092875166#artifacts
Now: https://github.com/cake-build/cake/actions/runs/11113486680?pr=4350#artifacts
The sizes are now correct previously it reported the uncompressed size, and uploads are noticeably faster.

@devlead thank you for getting this done!


AVT 3 - Select, Accordion, Form Component, and Timepicker: Arrow key SVG image should not receive focus.

Environment
macOS Mojave version 10.14.2
Chrome version 72.0.3626.96 (Official Build) (64-bit)
Detailed Description
SVG Arrow can be read by VoiceOver and used to select an option, but it is not in the tab order and it announces the user still needs to select an option, which makes it confusing to a screenreader user.
To reproduce:

Tab to the Select box and select an option
Click Control-Option Right Arrow to the Arrow icon and VO announces the alt, "open list of options", which is the same list the user just made a select from.

Note: The Arrow icon should not receive focus and include aria-hidden="true", similar to the Vanilla Select component.

Tried to reproduce this at storybook for the Select, Accordion, Timepicker and Form Component and to me it looks like this is fixed.
Please @dakahn can you also have a look?

@snidersd hey there -- is this v10 testing? are you testing against our documentation site or is that your own environment?


Scheduler extension point data sharing with CycleState

Experiments with storing data in cycleState, instead of node annotation.

What info can get from device plugin in scheduler?
Is GetDeviceInfo the only function?
Can device plugin implement more function? total memory? return special data using standard function
how scheduler maintain the used ID