Make PTR records forwardable

By default, unbound returns NXDOMAIN on AS112/RFC1918 PTR records and doesn't forward the queries.
To change this behavior, we need to add "nodefault" to local-zones.
Please check this email for more information:
https://www.unbound.net/pipermail/unbound-users/2012-February/002247.html
I added local-zone management in the role.

what if you can add whatever configs that you need? with the current implementation, the role needs to be updated whenever someone needs different options, or new options are added to unbound. the role would create minimum, and ubiquitous in most cases, configurations that can be overridden by users, and you only need to additional configurations as you described in the PR. this is a common practice in our recent role development, described in a doc and i would like to do the same in this role.

Adding some unbound_custom_config variable should be enough, do you want me to do it or do you have some time to take care of this?

am working on it in a branch. it needs modernization and has other bugs to be fixed.

the branch should work for you (your requirement is in the unit test). would you test it?

I'll try the new version in the end of the week, looks good!
Thanks for your work


can you keep the decimal point two

eg.  *.00

Nice!

@wqdjl Could you provide more complex example or give a link?

You should be able to see it here
https://github.com/RobinHerbots/Inputmask

@wqdjl @victorschinaider We add support for * character . You can use latest version with mask 0*.00

@wqdjl @victorschinaider We add support for * character . You can use latest version with mask 0*.00

doesn't work
my mask: 0*.00000
formControl remove dot
i write: 123.12345 and get 12312345
why?

I have a similar problem to @kordenv
mask="0*.00"
Input value: 178.09
Output value: 17809
(Although it does work correctly if I use mask="comma_separator.2")


error in importing 'pyIFD.ADQ2'

Hey Mr. Eldritch,
I tried to run your project and when I run the second command $pdoc3... I received this error:
ImportError: Error importing 'pyIFD.ADQ2': ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
What is the issue do you think?
Thanks in advance!

Hi, it sounds like an issue with the JPEGIO library compatibility with your version of numpy. Couple things:

What platform are you running this on?
How did you install the pyIFD? (e.g. pip, source, etc.)
Assuming you used pip, what version of JPEGIO numpy does pip freeze indicate you're using?

Hi, it sounds like an issue with the JPEGIO library compatibility with your version of numpy. Couple things:

What platform are you running this on?
How did you install the pyIFD? (e.g. pip, source, etc.)
Assuming you used pip, what version of JPEGIO numpy does pip freeze indicate you're using?

macOS Monterey
pip install ...
jpegio==0.2.8

Thanks!

I just tried installing on a mac with Monterey using pip install. I'm able to run the test case in this repo per the following:
git clone https://github.com/EldritchJS/pyIFD
cd pyIFD/tests
python validate_algo.py --algorithms ADQ2 --imagefilename data/168_image.jpg --groundtruthfilesrootdir data
Which passes on my system. As a baseline can you check if this works on your system?

Thank you! It works now but I do have a question.
how do you calculate the .mat for the images in order for validation. In other word, I want to generate .mat for another images, then manipulate them and then check the validation with the orignal to compare the robustness of each algorithm

Unfortunately the way those .mat files were generated was with closed source from the original authors of the algorithms, which our collaborators were given access to. That's the rub with this project: we wanted to bring this image forgery detection functionality to everyone via an open source cross-platform library in Python, but had to validate it off the closed source one!
As your original issue seems to have been resolved, I am going to close the issue at this point.


WCF "2fa" returns nothing

Started ASF as admin  "ASF.exe --server"

12/04/2016 18:27:06 [*] INFO: Init() <Main> Archi's Steam Farm, version <IP_ADDRESS>
12/04/2016 18:27:06 [*] INFO: StartServer() <Main> Starting WCF server...
12/04/2016 18:27:07 [*] INFO: StartServer() <Main> WCF server ready!

I sent " ASF.exe --client "2fa Sam" "  in cmd through WCF:

D:\Games\ASF>ASF.exe --client "2fa bot1"
12/04/2016 18:43:53 [*] INFO: Init() <Main> Archi's Steam Farm, version <IP_ADDRESS>
12/04/2016 18:43:53 [*] INFO: ParseArgs() <Main> Command sent: 2fa bot1
12/04/2016 18:43:59 [*] INFO: ParseArgs() <Main> Response received:

No code received.
I tried with old built v<IP_ADDRESS> , and I get the code successfully.

You didn't set up SteamOwnerID.

My bad.
All good now, thanks.


"early" (instantly) expired tokens

Some services ( vk.com "vkontakte" for example) responds with "expires_in:0" when requesting access_token witch will never expire (scope "offline" for vk )
In this case module produce OAuth2AccessToken instance with isExpired() instantly "true"

@alatushkin Please see comment


additional keys in the loaded data

Hi,
My excel has the following data:

However the loaded data has additional key '0' which I do not expect also a few additional rows with null data. Any resolution to this?
[       {         "0": null,         "id": "11K81A0558",         "email"<EMAIL_ADDRESS>        "role": "Administrator"       },       {         "0": null,         "id": "11K81A0559",         "email"<EMAIL_ADDRESS>        "role": "Staff"       },       {         "0": null,         "id": null,         "email": null,         "role": null       },       {         "0": null,         "id": null,         "email": null,         "role": null       }     ]

Most likely you have added an extra column and rows in your excel file. Try deleting them in the file.

I'm also seeing the 0 column being added to my imported data. Happens when trying to import a file that has just been exported, no other changes.


Annotate Live Plan with additional node info

Reviewed by @martint in https://github.com/prestodb/presto/pull/11960

@electrum is https://github.com/prestodb/presto/pull/12306 important here?


Implement PyTorch Lightning integration

Introduces PyTorchLightningPruningCallback for PyTorch Lightning integration.

PTAL.

PTAL.

Thanks for the review comments and suggestions! I applied the suggestions and resolved the conflicts so PTAL.


[flutter_tool] Catch ProcessException from 'adb devices'

Description
This PR catches a ProcessException in addition to an ArgumentError on a call out to adb devices. We get the ArgumentError when adb is not found, and we get a ProcessException when it is found but running it results in a ProcessException from dart:io.
Related Issues
https://github.com/flutter/flutter/issues/36074
Tests
I added the following tests:
Added test to android_device_test.dart
Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read [Handling breaking changes]). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

I get the following error after doing all these
C:\Users\Michael Odafe>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.2.1, on Microsoft Windows [Version 10.0.17134.885], locale en-US)
\CreateProcessW failed 193
Unhandled exception:
ProcessException: %1 is not a valid Win32 application.


Consolidating this repo with NWP-consumer

Both this repo and the nwp consumer can pull down and process nwp data, and on the surface do very similar work, although the nwp consumer does have a lot more features. Should we consolidate on nwp consumer, and just add the extra functionality there, and archive this repo and project? @devsjc
Things that we want to probably add somewhere soon:

ICON archiving that is usable in Dagster
ARPEGE global forecast archiving and conversion to Zarr
Global Deterministic Prediction System (Canada) forecast archive access (there is a publicly available archive of its forecasts) and conversion to Zarr
ARPEGE Europe forecast archiving and conversion to Zarr.

One difference between this and the consumer is that the code here also works for converting downloaded data to zarr format, while the consumer is more focused on live downloading, I think. Potentially we should add the ability for the consumer to run the zarr conversion off of local paths as well? As we have the ARPEGE forecasts locally on Leonardo, and icon data for some of the days that are currently missing from Huggingface. Or do we keep that functionality here, and maybe set this up a bit better for working with local archived datasets and non live data?

Okay, yeah, sounds good to me. I like having it all in one place, and yeah, makes sense. 1 is the most pressing, we are archiving the raw data for 2-4 already on Leonardo, although for GDPS there might be a better archive here https://github.com/julemai/CaSPAr to use (you do have to manually request data though, but it does go back to 2017).

Tracking 1 here https://github.com/openclimatefix/dagster-dags/issues/38


Potential bug: What happens if tag_sync is on but docker registry watcher sees changes and deploys?

We observed this during the release of stagin_mithril2 which warrants investigation

CC @pcrespov

The docker registry watcher will notice new images being tagged as for example release-simcore-latest and thus trigger a deploy, even if tag_sync=True. This behaviour is according to my current best assessment appropriate as long as we always use latest image tags. We need to move away from this in the long run and use proper version-logged docker image tags


Icon for subscribing to tasks is not clear

The bell icon is not immediately clear what it does and the tooltip doesn't appear obviously on mobile.
Would propose having the button say "follow" or "unfollow" for clarity

Fixed by the referenced commit.


Autodetermine if work-path needs to be specified in SSH authorized_keys

If a user's app.ini contains a APP_DATA_PATH which refers to a non-absolute path then gitea serv etc. become dependent on the AppWorkPath.
gitea serv may then require --work-path to be set in the authorized_keys if the AppWorkPath determined by gitea web and gitea serv are different.
This would occur if GITEA_WORK_DIR is set, --work-path is used to run gitea web or if the AppPath cannot be determined at start-up.
This PR adds some code to attempt to automatically determine if this is necessary and adds some documentation to suggest adding --work-path to the template.
This should prevent SSH failures from happening as described in https://github.com/go-gitea/gitea/pull/19317
Replace #22754

I think it's better to simplify the Gitea's path system, instead of making it more complex. It's also worth to introducing breaking changes to simplify the path system.
I can't find a reason why the paths in config should be relative path, and why these paths should be controlled by various variables.
If some people really need the relative paths in config, just tell them to write %AppBinPath/data/.... in the future?

Could we assume the base path when it is a relative path? And of course, we can give it a warning or deprecated message. I also don't like introduce a new configuration item.

The old WorkPath etc are already the "assumed base path" , which already cause many problem. That mechanism was just patched and patched in history, became more and more complex. I believe at the moment few maintainers could tell how these paths work clearly without spending a lot of time on reading code.
In the future, Gitea could do the following steps to clean the legacy "path problems" fundamentally, without breaking most users:

Use ini package to update the app.ini, write absolute paths into it on startup.
If the app.ini is read-only, show Deprecated warning current release and do Fatal on next release.
If some site admin really needs to use relative path, introduce %AppBinPath% for app.ini.

By doing so, most users could upgrade to latest Gitea without any problem. If a site admin set app.ini to read-only, or they need to use relative path, they should be very sure about what they are doing and they must already have the ability to handle the breaking changes.

Codecov Report

Merging #23301 (5142ce1) into main (f521e88) will increase coverage by 0.44%.
The diff coverage is 30.00%.

:exclamation: Current head 5142ce1 differs from pull request most recent head 02438ca. Consider uploading reports for the commit 02438ca to get more accurate results

@@            Coverage Diff             @@
##             main   #23301      +/-   ##
==========================================
+ Coverage   47.14%   47.58%   +0.44%
==========================================
  Files        1149     1143       -6
  Lines      151446   151185     -261
==========================================
+ Hits        71397    71945     +548
+ Misses      71611    70731     -880
- Partials     8438     8509      +71

Impacted Files
Coverage Δ

modules/setting/setting.go
42.90% <0.00%> (-1.01%)
:arrow_down:

modules/setting/server.go
50.43% <42.85%> (-0.47%)
:arrow_down:

modules/setting/ssh.go
65.21% <50.00%> (-1.45%)
:arrow_down:

... and 92 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Not only one user reports the WorkDir related bugs:  Gitea's path system quirk and bug #24222  and more.
I do not we should do more hacking and patching, the Gitea's path quirk should be fixed fundamentally.

It needs these:

#25330
#25331


fix: reload folder when branch is changed in terminal; fix git tests

This PR...
Changes

Fixes
git tests
How to test it

Screenshots

Checklist

[x] tested locally
[ ] added new dependencies
[ ] updated the docs
[ ] added a test

https://github.com/kubeshop/monokle/pull/2422


Linking fails due to LLVM intrinsics getting treated as external symbols

Steps to reproduce
On ARMv7 with rustc 1.19.0-nightly (0418fa9d3 2017-06-04):

git clone https://github.com/hsivonen/encoding_rs
git checkout 14314b56bfe4d6b607007605dc0abe96eaac8184
RUSTFLAGS=' -C target-feature=+neon' cargo test --features simd-accel

Actual results
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-L" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib" "/opt/Projects/encoding_rs/target/debug/deps/encoding_rs-ab80901544ec70f4.0.o" "-o" "/opt/Projects/encoding_rs/target/debug/deps/encoding_rs-ab80901544ec70f4" "-Wl,--gc-sections" "-pie" "-nodefaultlibs" "-L" "/opt/Projects/encoding_rs/target/debug/deps" "-L" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib" "-Wl,-Bstatic" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libtest-163c20e386ec0612.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libgetopts-bd312ea730ea22d0.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libterm-4959b4e709084e0a.rlib" "/opt/Projects/encoding_rs/target/debug/deps/libcfg_if-caf3002e998a144c.rlib" "/opt/Projects/encoding_rs/target/debug/deps/libsimd-788dad5c9a48fa23.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libstd-35ad9950c7e5074b.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libpanic_unwind-fb44afc024bbc636.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libunwind-14b8f3202acdad6a.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/librand-20a50a22d4c2b1e9.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libcollections-b479831207997444.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/liballoc-10b591f1a68dd370.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/liballoc_jemalloc-28913dc5a1e63cd7.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/liblibc-6ecacccb5bdc4911.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libstd_unicode-f4f0ae88f5ad8ad4.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libcore-bfaa82017ca17cb2.rlib" "/home/hsivonen/.rustup/toolchains/nightly-armv7-unknown-linux-gnueabihf/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libcompiler_builtins-863b57a66ba6c3e1.rlib" "-Wl,-Bdynamic" "-l" "dl" "-l" "rt" "-l" "pthread" "-l" "gcc_s" "-l" "pthread" "-l" "c" "-l" "m" "-l" "rt" "-l" "pthread" "-l" "util"
  = note: /opt/Projects/encoding_rs/target/debug/deps/encoding_rs-ab80901544ec70f4.0.o: In function `simd::arm::neon::common::bool16ix8_all':
          /home/hsivonen/.cargo/registry/src/github.com-1ecc6299db9ec823/simd-0.2.0/src/arm/neon.rs:506: undefined reference to `llvm.neon.vpminu.v4i16'
          /home/hsivonen/.cargo/registry/src/github.com-1ecc6299db9ec823/simd-0.2.0/src/arm/neon.rs:507: undefined reference to `llvm.neon.vpminu.v4i16'
          /opt/Projects/encoding_rs/target/debug/deps/encoding_rs-ab80901544ec70f4.0.o: In function `simd::arm::neon::common::bool8ix16_all':
          /home/hsivonen/.cargo/registry/src/github.com-1ecc6299db9ec823/simd-0.2.0/src/arm/neon.rs:506: undefined reference to `llvm.neon.vpminu.v8i8'
          /home/hsivonen/.cargo/registry/src/github.com-1ecc6299db9ec823/simd-0.2.0/src/arm/neon.rs:507: undefined reference to `llvm.neon.vpminu.v8i8'
          collect2: error: ld returned 1 exit status

Expected results
Expected LLVM intrinsics to be handled internally and expected the linking stage not to have LLVM symbols to deal with.
Additional info
Adding link_llvm_intrinsics to a local copy of simd did not help.

Hmm, not sure. I don't see any obvious problems here, do you? https://github.com/rust-lang-nursery/simd/blob/master/src/arm/neon.rs --- I don't have any ARM hardware with which to reproduce this though.

An LLVM unit test suggests that the problem is that rustc is a missing arm component between llvm and neon in the intrinsic name. I.e. should be llvm.arm.neon.vpminu.v8i8 and not llvm.neon.vpminu.v8i8 as seen in the error message.

If I do RUSTFLAGS=' -C target-feature=+neon' cargo test in the source dir of the simd crate, I get link failures with other things that lack .arm. between llvm and neon.

(Now recompiling the compiler to verify.)

With my rustc patch, I was able to successfully cross-compile to ARMv7+NEON on an x86_64 host. I'll submit a rust-lang/rust PR.

My compiler patch fixed this. (Now seeing run-time misbehavior that I'm not seeing on Aarch64 or x86_64...)


test, will not merge

Codecov Report

Merging #291 (30b52bd) into master (2bb3c7b) will decrease coverage by 0.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #291      +/-   ##
==========================================
- Coverage   59.43%   59.32%   -0.12%
==========================================
  Files         167      167
  Lines       16016    16016
==========================================
- Hits         9519     9501      -18
- Misses       5944     5961      +17
- Partials      553      554       +1

Flag
Coverage Δ

1.14.x
32.80% <ø> (ø)

1.15.x
32.80% <ø> (ø)

1.16.x
32.80% <ø> (ø)

1.17.x
59.32% <ø> (-0.06%)
:arrow_down:

1.18.x
32.80% <ø> (-0.08%)
:arrow_down:

connection
12.79% <ø> (ø)

discovery
11.94% <ø> (ø)

e2e
45.78% <ø> (-0.12%)
:arrow_down:

integration
45.78% <ø> (-0.12%)
:arrow_down:

macOS-latest
32.80% <ø> (ø)

ratelimiter
14.75% <ø> (+0.06%)
:arrow_up:

scripting
15.32% <ø> (ø)

table
40.34% <ø> (-0.12%)
:arrow_down:

ubuntu-latest
59.32% <ø> (-0.06%)
:arrow_down:

unit
32.80% <ø> (-0.08%)
:arrow_down:

windows-latest
32.80% <ø> (-0.08%)
:arrow_down:

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

Impacted Files
Coverage Δ

testutil/timeutil/timeutil.go
24.00% <0.00%> (-16.00%)
:arrow_down:

retry/retry.go
76.08% <0.00%> (-2.18%)
:arrow_down:

internal/table/client.go
87.51% <0.00%> (-1.90%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2bb3c7b...30b52bd. Read the comment docs.


Fix varargs support on aarch64-apple-darwin

Uses the strategy outlined in #1451 (comment) to enable support for varargs functions with integer/pointer arguments on aarch64-apple-darwin. CI testing is also added for aarch64-apple-darwin.

Thanks for the PR! While this is a big hack, so is the rest of the vararg support in cg_clif, so I don't see it as a reason to reject this PR. I would like to see all parts of the vararg support hack to be placed together though. Also if you don't mind, could you ask a CI job for aarch64-apple-darwin to test it? This should be a matter of duplicating the block at https://github.com/rust-lang/rustc_codegen_cranelift/blob/1cb728280dfe7cc241eae34196f80c876aa9addc/.github/workflows/main.yml#L57-L59 and adjusting the TARGET_TRIPLE. You can also do the same at https://github.com/rust-lang/rustc_codegen_cranelift/blob/1cb728280dfe7cc241eae34196f80c876aa9addc/.github/workflows/main.yml#L214-L216 to get CI to upload a prebuilt version of cg_clif for arm64 macOS.

@beetrees I want to post an announcement on Mastodon. Do you want me to credit you as @\beetrees?

https://hachyderm.io/@bjorn3/112648887843960881


Batching example for C# seems wrong?

We have the following as an example of batching in C#:
var BATCH_SIZE = 8190;
for (int i = 0; i < transfers.Length; i += BATCH_SIZE)
{
    var batchSize = BATCH_SIZE;
    if (i + BATCH_SIZE > transfers.Length)
    {
        batchSize = transfers.Length - i;
    }
    var segment = new ArraySegment<Transfer>(transfers, i, batchSize);
    createTransfersError = client.CreateTransfers(segment.Array);
    // error handling omitted
}

This seems wrong? If I am reading the docs correctly, segment.Array returns the entire array, not a subslice.
Which makes me think, should we perhaps be using spans in our API?

@batiati could you take a look at this?

Yes, the classic Array API isn't compatible with slices (or ArraySegment in this case). It would require copying the sliced segment into a new array or declaring one array per batch instead of slicing a bigger one.

Which makes me think, should we perhaps be using spans in our API?

Sure! Using spans allows the application to optimize memory usage with reusable buffers, IIRC we didn't use spans from the beginning due to compatibility with older runtimes.
In C#, Spans are naturally more complicated because of lifetime restrictions, for more details there's an interesting guideline explaining how the C# compiler can keep track of slices (and situations where it can't):
https://learn.microsoft.com/en-us/dotnet/standard/memory-and-spans/memory-t-usage-guidelines#usage-guidelines
I created a PR converting the API to use slices, without breaking changes because arrays can be automatically coerced to slices.
https://github.com/tigerbeetle/tigerbeetle/pull/1443
Now the sample looks like
var BATCH_SIZE = 8190;
for (int i = 0; i < transfers.Length; i += BATCH_SIZE)
{
    var batchSize = BATCH_SIZE;
    if (i + BATCH_SIZE > transfers.Length)
    {
        batchSize = transfers.Length - i;
    }
-  var segment = new ArraySegment<Transfer>(transfers, i, batchSize);
-  createTransfersError = client.CreateTransfers(segment.Array);
+  createTransfersError = client.CreateTransfers(transfers[i..batchSize]);
    // error handling omitted
}


Fix nightly CI with split case for pandas (around 3.0.0 version)

[x] Closes #973
[x] Tests added: Please use assert_type() to assert the type of any return value

@Dr-Irv I tried to clean up the test but the context is dependent on pandas<3.0 and numpy>=2.0 so that makes the logic a little crooked. I improved it but there is no way to have all the show_versions at once (since in one case it will raise a UserWarning and not in another).
Let me know if you find a better way to write those, I was not overly familiar with the logic at first so did not want to break it all.

thanks @loicdiridollou . Let's see what happens after I merge

Fingers crossed!

thanks @loicdiridollou . Let's see what happens after I merge

Fingers crossed!

It succeeded.  Thanks for looking into this


Potential Fix for Android Crashing Maps

I have no idea why, but changing from the prop region to initialRegion seems to stop the map from crashing on Android when zooming. We are able to maintain the same behavior of zooming back to the parade map when switching screens by wrapping with the withIsFocused HOC.
Please thoroughly test this on real devices before merging, especially on real Android devices. I have testing on emulators for iOS 6s and Android Nexus 5 and will test on my real iOS device too.
Tester check-list

[ ] Tested on multiple devices / OS versions (Test on the physical device(s) you have access to, otherwise use BrowserStack):

[ ] Galaxy S8 (Android 7.0/8.0)
[ ] Galaxy S7 (Android 6.0)
[ ] iPhone X (iOS 11.x)
[ ] iPhone 8 (11.x)
[ ] iPhone 7 (iOS 10.x)

Optional:

[ ] Google Pixel 2
[ ] Galaxy S8 Plus
[ ] Galaxy S7 Edge
[ ] Galaxy S6
[ ] iPhone 7+
[ ] iPhone 6

Weak connection testing (If applicable)

[ ] Airplane mode
[ ] 2G/3G Network Settings

Lani still gets crashes on her S7 😢

Pixel API 26 fails in the emulator 😢

I have managed to get this working for the following Android emulators:

Nexus 5 API 27
Pixel API 26 (Android 8.0)
Pixel API 23 (Android 6.0)

I am hoping that by disabling some of the different display extras this will stop crashing.

Confirmed working on Lani and Andrei's devices


V5 table cells

Overview
Update all cell components to hooks/function components
Screenshots (if applicable)
N/A
Testing

[x] verified existing functionality still works as expected

Gonna break up further


Add support for AWS Simple Queue Service

Title: Add support for AWS SQS
Description:

Describe your idea.  Please be detailed.  If a feature request, please
describe the desired behavior, what scenario it enables, and how it
would be used.

We need support for AWS Simple Queue Service queues. In addition to queues we may need other objects to get a thorough view on our SQS usage.
[optional Relevant Links:]

Any extra documentation required to understand the issue.

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html

I can help with this. SQS has its own resource policy so maybe we can do the same as S3. Similarly, we may need to map SNS or KMS or Secret Manager as well as they all have resource policy and connected

Thanks @eRaMvn! We talked about this but I'll post it here for everyone else - I recommend copying this PR for an initial commit of any new AWS node; just add in one node type with 1 or 2 new relationship types, add tests, add schema docs. Then in future PRs we can add in more node types/connections if necessary.

Addressed in PR - https://github.com/lyft/cartography/pull/659


Piptools compile fails with python 3.8

piptools compile fails with error AttributeError: module 'setuptools.build_meta' has no attribute '__legacy__' when ran with python3.8 and not with python3.6
Environment Versions

OS Type: Ubuntu
Python version: Python 3.8.8
pip version: pip 21.0.1
pip-tools version: pip-tools==5.5.0

Steps to replicate
I run python3.8 -m piptools compile --output-file=requirements.txt constraints.in setup.py with the folllowing setup.py
setup.py

import codecs
import os

from setuptools import find_packages, setup

here = os.path.abspath(os.path.dirname(__file__))

with codecs.open(os.path.join(here, "README.rst"), encoding="utf-8") as f:
    long_description = f.read()

setup(
    name="trustlines-relay",
    setup_requires=["setuptools_scm"],
    use_scm_version=True,
    description="Relay Server for the Trustlines Network",
    long_description=long_description,
    # The project's main homepage.
    url="https://github.com/trustlines-protocol/relay",
    # Author details
    author="Trustlines-Network",
<EMAIL_ADDRESS>    license="MIT",
    # See https://pypi.python.org/pypi?%3Aaction=list_classifiers
    classifiers=[
        # How mature is this project? Common values are
        #   3 - Alpha
        #   4 - Beta
        #   5 - Production/Stable
        "Development Status :: 2 - Pre-Alpha",
        # Indicate who your project is intended for
        "Intended Audience :: Developers",
        # Pick your license as you wish (should match "license" above)
        "License :: OSI Approved :: MIT License",
        # Specify the Python versions you support here. In particular, ensure
        # that you indicate whether you support Python 2, Python 3 or both.
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.6",
    ],
    # What does your project relate to?
    keywords="trustlines",
    packages=find_packages("src"),
    package_dir={"": "src"},
    install_requires=[
        "flask",
        "flask_restful",
        "flask_cors",
        "sentry-sdk[flask]",
        "webargs>=5.0,<6.0",
        "gevent",
        "web3>=5.0,<6.0",
        "networkx>=2.0",
        "trustlines-contracts-bin>=1.3.0,<1.4.0",
        "trustlines-contracts-deploy>=1.2.0,<1.3.0",
        "contract-deploy-tools>=0.9.1,<0.10.0",
        "sqlalchemy",
        "eth-utils",
        "tinyrpc",
        "gevent-websocket",
        "marshmallow>=3.0.0b7",
        "marshmallow-oneofschema>=2.0.0",
        "flask-sockets",
        "firebase-admin>=4.3,<5.0",
        "psycopg2",
        "psycogreen",
        "wrapt",
        "attrs",
        "click",
        "toml",
        "cachetools",
        "coverage",
    ],
    python_requires=">=3.6",
    entry_points={"console_scripts": ["tl-relay=relay.boot:main"]},
)

and constraints.in
constraints.in

werkzeug<1.0  # Seems to be incompatible with flask-sockets
contract-deploy-tools>=0.8.0   # to make requirements and dev-requirements compatible

I expect it to generate the requirements.txt file but it raises an error:
error

    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3.8 /home/oizo/.local/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmppkdc6hvg
         cwd: /tmp/pip-resolver-a7b919j_/psycogreen
    Complete output (10 lines):
    Traceback (most recent call last):
      File "/home/oizo/.local/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 280, in <module>
        main()
      File "/home/oizo/.local/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 263, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/home/oizo/.local/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 108, in get_requires_for_build_wheel
        backend = _build_backend()
      File "/home/oizo/.local/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 99, in _build_backend
        obj = getattr(obj, path_part)
    AttributeError: module 'setuptools.build_meta' has no attribute '__legacy__'
    ----------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/oizo/.local/lib/python3.8/site-packages/piptools/__main__.py", line 17, in <module>
    cli()
  File "/home/oizo/.local/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/oizo/.local/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/oizo/.local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/oizo/.local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/oizo/.local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/oizo/.local/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/oizo/.local/lib/python3.8/site-packages/piptools/scripts/compile.py", line 452, in cli
    results = resolver.resolve(max_rounds=max_rounds)
  File "/home/oizo/.local/lib/python3.8/site-packages/piptools/resolver.py", line 178, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/home/oizo/.local/lib/python3.8/site-packages/piptools/resolver.py", line 275, in _resolve_one_round
    their_constraints.extend(self._iter_dependencies(best_match))
  File "/home/oizo/.local/lib/python3.8/site-packages/piptools/resolver.py", line 385, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/home/oizo/.local/lib/python3.8/site-packages/piptools/repositories/local.py", line 76, in get_dependencies
    return self.repository.get_dependencies(ireq)
  File "/home/oizo/.local/lib/python3.8/site-packages/piptools/repositories/pypi.py", line 247, in get_dependencies
    self._dependencies_cache[ireq] = self.resolve_reqs(
  File "/home/oizo/.local/lib/python3.8/site-packages/piptools/repositories/pypi.py", line 203, in resolve_reqs
    results = resolver._resolve_one(reqset, ireq)
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py", line 385, in _resolve_one
    dist = self._get_dist_for(req_to_install)
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py", line 337, in _get_dist_for
    dist = self.preparer.prepare_linked_requirement(req)
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 457, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 500, in _prepare_linked_requirement
    dist = _get_prepared_distribution(
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 66, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(finder, build_isolation)
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py", line 39, in prepare_distribution_metadata
    self._setup_isolation(finder)
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py", line 97, in _setup_isolation
    reqs = backend.get_requires_for_build_wheel()
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_vendor/pep517/wrappers.py", line 177, in get_requires_for_build_wheel
    return self._call_hook('get_requires_for_build_wheel', {
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_vendor/pep517/wrappers.py", line 274, in _call_hook
    self._subprocess_runner(
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py", line 289, in runner
    call_subprocess(
  File "/home/oizo/.local/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py", line 258, in call_subprocess
    raise InstallationSubprocessError(proc.returncode, command_desc)
pip._internal.exceptions.InstallationSubprocessError: Command errored out with exit status 1: /usr/bin/python3.8 /home/oizo/.local/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmppkdc6hvg Check the logs for full command output.

If I run the same command with python3.6, the command runs through and the requirements are generated: python3.6 -m piptools compile --output-file=requirements.txt constraints.in setup.py.

Hello @cducrest,
Thanks for the report. Is there a pyproject.toml in the project root? Could you also provide its content?

The content of pyproject.toml is
[tool.black]
target-version = ['py36']

My current goal is to update from python 3.6 to 3.8 and later also support 3.9

Thanks! Which version of setuptools?

setuptools 54.0.0

Could you check also this related https://github.com/pypa/setuptools/issues/1694#issuecomment-466010982 issue?

I checked the related issue and at first dismissed it (before posting here) because I am not using --system-site-packages or setuptools less than 40.8.0.
But I am indeed using virtualenv. If instead I create a new venv with python3.8 -m venv newvenv and install my dependencies in it, I can then compile the requirements successfully (I guess this is what I'll do from now on).
We can close this issue if you think it is not a problem coming from pip-tools.


[CircleCI] Use new codecov uploader in CircleCI

What does this PR do?
This PR:

Uses the new codecov uploader in Circle CI
Reenables codecov in Circle CI

Motivation
We disabled codecov in #16518 and #16549 in the CI and in CircleCI because of a token issue and the python codecov uploader being deprecated (see the PRs for more details).

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Replaced by #18334


moment.duration.fn is missing in 2.10.0

It seems that moment.duration.fn was removed from 2.10.0 without prior deprecation and yet source code still mentions it:
moment/src/lib/duration/humanize.js:
// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
This now breaks a 3rd party plugin and I can't see any workaround to extend duration?

Sorry about that, I guess we didn't have a test for that. I'll fix that and release 2.10.1.

No worries :) It didn't seem to be widely used, I guess, but jsmreese/moment-duration-format relies on it.
Thank you.

This breaks Twix too.

Fixed, thanks @ichernev


CentOS 8 base image reaches EOL on December 31st, 2021

centos:8 is currently used as base image and reaches EOL at the end of December. CentOS 7 may be a simple alternative, it’s supported until 2024.

FYI, the Kong image based on CentOS can no longer perform yum operations as-is. The latest upstream centos:8 image suffers from the same problem.
$ yum ...
...
CentOS Linux 8 - AppStream                      136  B/s |  38  B     00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

A near-term workaround was just merged in here: https://github.com/Kong/docker-kong/pull/538
The medium-term thing is to use CentOS 7 for packaging and base images.
And the long-term thing will be to adopt a replacement for CentOS 8 as soon as something suitable comes to light (Rocky Linux maybe).

And this sed hack solves the issue of an EOL base image sufficiently to close here? OK…

Hi all,
With the new builds of docker images coming up (https://github.com/docker-library/official-images/pull/11771), these issues will be solved for Kong 2.5.0, 2.6.1, and 2.7.1 - one will be able to run the regular yum commands.

And this sed hack solves the issue of an EOL base image sufficiently to close here? OK…

As a longer-term solution is still to be designed and implemented, it makes sense to keep this issue open. Thanks, @kstephan-wescale, to bring this up. I will reopen the issue until we have accomplished those milestones.

CentOS images are removed by now; officially supported bases include Alpine & Ubuntu


Add config for start offset

Create a config variable to store the 10 minute offset used to sort meetings. The default is hard coded as -10 minutes but a user might want to increase this to 60 or 90 minutes to leave meetings in view until after the end time.
Hard value is stored in data.js on line 407

      //if time is earlier than 10 minutes ago, increment diff by a week
      if (meeting.minutes_now < -10) {
        meeting.minutes_now += 10080;
      }

sounds good. you can set that time with
<script>
  var tsml_react_config = {
    now_offset: -30,
  };
</script>


Add Table of contents

This adds Table of contents in the same format as https://golang.org/ref/spec .
Referenced implementation

https://github.com/golang/website/blob/3993074e0002181c1c0964610b14e886c7eb4163/_content/lib/godoc/godocs.js#L27

ScreenShot

👍 💯  👏
AWESOME


Things may consider for Localization 3.0.0

There 're some points I'd like to share with you guys, that may we consider for localization 3.0.0:

Move resource manager classes into a new namespace Microsoft.Extensions.Localization.ResourceManager, this is useful for APIs organization and if we add another localization source provider such as POStringLocalizer also to align with other ASP.NET Core repos such as Configuration, Security .. etc
Use ASP.NET Core MemoryCache instead of using IResourceNamesCache & ResourceNamesCache, no need to reivent the wheel, while we are have a rich and tested APIs
Using ResourceManager resource set directly from within ResourceManagerStringLocalizer instead of introducing IResourceStringProvider & ResourceManagerStringProvider. If I'm not wrong those APIs was introduced because the lack and limitation of the ResourceManager resource set APIs support in .NET Core in the past
Support Pluralization APIs out-of-the-box
Support another localization resource provider such as POStringLocalizer
I think we need to revisit the IStringLocalizerFactory the Create(baseName, assembly) is not used except testing, also the Create() needs to be more generic rather it is used for ResourceManager
Move WithCulture as extension method (if it's needed)
Remove IStringLocalizer extensions methods - except GetAllString(), because I didn't see any value except calling the indexer from within a method
Can we rid off SearchedLocation property from LocalizedString and move it into a common place, because all the resource should searched in a certain location(s)
These are some that raised on my head and I will modify the list if I have other once ..

/cc @mkArtakMSFT

@ryanbrandenburg could you please have a look

@pranavkm could you please have a look, or forward to one of your team, because I ping @ryanbrandenburg but seems he is quite busy

LocalizedHtmlString has IsResourceNotFound while LocalizedString has ResourceNotFound, we should align those and remove the confusion while both are localizer
Why IHtmlLocalizer doesn't implement IStringLocalizer? the class seems a clone copy

Any chance that support could be added for refreshing cached localizers so that localization strings can be updated live?
Currently, after a cshtml file is modified, the changes made are displayed the next time the relevant page is refreshed. However, due to the way localizer caching works, data annotation translations are cached when they are first loaded. Restarting the site is required to refresh the cache. It would be nice to have symmetry of behavior here--save a cshtml file or a translation file and the update is reflected live.
From the localizer developer's perspective, the easiest way to do this might be allowing the localizer to specify a caching strategy when it's created/registered(singleton, per request, etc.).
Reference: https://github.com/aspnet/Mvc/issues/7887#issuecomment-408526714

Sorry for not seeing this earlier, @hishamco.
We'll review this proposal and update the issue appropriately soon.

I want also welcome support for multiple shared resources, for DataAnnotationsLocalization, view localization and localization. Then it we be easy to use resources from multiple packages, projects, where each brings it's own localization. For example I could have 1 shared resource for each feature X, and use this in my main project.

@mkArtakMSFT no problem, I knew you 're busy with the team
@damienbod good point, do you mean using a resx from one project to multiple projects, which is suitable for modules / packages scenarios? If it's YES, I will add it in my list above

@hishamco yes

Thanks for sharing your ideas folks.
In general, we're not making breaking changes for just cleanup. Only high-value changes are being considered in this bucket. It doesn't sound like any of the above mentioned breaking changes would meet the bar.
The two suggestion, thought, we debated about, were the pluralization and PO file support. While that's the case, it seems there is a good community support for both of these. Specifically, Orchard Core has support for both of these, which are exposed as packages for consumption by any application. You can find more details regarding those here: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/portable-object-localization?view=aspnetcore-2.1
@bgribaudo, can you please file a separate issue for the following ask. We would like to review it further:

Any chance that support could be added for refreshing cached localizers so that localization strings can be updated live?

@damienbod, please file a separate issue with more details regarding your scenarios, as it's not really clear what the ask is.

@mkArtakMSFT regarding the pluralization, we need to provide a base infrastructure to support it, after that we can build a new provider or use Orchard Core package on top of the suggested APIs


fix: transfer snippet js

Closes https://github.com/near/docs/issues/2173
ping @race-of-sloths

@flmel Thank you for your contribution! Your pull request is now a part of the Race of Sloths!
New Sloth joined the Race! Welcome!

Current status: waiting for scoring
We're waiting for maintainer to score this pull request with @race-of-sloths score [0,1,2,3,5,8,13] command
What is the Race of Sloths

Race of Sloths is a friendly competition where you can participate in challenges and compete with other open-source contributors within your normal workflow
For contributors:

Tag @race-of-sloths inside your pull requests
Wait for the maintainer to review and score your pull request
Check out your position in the Leaderboard
Keep weekly and monthly streaks to reach higher positions
Boast your contributions with a dynamic picture of your Profile

For maintainers:

Score pull requests that participate in the Race of Sloths
Engage contributors with fair scoring and fast responses so they keep their streaks
Promote the Race to the point where the Race starts promoting you
Grow the community of your contributors

Feel free to check our website for additional details!

Bot commands

For contributors

Include a PR: @race-of-sloths include to enter the Race with your PR

For maintainers:

Assign points: @race-of-sloths score [1/2/3/5/8/13] to award points based on your assessment.
Reject this PR: @race-of-sloths exclude to send this PR back to the drawing board.
Exclude repo: @race-of-sloths pause to stop bot activity in this repo until @race-of-sloths unpause command is called

@race-of-sloths score 1

✅ PR is finalized!
Your contribution is much appreciated with a final score of 1!
You have received 25 (10 base + 15 weekly bonus) Sloth points for this contribution
Another weekly streak completed, well done @flmel! To keep your weekly streak and get another bonus make pull request next week! Looking forward to see you in race-of-sloths


Allow the configuration of the Kafka producer close timeout

Context about this issue on StackOverflow: https://stackoverflow.com/questions/61205629/extremely-slow-startup-of-a-spring-cloud-stream-kafka-application-when-using-ena

Addressed through https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/commit/f7767842932d0235d934b54541ac691a7023cc3f


Assignment 1 [Nasim Heydari]

Introduction
Hi, my name is Nasim Heydari. I am a PhD student in chemical engineering. I started my PhD in September 2022.
Describe your research in 2-3 sentences to someone that is not from your field (please avoid abbreviations)
My research is about CO2 reduction electrolyzers integrating with renewable energy. I am working to develop a model for intermittent operating electrolyzers compatible with the energy profile from renewable sources.
My research entails the following aspects:

Research Aspect
Answer

Use/collect personal data (health data, interviews, surveys)
No

Use/collect experimental data (lab experiments, measurements with instruments)
No

Collaborate with industry
No

Write/develop software as the main output of the project
Yes

Use code (as in programming) for data analysis
Yes

Work with large data (images, simulation models)
Yes

Other:
N/A

Reflections on the importance of RDM videos
The videos were about why we need RDM and how it helps to avoid disaster and to provide clear data which leads to fewer mistakes. A horror story that comes to my mind is that we sometimes delete our files wrongly and later we realize that we needed the file. I think RDM helps to avoid such issues as well.
What would you like to learn during this course?
I would like to learn how to organize my codes in GitHub, and how to share my codes, so others can add/change the code while having the track. Also, I would like to learn how to provide the codes in GitHub for publication, as some journals ask for it.
Checklist assignments

[x] Assignment 1: creating a GitHub issue (before Class 1)
[x] Respond to the GitHub issue on 'data challenge'
[x] Assignment 2: Data Flow Map 1 (share a link in this issue before 17 May 13:00). Link: https://tud365-my.sharepoint.com/:f:/g/personal/nheydari_tudelft_nl/EvwPqOIFPdJGmMNJn9XODZ0BoVZhSC3XnqYatv0YhfpHFQ?e=njvJ2T
[x] Provide feedback to at least one Assignment 2 from another participant
[x] Respond to the GitHub discussion on 'licenses'
[x] Respond to the GitHub discussion on 'folder structure'
[x] Respond to this GitHub issue with your readme file
[x] Provide feedback to at least one readme file from another participant
[x] Assignment 3: Data Flow Map 2 (share a link in this issue before 31 May 13:00). Link:
[x] Provide feedback to at least one Assignment 3 from another participant
[x] Assignment 4: Data Management Plan (before Class 2)
[x] Respond to the GitHub discussion on 'Data Management Plans' if you have any questions (optional)
[x] Assignment 5: Data Flow Map 3: submit your slide (before Class 2)

Hi @Nasimhd! Thanks for handing in your assignment 1! If you remove the arrow things ( --> <!-- ) when you edit your assignment you can make your answers visible. Let me know if you have any issues with that!

Hi @Nasimhd!
Thanks for handing in your assignment 2! It looks very comprehensive and clear: well done!

The only thing that might be missing is file size estimations: as long as you don't go above 1 TB on your OneDrive and above 100s of TBs on the Project Drive, you should be covered :)
OneDrive is indeed more user-friendly compared to the project drive: using the project drive as a backup location and OneDrive as your main workspace is a great approach!
I also like that you highlighted your manuscripts/papers: these indeed also have to be safely stored.

If you need any support navigating GitHub, please let me know!

Hi Esther,
Actually, I am still not very familiar with GitHub, I think I shall put in some time, and see some videos to learn how it works, also for saving codes.

Hi @Nasimhd,
Herewith are some comments about your Data Flow Map:

If you are working remotely and using your TUD-managed laptop, once you set your VPN connection via EduVPN.
Sometimes, when running long scripts and some dependencies from OneDrive you can get into the issue that the bottleneck lies on your internet connection rather than the parallelization or efficiency of your scripts.  Just some food for thought ;).

This is the ReadMe file I provide in the folder containing the models I develop:
Models.txt
-- General information:
This is to explain the two models in the project folder.
Project: dynamic modeling of the electrolyzer.
Author: Nasim Heydari
TU Delft, PPE, Chemical engineering
email<EMAIL_ADDRESS>This project contains two models:
-----------------------Model 1 ----------------------------------
-- code information:
Lumped model contaning anode, cathode, membrane, and overvoltages.
Assumptions:
Isothermal.
Hydrogen evolution reaction neglected.
inlet flowrate=50sccm
T=40 degree C
P=1 atm
Following parameters are studied:
catalyst layer thickness
CO2 inlet flowrate
For details of the equations refer to paper ...
---------------------Model 2 -----------------------------------
-- code information:
Dynamic model for the electrolyzer.
Assumptions:
2 dimensional.
Hydrogen evolution reaction neglected.
inlet flowrate=50sccm
T=40 degree C
P=1 atm
Following parameters are studied:
current density
For details of the equations refer to paper ...

Please find my updated data flow map (assignment 3) here:
https://tud365-my.sharepoint.com/:f:/g/personal/nheydari_tudelft_nl/EvwPqOIFPdJGmMNJn9XODZ0BoVZhSC3XnqYatv0YhfpHFQ?e=VzWIhb

Thanks for sharing your Assignment 3 @Nasimhd! It looks very clear: well done! I only have a couple of pointers, particularly the one under 'Data publication' is relevant:
Documentation:
I can recommend the use of notepad ++ - it has some nice visualisation options that also make superfluous spaces in code more visible. Having your code available in a different file as a back up as well can never hurt :)
Metadata:
Is the metadata in the file names sufficient to interpret the files and their content? Do you use comments for documentation? I also saw you use readme files, so there is also additional metadata in there (code versioning etc).
File formats:

Python is an open source programming language, meaning that people should be able to access the Python files, although .txt files are indeed even more straightforward! I think for Python I would just stick to the Python files.
Word/.doc is not considered an open file format as you'll need a Microsoft license to fully interact with the file format. .txt is an alternative to .doc - but does looses some of the formatting functionality. Another format could be .md / markdown - which is what you are also using when you're interacting with GitHub.

Data publication:
Since I do not see any commercial flags in your data flow map, you do not have valid reasons to keep the data/code under restricted access. So you will need to have a look at how you'll share your data/code publicly underlying your articles and your thesis conclusions via a data repository. See the third bullet point of the policy summary for more information. Keeping the data/code that underlie the figures and the article's conclusions as 'available upon request'  is not following the FAIR principles, which are required for PhD candidates at TU Delft. If you have any questions/concerns about this, please let me know!

This is the ReadMe file I provide in one of the sub-folders, which is the folder containing the models I develop: Models.txt

I think for an internal readme file this is already very clear! Maybe the enters at certain parts are a bit confusing when they address the information field on the line above it. And maybe you can include an explanation about the example folder and clarify how these examples relate to your model (folders)?

Hi Nasim,
you have a detailed folder structure.
Cheers.


Cannot connect to CoE HTTP Server

Today I updated both, the CoE HTTP Server Add-On as well as this TA CoE Integration in my HA instance. Unfortunately I didn't get any values so I uninstalled the integration and wanted to reinstall. But when I try to reinstall it is asking me for the IP address of the CoE server.
I did input the address but I get an error message and can't connect:
[%key:common::config_flow::error::cannot_connect%]
Is this something related to the new version? I used the DEBUG Feature on the CoE Add-On and it does receive data.

Yes, this is probably a problem with the new server version. If the integration and the server are installed on the same Home Assistant instance, the integration will find the server automatically. Please make sure that you restarted Home Assistant after installing the update. If this does not help, you have to enter the server manually. Be careful not to forget the port in the address and forward the port to the outside in the addon configuration.
If all this doesn't help, you can call the /docs endpoint from the server to check if you have released the port correctly.

/docs endpoint looks good and is reachable. But I still get the same error message:  [%key:common::config_flow::error::cannot_connect%]
The server actually is on the same instance, which makes it strange.

Is there an error message in the Home Assistant logs?

Could you also install the latest version (1.1.1) of the integration and enable the debug logs and see if the integration calls the correct url and send me the logs?

Alright. Thank you for your help. It now seems to work.


Add helpers to core

Add helpers to the core such as 'AnnotationStore.getContent()' since it's very painful to pass around Item, Content, etc.

[ ] AnnotationStore.getContent
[ ] GroupStore.getItem
[ ] Annotation.getContent
[ ] Content.getItem
[ ] Group.getItem

Not adding for group and annotation


MVP-243 POA start date error states

3 new error states created based on BDD rules.
Reveal also included on main page to provide help and support to users.
Screenshots for errors below

These look ok John


Web3IPC - Socket Error

Version: 0.1.9
Python: 2.7
OS: linux

geth.ipc path is given correctly, but I face this error while connecting.
RPC works fine.
File "/usr/local/lib/python2.7/dist-packages/web3/web3/ipcprovider.py", line 36, in init
self.socket = self.getSocket()
File "/usr/local/lib/python2.7/dist-packages/web3/web3/ipcprovider.py", line 42, in getSocket
sock.connect(self.ipcpath)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory

Are you using the testnet? If yes, you need to create the IPCProvider instance with an additional testnet=True argument.

If this is still an issue please re-open.


Artefacts seen in forward model PSFs at shorter wavelengths

Example below for NIRCam 335R with the F250M filter. Seems that the process of creating a forward model PSF, using an offaxis PSF model, doesn't work perfectly for shorter wavelengths where the PSFs are undersampled, producing ringing artefacts. Though is that this might be a result of the rotation / translation of the PSF within pyKLIP.
Possible solutions:

See issue #26  about generating forward model PSFs at the correct location with webbpsf_ext.

Oversample the model PSF prior to performing any pyKLIP translation/rotation, then degrade it at the end.

Apply a gaussian blur to the data and forward model, and proceed as normal.

From discussions with @semaphoreP and @AarynnCarter it seems like these artifacts do also appear from the spline interpolations used within pyKLIP. Hence, @AarynnCarter opted for blurring the undersampled data with a Gaussian. Should we make this a default in spaceKLIP?

This was implemented in version 2. Fixed with blurring to avoid aliasing.


Throws an Error on Pages Where Parallax CSS Class Isn't Present

Hi,
I'm using this wonderful library on a couple of sites and I've noticed it's throws an error in the console if certain pages (i.e. a 404 page) don't have the appropriate CSS class in the HTML to use in the rellax object.
Normally I would wrap the function/object in an if statement so it it would only trigger if a certain CSS class is present.
This doesn't seem to be working though?
Any help would be amazing.
The solution I'm trying is as follows:
var largeScreenParallax = document.getElementsByClassName("parallax-large-screen")[0]

if (largeScreenParallax) {

     // -- PARALLAX - IMAGES
     var largeScreenParallax = new Rellax('.parallax-large-screen', {
        speed: 2,
        center: true,
        wrapper: null,
        round: true,
        vertical: true,
        horizontal: false
    });

} // end of if statement

Hi @EmilyChews, I can't replicate this one. I copied your code and I'm not seeing an error when my page lacks the appropriate CSS class in the HTML.
Did you manage to fix this? Or is there a code sample on codepen or similar I could look at?


Error when trying to launch basic visualization example

When trying to launch the visualization example I get the following error:

It seems like some of the representations in the robot_cfg dictionary are None. Any idea why?

Hi @itaouil Sorry for the errors. Made some changes without test.
Will separate devel and main branches soon to avoid this annoying problems to the user.

It works now :)


What about gensym?

The gensym function can be very useful in macros. It can be effectively implemented by creating symbols that are not added to symlist, so such symbols can be removed by the garbage collector and may not have a string representation.
This is how you can change the implementation of the for macro from 'scripts/macros.fe' using gensym:
(= for (mac (item lst . body)
  (let for-iter (gensym))
  (list 'do
    (list 'let for-iter lst)
    (list 'while for-iter
      (list 'let item (list 'car for-iter))
      (list '= for-iter (list 'cdr for-iter))
      (cons 'do body)
    )
  )
))

It is assumed that for-iter should not be visible when body is called. I'm implemented it in my fork.

@ooichu It seems this project is dead.

Maybe. But I hope @rxi just doesn't have time for his projects right now. Most of his projects are not dead, but completed. This project is more complete than dead. I'm very fascinated by the minimalism, simplicity, and practicality of this language and sometimes find (I think) possible improvements.

@ooichu It seems this project is dead.

Not so much 'dead', rather complete.


Add Table component

Describe the feature in detail (code, mocks, or screenshots encouraged)
Don't know if this was on the roadmap, but since bits is inspired/based on radix, it'd be awesome to include a Table component, just like theirs! :P
What type of pull request would this be?
New Feature
Provide relevant links or additional information.
https://www.radix-ui.com/themes/docs/components/table

Do you have an idea of what the value is in having this be a part of Bits UI?
I understand it being in Radix "Themes", as those components are styled, but wouldn't we just be wrapping the native table elements?

Correct me if I'm wrong, but I do see value in having the Table component as part of bits ui. I would have to import radix just for the table, since bits ui already offers so much.
And in the library's spirit, this table would be accessible and well crafted. Which is a tad more complicated than just creating a table in html (I think, but don't know for sure)
To be completely honest, I asked for it since I was using it in a project where bits ui was working flawlessly. But, of course I'd love to know your opinion on the topic, or, if I can help, how!
Thanks!

Hey there, the HTML table is accessible out of the box, and there isn't much we would even do other than just make <Table> components that, without styles, don't add much value and increase the surface area of the library. So, for those reasons, it won't be added to Bits UI!
Thanks for the request, though. Should a specific use case or deficiency in the native HTML table arise, we'd consider it in the future.

Cool! Knowing that the native html element is already accessible enough is great news actually, so win-win situation.
Thanks a lot!


KPI dashboard should be functional and visible per section

Perhaps a small test can demonstrate the functionality?
Some changes to the dashboard made in https://github.com/ZEnMo/Holon-webapp/commit/95fc8dd239d40c36e2f52706412d8d72fd4ea44e
Acceptance:

[ ] Pushes the correct value and label to the API (option and label field for multi / single select)
[ ] Dashboard is visible and functional per section (also considers hidden inputs, on top of the base scenario)

fix in #203


Add Inhibitor.MutesAll()

For the context please refer to #3932.
I added benchmarks, which consider more than one target alert.
The following benchstat output compares:

invoking Inhibitor.Mutes() for each target alert (old.txt)
with the Inhibitor.MutesAll() implementation (new.txt).
Inhibitor.MutesAll() increase the speed in certain cases at the cost of some memory.

goos: darwin
goarch: arm64
pkg: github.com/prometheus/alertmanager/inhibit
                                                                        │    old.txt    │               new.txt                 │
                                                                        │    sec/op     │    sec/op     vs base                 │
Mutes/1_inhibition_rule,_1_inhibiting_alert,_1_target_alert-10              768.5n ± 3%    842.5n ± 5%    +9.62% (p=0.001 n=10)
Mutes/10_inhibition_rules,_1_inhibiting_alert,_1_target_alert-10            769.5n ± 2%    834.4n ± 0%    +8.44% (p=0.000 n=10)
Mutes/100_inhibition_rules,_1_inhibiting_alert,_1_target_alert-10           779.3n ± 1%    841.4n ± 1%    +7.96% (p=0.000 n=10)
Mutes/1000_inhibition_rules,_1_inhibiting_alert,_1_target_alert-10          839.5n ± 1%    914.7n ± 4%    +8.96% (p=0.000 n=10)
Mutes/1000_inhibition_rules,_100_inhibiting_alert,_100_target_alert-10     157.39µ ± 1%    54.41µ ± 1%   -65.43% (p=0.000 n=10)
Mutes/10000_inhibition_rules,_1_inhibiting_alert,_1_target_alert-10         897.5n ± 3%    962.6n ± 2%    +7.25% (p=0.000 n=10)
Mutes/10000_inhibition_rules,_100_inhibiting_alert,_100_target_alert-10     63.07µ ± 6%    57.59µ ± 3%    -8.68% (p=0.000 n=10)
Mutes/1_inhibition_rule,_10_inhibiting_alerts,_1_target_alert-10            886.9n ± 1%   1087.0n ± 1%   +22.57% (p=0.000 n=10)
Mutes/1_inhibition_rule,_100_inhibiting_alerts,_1_target_alert-10           1.929µ ± 2%    3.083µ ± 1%   +59.84% (p=0.000 n=10)
Mutes/1_inhibition_rule,_100_inhibiting_alerts,_100_target_alert-10        174.18µ ± 1%    60.44µ ± 1%   -65.30% (p=0.000 n=10)
Mutes/1_inhibition_rule,_1000_inhibiting_alerts,_1_target_alert-10          12.67µ ± 1%    25.82µ ± 1%  +103.87% (p=0.000 n=10)
Mutes/1_inhibition_rule,_1000_inhibiting_alerts,_1000_target_alert-10     12425.7µ ± 1%    582.3µ ± 1%   -95.31% (p=0.000 n=10)
Mutes/1_inhibition_rule,_10000_inhibiting_alerts,_1_target_alert-10         104.4µ ± 1%    278.8µ ± 1%  +167.13% (p=0.000 n=10)
Mutes/100_inhibition_rules,_1000_inhibiting_alerts,_1_target_alert-10       11.89µ ± 2%    24.69µ ± 0%  +107.65% (p=0.000 n=10)
Mutes/10_inhibition_rules,_last_rule_matches,_1_target_alert-10             1.012µ ± 3%    1.125µ ± 1%   +11.22% (p=0.000 n=10)
Mutes/100_inhibition_rules,_last_rule_matches,_1_target_alert-10            3.178µ ± 1%    3.872µ ± 1%   +21.86% (p=0.000 n=10)
Mutes/100_inhibition_rules,_last_rule_matches,_100_target_alerts-10         299.9µ ± 1%    227.9µ ± 1%   -24.00% (p=0.000 n=10)
Mutes/1000_inhibition_rules,_last_rule_matches,_1_target_alert-10           24.62µ ± 3%    31.57µ ± 1%   +28.24% (p=0.000 n=10)
Mutes/1000_inhibition_rules,_last_rule_matches,_1000_target_alert-10        24.29m ± 0%    18.27m ± 0%   -24.77% (p=0.000 n=10)
Mutes/10000_inhibition_rules,_last_rule_matches,_1_target_alert-10          239.6µ ± 6%    306.5µ ± 0%   +27.94% (p=0.000 n=10)
geomean                                                                     18.71µ         17.34µ         -7.36%

In cases where a low count of alerts is involved Inhibitor.MutesAll() is 2-3 times slower, due to the additional memory allocations.
This should still be sufficiently fast given the small scale.
When the count of target alerts is increased Inhibitor.MutesAll() becomes faster.
Invoking it as part of GET /alerts still needs to be done.

Do you intend to call it from MuteStage as well as APIv2?

Yes.

The PR seems incomplete without it?

I thought I check the general interest for the topic before implementing everything. I will add it. Might take a few days.

I added MutesAll to the api and MuteStage code paths. The CI needs a re-run, network foo during setup.

Is it possible to optimize inhibition rules without changing the Mutes interface?

I implemented that. In the current state the algorithmic improvement can only be realised when all alerts are passed to MutesAll(). By moving setAlertStatus out of alertFilter the different API handlers can choose how to update it. For getAlertsHandler I used MutesAll() here.

Is it possible to optimize inhibition rules without changing the Mutes interface?

I implemented that. In the current state the algorithmic improvement can only be realised when all alerts are passed to MutesAll().

I looked again at the code, but I'm afraid I don't see where the optimization is implemented for Mutes()? Like you said, the performance optimization only works if you pass all alerts to MutesAll(), and there is no performance improvement if you only call Mutes()? Did I misunderstand?
My suggestion was to see if we can optimize the performance of Mutes without having to pass all alerts to MutesAll(). For example, what if the cache is persistent, like matcherCache for silences?

there is no performance improvement if you only call Mutes()?

Exactly. The whole speed improvement comes from caching the source cache evaluation of InhibitRules across multiple alerts. In the context of inhibitions, that's the whole set of potential target alerts. For MutesAll() it roughly boils down to:
for _, r := range ih.rules {
    var alerts []*types.Alert // <- reused in the inner loop
    var scacheEval []bool // <- reused in the inner loop
    for i, lset := range lsets {
        // ...
        if inhibitedByFP, eq := r.hasEqualCached(lset, r.SourceMatchers.Matches(lset), alerts, scacheEval); eq {
            ih.marker.SetInhibited(fingerprints[i], inhibitedByFP.String())
        }
        // ...
    }
}

Just using Mutes() flips the two loops. That looks roughly like:
func someOtherFunc() {
    // ...
    for _, a := range alerts {
        inhibitor.Mutes(a.Labels) // <- evaluates the source cache for each a
    }
}

func (ih *Inhibitor) Mutes(lset model.LabelSet) bool {
    // ...
    for _, r := range ih.rules {
        // ...
        if inhibitedByFP, eq := r.hasEqual(lset, r.SourceMatchers.Matches(lset)); eq { // <- always evaluates the source cache matches
            ih.marker.SetInhibited(fp, inhibitedByFP.String())
            return true
        }
    }
}

Caching the source cache evaluations "requires" to pass a list of alerts. If the signature change is undesirable, we can close this PR. It doesn't work without. Technically, the state MutesAll() caches can be externalized into a struct, which implements the Muter interface, e.g.:
type CachingInhibitor {
    base Inhibitor
    var alerts [][]*types.Alert // one cache for each inhibition rule
    var scacheEval [][]bool // one cache for each inhibition rule
}

Externalizing the state would cost more memory, likely requires locking and requires explicitly dropping these caches at some point (likely after calling Mutes() a few times).

My suggestion was to see if we can optimize the performance of Mutes without having to pass all alerts to MutesAll(). For example, what if the cache is persistent, like matcherCache for silences?

I expect something in that direction is possible as well, but it's something for different PR.


Mock all the projects

Description
Based on #434, this PR brings mocking to all the other modules, which should:

speed up the entire suite
get more consistent test results
work offline
no more failures because github.com or httpsbin are failing.

The only "downside" of this is the duplication of MockHelper. If someone knows how to fix up the gradle config so we can import the one from fuel core everywhere... that'd be great.
Type of change
Check all that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactoring (change which changes the current internal or external interface)
[ ] This change requires a documentation update

Checklist:

[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation, if necessary
[ ] My changes generate no new compiler warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

I also really like this @SleeplessByte. Really thanks for your hard work!
Just one small note, I see we are duplicate class MockHelper everywhere. Do you think we should have a share test module (maybe name test-util) and share the implementation with testImplemenation?
We can do this in a different PR too. I will give an approve signal to merge this.

@kittinunf Yes! I would like a test lib a lot, especially now. I would like to define a set of common requests and responses, so we can actually test ALL the libraries against the same requests, and then we have waaaay less duplication. 🗡
Naturally you would then only tailor the deserialization and serialization etc, but that'll come.


Markdown refresh

Updated md examples with latest rubocop output.
$rubocop -V
0.28.0 (using Parser <IP_ADDRESS>, running on ruby 2.2.0 x86_64-linux)

Had one comment. Overall it looks good!

@jonas054 That is strange, because i used ruby 2.2.0. Published rubocop -V at the top.

My mistake! I was talking about old behavior, before #1304.

I merged the PR accidentally. @jonas054 feel free to directly change the README.
@veelenga Thanks for updating this!


Can't disable synced_folder after upgrading to vagrant 1.8.1

I have the below config in Vagrantfile
config.vm.synced_folder ".", "/sync", disabled: true
With Vagrant 1.7.2 this would disable synced_folder for all my VMs. After upgrading to vagrant 1.8.1 this config seems not being honored.
OS CentOS 7.2.1511
vagrant 1.8.1
vagrant-libvirt 0.0.32

I've tested this with the following Vagrantfile:
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt'
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
     config.vm.define "test" do |test|
        test.vm.box = "martin-v/debian-jessie-libvirt"
        test.vm.hostname = "test"
        test.vm.synced_folder ".", "/vagrant", disabled: true
      end
end

This works fine under Vagrant 1.8.1 . It will still say:
 INFO interface: info: Creating shared folders metadata...
 INFO interface: info: ==> test: Creating shared folders metadata...
==> test: Creating shared folders metadata...
 INFO warden: Calling IN action: #<VagrantPlugins::ProviderLibvirt::Action::CreateNetworks:0x0000000375dc50>

But that seems to do nothing  other than to create .vagrant/machines/test/libvirt/synced_folders - nothing is actually shared.
Can you run a vagrant up --debug and paste the log?

I am closing this due to inactivity; feel free to update in case this needs to be reopened.


⚠ Bofrost.be has degraded performance

In 3a7f0f1, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2845 ms

Resolved: Bofrost.be performance has improved in 887b863.


Unable to read the license file LICENSE for the spec GoogleUtilities (7.3.1)

Environment

Xcode version: 12.4 (12D4e)
Firebase SDK version: 7.9.0
Installation method: CocoaPods
Firebase Component: Analytics, Crashlytics, RemoteConfig

Steps to reproduce
pod update

or
pod install

Console warning:
[!] Unable to read the license file `LICENSE` for the spec `Firebase (7.9.0)`

[!] Unable to read the license file `LICENSE` for the spec `GoogleUtilities (7.3.1)`

[!] Unable to read the license file `LICENSE` for the spec `Firebase (7.9.0)`

[!] Unable to read the license file `LICENSE` for the spec `GoogleUtilities (7.3.1)`

[!] [Xcodeproj] Generated duplicate UUIDs:

...

Closing in favor of https://github.com/firebase/firebase-ios-sdk/issues/7803


Fix:#212

Update (https://github.com/zulip/zulip-mobile/pull/457/commits/3ac77e8d70d81a1d73a7f4650524c0d90dbdd524)
Now input expands as soon as text becomes multiline.

Just tested the latest version. There is a small issue:
The navigation bar moves off-screen when the user focuses on the compose box.

I have done changes in the android/app/src/main/AndroidManifest.xml.
So to affect those changes, we need to re-install app. (react-native run-android)

I tested this on iOS and it doesn't work, which is expected because the xml change is Android specific.
I would have thought a purely JS solution is possible, and the KeyboardAvoidingView should be part of the solution.

@vishwesh3 Let's focus on this task now. See if you can find a universal solution, and I promise to review quickly. We would need that fixed for first app store release.

We want to keep navigation bar as it is when keyboard pop's up, so adjustPan cannot be used, as we don't want to adjust the whole pan. I found adjustResize most appropriate as it resizes the activity (our RN app is under this; MainActivity) window to make room for the soft keyboard. Keyboard pop's up is handled by android activity (which is the parent and our RN app (code) is a child) and it makes room, now there is no need of KeyboardAvoidingView (for android). If we still use it then

it will again give padding.
PR updated
for now, we can go with View in Android and KeyboardAvoidingView in iOS, and do a release. And we can keep experimenting to get a simple solution.
Now it looks like this
on iOS

on Android

@zulipbot thanks for the reminder. Updated :+1:

@zulipbot thanks for the reminder! Updated PR 👍

Hey @vishwesh3 let's get this PR merged next.
Please rebase.
I am not sure the iOS version works so we definitely want this to work both on iOS and Android, and we strongly should prefer having the same code for both.

I just tested this PR so one problem still persist while the soft keyboard opens up we want the chat messages to shift upside and make space for the keyboard which is common in every other app!

the soft keyboard opens up we want the chat messages to shift upside and make space for the keyboard

I think we only want to shift messages up, if list is scrolled to end and keyboard pop's up.
This also exists on iOS. We can work on this next.

Updated 👍
Just found that our issue is somewhat similar to
https://github.com/facebook/react-native/issues/11681
How it looks now?

Thanks, @vishwesh3
That was so much work to fix that 🥇


whisper-fetch.py: catch IOError to print a better error message

Traceback (most recent call last):
  File "../whisper_2/bin/whisper-fetch.py", line 57, in <module>
    data = whisper.fetch(path, from_time, until_time)
  File "/home/piotr/git/carbon/venv3/lib/python3.5/site-packages/whisper.py", line 832, in fetch
    with open(path, 'rb') as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'venv3/storage/whisper/acc/applications/alaal.wsp'

VS:
[ERROR] [Errno 2] No such file or directory: 'venv3/storage/whisper/acc/applications/alaal.wsp'

Coverage remained the same at 90.01% when pulling a5a64e47e4835d0bc2c1359456d286522404d9aa on piotr1212:master into f765b2e207ce21b66e1347597f274b99432f61ba on graphite-project:master.


blog: July Heartbeat

This pull request migrates from #3673 which will close.
July Heartbeat
Publish Date: July 18th.

[x] There are no grammatical errors, jargon, or obvious stylistic issues. (for reviewer to check)
[x] Have images been run through tiny.png?
[x]  Are all lines 80 characters or less?
[x] Are Oxford commas observed?
[x] Content Creator has done a complete review for typos/language after taking a break from content
links checked in the piece
[x] Have reviewed what the piece looks like on your own [machine using yarn develop](https://dvc.org/doc/user-guide/contributing/docs#development-environment)
[x] changed discuss link

@flippedcoder, @RCdeWit has reviewed in the previous version and I made the revisions.  I've corrected the Discuss link, the awesome image is appropriately sized.  Let me know if you see anything else! Thanks for your help this morning!

@rogermparent All the links that it's having a problem with are ok; they're not 404s.  Do I need to do anything here?

@rogermparent All the links that it's having a problem with are ok; they're not 404s. Do I need to do anything here?

Nope, that's something we can try to account for on the link-check end. It's like an arms race against websites that don't want to be scraped :grimacing:, sorry for the inconvenience!

@rogermparent Could you please approve this so that it can be merged?


No matching version found for<EMAIL_ADDRESS>

Is there any solutions? 🙁

I have encountered it, but when packaged, dist also reported an error: TypeError: StackFrame is not a constructor
 ERROR  TypeError: StackFrame is not a constructor
TypeError: StackFrame is not a constructor
    at Object.<anonymous> (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/error-stack-parser/error-stack-parser.js:76:24)
    at Array.map (<anonymous>)
    at Object.ErrorStackParser$$parseV8OrIE [as parseV8OrIE] (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/error-stack-parser/error-stack-parser.js:56:29)
    at Object.ErrorStackParser$$parse [as parse] (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/error-stack-parser/error-stack-parser.js:31:29)
    at getOriginalErrorStack (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/@soda/friendly-errors-webpack-plugin/src/core/extractWebpackError.js:31:29)
    at extractError (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/@soda/friendly-errors-webpack-plugin/src/core/extractWebpackError.js:22:20)
    at Array.map (<anonymous>)
    at processErrors (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/@soda/friendly-errors-webpack-plugin/src/core/transformErrors.js:31:17)
    at FriendlyErrorsWebpackPlugin.displayErrors (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/@soda/friendly-errors-webpack-plugin/src/friendly-errors-plugin.js:97:29)
    at doneFn (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/@soda/friendly-errors-webpack-plugin/src/friendly-errors-plugin.js:57:14)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:18:1)
    at AsyncSeriesHook.lazyCompileHook (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/webpack/node_modules/tapable/lib/Hook.js:154:20)
    at /Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/webpack/lib/Compiler.js:304:22
    at Compiler.emitRecords (/Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/webpack/lib/Compiler.js:499:39)
    at /Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/webpack/lib/Compiler.js:298:10
    at /Users/mooncheung/Documents/mooncheung/weiwang_project/vue-admin-element/node_modules/webpack/lib/Compiler.js:485:14

Is there any solutions?

can see 1.3.0 versions in npmjs, but can't download
https://www.npmjs.com/package/stackframe

the same issue

same issue

same issue

same issue

same issue

same issue

same issue

same issue

same issue

npm install --package-lock-only

vim package-lock.json

# find "stackframe": "v1.3.0" replace 1.3.2

same issue

same issue

This is not a bug.I guess you all use private sources. Don't do anything. Just wait a minute (maybe a few minutes, maybe a few hours)

TypeError: StackFrame is not a constructor

I used nexus  proxy  to mirror npm site. I changed  proxy to https://registry.npmjs.org and clean cache then i can download it.
but still have exception: ERROR  TypeError: StackFrame is not a constructor

This is not a bug.I guess you all use private proxy registry. Don't do anything. Just wait a minute (maybe a few minutes, maybe a few hours)

yeah, i try it again, it's ok now

这不是错误。我猜你们都使用私有代理注册表。不要做任何事。等一下（也许几分钟，也许几个小时）

是的，我再试一次，现在好了

same issue

This is likely a CDN issue. Please use v1.3.4 if you encounter StackFrame is not a constructor


Fifo lifo

This PR moves the former LIFO queue into a lifo module and adds a FIFO queue with the same API in a fifo module. The FIFO queue uses the same algorithm as tokio's local queue.
Questions to be resolved before merging:

should a common trait be defined to abstract over the 2 queues?
alternatively, should there just be 1 queue with 2 flavours like in crossbeam::dequeue? I am not too fond of this approach because I can't really imagine a situation where the FIFO or LIFO behavior would be selected at run-time, and run-time selection does incur a small cost (probably very small, admittedly), but I am ready to hear arguments for it.

TODO: update the README.

I think it's okay to either just leave them separate, or have 1 queue with 2 flavors. A trait would not really help easily changing a codebase to use one or the other etc.

I can't really imagine a situation where the FIFO or LIFO behavior would be selected at run-time

I can: a SMOLSCALE_UNFAIR environment variable that configures smolscale to prioritize throughput over fairness, by using things like LIFO, stealing/balancing less frequently, etc :)

I can't really imagine a situation where the FIFO or LIFO behavior would be selected at run-time

I can: a SMOLSCALE_UNFAIR environment variable that configures smolscale to prioritize throughput over fairness, by using things like LIFO, stealing/balancing less frequently, etc :)

You are right, this would be a legitimate use-case, which made me look into crossbeam_deque to see how it was designed. Unfortunately this made me aware that the "flavor" approach would be much more difficult to pull off for st3. In crossbeam_deque there is indeed a very large amount of code re-use and I can see why they went that way. In fact, the atomics are the same for the 2 crossbeam_deque flavors and most of the code does not even need to be aware of the flavor.
In the case of st3, the LIFO algorithm is very different from its FIFO counterpart: all atomics are different and the LIFO queue even uses 1 extra atomic compared to the FIFO.
Factoring in the fact that a "flavored" queue would also need to allow stealing between queues of different flavors, I increasingly feel that I would be trying to fit a square peg in a round hole.
So even though you do make a good point in favor run-time selection, I am afraid that this is just too much trouble.

A trait would not really help easily changing a codebase to use one or the other etc.

Yes, that would be more painful than with flavors, but it is still a step up compared to using macros to abstract over the 2 queues (which is what I currently in many tests). A use case would be for instance a library that would provide an algorithm or extension on st3. But then this use-case is perhaps uncommon enough that it can be ignored. My hesitation comes from the fact  that adding a trait later would be another breaking change. But then, I guess such breaking change would not be anything terrible for a pre-1.0 library, so I am probably overthinking it ;-)

The naive way of doing the two flavors would obviously just to have an enum that has both cases, and forwards each method to the wrapped value. That would be a simple wrapper around the existing code, and shouldn't complicate things too much.
I don't imagine this to add measurable overhead --- CPU caches / branch prediction is extremely good at optimizing this sort of thing.

Yeah, maybe I am trying to find myself excuses not to do the extra work ;-)
I am a bit busy right now but I will try to get a flavor-based prototype by the end of the week.

One slightly unrelated thing: I remember Tokio uses some sort of intrusive linked list as its global task queue --- is that crucial for performance, or is just a regular ConcurrentQueue/SeqQueue good enough? (BTW, do you know anything about concurrent-queue vs crossbeam-queue?).

This is a good question. If tasks were popped one-by-one, then I would definitely expect SeqQueue to be faster. But in tokio and asynchronix the tasks are popped in batches, in which case I expect a mutex-based queue to be faster in practice because SegQueue needs atomic operations for each pop, whereas moving a batch only needs to lock the mutex once for many tasks.
In fact, in asynchronix I took this logic to the extreme and just have a simple mutex-protected Vec<Batch> (you could use a instead a VecDeque if you need fairness) were a Batch is basically just a Vec<Task> that can hold up to half the capacity of a local queue.
The advantage is that moving a batch of tasks is very fast since (i) the mutex is only held for very short (just the time to move out the batch, which just needs to copy the pointer and a couple of other bytes) and (ii) the tasks are stored contiguously in memory so copying a batch of tasks to the local queue is much faster than with a linked list. But I'll be honest, I have not measured the performance so this is entirely based on somewhat theoretical expectations.
AFAIK the bounded versions of ConcurrentQueue is pretty much the same as crossbeam::ArrayQueue so it's reasonable to think that the unbounded versions are also similar (I am pretty sure both were written by Stjepan), but I don't really know if this is the case nor why this split exists.

Yeah, that makes sense. I might just switch to a VecDeque<Runnable>, though I'm a bit concerned because tasks would be pushed onto it one by one

I have experimented with an ugly naive enum-based queue that wraps both the LIFO and FIFO in the bivariant-queue branch, and indeed there is no meaningful difference in benchmarks.
But ultimately, I couldn't get myself to force users to accept the resulting code bloat for what should be a low-level, highly optimized primitive. Each method is now twice bigger in terms of instruction count, so there is a very real possibility that it could impact compiler inlining decisions in user code.
OTOH, an enum-based wrapper queue can be implemented fully on the user side without loss of performance (it's about 100LOC), so if someone needs it badly there is the DIY option. The only thing that cannot be implemented on the user side is stealing from a LIFO to a FIFO or from a FIFO to a LIFO, but I don't expect that to be useful in practice.
So after staying on the fence for more than a week, I decided to merge the PR with 2 distinct queues, having in mind that a variant-agnostic queue can always be added on top of that later. I will not publish a new version immediately, however, because I consider including other API-breaking changes with the next release to avoid having to break API again later on.

I might just switch to a VecDeque, though I'm a bit concerned because tasks would be pushed onto it one by one

Sorry, you are right, my reply was biased towards my personal use-case where pushing tasks is a negligible part of the overall computational cost and is only done by one thread (in my case the global queue is mainly accessed when storing/loading the overflow from local queues).

[Released in v0.4.0]


Address code review comments from @tommack on pull request #227

See comments being addressed on PR https://github.com/Netflix/conductor/pull/227#issuecomment-310746406
Ping @tommack @v1r3n

@tommack I implemented the changes following your comments on PR #227
Let me know if this LTGY


⚠ Samsung has degraded performance

In a6a3505, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2668 ms

Resolved: Samsung performance has improved in 0617b22.


terminal foreground/background

This foreground/background colors are decided at time when start :terminal since color value is just default value. So this foreground/background colors will not change after :colorscheme command. This change support GUI and termguicolor.

Codecov Report

Merging #2067 into master will decrease coverage by 0.01%.
The diff coverage is 73.68%.

@@            Coverage Diff             @@
##           master    #2067      +/-   ##
==========================================
- Coverage   73.76%   73.75%   -0.02%
==========================================
  Files          90       90
  Lines      129960   130060     +100
  Branches    28915    28923       +8
==========================================
+ Hits        95869    95928      +59
- Misses      34071    34108      +37
- Partials       20       24       +4

Impacted Files
Coverage Δ

src/terminal.c
55.94% <73.68%> (+0.02%)
:arrow_up:

src/gui_beval.c
39.75% <0%> (-4.22%)
:arrow_down:

src/window.c
80.96% <0%> (-0.54%)
:arrow_down:

src/if_xcmdsrv.c
85.02% <0%> (-0.35%)
:arrow_down:

src/if_py_both.h
76.05% <0%> (-0.14%)
:arrow_down:

src/term.c
50.3% <0%> (-0.12%)
:arrow_down:

src/os_unix.c
53.04% <0%> (-0.06%)
:arrow_down:

src/version.c
80.2% <0%> (ø)
:arrow_up:

src/ex_docmd.c
74.87% <0%> (ø)
:arrow_up:

src/message.c
68.2% <0%> (+0.01%)
:arrow_up:

... and 10 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b9f9d3...2135057. Read the comment docs.


Components with no bom_ref specified break dependency tree

As of version 5.x, the library no longer creates a uuid4 string for the bom_ref when none is provided. However, for linking dependencies, it relies on the the .value of the bom_ref object, and thus this breaks dependency linking.
Talking with @jkowalleck on Slack, he thought changing == to is would fix the problem here: https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/cyclonedx/model/bom.py#L555
Example script to demonstrate the problem (based off of https://cyclonedx-python-library.readthedocs.io/en/latest/examples.html)
#!/usr/bin/env python3

from cyclonedx.model.bom import Bom
from cyclonedx.model.component import Component, ComponentType
from cyclonedx.output.json import JsonV1Dot5

bom = Bom()
bom.metadata.component = root_component = Component(
    name='myApp',
    type=ComponentType.APPLICATION,
)

component1 = Component(
    type=ComponentType.LIBRARY,
    name='some-component',
)
bom.components.add(component1)
bom.register_dependency(root_component, [component1])

component2 = Component(
    type=ComponentType.LIBRARY,
    name='some-library',
)
bom.components.add(component2)
bom.register_dependency(component1, [component2])

component3 = Component(
    type=ComponentType.LIBRARY,
    name='another-library',
)
bom.components.add(component3)
bom.register_dependency(root_component, [component3])

print(JsonV1Dot5(bom).output_as_string(indent=2))

When run, that produces this section:
  "dependencies": [
    {
      "dependsOn": [
        "BomRef.8312066161950966.2909051244858393"
      ],
      "ref": "BomRef.7208056703935715.03775139686960205"
    }
  ],

which shows the root component depending on some-component (component1 in the code) and no other dependency relationships.

will add test cases to older versions, for regression and showcasing-purposes,
and then forward-port those and add fixes.
I am planning to have all affected major versions fixed.

fix was released via https://github.com/CycloneDX/cyclonedx-python-lib/releases/tag/v6.4.1


Sketch out design idea "identity unification" between kcp and physical clusters

Needs to cover the features a user might want like:

From kcp you can create a service account that pods running on physical clusters are associated with
A kcp service account token of some form can be created? (so that you can easily define identities not bound to the fate of a cluster)
Services from off cluster could potentially be integrated behind or via proxying of that identity (i.e. service account = global service identity = integrations that allow traffic going off cluster through a mesh can use that identity to authenticate)

And discuss the various efforts in the space like SPIFFE, ory, the cloud identity solutions, how someone could accumulate their own and expose via a mesh/egress proxy, etc.

How (if at all) does this relate to #206? Partial/total duplicate?

/close
not in scope for now. Will reopen if needed


feature-wip support iceberg union catalog, and add h…

…ms and rest catalog framework
Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 36.41 seconds
load time: 498 seconds
storage size:<PHONE_NUMBER>1 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230118210813_clickbench_pr_83717.html