New evaluators should always have suffix clarifying their start production

Both  realm.evaluate(src, endowments) and SES.confine(src, endowments) parse source as a Program and evaluate it to its completion value. Because many JS expressions, when parsed as Programs, will parse as expression-statements, and because the completion value of an expression statement is the value of the expression, we often mistakenly use them to evaluate expressions. We have repeatedly stubbed our toe on expressions that begin with { or function. These expressions, when parsed as programs, parse as programs that mean something else and have different completion values.
Even after introducing the SES.confineExpr(exprSrc, endowments) convenience, we still accidentally used SES.confine on an inappropriate expression. Suggestion:
All new evaluators should come overloaded by explicit suffix clarifying what their start symbol is. Retire realm.evaluate and SES.confine and instead have:

realm.evalProgram
realm.evalExpr
SES.confineProgram
SES.confineExpr

Also discussed here:
https://github.com/Agoric/agoric-sdk/issues/602
Apart from modules and Function(), we are dealing with three different types of evaluation in JavaScript:

program/script (available in a script tag) should perform an evaluation in the global lexical scope, something we can't correctly emulate using eval() of Function() without parsing the source code. It should not return a completion value.
expression should be single expression because multiple statements can't return multiple completion values, but not specified as such. It makes sense that expressions are evaluated in a new lexical scope, to avoid creating a state accidental between evaluation, but the global object can be affected in sloppy mode.
eval() is a mix of both, plus the capacity to perform direct mode, BUT always executes in a new lexical scope, and always returns a completion value.

new Compartment().evaluate() is proposed normative to:

behave like eval()
except always indirect
except always strict mode

The reason are:

We want the Compartment API to be forward looking, like modules, and drop sloppy mode.
A direct form of Compartment.evaluate() would create a cross compartment context and make little sense.
Although the creation of other evaluators has both academic and practical advantages, the eval() function itself isn't going away. It's simpler to specify new Compartment().evaluate() as a limited form of eval(), and most likely simpler to implement by the engines.
It behaves like PerformEval( x, callerRealm, true, false) in the specs (https://tc39.es/ecma262/#sec-performeval).

Closing, reasons documented.


some questions for ava val result

Hi, thanks for your work!
I test the model 'ava_r50_baseline | R50-I3D-NL | 3D CNN | 22.2 | 102760666' with ava val dataset and got the map 20.35 not 22.2. Besides i also test the model 'ava_r101_baseline | R101-I3D-NL | 3D CNN | 23.2 | 102760714 | ' with ava val dataset and got the map 21.6 not 23.2. I used dataset_tools/ava/ for cut_video and extracting frames.
the part config list below:
NUM_GPUS: 4 #8
BATCH_SIZE: 4 #16
the result of ava_r101_baseline list below:
[INFO: ava_eval_helper.py:  149]: Evaluating with 50250 unique GT frames.
[INFO: ava_eval_helper.py:  150]: Evaluating with 52391 unique detection frames
{<EMAIL_ADDRESS>phone': 0.6257528901429095,
<EMAIL_ADDRESS>(at the waist)': 0.3166801822509334,
<EMAIL_ADDRESS>(an object)': 0.5029330536823506,
<EMAIL_ADDRESS>(e.g., a mountain)': 0.054609780655019785,
<EMAIL_ADDRESS>(e.g., a door, a box)': 0.10202876673111581,
<EMAIL_ADDRESS>0.16645598290916847,
<EMAIL_ADDRESS>0.02002199190449563,
<EMAIL_ADDRESS>0.4825744659510926,
<EMAIL_ADDRESS>on clothing': 0.0468733190313381,
<EMAIL_ADDRESS>0.20589438219829737,
<EMAIL_ADDRESS>(e.g., a car, a truck)': 0.4084554714434966,
<EMAIL_ADDRESS>0.28239599752680655,
<EMAIL_ADDRESS>0.03786439933681678,
<EMAIL_ADDRESS>down': 0.07982217877141026,
<EMAIL_ADDRESS>(a person)': 0.4266387587466585,
<EMAIL_ADDRESS>up': 0.13630186122501567,
<EMAIL_ADDRESS>(an object) to (a person)': 0.06472897845356354,
<EMAIL_ADDRESS>(a person)': 0.052462974836113486,
<EMAIL_ADDRESS>clap': 0.23765609955795167,
<EMAIL_ADDRESS>shake': 0.06387645466559444,
<EMAIL_ADDRESS>wave': 0.051350562345756426,
<EMAIL_ADDRESS>(an object)': 0.0032628862264896977,
<EMAIL_ADDRESS>(a person)': 0.09914906395074286,
<EMAIL_ADDRESS>0.102188041024713,
<EMAIL_ADDRESS>(a person)': 0.15806481699191882,
<EMAIL_ADDRESS>0.36017987226002973,
<EMAIL_ADDRESS>(a person)': 0.023263182014367438,
<EMAIL_ADDRESS>up': 0.013348416675665237,
<EMAIL_ADDRESS>(e.g., to music)': 0.017687284432060597,
<EMAIL_ADDRESS>to (a person)': 0.6170145606794128,
<EMAIL_ADDRESS>art': 0.444075762117532,
<EMAIL_ADDRESS>(e.g., a window, a car door)': 0.1507777171362535,
<EMAIL_ADDRESS>musical instrument': 0.22318718703291573,
<EMAIL_ADDRESS>to (an object)': 0.0007438893706970384,
<EMAIL_ADDRESS>(an object)': 0.006841743074581377,
<EMAIL_ADDRESS>(an object)': 0.012987789694658898,
<EMAIL_ADDRESS>(another person)': 0.04153379696481397,
<EMAIL_ADDRESS>down': 0.01995781637473908,
<EMAIL_ADDRESS>0.25817442548955505,
<EMAIL_ADDRESS>(e.g., a bike, a car, a horse)': 0.33074209266063204,
<EMAIL_ADDRESS>0.44980315743974686,
<EMAIL_ADDRESS>boat': 0.1497165029933184,
<EMAIL_ADDRESS>0.06722527109538293,
<EMAIL_ADDRESS>to (e.g., self, a person, a group)': 0.12125091329420612,
<EMAIL_ADDRESS>0.7584989029598016,
<EMAIL_ADDRESS>0.12543466794804858,
<EMAIL_ADDRESS>0.7940518328351375,
<EMAIL_ADDRESS>0.49234393984648445,
<EMAIL_ADDRESS>(an object) from (a person)': 0.043395584350965834,
<EMAIL_ADDRESS>a photo': 0.010481729869303543,
<EMAIL_ADDRESS>to (e.g., self, a person, a group)': 0.742146023130601,
<EMAIL_ADDRESS>on/look at a cellphone': 0.010950082540092417,
<EMAIL_ADDRESS>0.011885422545550833,
<EMAIL_ADDRESS>(an object)': 0.28067212821225074,
<EMAIL_ADDRESS>(e.g., a screwdriver)': 0.009756634157056627,
<EMAIL_ADDRESS>0.6806207798946917,
<EMAIL_ADDRESS>(a person)': 0.6481009768155408,
<EMAIL_ADDRESS>(e.g., TV)': 0.2730737534531456,
<EMAIL_ADDRESS>on a computer': 0.01887325654356591,
<EMAIL_ADDRESS>0.03536596249448319,
<EMAIL_ADDRESS>0.21620344031595096}
could you give some advice for how to get your default result?
thank you!

Hi @luckcodingdog, Thanks for the questions. The following two discussions might be related:
https://github.com/facebookresearch/video-long-term-feature-banks/issues/15#issuecomment-529210371
https://github.com/facebookresearch/video-long-term-feature-banks/issues/23
Could you give these solutions a try and let me know if they fix the problem for you? Thanks!

thanks for your quick reply.
i have uninstall my ffmpeg 4.0 and install ffmpeg 2.8.15, and extract frames again.
i found there are several difference between two versions on image size and frames number.
for example, there are 27031 frames of 1j20qq1JyX4 in ffmpeg 4.0 and 27032 frames in ffmpeg 2.8.15.  Besides, for 1j20qq1JyX4_000001.jpg , it's size is 16.1kb in ffmpeg 4.0 and  19.8 kb in ffmpeg 2.8.15.
sadly, they both got the same map 21.6.
i will next download the videos again and do as your script.

Thanks for letting me know. How about the issue described in https://github.com/facebookresearch/video-long-term-feature-banks/issues/23 ?
I think it worths checking the "Number of unique boxes", "Number of annotations", etc. printed out in log, and compare them with the numbers in our logs provided in https://github.com/facebookresearch/video-long-term-feature-banks#results
Thanks!

Hi chaoyuaw, i can't got your default result.
i have compared my log file with your 102760714.log.
yours and mine are the same:
yours:
2019-03-09 13:33:07.125	[INFO: ava_eval_helper.py:  128]: Evaluating with 50250 unique GT frames.
2019-03-09 13:33:07.125	[INFO: ava_eval_helper.py:  129]: Evaluating with 52391 unique detection frames
my:
[INFO: ava_eval_helper.py:  149]: Evaluating with 50250 unique GT frames.
[INFO: ava_eval_helper.py:  150]: Evaluating with 52391 unique detection frames
Besides, i also checked the lines number of 'ava_val_v2.1.csv'  is 237140 and the lines number of 'ava_val_predicted_boxes.csv' is 155780.  Did the lines number match with yours?
thanks a lot!

Hi @luckcodingdog,
The number of lines in my files is the same as yours. Are you able to share your full log file? I can try to see if I can identify anything. Also, what's the mAP you got?
Thanks!

Hi @chaoyuaw,
thanks for your patience.
My map is 21.7 and i have uploaded my log file and some imgs for val in https://github.com/luckcodingdog/LFB-logs

Hi @luckcodingdog, I haven't got a chance to carefully inspect the log, but with a quick check, I noticed that your frame has more blocky artifacts than mine. Might be worth checking the ffmpeg extraction part (e.g., see if you passed  "-r 30 -q:v 1", etc. )

thanks for your reply.
For data preprocessing, i use your script for downloading, cutting and extracting.
Besides, my ffmpeg version is 2.8.15.
Next, i will put attention to the paper and code. if you have any idea about it, or i solve it , we can
communicate with each other.

Hi @luckcodingdog , I'm wondering if you were able to solve the issue, and if you did, if you are able to share your solution. Thanks!

Hi @chaoyuaw , i didn't solve the issue, i have no idea about it. If i solve the question, i will share my
solution.

Hi @luckcodingdog ,  Thanks for sharing the update!
I'll inspect your log carefully again soon and see if I can find anything.

hi @chaoyuaw,
If you encounter a question, use 'cut-ava_videos'script with '.webm' or '.mp4' like below:
ffmpeg -ss 900 -t 901 -i 0f39OWEqJ24.mp4 0f39OWEqJ24_15min.mp4
the program arise error:
[aac @ 0x1793660] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
So i solve it with script
ffmpeg -ss 900 -t 901 -i 0f39OWEqJ24.mp4 -strict -2 0f39OWEqJ24_15min.mp4
I think if this makes the last result different with yours ?

Hi @luckcodingdog ,
Thank you for sharing the information. So after applying the change, how does it affect the mAP you see?

Hi, @chaoyuaw . After applying the change, the map is 21.7 not 23.2.
i wonder if you have encountered the same question?

Hi, @chaoyuaw , i am sorry to bother you again.
If you encounter a question, use 'cut-ava_videos'script with '.mp4' videos like below:
ffmpeg -ss 900 -t 901 -i 0f39OWEqJ24.mp4 0f39OWEqJ24_15min.mp4
the program arise error:
[aac @ 0x1793660] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
Besides, extract with '.webm', it encounter the error of "Encoder (codec vp8) not found for output stream #0:0".
i wonder if these errors make my result is less than yours'.
Besides, could you share your conda envs list? i wonder if different version results this?
Thanks a lot in advance !

Hi @luckcodingdog,
With the error [aac @ 0x1793660]..., does it mean that ffmpeg failed to generate 0f39OWEqJ24_15min.mp4? Or did you still get a correct-looking output, just were unsure about the message?
If you try "-strict -2" as suggested by the message, does it make any difference? Namely,
ffmpeg -ss 900 -t 901 -i 0f39OWEqJ24.mp4 -strict -2  0f39OWEqJ24_15min.mp4
(I was reading https://stackoverflow.com/questions/32931685/the-encoder-aac-is-experimental-but-experimental-codecs-are-not-enabled)
As for the second error, according to
https://superuser.com/questions/976162/troupble-with-ffmpeg-mp4-to-webm
it seems that if you download a static build of ffmpeg (from https://ffmpeg.org/download.html) this shouldn't happen.
If the error results in empty outputs, I think it's likely to affect performance.

Hi, @chaoyuaw ,
i use '-strict -2 ' to ffmpeg '.mp4' videos for images and convert '.webm' to '.mkv' for easily preprocess. So all videos have their extracting frames, about 27030 frames.
This week, i have create video-lfb on another server(4 TitanX), i use the ffmpeg-3.4.6 for cut and extract and install vpx decode. there is no error in preprocessing of extracting frames with your script.
Unfortunately, it got the same result as before.
I have several questions:

If there is person_id column  in your ava_val_v2.1.csv ?  i use the ava_val_v2.1.csv with person_id column.
when i run python test_net.py the below warings  arise, have you seen before?
Ignoring @/caffe2/caffe2/contrib/gloo:gloo_ops as it is not a valid file.
Ignoring @/caffe2/caffe2/contrib/nccl:nccl_ops as it is not a valid file.
Ignoring @/caffe2/caffe2/contrib/gloo:gloo_ops_gpu as it is not a valid file.
3.could you check these frames(https://github.com/luckcodingdog/LFB-logs) between yours and mine, if the size and content is the same(they are extracted from 'mkv', '.mp4', 'webm') ?
Thanks a lot in advance.

Hi, @chaoyuaw , i have got your default result.
The key question is the ffmpeg version. Before i used the ffmpeg which was builded by myself, maybe it can't make the best of ffmpeg. This time i used released version(https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz), the problem is solved.
Thanks a lot for your patience !

Hi @luckcodingdog , That's great! Really glad that you solved the issue, and thanks for letting me know!!

@luckcodingdog  Hi, I meet the same performance drop issue with ffmpeg(version3.1) built by myself and it bothers me many days. Your solution helps me to get the appropriate performance on the SlowFast project. I think the author can add the ffmpeg info into the README, which matters a lot indeed. Thanks again.

@tonysy keqile!


Segfault on bazel init

Compiled bazel from source using ./compile.sh -- resulting binary segfaults moments after starting.
Ubuntu 12.04.5 LTS
java-8-oracle (from the PPA suggested here: http://bazel.io/docs/install.html)
libc6 2.15-0ubuntu10.11
To reproduce:
$ git clone https://github.com/google/bazel
$ cd bazel
$ ./compile.sh
Compiling Java stubs for protocol buffers...
Compiling Bazel Java code...
Extracting helper classes for Bazel Java...
Creating libblaze.jar...
Compiling SingleJar tool code...
Extracting helper classes for SingleJar tool...
Creating SingleJar_deploy.jar...
Compiling JavaBuilder tool code...
Extracting helper classes for JavaBuilder tool...
Creating JavaBuilder_deploy.jar...
Compiling client .cc files...
Linking client...
Compiling ijar .cc files...
Linking ijar...
Compiling JNI libraries...
Linking libunix.so...
Compiling build-runfiles...
Compiling process-wrapper...
Compiling sandbox...
Creating Bazel self-extracting archive...
Creating objc helper tools...
Compiling actoolzip code...
Extracting helper classes for actoolzip...
Creating precomp_actoolzip_deploy.jar...
Compiling ibtoolzip code...
Extracting helper classes for ibtoolzip...
Creating precomp_ibtoolzip_deploy.jar...
Compiling momczip code...
Extracting helper classes for momczip...
Creating precomp_momczip_deploy.jar...
Compiling bundlemerge code...
Extracting helper classes for bundlemerge...
Creating precomp_bundlemerge_deploy.jar...
Compiling plmerge code...
Extracting helper classes for plmerge...
Creating precomp_plmerge_deploy.jar...
Compiling xcodegen code...
Extracting helper classes for xcodegen...
Creating precomp_xcodegen_deploy.jar...
Build successful! Binary is here: (...)/bazel/output/bazel
$ ./output/bazel
Extracting Bazel installation...
Segmentation fault (core dumped)

Inspecting the core:
$gdb ./output/bazel core
...
warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fffe23fe000
Core was generated by `./output/bazel'.
Program terminated with signal 11, Segmentation fault.

(gdb) thread apply all where
Thread 1 (Thread 0x7f51dc60f740 (LWP 26482)):
#0  0x00007f51db7f7ec5 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f51dc1bb842 in std::string::_Rep::_M_clone(std::allocator<char> const&, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x00007f51dc1bbf5c in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x0000000000404d86 in blaze::BlazeStartupOptions::GetJvm (this=0x1383100)
    at src/main/cpp/blaze_startup_options.cc:136
#4  0x000000000040f017 in blaze::VerifyJavaVersionAndGetJvm () at src/main/cpp/blaze.cc:443
#5  0x000000000040f434 in blaze::StartServer (socket=6) at src/main/cpp/blaze.cc:489
#6  0x000000000040fd47 in blaze::ConnectToServer (start=true) at src/main/cpp/blaze.cc:637
#7  0x0000000000411f87 in blaze::SendServerRequest () at src/main/cpp/blaze.cc:1150
#8  0x00000000004140be in blaze::main (argc=1, argv=0x7fffe22c7298) at src/main/cpp/blaze.cc:1687
#9  0x000000000041416b in main (argc=1, argv=0x7fffe22c7298) at src/main/cpp/blaze.cc:1694

The last LTS has a broken gcc. I have a fix for that in the circleci branch.
On Friday, March 27, 2015, markchadwick<EMAIL_ADDRESS>wrote:

Compiled bazel from source using ./compile.sh -- resulting binary
segfaults moments after starting.
Ubuntu 12.04.5 LTS
java-8-oracle (from the PPA suggested here:
http://bazel.io/docs/install.html)
libc6 2.15-0ubuntu10.11
To reproduce:
$ git clone https://github.com/google/bazel
$ cd bazel
$ ./compile.sh
Compiling Java stubs for protocol buffers...
Compiling Bazel Java code...
Extracting helper classes for Bazel Java...
Creating libblaze.jar...
Compiling SingleJar tool code...
Extracting helper classes for SingleJar tool...
Creating SingleJar_deploy.jar...
Compiling JavaBuilder tool code...
Extracting helper classes for JavaBuilder tool...
Creating JavaBuilder_deploy.jar...
Compiling client .cc files...
Linking client...
Compiling ijar .cc files...
Linking ijar...
Compiling JNI libraries...
Linking libunix.so...
Compiling build-runfiles...
Compiling process-wrapper...
Compiling sandbox...
Creating Bazel self-extracting archive...
Creating objc helper tools...
Compiling actoolzip code...
Extracting helper classes for actoolzip...
Creating precomp_actoolzip_deploy.jar...
Compiling ibtoolzip code...
Extracting helper classes for ibtoolzip...
Creating precomp_ibtoolzip_deploy.jar...
Compiling momczip code...
Extracting helper classes for momczip...
Creating precomp_momczip_deploy.jar...
Compiling bundlemerge code...
Extracting helper classes for bundlemerge...
Creating precomp_bundlemerge_deploy.jar...
Compiling plmerge code...
Extracting helper classes for plmerge...
Creating precomp_plmerge_deploy.jar...
Compiling xcodegen code...
Extracting helper classes for xcodegen...
Creating precomp_xcodegen_deploy.jar...
Build successful! Binary is here: (...)/bazel/output/bazel
$ ./output/bazel
Extracting Bazel installation...
Segmentation fault (core dumped)
Inspecting the core:
$gdb ./output/bazel core
...
warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fffe23fe000
Core was generated by `./output/bazel'.
Program terminated with signal 11, Segmentation fault.
(gdb) thread apply all where
Thread 1 (Thread 0x7f51dc60f740 (LWP 26482)):
#0  0x00007f51db7f7ec5 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f51dc1bb842 in std::string::_Rep::_M_clone(std::allocator const&, unsigned long) ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x00007f51dc1bbf5c in std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x0000000000404d86 in blaze::BlazeStartupOptions::GetJvm (this=0x1383100)
at src/main/cpp/blaze_startup_options.cc:136
#4  0x000000000040f017 in blaze::VerifyJavaVersionAndGetJvm () at src/main/cpp/blaze.cc:443
#5  0x000000000040f434 in blaze::StartServer (socket=6) at src/main/cpp/blaze.cc:489
#6  0x000000000040fd47 in blaze::ConnectToServer (start=true) at src/main/cpp/blaze.cc:637
#7  0x0000000000411f87 in blaze::SendServerRequest () at src/main/cpp/blaze.cc:1150
#8  0x00000000004140be in blaze::main (argc=1, argv=0x7fffe22c7298) at src/main/cpp/blaze.cc:1687
#9  0x000000000041416b in main (argc=1, argv=0x7fffe22c7298) at src/main/cpp/blaze.cc:1694
—
Reply to this email directly or view it on GitHub
https://github.com/google/bazel/issues/68.

Kristina got into the same problem with our builds on TravisCI.

Assigning to ulfjack since he already has a fix.

I won't get to this before the middle of next week.
On Fri, Mar 27, 2015 at 11:36 AM lberki<EMAIL_ADDRESS>wrote:

Assigning to ulfjack since he already has a fix.
—
Reply to this email directly or view it on GitHub
https://github.com/google/bazel/issues/68#issuecomment-86896651.

Ulf, ping?


Windows Ribbon Framework support

Here is the Introduction to the Windows Ribbon Framework which is used in MS Paint, for example.
It can be automated through COM interface (probably using comtypes package) that is implemented inside Uiribbon.dll.
Requirements for the Ribbon Framework: Windows 7+ (or Vista SP2 + Platform Update).
It would be nice to enable support of that framework in nearest future (together with or right after the UIA support).

MSPaint or MSWord ribbon dock bars and toolbars are covered by UI Automation API. So we don't need special support for that. Closing.


chore(main): release 0.6.0

:robot: I have created a release beep boop
0.6.0 (2024-08-20)
🔖 Features

export Story and Stories components from /core (#84) (c74e0db)

🐛 Bug Fixes

improve virtual module handling to support storybook v8 (#121) (30147fd)

🧹 Miscellaneous

Add chromatic as sponsor (9f29587)
upgrade to storybook v8 (#101) (96984bc)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/tobiasdiez/storybook-vue-addon/releases/tag/v0.6.0 :sunflower:


built-in timer for async_read() and async_write()

Version of Beast
300
Steps necessary to reproduce the problem
We are implement a http client which is setting up timeout for both read and write:
stream_.expires_after(connection_timeout_);
http::async_read(stream_, buffer_, resp, beast::bind_front_handler(&session::on_read, shared_from_this()));

....

stream_.expires_after(connection_timeout_);
http::async_write(stream_, req_, beast::bind_front_handler(&session::on_write, shared_from_this()));

But the program crashes in beast/core/impl/basic_stream.hpp:
723     if(! impl_->write.pending)
724         BOOST_VERIFY(
725             impl_->write.timer.expires_after(
726                 expiry_time) == 0);

So I assume we can't mix the timeout for both read and write. How can this be sorted - i.e. how can we implement independent timeouts for read and write calls?

It looks like you have a race condition in your calling code.
The timeout works as you expect.
Remember that no asio stream is thread-safe.

If you change your program to be single-threaded, what happens?

Moving all the logic to the ioc thread seems to have fixed the problem.
Thanks for help.


Question: Is injecting into settings safe unlike roothide or should I use tweaksettings?

title sums it up.

Yes! its safe. It's injected by default in this jailbreak anyways. The battery usage and Cellular settings work fine.

Ok but it's not quite showing up in settings.

Do you have PreferenceLoader installed?

That was it, Jellyfin didn't pull it in for some reason.


[CTACard]: video heading is blue

Description
Heading should not be blue

Component(s) impacted
CTACard
Browser
Chrome
Carbon for IBM.com version
1.31.0-rc.1
Severity
Severity 4 = The problem is not visible to or noticeable to an average user. Affects minor functionality, no workaround needed.
Application/website
carbon for ibm.com
Package
@carbon/ibmdotcom-react
CodeSandbox example
https://carbon-design-system.github.io/carbon-for-ibm-dotcom/next/react/?path=/story/components-cta--card
Steps to reproduce the issue (if applicable)

go to https://carbon-design-system.github.io/carbon-for-ibm-dotcom/next/react/?path=/story/components-cta--card
select video knob

Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate issues

Seeing this in Firefox as well


Need help in nesting graphs

I am new to android development and I am trying to show splash screen after 3s want to show the main screen with a bottom bar. I have implemented first bottom bar and it was working fine. Now i have create mainnavgraph using annotation and nested it in root. In splash screen i am using a LaunchedEffect and after 3s delay navigating to mainnavgrapgh. But app crashes with java.lang.NullPointerException on the same line where i am calling navController.navigate(NavGraphs.main.route) method in LaunchedEffect .
Here my code of splash screen:
@RootNavGraph(start = true)
@Destination
@Composable
fun SplashScreen() {
    val navController = rememberNavController()
    val systemUiController: SystemUiController = rememberSystemUiController()

    DestinationsNavHost(navGraph = NavGraphs.root) {
        composable(SplashScreenDestination) {
            systemUiController.isSystemBarsVisible = false
            systemUiController.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE

            LaunchedEffect(true) {
                delay(3000L)
                navController.navigate(NavGraphs.main.route)
            }
            Column(
                modifier = Modifier
                    .fillMaxSize()
                    .wrapContentSize(Alignment.Center)
            ) {
                Image(
                    painter = painterResource(id = R.drawable.ic_launcher_foreground),
                    contentDescription = null,
                    modifier = Modifier
                        .align(Alignment.CenterHorizontally))
            }
        }
    }
}

Here's code of main screen with bottom bar:
@MainNavGraph(start = true)
@Destination
@Composable
fun MainScreen() {
    val navController = rememberNavController()
    Scaffold(
        bottomBar = {
            BottomBar(navController = navController)
        }
    ) { contentPadding ->
        DestinationsNavHost(navGraph = NavGraphs.main, navController = navController, modifier = Modifier.padding(contentPadding)) {
            composable(HomeScreenDestination) {
                HomeScreen(navController = navController)
            }
            composable(SearchScreenDestination) {
                SearchScreen()
            }
            composable(LocationScreenDestination) {
                LocationScreen()
            }
            composable(TimesScreenDestination) {
                TimesScreen()
            }
        }
    }

}

All other screens in main screen are also belong to same mainnavgragh.
Here's main navgraph code:
@RootNavGraph
@NavGraph
annotation class MainNavGraph(
    val start: Boolean = false
)

I am unable to understand why i am getting null pointer exception and how can i achieve this. There should be an article about it somewhere or it should be wikis.

Hi @ghulammohiuddin2398 👋
Sorry for the brief response, I’m not on the pc atm.
But let me try to help you a bit.
Your SplashScreen does not belong itself to any nav graph. It just contains the NavHost that then contains all nav graphs and destinations.
And then your MainScreen doesn’t belong to Main nav graph. It belongs to the root one, and then it calls NavHost passing in the main nav graph.
Start with that and let me know how it goes. Btw what exactly is null? Can you paste the stack trace?

Hi. First of all, thanks man for your help. I think the problem was MainScreen should have been part of RootNavGraph. All i had to do was add SplashScreen and MainScreen in RootNavGraph and move NavHost is SplashScreen to its parent and it worked like magic .
Secondly, I was really happy to find your library. I am an iOS developer. In SwiftUI, there is a NavigationLink in which we just pass the view which makes is easy to pass any data to next view as arguments/parameters and a state parameter that tells when to navigate. I was missing that in compose navigation. But then I learned about your lib and its really wonderful. I can now pass data to next view easily.
Thanks for this library.

Hi. First of all, thanks man for your help. I think the problem was MainScreen should have been part of RootNavGraph. All i had to do was add SplashScreen and MainScreen in RootNavGraph and move NavHost is SplashScreen to its parent and it worked like magic .
Secondly, I was really happy to find your library. I am an iOS developer. In SwiftUI, there is a NavigationLink in which we just pass the view which makes is easy to pass any data to next view as arguments/parameters and a state parameter that tells when to navigate. I was missing that in compose navigation. But then I learned about your lib and its really wonderful. I can now pass data to next view easily.
Thanks for this library.


Update the game over message

Update the game over message so people know how to play again!

Like the update, glad the users will be able to see a game over screen with more details!


Remove version: ITK-SNAP.ITK-SNAP version 4.0.2

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/itk-snap/files/itk-snap/4.0.2/itksnap-4.0.2-win64-AMD64.exe/download
OK
(Automated message - build 923)

Close with reason: Duplicate;


Periodic White Error Popups on Windows 10 Starting with v0.76.0

Microsoft PowerToys version
0.76.1
Installation method
PowerToys auto-update
Running as admin
None
Area(s) with issue?
General
Steps to reproduce

Run Windows 10 Enterprise 21H2 19044.3693.
Update PowerToys to v0.76.0 or v0.76.1.

✔ Expected Behavior
No error popups.
❌ Actual Behavior
I periodically (once an hour or so) receive between 3-4 popup windows in a row. The nature of the error appears to affect the rendering of the window. See:

The reported error contents (not visible in the screenshot) are:
Version: <IP_ADDRESS>
OS Version: Microsoft Windows NT 10.0.19044.0
IntPtr Length: 8
х64: True
Date: 12/7/2023 1:34:35 PM
Exception:
System.IO.FileNotFoundException: The system cannot find the file specified. (0x80070002)
   at Wpf.Ui.Interop.Dwmapi.DwmGetColorizationParameters(DWMCOLORIZATIONPARAMS& dwParameters)
   at Wpf.Ui.Interop.UnsafeNativeMethods.GetDwmColor()
   at Wpf.Ui.Appearance.ApplicationAccentColorManager.GetColorizationColor()
   at Wpf.Ui.Appearance.ApplicationThemeManager.Apply(ApplicationTheme applicationTheme, WindowBackdropType backgroundEffect, Boolean updateAccent, Boolean forceBackground)
   at Wpf.Ui.Appearance.ApplicationThemeManager.ApplySystemTheme(Boolean updateAccent)
   at Wpf.Ui.Appearance.SystemThemeWatcher.UpdateObservedWindow(IntPtr hwnd)
   at Wpf.Ui.Appearance.SystemThemeWatcher.WndProc(IntPtr hwnd, Int32 msg, IntPtr waram, IntPtr 1Param, Boolean& handled)
   at System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr 1Param, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr waram, IntPtr 1Param, Boolean& handled)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchwhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Other Software
No response

Issue #30177 appears to be related: the same exact API is implicated at the top of the callstack.

This appears to be the issue in the WpfUi framework we started using with v0.76. We already contributed the fix there https://github.com/lepoco/wpfui/pull/859 . We will move to the new version of the frameworks as soon as it's released. Thank you for reporting the issue.

@stefansjfw
If I am not wrong the new WPF-UI release (preview 12) from yesterday contains the fix.

Hey just curious if there is going to be a hotfix released for this soon, or when the next release will be, the popups are starting to get annoying.

Hey just curious if there is going to be a hotfix released for this soon, or when the next release will be, the popups are starting to get annoying.

Would you be willing to try a custom build to confirm that the new dependency version comes with the fix?

I guess I could, I ended up switching my pc to light mode to see if it would stop the popups and it has for now.
But I can switch it back and try the hotfix

Thanks. You can find the installer here https://github.com/stefansjfw/PowerToys/releases/tag/v0.0.1
Could you give it a try? Also, check if PowerToys Run respects OS theme and if changing PowerToys Run from Settings app works as expected. Thanks for the help here!
Make sure you delete currently installed version of PowerToys before installing this one. Also, this version won't be automatically updated when we release new version, so you would need to do that manually.

Ok Thank You for the hotfix @stefansjfw I really appreciate it (PowerToys is an awesome project, so great work to everyone involved in making it!),
I've tried it, it seems to respect windows light/dark themes as well as it's own internal light/dark/windows settings and it works well. I will let you know if I see that error returns.
Thanks Again!

Ok Thank You for the hotfix @stefansjfw I really appreciate it (PowerToys is an awesome project, so great work to everyone involved in making it!),
I've tried it, it seems to respect windows light/dark themes as well as it's own internal light/dark/windows settings and it works well. I will let you know if I see that error returns. Thanks Again!

Thanks for the feedback! Once again, that is not an official release! It's a local custom build. I'll let you know once we officially release a new version with the fix included.

This was hotfixed with 0.76.2. Please update PowerToys.

/dup #30357

Ok, @stefansjfw I haven't seen the popup since I installed the hotfix, I will download the new version, Thanks Again!

Ok, @stefansjfw I haven't seen the popup since I installed the hotfix, I will download the new version, Thanks Again!

Thanks again for the help :) The new official version contains the same fix you were testing

You're Welcome!


Google Benchmark needs updating

gbenchmark has compile issues w/ some compilers, is this to resolve that?

Maybe, but I'm not even sure what version we are currently using.

Closed by #30


add aurelia into awesome list

There's no content in that list. Try again in some months when it's more mature.

Also make sure to read the instructions for creating a new list, contributing guidelines and the awesome manifest.

There are more content in list. please reopen this PR

another PR #531


Add user node-red to group users

For people using commands that use /dev/uio* which is assigned to group 'users', it would be handy to add the node-red users.

Reported by Ritesh Bhatt of Georgia Tech.

@jadonk where is the /dev/uio rule set? i had mostly converted everything to use a generic "gpio" group, instead of random ones..
unless my eye's aren't working.. i don't see it..
https://github.com/beagleboard/customizations/tree/master/etc/udev/rules.d
Regards,

Brain fart, i see it..
https://github.com/RobertCNelson/omap-image-builder/blob/master/scripts/chroot.sh#L982-L989
i'll nuke those and convert it to 'bb-customizations' package..
Regards,

Fixed with: https://github.com/beagleboard/customizations/commit/65255a59650375b9b83b3a3d7cc7837cad124d76


Include External is ignored

External resources are appearing in Collections with include_external set to false.
Relates to #316

Seems to be an issue with Storelike::tpf

Seems like QueryFilter does not use include_external. We could solve this in at least two ways:
Create a new QueryFilter with includes_external
This leads to an increase in indexed collections (more disk space used), and will make indexing slower.
Filter afterwards
Keep the indexed collections intact. Always pass include_external=true to tpf. This leads to some runtime overhead, although iterating over subjects should not be that expensive.


To do list

added webpack, html, css and js files
rendered dynamic html content from the js file
added linters and checked for errors

please @topeogunleye how do i resolve the lighthouse linters error? i have no idea how i'm suppose to resolve it.

please @topeogunleye how do i resolve the lighthouse linters error? i have no idea how i'm suppose to resolve it.

@Developer-Kingz, Glad to see that you've solved the lighthouse error. Sorry the the late response.


Dashboard feed data/testing

Details

It is the PR for testing purpose. We want to test running the script which consumes reassure output json file and make the call to graphite server.
It is based on the main PR -> https://github.com/Expensify/App/pull/36480
Before merging we need to set: GRAPHITE_SERVER and GRAPHITE_PORT environment variables
Flow for testing:

Create PR to graphite-testing-script
Merge PR
Observe reassurePerformanceTests GH action
After reassure test are completed:

it should call action: "Get and save graphite string"
It should make the call with graphiteString to the Graphite Server

Fixed Issues

$
PROPOSAL:
Tests

[ ] Verify that no errors appear in the JS console

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@rinej could you rink the relevant GH issue or Slack convo to give more context to this PR? 🙇

Hello @hayata-suenaga. It is testing PR, so we want to test the flow by merging to some other branch than main.
Here is the proper PR -> https://github.com/Expensify/App/pull/36480
@johnmlee101 and @mountiny are reviewing it

have you set GRAPHITE_SERVER and GRAPHITE_PORT environment variables as GitHub Secrets?

I have

Oh not as secrets but variables

@rinej  merged the PR


Make VMap::find_nearest return -1 when empty

Fixes #33455
VMap::find_nearest() should return -1 if no such "nearest" index can be found. The tokenizer expects find_nearest() to return a negative value on failure, but it returns 0 in that situation actually:
https://github.com/godotengine/godot/blob/609209ab8059cd0b53025e8a49281f4aa2ff8d32/modules/gdscript/gdscript_tokenizer.cpp#L1445-L1449
p.s. master won't crash as loading byte code is not implemented yet, so no code uses find_nearest() here.
For cherry-picking:

core/templates/vmap.h → core/vmap.h
is_empty() → empty()

Shouldn't _find() be changed to return -1 instead of 0?

_find() returns the actual index when exact is true, and returns the position to insert when exact is false. It's used by insert().

Thanks!

Cherry-picked for 3.5.


Save selected language and load at start

You may want to extract the LANGUAGES object out to a shared place or something but for the purposes of this PR I just duplicated it across frontend and backend packages.

Thank you for the contribution!


How to detect on an image using C# language

Thanks for your good source code.
I am a C# engineer. I don't want to use the predict.py file . I know tensorflowsharp but it doesn't have C# api of keras. How to detect on an image using C# language.
What is the best way to solve it? Any suggestions will be greatly appreciated.

convert the .hdf5 model from keras to .pb from tensorflow and run the graph in your C# api. But you will need implement the decode_netout function in c#
here is a example how to convert the models:
https://github.com/amir-abdi/keras_to_tensorflow

@rodrigo2019 Thank you very much,I will try it


Bug report

Attempting to send feedback crashed. Trying again immediately also crashed, but within a few minutes it was working again. Have not been able to recreate issue since.

Seems to be a mail service issue blocking logins for security purposes.  Attempted fix in mail service settings (outside the code).  Seems to be working now.  Will leave this open for now to make sure that this solution fixed the issue.
https://accounts.google.com/DisplayUnlockCaptcha

Issue has been fixed.


chore: remove unnecessary import

Reported by lake exe shake when working on #16419.
It seems like lake exe shake uncovers new unnecessary imports when imports are sorted.

maintainer merge

bors merge


NullPointerException on using repeated field for JSON body template in HTTP sink

🐛 Bug Report
For HTTP Sink JSON Templatised body, if there is a repeated field being used for JSON body creation, then firehose silently fails with NullPointerException while reporting metrics
java.lang.NullPointerException: null
	at java.time.Duration.between(Duration.java:473)
	at io.odpf.firehose.metrics.StatsDReporter.captureDurationSince(StatsDReporter.java:53)
	at io.odpf.firehose.metrics.Instrumentation.captureSinkExecutionTelemetry(Instrumentation.java:165)
	at io.odpf.firehose.sink.AbstractSink.pushMessage(AbstractSink.java:56)
	at io.odpf.firehose.sinkdecorator.SinkDecorator.pushMessage(SinkDecorator.java:28)

Expected Behavior
Firehose should throw proper errors for non-supported field types
Steps to Reproduce
Steps to reproduce the behavior.

Use an input proto having repeated field
Use that repeated field in JSON body template
Run firehose

It's happening in the prepare method, the exception is not handled properly.

It is happening for normal HTTP sink as well, if you leave extra spaces in the service url


Collapse section

Hi,
Is there away to collapse sections (all or specific ones)?
i.e., I have several sections, with few pages under each section and I want to show only the sections and allow the user to click on them to show their content

Hi, I joined the question. It would further increase the package's usability. There is currently no option to create one complete foldable menu for several sections and multiple pages (at least, I did not find anything like that). There are just some tricks by using streamlit_option_menu, but this introduces some chaos in the app structure.

Id like to join this. Would love to have them collapse-able aswell.


Import from GoodReads

Creating this issue to document this + track work across anyone that wants to take it on
Goodreads feels like the predominant tool in this space. They currently support import/export, which makes porting libraries in and out relatively easy-
GoodReads docs: https://help.goodreads.com/s/article/Does-Goodreads-support-the-use-of-APIs
Goodreads Export (requires signin): https://www.goodreads.com/review/import
It appears to export a CSV with the following columns:

Column name
Column Type
Example

Book Id
Goodreads specific ID for the book?, appears to be an integer
10410420

Title
String
Bottom of the 33rd: Hope, Redemption, and Baseball's Longest Game

Author
String, Author name
Dan Barry

Author l-f
String, Author's last name, then first name
Barry, Dan

Additional Authors
Comma separated list of additional authors

ISBN
ISBN number
006201448X

ISBN13
ISBN13 Number
9780062014481

My Rating
Integer between 0 and 5
0

Average Rating
Average rating of book at time of export (could change over time?)
4.08

Publisher
string, publisher name
Harper

Binding
Appears to be a few options here
Hardcover

Number of Pages
integer
259

Year Published
Year
2011

Original Publication Year
Year
2010

Date Read
Date that the user actually read the book

Date Added
Date that the user added it to their "shelves"
2013/07/17

Bookshelves
I think this is an array of sorts or a single element that indicates what shelve(s) its on
to-read

Bookshelves with positions
GR shelves appear to support a position, indicating when they want to be read or an order of elements
to-read (#5)

Exclusive Shelf
In my export, this appears to only be "read" or "to-read"
to-read

My Review
String, there's a character limit that has changed over the years, seems to allow for the use of HTML elements and/or markdown text?

Spoiler
I don't have any spoilers in my export, so these are all empty, unclear if it supports a string message here, or if its a boolean flag that renders the review itself differently

Private Notes
String, private notes, presumably not supported

Read Count
Integer
0

Owned Copies
Integer
0

I think some of the data appears to be fetched from the ISBN/ISBN13, so it doesn't necessarily have to be persisted from the export. Other data like Average Rating is GoodReads specific (in addition to time-of-export specific), and doesn't have to be on the record.
Looking through the lexicon, Goodreads concept of shelves and differentiating books you've already read vs books you want to read don't currently appear possible - so importing books you've already read only seems like an okay start until that sort of thing might already be fleshed out. Private data's also right out, so private notes should likely be dropped. Not clear that there's a good way to persist spoilers right now either.

Great that you are looking into this!
We do already have a finishedAt field that's just now used in the UI yet, Read Count could map to that I suppose.
It would be great to add Spoilers and rich text via something like facets.
And shelves could map to lists which I have started thinking about a bit but not worked on yet. My assumption is that to-read could be mapped to that.
I think the rest is data that is better contributed to open-library?!

I created a personal python script as a proof of concept that might be useful as a jumping-off point: goodreads-to-skylights.
I did implement finishedAt but not spoilers or lists for my records.
You can review the results for yourself at my Skylights profile or PDSls. I'm pretty happy with how the import turned out, although there are a few "Unknown Item" records that appear in the Skylights profile despite having valid Open Library IDs and I have yet to figure out why (I'll open a separate ticket for that).
Happy to take some feedback and translate this into a PR, or anyone can feel free to do it without me :)
Bonus: I didn't implement this, but there may be a way to automate contributions to open-library for rows of the GoodReads export that we're unable to find the corresponding open-library key for. I haven't looked too much into that though, and there may be too few data points to work off of for a proper contribution.

Very exciting, I especially love that bonus idea a loooooot!
It would be great to have that importer accessible for non-technical users


nocodb: ts-loader failing dependency

trying to build nocodb, I get this at the end of the build (after all the overrides).
Hash: 88d3eb52fb7243dc0e86
Version: webpack 4.46.0
Time: 1375ms
Built at: 04/23/2022 11:52:54 PM
 1 asset
Entrypoint main = bundle.js
[0] ./src/lib/noco/Noco.ts 349 bytes {0} [built] [failed] [1 error]
[1] ./src/lib/noco/nc.try.ts 375 bytes {0} [built] [failed] [1 error]
[2] ./src/lib/utils/NcConfigFactory.ts 380 bytes {0} [built] [failed] [1 error]
[3] ./src/lib/index.ts 1.04 KiB {0} [built]

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' opti>
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configu>

ERROR in ./src/lib/utils/NcConfigFactory.ts 36:29
Module parse failed: Unexpected token (36:29)
You may need an appropriate loader to handle this file type, currently no loaders are configured to proce>
| };

it looks like something isn't finding properly ts-loader. Not sure I have to say.
I'm posting it here in case you've seen something similar. I think we ran into this once.

Yes, I have seen these errors many times. The bundlers (in this case webpack) module resolver doesn't find the right loader library.
There are several things you can do:

check the dream-lock.json file and make sure that the missing library is actually a dependency of the package which is bundled
In case it is not, try using inject
Try overriding installMethod = "copy" which potentially reduces symlink related issues during module installation
pray to the god of nix
open an issue with your non-working flake attached


Error following in bato.to

I have the latest version of cum
$ cum --version
cum version 0.8 "Miyamo Chio"

This happens when I follow a commit on bato.to, with or without the trailing slash in the URL
$ cum follow http://bato.to/comic/_/comics/grancrest-senki-r21482/
Traceback (most recent call last):
  File "/usr/local/bin/cum", line 11, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/cum/cum.py", line 15, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/cum/cum.py", line 209, in follow
    series = utility.series_by_url(url)
  File "/usr/local/lib/python3.6/site-packages/cum/utility.py", line 71, in series_by_url
    return Series(url)
  File "/usr/local/lib/python3.6/site-packages/cum/scrapers/batoto.py", line 18, in __init__
    self.chapters = self.get_chapters()
  File "/usr/local/lib/python3.6/site-packages/cum/scrapers/batoto.py", line 40, in get_chapters
    name = columns[0].img.next_sibling.strip()
AttributeError: 'NoneType' object has no attribute 'strip'

Can you check if the same behavior happens on git master?
pip install --upgrade git+https://github.com/Hamuko/cum


Project aurora doesn't work

Hey,
i use project aurora to control my rgb lights from my mouse and keyboard.
I use for a few months, but now, it didn't start, it show up at my task manager and don't open a window to control.
Please help me.

Do you use GHUB? If so, please read #1819

Do you use GHUB? If so, please read #1819

Fixed with v0.7.2


make rarity : Cannot read properties of undefined (reading 'elements')

I'm not sure if it matters but I'm using "layers_if_then".   I've tried copying the folder structure into "layers" but there's no change.
When I run 'make rarity' I get the following error:
D:\art_generative\OTHER\cReaperZ\GENERATE\animated-art-engine-main\step2_spritesheet_to_generative_sheet\utils\rarityData.js:133
rarityDataTraits.elements.forEach((rarityDataTrait) => {
^
TypeError: Cannot read properties of undefined (reading 'elements')
at D:\art_generative\OTHER\cReaperZ\GENERATE\animated-art-engine-main\step2_spritesheet_to_generative_sheet\utils\rarityData.js:133:24
at Array.forEach ()
at D:\art_generative\OTHER\cReaperZ\GENERATE\animated-art-engine-main\step2_spritesheet_to_generative_sheet\utils\rarityData.js:127:6
at Array.forEach ()
at Object. (D:\art_generative\OTHER\cReaperZ\GENERATE\animated-art-engine-main\step2_spritesheet_to_generative_sheet\utils\rarityData.js:122:6)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)
make: *** [Makefile:31: rarity] Error 1

Hi there @draub you have to generate the collection first then make rarity will work. So make all then make rarity.

Closing this issue @draub feel free to re-open or reach out on Hashlip's discord https://discord.gg/Wg9SJkYWnD


Make WSL as a K2s pre-requisite for wsl based variants

Is your feature request related to a problem? Please describe.
Currently, when the user tries to install K2s with WSL mode, k2s cli attempts to enable WSL. However, we have seen sometimes issues in many systems where WSL cannot be enabled. This could be due to man reasons, e.g. a pending reboot, missing KBs or incorrect KBs installed. Due to this, the k2s installation fails and a corrupted state is achieved. It can happen also that when cli attempts to enable WSL, a reboot may be triggered, which also leads to such a state.
Describe the solution you'd like
Like Hyper-V, if the user would like to use a WSL based variant, the user must enable WSL before installing K2s. The user must perform some tests to ensure that WSL is correctly enabled. Only then, the user must proceed with K2s installation with WSL mode.
Here, during the installation process with WSL flag sepcified, the CLI must check if feature WSL is enabled in Windows features. If it is not enabled, the installation should not proceed. Additionally, the user must be prompted to enable WSL feature.
Such checks should be done at the very beginning of K2s installation (before setup configuration is created).

We should gather the checks for the WSL availability. Also the powershell module for Hyper-V (Get-VM).


Chapter Functions, p.356

Why you do so complicated check like
name = (typeof name !== 'undefined') ? name : 'Henry';

inserted of
name = name || 'Henry';

or if you want to handle "" case?
name = (name !== undefined) ? name : 'Henry';

Admittedly, this example is a bit verbose. There are a number of more concise ways to check for a missing parameter. The intent if this particular example is to contrast to what is offered by default parameter values.


wip debug prow integration failures

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

Needs approval from an approver in each of these files:

pkg/OWNERS

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
2310d133db8d64fea063d85efa10e536db4b73a0
link
/test istio-integ-k8s-tests

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

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

Needs approval from an approver in each of these files:

pkg/OWNERS
tests/integration/OWNERS

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
2310d133db8d64fea063d85efa10e536db4b73a0
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
e4ab3540c99b47ad30526ab0a79e76567292ad9c
link
/test istio-pilot-multicluster-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
e4ab3540c99b47ad30526ab0a79e76567292ad9c
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
e4ab3540c99b47ad30526ab0a79e76567292ad9c
link
/test istio-integ-k8s-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
c55b25c6548f682f73a6cfdef28339b6d8f247e4
link
/test istio-pilot-multicluster-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
c55b25c6548f682f73a6cfdef28339b6d8f247e4
link
/test istio-pilot-multicluster-e2e

prow/e2e-mixer-no_auth.sh
c55b25c6548f682f73a6cfdef28339b6d8f247e4
link
/test e2e-mixer-no_auth

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

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

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
c55b25c6548f682f73a6cfdef28339b6d8f247e4
link
/test e2e-mixer-no_auth

prow/istio-pilot-multicluster-e2e.sh
69f7a2be05d00328664c15ecec9bc33efe277a26
link
/test istio-pilot-multicluster-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
69f7a2be05d00328664c15ecec9bc33efe277a26
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
69f7a2be05d00328664c15ecec9bc33efe277a26
link
/test istio-integ-k8s-tests

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


[5.8] Support command name aliases

Sometimes I really want to use command name aliases. Here is an example of my commands:
php artisan make:class App\SomeClass # php artisan mc App\SomeClass
php artisan make:interface App\SomeInterface # php artisan mi App\SomeInterface

In fact, I can call $this->setAliases(['an:alias']) after the parrent::construct() line.
public function __construct()
{
    parent::construct();

    $this->setAliases(['an:alias']);
}

But It's pretty convenient to support aliases registration via the command property.
class MyCommand extends Command
{
    /**
     * The command name aliases.
     *
     * @var array
     */
    protected $aliases = ['an:alias'];
}

This has been requested before in #16894. The ability to alias your own commands is included in most operating systems -- I don't see a reason the framework should maintain it.

I will do it myself. Thank for your opinions!


How to create two clusters one after another and run tests on both cluster after the first cluster is setup with necessary components

I want to create two kind clusters one after another and interacting with each other, is it possible to run go tests after that.
Based on my understanding the clusters are created/deleted as well as the tests are executed independently.
I want to run multiple cluster tests.
Please suggest any tags/fields.
Thanks.

I think you could be interested in https://github.com/networkservicemesh/integration-interdomain-k8s/blob/main/.cloudtest.yaml

I think you could be interested in https://github.com/networkservicemesh/integration-interdomain-k8s/blob/main/.cloudtest.yaml

I tried this, but the clusters are running in parallel manner. I have to install some specific components on the first cluster in prepare stage ,after that I have to install components in second cluster through prepare stage after the components installation in first cluster via prepare stage is finished successfully. After that I have to run go tests on first cluster only, not on the second cluster. Do you have such examples?


A lock-free bounded queue

This implements a lock-free bounded queue — blocking using domain-local-await.
The data structure / algorithm is based on the Michael-Scott queue extended with length maintenance and caching of remaining capacity in such a way that additional contention is avoided in the happy paths.
TODO:

[x] fix opam files to build on CI
[x] use backoff from separate package

[x] fix dune-project

[ ] try_push, length (can be done in O(1)), is_empty
[ ] tests
[ ] ability to change capacity
[ ] benchmarking
[ ] consider whether making wakeups fair is worth it (currently all awaiters are woken up so there is no fairness)
[ ] documentation

FYI, I will squash this PR to a single commit to make this PR a little bit easier to work with.

FYI, I changed this to use Picos instead of DLA.

#160 has been merged and adds this implementation without the bounding part. For now, we are not planning to add a dependency to picos so I close this PR.
Thanks @polytypic  for the work !


Can't compile for windows in lower than C++ 20

Did you check the documentation and it did not help?

[X] I have searched the existing documentation
[X] I have searched the existing answer
[X] I have read the contribution guide

Overview
I'm using Visual Studio Community 2022 17.8.3 with MSVC v143.
Additionally, is there a particular reason for adopting C++20? It could potentially limit the package's usability due to compatibility issues.
Steps to reproduce
Just run the sample
Code sample
Code sample
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
}

Environment
Logs
[√] Flutter (Channel stable, 3.16.3, on Microsoft Windows [Version 10.0.19045.3803], locale en-US)
    • Flutter version 3.16.3 on channel stable at V:\Env\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b0366e0a3f (2 weeks ago), 2023-12-05 19:46:39 -0800
    • Engine revision 54a7145303
    • Dart version 3.2.3
    • DevTools version 2.28.4

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Admin\AppData\Local\Android\sdk
    • Platform android-33, build-tools 30.0.3
    • Java binary at: V:\JetBrains\apps\AndroidStudio\ch-0\222.4459.24.2221.10121639\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.3)
    • Visual Studio at V:\02_Apps\Microsoft Visual Studio
    • Visual Studio Community 2022 version 17.8.34330.188
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 2021.3)
    • Android Studio at V:\JetBrains\apps\AndroidStudio\ch-0\213.7172.25.2113.9014738
    • Flutter plugin version 68.1.2
    • Dart plugin version 212.5744
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio (version unknown)
    • Android Studio at V:\JetBrains\apps\AndroidStudio\ch-0\222.4459.24.2221.10121639
    • Flutter plugin version 68.1.2
    • Dart plugin version 212.5744
    X Unable to determine Android Studio version.
    • android-studio-dir = V:\JetBrains\apps\AndroidStudio\ch-0\222.4459.24.2221.10121639
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)

[√] IntelliJ IDEA Ultimate Edition (version 2022.1)
    • IntelliJ at V:\JetBrains\apps\IDEA-U\ch-0\221.5080.210
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19045.3803]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 120.0.6099.71
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 120.0.2210.77

[√] Network resources
    • All expected network resources are available.

Logs
Logs
CMake Deprecation Warning at V:/01_Work/Projects/myproject/build/windows/x64/extracted/firebase_cpp_sdk_windows/CMakeLists.txt:17 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
2

Nuget.exe not found, trying to download or use cached version.
Nuget.exe not found, trying to download or use cached version.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt\winrt\impl\Windows.Foundation.0.h(983,26): error C2039: 'wait_for': is not a member of 'winrt::impl' [V:\01_Work\Projects\myproject\build\windows\x64\plugins\gal\gal_plugin.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt\winrt\impl\Windows.Foundation.0.h(1004,26): error C2039: 'wait_for': is not a member of 'winrt::impl' [V:\01_Work\Projects\myproject\build\windows\x64\plugins\gal\gal_plugin.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt\winrt\impl\Windows.Foundation.0.h(1038,26): error C2039: 'wait_for': is not a member of 'winrt::impl' [V:\01_Work\Projects\myproject\build\windows\x64\plugins\gal\gal_plugin.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt\winrt\impl\Windows.Foundation.0.h(1057,26): error C2039: 'wait_for': is not a member of 'winrt::impl' [V:\01_Work\Projects\myproject\build\windows\x64\plugins\gal\gal_plugin.vcxproj]
Exception: Build process failed.

Exited (1).

HI @khoadng
The gal c++ code uses the co_await keyword, which was standardized from C++20. So basically, this code will only work with C++20 or higher.
However, there may have been co_await already in WinRT, but my memory is not clear on this.
PR is always welcome 😊

I would love to but my C++ skills are terrible haha
Anyway, managed to make it work by downloading a newer Windows SDK, my current version is 10.0.19041.0.
Here are the steps:

Open Visual Studio Installer
Select Mofify
Select Windows 10 SDK (10.0.20348.0)

OK. I will add that to the readme.
I am now a one-person operation, managing Dart, Java, C++, and Swift code, so it is important to squeeze in backward compatibility to ease the burden. Please understand 🙏

If there is nothing else, I will close this issue.

Sure you can close it.


async Raven.send_event not thread safe with rack

from docs:
Raven.configure do |config|
  config.async = lambda { |event|
    Thread.new { Raven.send_event(event) }
  }
end

not thread safe.
raven-ruby/lib/raven/interfaces/http.rb

      self.data =
        if req.form_data?
          req.POST
        elsif req.body
          data = req.body.read # <-- here  IOError in Rack application object (not opened for reading)
          req.body.rewind
          data
        end

capture state directly then send?

Good catch. This should be fairly easy to write a failing spec for. I'm not positive of what the right solution should be.

Ideally I think there would be a way to just put the delivery of the error in a thread.
Raven.capture_exception_state(e).deliver_later()

I've been thinking about that division for a while.
Ideally, the only thing that gets "async'd" is delivery, not capture. Unfortunately, those two concerns are not entirely separated in the code right now, making this very difficult.

what would be the problem with adding it to the transport layer something like this (just quick untested code, could be written better)
#file lib/raven/transports/http.rb
    class HTTP < Transport
      def send_event(auth_header, data, options = {})
        project_id = self.configuration[:project_id]
        path = self.configuration[:path] + "/"
        url = "#{path}api/#{project_id}/store/"
        content_type = options[:content_type]

        if self.configuration[:deliver_sync]
          response = conn.send(url) do
            req.headers['Content-Type'] = content_type
            req.headers['X-Sentry-Auth'] = auth_header
            req.body = data
          end
        else
          a_conn = new_conn
          Thread.new do
            begin
              a_conn.send(url) do
                req.headers['Content-Type'] = content_type
                req.headers['X-Sentry-Auth'] = auth_header
                req.body = data
              end
            rescue => e # must never throw?
              Raven.logger.warn "Error sending async #{e.inspect}"
            end
          end
          response = true # or what is needed?
        end

        Raven.logger.warn "Error from Sentry server (#{response.status}): #{response.body}" unless response.status == 200
        response
      end

      def conn
        @conn || self.new_conn
      end

      def new_conn
        self.verify_configuration
        ...

it would require some kind of limit of threads (1?) I suppose.

Ideally I think there would be a way to just put the delivery of the error in a thread.
Raven.capture_exception_state(e).deliver_later()

:+1:

Ideally I think there would be a way to just put the delivery of the error in a thread.

To be clear, this is exactly what config.async is supposed to be for. It doesn't work because we haven't cleanly separated delivery from capture.

Check out my spec here. It passes on MRI and JRuby.

Closing until I get a repro.


how to specific the user and pass in record mode

Which ssh username and password shall be used when I launch the sushmock in record mode ?
Shall I input them interactive when the tool is launched ?
I am on windows. My username is not the same as the one for the remote ssh username.

Hi wushuzh,

Which ssh username and password shall be used when I launch the sushmock in record mode ?
Shall I input them interactive when the tool is launched ?

Sorry for the late reply.
Yes.
When you start Sushmock in record mode, it will use the username and password provided by the ssh client to connect to the ssh server you are proxying to.
Also, when you start Sushmock in server mode, it should assume that you have logged in with the provided username and password.
Unfortunately, I am currently unable to build and test this project, so I haven't been able to check correct answer properly...
Thanks


Model does not allow transfer refund process even if it is successful

I am facing error while making transfer refund process though i am getting a successful refund on server console terminal
DATA[OUT -> https://api.sandbox.mangopay.com/v2.01/mysquare/transfers/20981790/refunds][4.527 seconds]
- status_code: 200
- headers: {'pragma': 'no-cache', 'cache-control': 'no-cache', 'date': 'Wed, 15 Feb 2017 08:15:09 GMT', 'content-type': 'application/json; charset=utf-8', 'content-length': '562', 'x-ratelimit-reset': '1487147400,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>', 'x-ratelimit-remaining': '2251, 4450, 8742, 105534', 'x-ratelimit': '49, 50, 58, 66', 'expires': '-1', 'server': 'Leetchi'}
- content: {"Id":"20981813","Tag":null,"CreationDate":1487146508,"AuthorId":"20440919","CreditedUserId":null,"DebitedFunds":{"Currency":"GBP","Amount":100},"CreditedFunds":{"Currency":"GBP","Amount":100},"Fees":{"Currency":"GBP","Amount":0},"Status":"SUCCEEDED","ResultCode":"000000","ResultMessage":"Success","ExecutionDate":1487146509,"Type":"TRANSFER","Nature":"REFUND","InitialTransactionId":"20981790","InitialTransactionType":"TRANSFER","DebitedWalletId":"19646537","CreditedWalletId":"20440920","RefundReason":{"RefundReasonMessage":null,"RefundReasonType":"OTHER"}}
Following is the Error Stack i am getting:
Traceback (most recent call last):
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 1536, in call
rv = self.handle_exception(request, response, e)
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 1530, in call
rv = self.router.dispatch(request, response)
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 1278, in default_dispatcher
return route.handler_adapter(request, response)
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 1102, in call
return handler.dispatch()
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 572, in dispatch
return self.handle_exception(e, self.app.debug)
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 570, in dispatch
return method(*args, **kwargs)
File "/home/test/RatedApp/mysquare/server/mysquare/lib/auth.py", line 86, in wrapper
return func(self, *args, **kwargs)
File "/home/test/RatedApp/mysquare/server/mysquare/lib/auth.py", line 130, in wrapper
return func(self, *args, **kwargs)
File "/home/test/RatedApp/mysquare/server/mysquare_admin/handlers/admin.py", line 2090, in handle
transfer_refund.save()
File "/home/test/RatedApp/mysquare/server/mysquare/../lib/mangopay/base.py", line 204, in save
result = insert.execute(handler)
File "/home/test/RatedApp/mysquare/server/mysquare/../lib/mangopay/query.py", line 130, in execute
return dict(self.parse_result(data))
File "/home/test/RatedApp/mysquare/server/mysquare/../lib/mangopay/query.py", line 27, in parse_result
pairs[field_name] = field.python_value(result[api_name])
File "/home/test/RatedApp/mysquare/server/mysquare/../lib/mangopay/fields.py", line 298, in python_value
return Reason(type=value['RefusedReasonType'], message=value['RefusedReasonMessage'])
KeyError: 'RefusedReasonType'
the process i am following to get refund done is as follows:
    user_author = User.get(user.mangopay_id)
    transfer = Transfer.get(order.transaction_mangopay)
    params = {
        "author": user_author,
        "transfer": transfer
    }
    transfer_refund = TransferRefund(**params)
    transfer_refund.save()

Though i have made a monkey patch by replacing following fragment of code in fields.py with following code but not sure if it will break anything else or not ??
class RefundReasonField(Field):
def python_value(self, value):
if value is not None:
print value
return Reason(type=value['RefundReasonType'], message=value['RefundReasonMessage'])
return value
def api_value(self, value):
    value = super(RefundReasonField, self).api_value(value)
    if isinstance(value, Reason):
        value = {
            'RefundReasonType': value.type,
            'RefundReasonMessage': str(value.message)
        }
    return value

Hello @VishalTheAries !
The value RefundReasonMessage is a null value when refunding a transfer operation, that's a fact, so this code seems to be a little bit buggy in this particular case.
What is your proposal?

I am facing the same issue, I've just replaced in fields.py::RefundReasonField all occurences of RefusedReasonType by RefundRefusedType, and the KeyError is gone.

Hello @chocopoche and @VishalTheAries,
We will look at this issue and try to provide a fix ASAP.
Mickaël

I did the same and it worked but worried will it break anything else ?

 Bug - Null Transfer Refund Message cannot be well treated by SDK

 Bug - Null Transfer Refund Message cannot be well treated by SDK

This fix will be released very soon.
Thanks for your patience !


DSASigner signer/verifier uses ASN.1 (X9.62)

The DSASigner encodes signatures in ASN.1 (X9.62), but JWS expects a plain r||s encoding. DSASigner.sign and DSASigner.verify needs to use cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature and cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature.

Is there a cryptography version of Cryptodome.Util.number.long_to_bytes?

No

Preliminary fix in https://github.com/jschlyter/cryptojwt/tree/fix_dsasigner

PR in https://github.com/IdentityPython/cryptojwt/pull/4

Closing this issue, handle in PR.


Add undo/redo buttons

Is your feature request related to a problem? Please describe.
When a creation/destruction action is taken, I'd like to be able to undo it, and if I change my mind before I've done something else, I'd like to be able to redo it.
Describe the solution you'd like
When an action is taken, I can click undo to reverse it.
When an action has been reversed, and no actions have been taken, I can click redo to restore the reversed action.
To implement this, simply use an actionStack. To undo, pop off an action onto the redoStack. To redo, pop the redoStack top and push it onto the actionStack.
Additional context
Discussed in 2/21 meeting.

This opens up the possiblity for more than one redoStack: if the state that had an associated redo is returned to, we can recover it. But having two stacks keeps things simple.

This issue is not relevant anymore. Closing it. See #323 for more details.


[Bug]: After upgrade to v2 mushroom cards started failing

Current Behavior
Did theupdate to v2 and on my andriod phone pretty much every mush card I had started failing.
big red mushroom card xxxxx does not exist
Desktop browser seemd fine.
Reverted back to 1.10 and everything worked again
Expected Behavior
No response
Steps To Reproduce
No response
Environment
- OS:
- Node:
- Version:
- Hassio:

Anything else?
No response

Hello. Could you provide the logs from your browser console ? 🙂

Its the HA app.  custom element does not exist.  that goes for every mushroom element i am using, chip,entity, lights, etc  On the firefox browser i have on my note10  it seems fine.
there is nothing in the system logs which is talking to any issues with mushroom.  is there anything on the phone app I can provide?

Try closing the app (from the activities view, don't just go to the home screen) and re-opening it again. If that doesn't work, try clearing the cache in the HA app settings. If that doesn't work, try clearing the data (warning: you will be signed out).


Iam 160 create charmed operator

I rectified most comments. I have not included the changes, where I left a comment detailing why. If this PR is approved, I'll delete the previous one.
Updates not done:

Didn't take out function that returns service url. I use it while developing the integrations.
Didn't remove port var from config. This is consistent with application where the working port is configurable with envvar.
Took out integration test code, and integration test environmet from tox.ini. I'm not done with the integration tests, I'll include them with the pr including the relations.

you can add the publish action now - it should only run on push, so when this PR will be approved and merged

Could you update pyproject.toml to reflect settings from other repos? Like here. I think it may solve some of the lint errors that we chose to ignore


fix: update chain externalIdentifiers key

closes #97

thanks @odcey, I'll publish a patch for the @axelarjs/api package


Links to components on biojs.net don't redirect

The component links on the biojs.net homepage look like this:
http://registry.biojs.net/#/detail/cytoscape
These don't redirect to the new registry, they go to the biojs.io front page. Do browsers actually send URL fragments for a rewrite rule to process?

Thanks for reporting - 24da560de3281e11b3da108d27f4f8a55cb3312b changes the domain.
The redirect process is based on:

A generic rewrite rule from biojs.net to biojs.io (at cloudflare)

http://registry.biojs.net/#/detail/cytoscape -> http://biojs.io/#/detail/cytoscape

Everything else is then handled by Angular (code) which might require HTML5 location capabilities

http://biojs.io/#/detail/cytoscape -> http://biojs.io/d/cytoscape

So I suspect an error to happen here. Do you use a "special" browser?

Additionally there is a github pages error document (this document is always served for a 404 error. This small hack is required because without server-side rewrite rules, d/<component> is not found.

No, I use Safari.
Fragments (everything after the has symbol) are client-side things, they are not sent to the server. The fragment is supposed to be excluded from the location of a document, and instead refers to a part within it.
So the transaction with cloudflare actually looks like this:
curl -v http://registry.biojs.net/#/detail/cytoscape

Trying <IP_ADDRESS>...
Connected to registry.biojs.net (<IP_ADDRESS>) port 80 (#0)

GET / HTTP/1.1
User-Agent: curl/7.40.0
Host: registry.biojs.net
Accept: /

< HTTP/1.1 301 Moved Permanently
< Date: Fri, 30 Jan 2015 15:04:40 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: __cfduid=d17fb4509c7cfb0f40cd59397ad83557c1422630280; expires=Sat, 30-Jan-16 15:04:40 GMT; path=/; domain=.biojs.net; HttpOnly
< Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Expires: Thu, 01 Jan 1970 00:00:01 GMT
< Location: http://biojs.io/
< Server: cloudflare-nginx
< CF-RAY: 1b0e90321f250b87-LHR
<

Connection #0 to host registry.biojs.net left intact

Notice that curl sends / as the request path, not /#/detail/cytospace. So cloudflare responds with http://biojs.io/
You can see the same thing happen in firefox if you bring up the developer tools. It is then up to the browser to append the fragment onto the end of the new location. I guess Safari chooses not to.
I did some digging, and it looks like this is a long standing behaviour of WebKit going back many years which is claimed to be a bug (no idea if it is, or it it is within spec):
https://bugs.webkit.org/show_bug.cgi?id=24175
Chrome doesn't exhibit the same behaviour...
Unfortunately this is just an inherent problem if you choose to overload the fragment as part of the document's URL, as appears to be popular these days. Personally I think if two pages are materially different (which the biojs detail pages clearly are), they really should have different URLs. Currently everything in biojs.io has the same URL path, i.e. "/".

Can we move over to html5 URLs ? Seems like a good idea.
On Fri, Jan 30, 2015 at 3:20 PM, Andy Jenkinson<EMAIL_ADDRESS>wrote:

No, I use Safari.
Fragments (everything after the has symbol) are client-side things, they
are not sent to the server. The fragment is supposed to be excluded from
the location of a document, and instead refers to a part within it.
So the transaction with cloudflare actually looks like this:
curl -v http://registry.biojs.net/#/detail/cytoscape

Trying <IP_ADDRESS>...
Connected to registry.biojs.net (<IP_ADDRESS>) port 80 (#0) > GET /
HTTP/1.1 > User-Agent: curl/7.40.0 > Host: registry.biojs.net >
Accept: / > < HTTP/1.1 301 Moved Permanently < Date: Fri, 30 Jan
2015 15:04:40 GMT < Transfer-Encoding: chunked < Connection: keep-alive <
Set-Cookie: __cfduid=d17fb4509c7cfb0f40cd59397ad83557c1422630280;
expires=Sat, 30-Jan-16 15:04:40 GMT; path=/; domain=.biojs.net;
HttpOnly < Cache-Control: private, max-age=0, no-store, no-cache,
must-revalidate, post-check=0, pre-check=0 < Expires: Thu, 01 Jan 1970
00:00:01 GMT < Location: http://biojs.io/ < Server: cloudflare-nginx <
CF-RAY: 1b0e90321f250b87-LHR <
Connection #0 to host registry.biojs.net left intact

Notice that curl sends / as the request path, not /#/detail/cytospace. So
cloudflare responds with http://biojs.io/
You can see the same thing happen in firefox if you bring up the developer
tools. It is then up to the browser to append the fragment onto the end of
the new location. I guess Safari chooses not to.
I did some digging, and it looks like this is a long standing behaviour of
WebKit going back many years which is claimed to be a bug (no idea if it
is, or it it is within spec):
https://bugs.webkit.org/show_bug.cgi?id=24175
Chrome doesn't exhibit the same behaviour...
Unfortunately this is just an inherent problem if you choose to overload
the fragment as part of the document's URL, as appears to be popular these
days. Personally I think if two pages are materially different (which the
biojs detail pages clearly are), they really should have different URLs.
Currently everything in biojs.io has the same URL path, i.e. "/".
—
Reply to this email directly or view it on GitHub
https://github.com/biojs/biojs.net/issues/3#issuecomment-72216726.

I did some digging, and it looks like this is a long standing behaviour of WebKit going back many years which is claimed to be a bug (no idea if it is, or it it is within spec):

Wow I am sorry :-(

Personally I think if two pages are materially different (which the biojs detail pages clearly are), they really should have different URLs. Currently everything in biojs.io has the same URL path, i.e. "/".

What do you mean with "different URLs"? At the moment the detail pages make leverage of HTML5 URLs and look like this:
biojs.io/d/muts-needle-plot

(as mentioned above, if someone clicks the detail page link the "404.html" will be an intermediate step)

I just mean that all of these URLs have the same path, and thus in the web's “document centric" world identify the same page/document:
http://registry.biojs.net/#/detail/cytoscape
http://registry.biojs.net/#/detail/foo
http://registry.biojs.net/
http://registry.biojs.net/#bar
So for example:
http://example.com/foo#bar
This means traditionally means “an element called bar in a document called foo on a server example.com”.
When you navigate to a URL like this, your browser makes a request to example.com/foo and then processes the #bar part afterwards. The server doesn’t see #bar, it has no idea that you requested it.

On 30 Jan 2015, at 15:56, Seb<EMAIL_ADDRESS>wrote:
I did some digging, and it looks like this is a long standing behaviour of WebKit going back many years which is claimed to be a bug (no idea if it is, or it it is within spec):
Wow I am sorry :-(
Personally I think if two pages are materially different (which the biojs detail pages clearly are), they really should have different URLs. Currently everything in biojs.io has the same URL path, i.e. "/".
What do you mean with "different URLs"? At the moment the detail pages make leverage of HTML5 URLs and look like this:
biojs.io/d/muts-needle-plot
(as mentioned above, if someone clicks the detail page link the "404.html" will be an intermediate step)
—
Reply to this email directly or view it on GitHub.

@andyjenkinson Yes this is due to the fact that AngularJS is just one web application and before we moved to `biojs.io Angular was operating in the "Hashbang" (aka fragment) mode.
Now it should run in the HTML5 mode with different urls for different pages and I hope that over the next days nearly all references to registry.biojs.net are replaced.
Thanks again for the notice :)

I will close this now as hopefully all links have been updated. Thanks @andyjenkinson


Static typing: headers in Response should be Mapping instead of Dict

Static type checker used
mypy (project's standard)
AWS Lambda function runtime
3.12
Powertools for AWS Lambda (Python) version
latest
Static type checker info
error: Argument "headers" to "Response" has incompatible type "dict[str, str]"; expected
"dict[str, str | list[str]] | None"  [arg-type]
            headers=headers,
                    ^~~~~~~
note: "Dict" is invariant -- see https://mypy.readthedocs.io/en/stable/common_issues.html#variance
note: Consider using "Mapping" instead, which is covariant in the value type

Code snippet
headers = {"str": "str"}
Response(200, headers=headers)

Possible Solution
Instead of Dict[str, Union[str, List[str]] use Mapping[str, Union[str, List[str]].
E.g. https://stackoverflow.com/a/73603324/6621062

thanks a lot @Wurstnase for taking the time, truly ;) Merging shortly so it's part of today's release!!

Merged, should be available to everyone in the next few hours on PyPi and Lambda Layers.
Huge welcome to the Powertools for AWS community @Wurstnase <3


Android: Taller image previews

This is to make the story title image thumbnail match the height of the story. See this screenshot from the web.
Note that the CSS to achieve this is:
.NB-story-title .NB-storytitles-story-image {
    position: absolute;
    right: 0;
    width: 86px;
    height: 100%;
    background-size: 40%, cover;
    background-position: 50% 50%, 50% 30%;
    background-repeat: no-repeat;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

I'm taking screenshots now and this would be appreciated as the next priority.

@samuelclay This should be ready for screenshots.
I'm continuing the work on images to cleanup and simplify the code and move away from rounding image corners on decoding, which will be committed under the same task for context.

Lovely!

Let's move up the top alignment of the image to be inline with the favicon

And add a bit more rounding