Structured Message Encoding

Implements the spec for encoding a structured message. Supports encoding through a Stream in read mode.

Separately implements netstandard 2.0 and 2.1 read methods
Prevents seeking past latest read position, ensuring proper CRC calculation but allowing for rewind in the case of a retry
Supports an overall stream footer, but there is currently no content for it.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Storage.Blobs


basic disco sample fails

basic/disco example fails when building on stm32f469i discovery board
LED1 is not defined
$ west build -b stm32f469i_disco samples/basic/disco/
source directory: ./bin/zephyrproject/zephyr/samples/basic/disco
build directory: ./bin/zephyrproject/zephyr/build (created)
BOARD: stm32f469i_disco (origin: command line)
Zephyr version: 1.14.99
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.2", minimum required is "3.4")
-- Selected BOARD stm32f469i_disco
-- Found west: ./.local/bin/west (found suitable version "0.5.7", minimum required is "0.5.6")
-- Loading ./bin/zephyrproject/zephyr/boards/arm/stm32f469i_disco/stm32f469i_disco.dts as base
-- Overlaying ./bin/zephyrproject/zephyr/dts/common/common.dts
Parsing Kconfig tree in ./bin/zephyrproject/zephyr/Kconfig
Loading ./bin/zephyrproject/zephyr/boards/arm/stm32f469i_disco/stm32f469i_disco_defconfig as base
Merging ./bin/zephyrproject/zephyr/samples/basic/disco/prj.conf
Configuration written to './bin/zephyrproject/zephyr/build/zephyr/.config'
-- Cache files will be written to: ./.cache/zephyr
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- The ASM compiler identification is GNU
-- Found assembler: ./bin/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
-- Performing Test toolchain_is_ok
-- Performing Test toolchain_is_ok - Success
Including module: tinycbor in path: ./bin/zephyrproject/modules/lib/tinycbor
Including module: qmsi in path: ./bin/zephyrproject/modules/hal/qmsi
Including module: esp-idf in path: ./bin/zephyrproject/modules/hal/esp-idf/zephyr
Including module: fatfs in path: ./bin/zephyrproject/modules/fs/fatfs
Including module: cypress in path: ./bin/zephyrproject/modules/hal/cypress
Including module: silabs in path: ./bin/zephyrproject/modules/hal/silabs
Including module: libmetal in path: ./bin/zephyrproject/modules/hal/libmetal
Including module: mcumgr in path: ./bin/zephyrproject/modules/lib/mcumgr
Including module: nffs in path: ./bin/zephyrproject/modules/fs/nffs
Including module: open-amp in path: ./bin/zephyrproject/modules/lib/open-amp
Including module: segger in path: ./bin/zephyrproject/modules/debug/segger
-- Configuring done
-- Generating done
-- Build files have been written to: ./bin/zephyrproject/zephyr/build
[3/115] Preparing syscall dependency handling

[13/115] Building C object CMakeFiles/app.dir/src/main.c.obj
FAILED: ccache ./bin/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -DBUILD_VERSION=zephyr-v1.14.0-1330-g442df9736641 -DKERNEL -DSTM32F469xx -DUSE_FULL_LL_DRIVER -DUSE_HAL_DRIVER -D_FORTIFY_SOURCE=2 -D__ZEPHYR__=1 -I./bin/zephyrproject/zephyr/kernel/include -I./bin/zephyrproject/zephyr/arch/arm/include -I./bin/zephyrproject/zephyr/include -I./bin/zephyrproject/zephyr/include/drivers -Izephyr/include/generated -I./bin/zephyrproject/zephyr/soc/arm/st_stm32/stm32f4 -I./bin/zephyrproject/zephyr/lib/libc/minimal/include -I./bin/zephyrproject/zephyr/drivers -I./bin/zephyrproject/zephyr/ext/hal/cmsis/Include -I./bin/zephyrproject/zephyr/ext/hal/st/stm32cube/stm32f4xx/soc -I./bin/zephyrproject/zephyr/ext/hal/st/stm32cube/stm32f4xx/drivers/include -I./bin/zephyrproject/zephyr/ext/hal/st/stm32cube/stm32f4xx/drivers/include/Legacy -isystem ./bin/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/8.3.0/include -isystem ./bin/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/8.3.0/include-fixed -Os -nostdinc -g -imacros ./bin/zephyrproject/zephyr/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -mthumb -mcpu=cortex-m4 -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=./bin/zephyrproject/zephyr=. -ffunction-sections -fdata-sections -mabi=aapcs -march=armv7e-m -std=c99 -MD -MT CMakeFiles/app.dir/src/main.c.obj -MF CMakeFiles/app.dir/src/main.c.obj.d -o CMakeFiles/app.dir/src/main.c.obj   -c ./bin/zephyrproject/zephyr/samples/basic/disco/src/main.c
./bin/zephyrproject/zephyr/samples/basic/disco/src/main.c: In function 'main':
./bin/zephyrproject/zephyr/samples/basic/disco/src/main.c:25:29: error: 'LED1_GPIO_CONTROLLER' undeclared (first use in this function)
  gpio1 = device_get_binding(PORT1);
                             ^~~~~~~
./bin/zephyrproject/zephyr/samples/basic/disco/src/main.c:25:29: note: each undeclared identifier is reported only once for each function it appears in
./bin/zephyrproject/zephyr/samples/basic/disco/src/main.c:28:28: error: 'LED1_GPIO_PIN' undeclared (first use in this function)
  gpio_pin_configure(gpio1, LED1, GPIO_DIR_OUT);
                            ^~~~~~~~~~~~~
[13/115] Building C object zephyr/CMakeFiles/zephyr.dir/arch/common/sw_isr_common.c.obj
ninja: build stopped: subcommand failed.
ERROR: command exited with status 1: ./bin/cmake/cmake-3.13.1-Linux-x86_64/bin/cmake --build ./bin/zephyrproject/zephyr/build

I confirm

@FRASTM There is no led1 alias, you could fix it easy
diff --git a/boards/arm/stm32f469i_disco/stm32f469i_disco.dts b/boards/arm/stm32f469i_disco/stm32f469i_disco.dts
index a7f9e033bf..523a6e7fa9 100644
--- a/boards/arm/stm32f469i_disco/stm32f469i_disco.dts
+++ b/boards/arm/stm32f469i_disco/stm32f469i_disco.dts
@@ -49,6 +49,7 @@

        aliases {
                led0 = &green_led_1;
+               led1 = &orange_led_2;
                sw0 = &user_button;
        };
 };


Testing the Gmail API

Seeing how Gmail API works should be enough at the moment. Sending a text to a specific user via Gmail using this API can be a stretch goal.

Solved


RFC: Adopt Codecov at Artsy, starting with Gravity

Proposal:
Adopt Codecov at Artsy, starting with Gravity

Configure codecov to comment in the PRs with coverage results and link to codecov results page
If a PR is opened that decreases the test coverage, should we block it?

No, enforcing a hard block would probably lead to more frustration without incentivizing us to improve our tests

Why start with Gravity?

Code coverage tools seem to be most useful for backends
We could consider adopting for our frontends, but it seems like it might be harder to adopt consistently and with good results

Reasoning:

Helps us to see when our code is poorly structured: if you feel that covering all of a class is difficult, it might mean that the class needs to be refactored!
Enables us to refactor with more confidence by knowing which parts of code are not covered. Even though Codecov won't force us to have high-quality tests (this is something to be enforced by ourselves when writing and reviewing code), it will give us visibility on what's tested and what's not.
Allows new engineers to better understand the code by reading tests as documentation
Makes major dependency updates easier to be tested
Helps us see where there are gaps in our test coverage - even if we choose not to add tests where we're missing them, we can make sure to manually test those portions of a code change

Exceptions:
None
Additional Context:
https://about.codecov.io/
How is this RFC resolved?
Deciding whether we want to adopt codecov or not and in case we do start this setting with Gravity as an experiment.

I definitely like that it will spare the reviewer the hint that there is a test missing for a new implementation. I like when tools are taking over these kind of simple jobs. In the past I have had different experiences... Sometimes it was useful, and sometimes the tool kept being ignored and in the end was just hindering work. I think it also depends on the configuration and usage. But I am definitely up for a try.

I'm intrigued. We've done this very sporadically for some projects (example), but I can't recall conversations about pros & cons myself.
One suggestion is that if we do proceed with this, we might trial it on a smaller Rails project than Gravity to begin with, to get a better idea if we should adopt more widely.
Actually now that I'm poking around I see that Exchange used to have this enabled but it seems like it was turned off at some point? It might be fruitful to ask that team why.

Hmm, that's a very good point!! As I understand, Exchange is mostly maintained by @artsy/transact-devs and @artsy/px-devs, right? Would you have some thoughts to be shared on this?

Great inputs, thanks a lot, @joeyAghion !!
Based on these points, I would think if it would make sense to discuss setting up just simplecov as a code coverage analysis tool (without necessarily integrating it with codecov). What would you think?

I'm not that familiar with simplecov or how that would make the integration simpler. Assuming that's the case, though, I'd be open to it. I second @anandaroop's suggestion to pilot with a smaller Rails project first (like maybe by fixing/replacing Exchange's tooling).

In that case, would it make sense to think about this as a Future Friday project?

Resolution
We decided codecov might not be the ideal option, but we would like to have coverage data somehow. We'll work on an initial setup for Exchange as a Future Friday project
Level of Support
5: Unclear Resolution.
Additional Context:
Depending on the results of the FF implementation, we'll have more clarity on what would be the best approach for us
Next Steps
Future Friday project


[Backport] [2.x] Add a system property to configure YamlParser codepoint limits (#12301)

Backport of https://github.com/opensearch-project/OpenSearch/pull/12301 to 2.x

❌ Gradle check result for f0de4f2: FAILURE

java.lang.Exception: Test abandoned because suite timeout was reached.

❌ Gradle check result for f0de4f2: FAILURE

https://github.com/opensearch-project/OpenSearch/issues/11113
https://github.com/opensearch-project/OpenSearch/issues/10755

@kotwanikunal  @andrross folks mind please approving this backport? thank you!


Lets try again and test this time

Run mv dev-rss.xml ./build/blog-post/rss.xml
mv: cannot move 'dev-rss.xml' to './build/blog-post/rss.xml': No such file or directory
Error: Process completed with exit code 1.

I guess the steps are separate, temporarily adjusting the branches this runs on so I can test

Tested by setting this to run on my branch temporarily
https://github.com/ngrok/ngrok-docs/actions/runs/12203311830/job/34045970539?pr=1064


fix(amplify-provider-awscloudformation): throw helpful error if profile is missing keys

Description of changes

throw helpful error if profile is missing keys, adapted from @nikhname's PR: https://github.com/aws-amplify/amplify-cli/pull/6567
Issue #, if available

#5777
Description of how you validated changes
Added unit tests and validated manually
Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are changed or added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Is it possible that this change breaks using a profile with role_arn and source_profile?
Failed to get profile: Profile configuration for 'assumed' is invalid: missing aws_access_key_id, aws_secret_access_key

This did work before...

Is it possible that this change breaks using a profile with role_arn and source_profile?
Failed to get profile: Profile configuration for 'assumed' is invalid: missing aws_access_key_id, aws_secret_access_key

This did work before...

Yikes! It does look like this would have broken that flow. @toelke I or someone on the team will look into improving the validation on this. Thanks for bringing it up.


Supported by Meltano badge on Tap/Targets has broken image links

Migrated from GitLab: https://gitlab.com/meltano/hub/-/issues/145
Originally created by @pnadolny13 on 2021-10-18 13:59:27

It looks like the logos had some name changes in Meltano. https://gitlab.com/meltano/meltano/-/merge_requests/2360/diffs
So now MeltanoHub has blank logos in the little bubble indicating that a tap/target is supported by Meltano.

View 4 previous comments from the original issue on GitLab


Add geodesy feature to Cargo.toml.

It was there in code but not in Cargo.toml. This is a small tweak to add it there and in CI.

Sorry, coffee hasn't kicked in, closing ... I'm working on cleaning up any unused crate dependencies, so I'll open a PR for that in a bit.


Use Java BiFunction instead of custom type

Remove a legacy type that has no use anymore.

@bot-gradle test and merge please.

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


bug(tab): tab header label  readability issue on small devices

[*] bug
What is the expected behavior?
On smaller devices, tab header content should be readable/visible.
(Note: the tab with Our label should be Our large tab title)

What is the current behavior?
Instead of showing the content of the tab header, we will see some parts of the label.
Resize the browser to a smaller width, and the tab label is cut and we can't read the content of the label.
By the way, we already have > and < buttons beside of the tab header, we can set the size of all tab header labels to the largest text width, and skip cutting words ( or ellipsis).
What are the steps to reproduce?
https://plnkr.co/edit/cZBCdICrA5gKwDmIQH3c?p=preview
What is the use-case or motivation for changing an existing behavior?
smaller devices should be able to use tabs as well.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
@angular/cli: 1.2.6
node: 7.10.0
os: linux x64
@angular/animations: 4.3.2
@angular/cdk: 2.0.0-beta.8
@angular/common: 4.3.2
@angular/compiler: 4.3.2
@angular/core: 4.3.2
@angular/forms: 4.3.2
@angular/http: 4.3.2
@angular/material: 2.0.0-beta.8
@angular/platform-browser: 4.3.2
@angular/platform-browser-dynamic: 4.3.2
@angular/router: 4.3.2
@angular/cli: 1.2.6
@angular/compiler-cli: 4.3.2
@angular/language-service: 4.3.2

OS: Fedora 25
Browser:  (Version 59.0.3071.86)

Is there anything else we should know?
Here is what material.io says about tabs (here):

A long label exceeding the maximum width of a tab may wrap to a second line before being truncated.
Wrap labels before truncating them. Truncating labels too early can impede comprehension.

Looks to be fixed on latest


Fix panic on findOne query

Problem: right now for queries like db.values.findOne({"name":"there is no such name"}) that would ends up with empty result find would try to call common.Limit which would return slice with 1 nil document that leads to panic on document validation stage.
Solution: return if there no documents after applying filters.

#409


DSDL compiler: incorrect array serialization

A bug in the updated DSDL compiler has been found:

uavcan/equipment/actuator/actuator_ArrayCommand.c: In function ‘uavcan_equipment_actuator_ArrayCommand_encode_internal’:
uavcan/equipment/actuator/actuator_ArrayCommand.c:41:93: error: subscripted value is neither array nor pointer nor vector
offset += uavcan_equipment_actuator_Command_encode_internal((void*)&source->commands[c], msg_buf, offset, 0);
commands[c] is wrong ,that is commands.data[c] is right.

@aasmune could you look into this please?

It looks like I forgot to update some parts of the template, and I didn't notice as I did not use the affected messages. I have now fixed the reported bug (and two more). I looked through the compiled DSDL code after the fixes, and it looks good to me now. However it could be that I have overlooked something, so please check again just to be sure.

Thanks @aasmune, could you send a pull request please?


what's the source of qtais.txt?

I know the meaning of corpus following:
qts : 全唐诗
qsc : 全宋诗
qsc : 全宋词
yuan ：元朝诗歌
ming：明代诗歌
qing: 清代诗歌
Am I correct?
And what's the meaning of qtais.txt?
thanks!

Hi there,
I used the same corpus as Zhang and Lapata (EMNLP, 2014), which can be downloaded from here. But I don't know what qtais.txt is either.

OK, thanks!


Feat OIDC login as namespace

[x] read the CONTRIBUTING guidelines
[x] raised a GitHub issue or discussed it on the projects chat beforehand
[x] added unit tests
[] added integration tests
[x] updated documentation if needed
[x] updated CHANGELOG.md

should close #327

With this came to my mind that hostname validation is not done. @kradalby should we normalize the hostname received from the nodes ?

Integrations tests seems to have a random component. One update on changelog was ok, the other was not…

Integrations tests seems to have a random component. One update on changelog was ok, the other was not…

Sadly it's not random, but race conditions/sync issues in headscale.
I am continuously working on them, and have an draft with a couple of improvements. But for now, just rerunning it is the way 😖

When #357  is in, can you resolve the conflicts? I think there will be some more, so you can wait for that one.

When #357 is in, can you resolve the conflicts? I think there will be some more, so you can wait for that one.

Ok, I'll wait for #357

Ok, I'll wait for #357

Merged now.


Added alt tag for cloud-native image in homepage

related to (https://github.com/envoyproxy/envoyproxy.github.io/issues/129#issue-512379185)

Duplicate (?) of #131


onClick of pin icon to move client to top of the table (this will most likely need to be done after Issue #220.)

Possible Pre-Requisite:
Issue #220

Issue:
handlePinClick() in ClientListTableRow has no real functionality currently, besides changing the icon to signify the client being "pinned".  Idea is to have this "pinned" client stay at top of table.

Direction:
Two thoughts:

Create a "priority" field in the .ttl file - so we can toggle it true/false.
Create a function that pushes this client to the front of the sorted clientList array (and thus top of table)
Another approach entirely 🤷🏻♂

I'm thinking the way to handle this issue would be to create a new array in the userListObject called pinnedUserList. A separate array would mean that this pinned list would not be sorted with the other clients, and the order of pinned items would be based off of the order in which they were pinned / their index. Unpinning would put the item back into the clientList array.

Updating issue to work on a different approach, but related to original issue.

@leekahung @xscottxbrownx  we recently moved the clients list over to a data table with sorting features. Does that satisfy this issue?

@leekahung @xscottxbrownx  we recently moved the clients list over to a data table with sorting features. Does that satisfy this issue?

Given that the table could filter and sort for a specific contact, I think it should be sufficient to close.


GCP Credentials Mount [WIP]

Codecov Report

:exclamation: No coverage uploaded for pull request base (ci-multi-cloud@4108f7e). Click here to learn what that means.
The diff coverage is n/a.

@@                Coverage Diff                @@
##             ci-multi-cloud     #494   +/-   ##
=================================================
  Coverage                  ?   40.12%
=================================================
  Files                     ?        9
  Lines                     ?     1939
  Branches                  ?        0
=================================================
  Hits                      ?      778
  Misses                    ?     1105
  Partials                  ?       56

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 4108f7e...a8d6905. Read the comment docs.


Events for tweens

var tween = this.tween(...);

/* fired every time the event occurs for this tween */
tween.on

/* fired once then removed */
tween.once

tween.on("finished", function() { }, context);
tween.on("loop", function() { }, context);

/* context is optional - it replaces `this` within callback */

+1


Feature Request. Multiple attributes for items, Custom Model Data + Color

So here I was using vouchers to display in my cosmetics box, Because CC won't allow me to have custom model data previous WITH the dye attribute together
Item:<Leather Armor/Potion>:<Color>
Item:<Leather Armor/Potion>:<Red>,<Green>,<Blue>

Item:<Leather Horse Armor/Potion>:<Red>,Green>,Blue> or <Color>

It means my custom cosmetics which are dyeable horse armor all default to brown horse armor, Which makes them look really bad, My request is that we can apply both, something like this
DisplayItem: LEATHER_HORSE_ARMOR#10039
Color: WHITE
Thanks!

Did it work?

Yeah my bad, been a while since this lol


Document TestContext property

We should document the TestContext property here https://learn.microsoft.com/dotnet/core/testing/unit-testing-mstest-writing-tests to mention:

Available methods
Available properties and their limitations
How to get the test context
Limitations of the test context

@Evangelink I'm closing this out as the linked PR is merged.


Internal oszilator stops scanning at harmonics

The internal oszilator occupies the 130/260/390/520 Mhz frequencies and stops scanning over.
This can be annoying because the 130Mhz is midst air band.
Is it possible to skip these frequencies +- 10kHz during scan?

Double: issue, see #323, all multiples of 26 Mc


Add Federation aspects for EODC

see https://docs.openeo.cloud/federation/#eodc

Fixed with https://github.com/openEOPlatform/documentation/commit/44465ce96a7709bfc1aa57830ecf8dc585a8bbeb

We should also include:
Are there any unsupported features that VITO supports that you should mention in the federation aspects? Especially thinking about some important processes, file formats (e.g. COG support) or other API functionality that is crucial to common use cases?
I.e. this page should document the differences between back-ends the user could stumble across, this may also need some additions on VITOs side. Right now the whole page is pretty high-level.

As mentioned in https://github.com/openEOPlatform/architecture-docs/issues/32 the Level-2 Sentinel-2 / Landsat-8 band names are now aligned between VITO and EODC.


A neuron can depend on the same input multiple times

Possibly the cause of #58, as I noticed this in the neuron dump by @Bowarc (also in #58). A neuron can have multiple references to the same neuron as input. This, when combined with rayon, makes it so that, as it performs parallelized iteration on the neurons, there is a chance they try to write to the same neuron at the same time, causing a deadlock.

Merged #62, I don't really have a way of verifying that the changes I made worked due to chance, but it appears to work.


Cleanup taper notes using ChatGPT

We can strip extra kruft and audio file hashes from taper notes using ChatGPT.

Done.


Tritanopia Colorblind Theme (beta)

(Simulation of Tritanopia color blindness. Colors are approximate as color blindness varies from person to person)
Summary
Varying by gender and geography, color blindness can affect on average 5-6% of men and up 0.4% of woman. Roughly 1 in 10,000 people experience Tritanopia color blindness, a condition where a person cannot distinguish between blue and yellow colors. When colorblind users are unable to distinguish between colors in an interface, they are forced to use shape and iconography to interpret meaning. This new theme swaps colors outside of the Tritanopia visible spectrum for alternative colors to make GitHub more inclusive for users with Tritanopia color blindness.
Intended Outcome
Users with Tritanopia color blindness are able to use github.com with a light and dark theme that uses more colors within their visible spectrum.
How will it work?
From the appearance settings page, a user is able to choose from the light and dark Tritanopia colorblind themes in their preferred theme settings.
Note: Themes designed for users with Protanopia & Deuteranopia color blindness are separately available.

this has shipped! https://github.blog/changelog/2022-04-19-tritanopia-colorblind-theme-beta/


fix tablet is not removed in compaction if dropped

What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
it will cause the data dir can not be deleted because the table shared ptr use count is 2
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall


bug(regex/group): Release group regex can match resolution

This is for both the current regex and v6.
If name ends with WEBRip-720p: https://regex101.com/r/4b9bs3/1
I think XXXp and XXXXp should not match where X is a digit.

Not sure if this is perfect, seems to work for me.
https://regex101.com/r/QF836v/1
Play with and let me know if it breaks anywhere.
Also need to know if any release groups potentially would be affected by this.

Maybe 1337x would get affected if that's a thing. But I can't think of any release groups like that.
Did a quick test across all my torrents, these are what changed:
Starting test
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E01 - Mystery Meat WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E02 - Parental Bonding WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E03 - One of a Kind! WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E04 - Attack of the Killer Garage Sale WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E05 - Splitting Images WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E06 - What You Want WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E07 - Bitter Reunions WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E08 - Prisoners of Love WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E09 - My Brother's Keeper WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E10 - Shades of Gray WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E11 - Fanning the Flames WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E12 - Teacher of the Year WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E13 - Fright Night WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E14 - 13 WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E15 - Public Enemies WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E16 - Lucky in Love WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E17 - Maternal Instinct WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E18 - Life Lessons WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E19 - The Million Dollar Ghost! WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Danny Phantom - S01E20 - Control Freaks WEBRip-720p.mkv: 720p vs undefined
2024-04-08 00:01:34 info: [search] --- Rick.and.Morty.S00E75.Judge Morty - State of Georgia Vs. Rick Allen-1080p Uncensored Complete: 1080p Uncensored Complete vs undefined
2024-04-08 00:01:34 info: [search] --- Rick.and.Morty.S00E75.Judge Morty - State of Georgia Vs. Rick Allen-1080p Uncensored Complete.mkv: 1080p Uncensored Complete vs undefined
2024-04-08 00:01:34 info: [search] Ending test

While I understand that not everyone is going to use something like the recommended naming scheme from trash's guides, there is a limit and reasonable expectation we can expect to meet with our parsing.
 You can choose to either rename and use an accepted best-practice or have issues.
I'm not particularly of the mind to significantly increase our regex overhead, as limited as that processing may be, and spend too much time to accommodate all the edge-case small subset of users who name their stuff in random ways...I think what I've proposed is about as far as I'd like to go, and I'd consider looking into the removing erroneous spaces and uploader-added tags potentially.

I've been using v4 with good results. Ignoring tagging groups have helped reduce unnecessary snatches. I made a small modification of adding (?!\d+\b) after the resolution check so it doesn't match all numbers but I understand if that isn't desired.


HC-1048 add chronicle dogs dev

Onboards vm and sql workload in dev of smss Chronicle Dog Application into backup for HC-1048.

Spoke: smss-dogs-backup, Environment: dev and Pipeline Stage: dev
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # azurerm_backup_policy_vm.policy["daily-backup-policy-dogs"] will be created
  + resource "azurerm_backup_policy_vm" "policy" {
      + id                             = (known after apply)
      + instant_restore_retention_days = (known after apply)
      + name                           = "daily-backup-policy-dogs"
      + policy_type                    = "V2"
      + recovery_vault_name            = "rsv-smss-core-001"
      + resource_group_name            = "rg-smss-core-001"
      + timezone                       = "UTC"

      + backup {
          + frequency = "Daily"
          + time      = "20:00"
        }

      + retention_daily {
          + count = 14
        }
    }

  # azurerm_backup_policy_vm_workload.backup_workload_policies["dogssqlbackup01"] will be created
  + resource "azurerm_backup_policy_vm_workload" "backup_workload_policies" {
      + id                  = (known after apply)
      + name                = "dogssqlbackup01"
      + recovery_vault_name = "rsv-smss-core-001"
      + resource_group_name = "rg-smss-core-001"
      + workload_type       = "SQLDataBase"

      + protection_policy {
          + policy_type = "Log"

          + backup {
              + frequency_in_minutes = 15
              + weekdays             = []
            }

          + simple_retention {
              + count = 8
            }
        }
      + protection_policy {
          + policy_type = "Full"

          + backup {
              + frequency = "Daily"
              + time      = "22:00"
              + weekdays  = []
            }

          + retention_daily {
              + count = 8
            }
        }

      + settings {
          + compression_enabled = false
          + time_zone           = "UTC"
        }
    }

  # azurerm_backup_protected_vm.vm["vm-dogs-app01"] will be created
  + resource "azurerm_backup_protected_vm" "vm" {
      + backup_policy_id    = (known after apply)
      + id                  = (known after apply)
      + protection_state    = (known after apply)
      + recovery_vault_name = "rsv-smss-core-001"
      + resource_group_name = "rg-smss-core-001"
      + source_vm_id        = "/subscriptions/1694d62a-08ca-48d5-93b6-0feb07d8bce3/resourceGroups/rg-smss-dogs-001/providers/Microsoft.Compute/virtualMachines/vm-dogs-app01"
    }

  # azurerm_backup_protected_vm.vm["vm-dogs-sql01"] will be created
  + resource "azurerm_backup_protected_vm" "vm" {
      + backup_policy_id    = (known after apply)
      + id                  = (known after apply)
      + protection_state    = (known after apply)
      + recovery_vault_name = "rsv-smss-core-001"
      + resource_group_name = "rg-smss-core-001"
      + source_vm_id        = "/subscriptions/1694d62a-08ca-48d5-93b6-0feb07d8bce3/resourceGroups/rg-smss-dogs-001/providers/Microsoft.Compute/virtualMachines/vm-dogs-sql01"
    }

Plan: 4 to add, 0 to change, 0 to destroy.


Allow loading settings from turn state

Fixes #2216
Description

SettingsMemoryScope should load "settings" from turn state besides loading settings from process.env. We can put extra settings in DialogManager's intialTurnState to be treated as settings.
Specific Changes

Updated SettingsMemoryScope to load settings from turn state

Testing

Updated corresponding unit test.

Pull Request Test Coverage Report for Build 129687

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.003%) to 80.076%

Totals

Change from base Build 129555:
0.003%

Covered Lines:
12661

Relevant Lines:
15090

💛  - Coveralls


Build issues on an m1 mac

Hey @jmagman, I tried running the gallery on an M1 mac. To be sure, I recreated the macOS directory and am using Flutter @HEAD.
Forgive me if these are already covered in existing issues, but I think there are three issues here:
flutter run -d macos
Launching lib/main.dart on macOS in debug mode...
Running pod install...                                             693ms

This seems to be related to Rosetta & iTerm (https://stackoverflow.com/questions/65089767/class-amsupporturlconnectiondelegate-is-implemented-in-both)

objc[80209]: Class AMSupportURLConnectionDelegate is implemented in both /usr/lib/libamsupport.dylib (0x208226098) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1060e02c8). One of the two will be used. Which one is undefined.
objc[80209]: Class AMSupportURLSession is implemented in both /usr/lib/libamsupport.dylib (0x2082260e8) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1060e0318). One of the two will be used. Which one is undefined.
objc[80209]: Class AppleTypeCRetimerRestoreInfoHelper is implemented in both /usr/lib/libauthinstall.dylib (0x208225eb0) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1060e04f8). One of the two will be used. Which one is undefined.
objc[80209]: Class AppleTypeCRetimerFirmwareAggregateRequestCreator is implemented in both /usr/lib/libauthinstall.dylib (0x208225f00) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1060e0548). One of the two will be used. Which one is undefined.
objc[80209]: Class AppleTypeCRetimerFirmwareRequestCreator is implemented in both /usr/lib/libauthinstall.dylib (0x208225f50) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1060e0598). One of the two will be used. Which one is undefined.
objc[80209]: Class ATCRTRestoreInfoFTABFile is implemented in both /usr/lib/libauthinstall.dylib (0x208225fa0) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1060e05e8). One of the two will be used. Which one is undefined.
objc[80209]: Class AppleTypeCRetimerFirmwareCopier is implemented in both /usr/lib/libauthinstall.dylib (0x208225ff0) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1060e0638). One of the two will be used. Which one is undefined.
objc[80209]: Class ATCRTRestoreInfoFTABSubfile is implemented in both /usr/lib/libauthinstall.dylib (0x208226040) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1060e0688). One of the two will be used. Which one is undefined.

This one I thought was fixed recently

--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64, id:00006000-000479E421D8801E }
{ platform:macOS, arch:x86_64, id:00006000-000479E421D8801E }

Are we simply missing those slices?

/Users/plg/development/gallery/macos/Runner.xcodeproj: error: The linked framework 'Pods_Runner.framework' is missing one or more architectures required by this target: arm64. (in target 'Runner' from project 'Runner')
** BUILD FAILED **

Building macOS application...
Exception: Build process failed

 Logs
flutter doctor -v

flutter doctor -v
[✓] Flutter (Channel remove-trailing-spaces, 2.13.0-0.0.pre.359, on macOS 12.3 21E230 darwin-arm, locale en)
    • Flutter version 2.13.0-0.0.pre.359 at /Users/plg/development/flutter-dev
    • Upstream repository https://github.com/guidezpl/flutter.git
    • Framework revision<PHONE_NUMBER> (17 minutes ago), 2022-04-01 16:50:30 +0200
    • Engine revision c3274494b0
    • Dart version 2.17.0 (build 2.17.0-261.0.dev)
    • DevTools version 2.12.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/plg/Library/Android/sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio with Blaze.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio
    • Android Studio at /Applications/Android Studio with Blaze Beta.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio with Blaze.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.66.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.36.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.3 21E230 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 100.0.4896.60

[✓] HTTP Host Availability
    • All required HTTP hosts are available

Not an expert writing here, but I have the warnings under 1) as well, and they don't prevent the program from building/running.

macOS build output is a total mess compared to iOS.  xcodebuild outputs all kinds of non-errors to stderr, and the flutter tool does not filter that out for macOS.

Class x is implemented in both ... One of the two will be used. Which one is undefined.

These warnings are from Xcode should be ignored.  There seem to be new ones every few Xcode versions and because of the macOS stderr mess mentioned above, they get printed.

Using the first of multiple matching destinations:

I reopened https://github.com/flutter/flutter/issues/87136 I don't think it was tested on an arm machine. Again, this seems to be harmless and should be ignored.

The linked framework 'Pods_Runner.framework' is missing one or more architectures required by this target: arm64

This is your actual error.  Can you attach the results of flutter build macos -v so I can take a look at your logs?

Gladly!
flutter build -d macos -v
flutter run -d macos -v

@guidezpl both of those show ** BUILD SUCCEEDED **, are you able to reproduce the The linked framework 'Pods_Runner.framework' is missing one or more architectures required by this target: arm64 failure?

Take a look at the second one, run.log

Take a look at the second one, run.log

Ah sorry I downloaded the first one twice.

I tried this on my M1 with the same plugins and it passed.
@guidezpl can you run flutter clean and attach the verbose logs again? I can't see the plugins being built in those logs.

flutter clean did the trick, so I'll close this, with the remaining issue to be dealt with in https://github.com/flutter/flutter/issues/87136


click.getchar does not return Unicode on Windows

Test Script (Python 3.4.3 on Windows 7 x64):
import click
print(click.getchar()) # press 'a' key, prints "b'a'" i.e. a byte string

When calling click.getchar() on Windows mscvrt.getch is used in _termui_impl.getchar rather than mscvrt.getwch.
This means you get a byte string back, which defeats the Ctrl-C/Ctrl-D processing in _translate_ch_to_exc and breaks comparisons with the return value. The documentation for msvcrt advises that the wide char functions should be used wherever possible.
I've patched this over by changing getchar to the following (also with a tweak to use the built in echoing rather than putchar, which is a typo for putch anyway):
def getchar(echo):
    if echo:
        rv = msvcrt.getwche()
    else:
        rv = msvcrt.getwch()

    _translate_ch_to_exc(rv)
    if PY2:
        enc = getattr(sys.stdin, 'encoding', None)
        if enc is not None:
            rv = rv.decode(enc, 'replace')
        else:
            rv = rv.decode('cp1252', 'replace')
    return rv

But I don't really want to embark on rigorously testing this (e.g. on Python 2), given the complexity of all the encoding handling. I'm not sure how you would even write a test for this, since it's so tied to the console I/O?
(if click uses the wide char API, then does it even need the PY2 branch?)

Closed by #1108


Bug! Don't work fine market://...

I use 1.2.0
new AppRater.DefaultBuilder(this, "my.id.app")
when push Rate, go to palystore but error
Element no found, retry
I see you construct
market://details?id=my.id.app
If you change for, work perferly
https://play.google.com/store/apps/details?id=my.id.app
I found this for maintanence market://

Thanks, should be fixed with 1.2.1.


[Addition]: Heltec Cluster in Samutsakorn, Thailand - verifed by mapper

Hotspot b58 Addresses
1121KbQ3crqUo8jo5rwfKBzcyE2bM76an9Ahc1JyL5GBTaZ2axCq
112FzX54xfZcVKthFBA8R5AioKex1vM2MwxhtS9iJbcyDcq5cZy
112Yr8e1WeVxDrTrLTMWZZccJCDbDu7MF6HB3QKJ4H8fffeZq9w7
11cat7HViKU5QN8UFcCV7cHmhq6cDxa2XFyeAshDzPugzhTfk8Z
11CAx2k6xFXQMfctYKzBumbE922e9mkP4jDhLMqNBGJbLGY7MET
11dZP6HzKwwvhXpU88KFvVvgDxxJoEAW6wpUrfiXjgTG3gJxhND
11MdXaxwQ3XTMZcU6DQesxd55uMG16hYGtN7ReCzs5GxqnggHNQ
11NMYGWe7GswocNd1KcrEwMLEM2cywaBGZ9nfNxEKrMoNpzXXZ1
11VT3PxEqDZJ72gmGwy31Zi99e5facsRHp43hHqPkbeK6CCAGya
Discord Handle
Kenny_PDY
Reason(s)
9 Heltec HS with 12dB 0m antenna in Samutprakarn.  Had very good witness to most parts of Bangkok 30-50km away.  Visited with T-Beam and WIO Field Tester and found none of these HS at the location.  This cluster has a history witness the cluster reported in #6897

The only HS in this area that Field Tester and Mapper found is Sloth

Survey from Red pin

At this location Field Test found no HS, so there is no report.

Also nothing on Mapper.

It's mistake


TOSCA to graph

Convert the TOSCA template and  to a graph (perhaps RDF)

TOSCA template is already a graph


Remove unused CSS and JavaScript

Motivation
Due to using a pre-made template, there is a lot of unnecessary JS and CSS that can be removed.

First pass of removing bloat done in: https://github.com/kentico-michaelb/kontent-sample-app-conference-net/commit/676a8a003f74ed7861d6533857ab2b24775c1600


Socket hang up on db/_bulk_docs

I am getting { error: 'HTTP Request Error', message: 'socket hang up' } on calling db/_bulk_docs, on my server, but I can run it fine on my local Couchdb. I was just doing a massive edit on about 25K docs. Is there a threshold on how many docs can be updated by db/_bulk_docs in the settings?
http://docs.couchdb.org/en/2.0.0/api/database/bulk-api.html#db-bulk-docs

Setting 'Content-Length' HTTP Header field solved my issue. This has something to do with my server setting rather than CouchDB.


adding JavaScript language

Description

Added JavaScript in lang folder, created file: javascript.md

This PR fixes #73
Notes for Reviewers:

Ready to review!
Some changes need to configure.
Signed commits

[x] Yes, I am a Member of DEVSTRONS'

Discord ID (e.g.: DEVSTRONS'#0238)
umng01#2710

@umng01 & @Panquesito7: Thanks for your contributions & reviews respectively! :slightly_smiling_face:


CodeSnippet perhaps shouldn't use line numbers and other decorations?

At least not for small shell scripts? The decorations overwhelm the tiny script.

With reduced decorations:

As it stands:


Would be nice to add support for signal from AbortController

Same as addEventListener(event, fn, {signal}) now supports signal, it would be nice to have this in subscribe(fn, {signal}). Once people realise how nice abort controller is and start using it, not having it becomes quite annoying, because user would need to wrap unsubscribe into their own abort listener:

Interesting idea. Here is my decision framework:

In this case I don’t want to be the first. I prefer to add this feature when it will be widely used. The reason is that I want to keep Nano Stores simple and not add too many features which only a few people use.
The moment of when we will in the timeline of adoption depends on the cost of the feature. It will be interesting to see an actual PR to see the JS bundle size difference.

For now we can add some third-party library like:
import { abortify } from 'nanostores-abortify'

$store = abortify(store)
$store.subscribe(fn, { signal })

or
import { subscribe } from 'nanostores-abortify'

subscribe($store, cb, { signal })

I'm working on a PR to evaluate this feature. I still have to create some tests to make sure everything works and see if there are things I can optimize. But in my initial tests it's 47 B larger with the Atom size limit, and 35 B larger with the Popular Set.
Would we want to allow aborting a subscriber before they are attached? Not allowing that shaves a bit of size, but it probably doesn't work well with how AbortSignal should work.
After the initial PR I also plan on creating a library matching the second suggestion.

You guys rock!

I started looking at doing it as an external library, which didn't end up quite matching either of the ways proposed by @ai.
This alternate way of doing it is closer to how persistentAtom works. Use it either straight in your repository or by creating a library from it. I'm just lacking the motivation to add enough scaffolding around it to make it a worthwhile library on my own 😄
import { atom } from './atom/index.js'

export function abortableAtom(initialValue) {
  let $atom = atom(initialValue)

  let originalListen = $atom.listen
  let originalSubscribe = $atom.subscribe

  $atom.listen = (listener, signal) => {
    if (signal?.aborted) return () => {}
    let unlisten = originalListen(listener)
    signal?.addEventListener('abort', unlisten, { once: true })
    return unlisten
  }

  $atom.subscribe = (listener, signal) => {
    if (signal?.aborted) return () => {}
    let unsubscribe = originalSubscribe(listener)
    signal?.addEventListener('abort', unsubscribe, { once: true })
    return unsubscribe
  }

  return $atom
}

@gismya amazing work.
Now I want a production usage of abort signals (by @gismya snippet above) and some proofs with real code that it is really useful and could be used in popular cases.

The use-case I would have for it is to unsubscribe from multiple listeners easily. But I've solved that in other ways in my current project, so it's not something I will spend time implementing in my own project at this time.
Had it been included in the base Atom I would use it. But at the same time, I don't think it adds enough value being there until AbortSignals are more widely adopted to advocate for it being added. If that makes sense :)

In webstudio https://github.com/webstudio-is/webstudio we have basically only 2 types things we subscribe to:

native addEventListener
nanostores .subscribe and .listen

My goal is to use abort controller everywhere and decouple as much logic as possible from React, then use abort controller in the cleanup useEffect hooks.
We have 2 options:

what we did so far: create a function, return a cleanup function:

you can forget to call the cleanup, there is no way to enforce it (danger)
you have to call every cleanup (more writing)
there is no explicitness in returning a function for a cleanup (could return an {cleanup} object though)
in a complex logic with subscribing/unsubscribing  you could simply mess up the logic, especially when it comes to async an react integration

in case of abort controller

can enforce signal via types
can't mess it up, no matter how many times you subscribed to events etc, as long as there is a signal, all events will be removed
when you have a number of calls, it becomes a shorter notation too

Here is a bunch of functions I just refactored: https://github.com/webstudio-is/webstudio/pull/4195/files#diff-ad728b9ec2e4ff53f9eeca0b08a6446177aad999f2d51888d26e5086e8fc9ddbR153-R170
My goal in the end is to be able to unmount an entire feature or entire application with one controller and ensures everything is clean.

The best use case will be a small code example with old stores API and signals showing how signals made code more readable

Here is an example extracted from the link above, its a bit more code even, but:

you know explicitely what signal is for

you can't know if the  effects like this   useEffect(updateCollaborativeInstanceRect, []);  are actually going to return a function and cleanup their listeners

you are using many useEffect calls instead of one, if I would write this using one effect and have explicit cleanup calls it would actually be a lot more code see v2
V1
useEffect(updateCollaborativeInstanceRect, []);
useEffect(subscribeInstanceSelection, []);
useEffect(subscribeInstanceHovering, []);
useEffect(subscribeInspectorEdits, []);
useEffect(subscribeFontLoadingDone, []);

useEffect(() => {
 const cleanup1 = updateCollaborativeInstanceRect()
 const cleanup2 = subscribeInstanceSelection()
 const cleanup3 =  subscribeInstanceHovering()
 const cleanup4 = subscribeInspectorEdits()
 const cleanup5 = subscribeFontLoadingDone()

 return () => {
   cleanup1()
   cleanup2()
   cleanup3()
   cleanup4()
   cleanup5()
 }
}, [])

V3

 useEffect(() => {
    const abortController = new AbortController();
    const options = { signal: abortController.signal };
    updateCollaborativeInstanceRect(options);
    subscribeInstanceSelection(options);
    subscribeInstanceHovering(options);
    subscribeInspectorEdits(options);
    subscribeFontLoadingDone(options);
    return () => {
      abortController.abort();
    };
  }, []);

But really the core benefit is the guarantee that you can't mess up unsubscribe with complex and async code and that's difficult to demonstrate in a simple example.
Its not a good idea in this case to base this on readability of a simple example.

Btw. these functions I call there subscribeSomething are using the store.subscribe and potentially other things as well like addEventListener, I didn't use store.subscribe there explicitely, but  I think it is clear


Cpu percent

acs get usage
This only adds the ability to get the CPU usage but it doesn't display it on a per core basis in acs monit. I will make that work later.

Yay! Thanks!!

See #270 and #271

I also still need to write tests.

This is all ready for merge by the way @JakeRoggenbuck


ansible: deploy from private git repo

Make sure the ssh key is loaded in the ssh agent:
ssh-add $HOME/.ssh/id_rsa


Alpha Vantage element.

please update the metadata in the elements folder

@Jayme-T done, thanks.


allow for multiple maps in a category definition

Mainly useful for Mel CM mtriggers where there are both the normal and advanced versions of each map. I did a little bit of testing and the mtriggers should all* work cross-map, meaning the only thing stopping only needing one set of mtriggers would be the category definitions themselves:
sar_speedrun_cc_start "Concepts" map=st_a3_concepts map=sp_a3_concepts action=split
Basically just allow two (or more teehee) maps in a category definition. Running a category can already be done via
sar_on_load cond "var:__mtriggers_enable=1 & (map=st_a3_concepts | map=sp_a3_concepts)" sar_speedrun_category "Concepts"
so maybe the syntax could be similar idk.

The only question I have is how rule hierarchy should handle this i.e.
action=split on category is overridden by action=start on rule, should the same be true for maps? i would think so
e.g. if you wanted a category that was 2 maps long, i guess?
map=map_a map=map_b category
rule load action=start map=map_a starts it only on map a. its really situational to use this

Implemented in 3a6c09317916923ece4b461235d145bfa621a9cf

Implemented again in 91c2f960463dc68dcf29d49c3eeecbd0071d0713

Neither commit works properly, shows

when attempting to play

skill issue


[BUG] Various errors with Neutron Network

Problem Description
Using CVMS to monitor Validators on the Neutron network won't work due to various issues.

uptime and missed blocks collection will fail
Lookup of consumer chains fail

Steps to Reproduce
add a config to monitor a neutron validator. E.g.
monikers:
  - 'Figment'
  chains:
  - display_name: 'neutron'
    chain_id: 'neutron-1'
    tracking_addresses:
      - 'neutron1hjct6q7npsspsg3dgvzk3sdf89spmlpfvc8vne'
    nodes:
      - rpc: 'https://neutron-rpc.polkachu.com'
        api: 'https://neutron-api.polkachu.com'
        grpc: 'neutron-grpc.polkachu.com:19190'

Start CVMS
This will result in the following errors:
ERROR   api error: failed to get specific denom balnce  chain="neutron" chain_id="neutron-1" package="balance"
ERROR   failed to collect all accounts balances, got errors count: 1  chain="neutron" chain_id="neutron-1" package="balance"
ERROR   failed to update metrics: cvms common errors: failed to request from node
...
ERROR   failed to update metrics err: failed to get consumer chain id: context deadline exceeded and going to sleep 10s...  chain="neutron" chain_id="neutron-1" package="uptime"
...
ERROR   failed to update metrics err: failed to get consumer chain id: context deadline exceeded and going to sleep 10s...  chain="neutron" chain_id="neutron-1" package="uptime"

Patching the issue related to the de denom lookup will return the following error
ERROR   failed to update metrics err: got 501 code from https://neutron-api.polkachu.com/cosmos/staking/v1beta1/validators?status=BOND_STATUS_BONDED&pagination.count_total=true&pagination.limit=500 and going to sleep 10s...  chain="neutron" chain_id="neutron-1" package="uptime"

Expected Behavior
Missed blocks for the validator and consumer chain metrics are exported via prometheus.
Additional Information
Issue 1 is related to the staking API not being supported by Neutron, this means the valcons address can't be looked up via /cosmos/staking/v1beta1/validators?status=BOND_STATUS_BONDED&pagination.count_total=true&pagination.limit=500
I tried to fix this, but seems like there's no easy way to actually lookup the valcons address on neutron other than using the tendermint CLI query on the validator itself (tendermint show-address) which is obviously no solution. Alternatively it could either be required for Neutron to use the valcons key instead of the normal account address.
Issue 2 is caused by Neutron not implementing the ccv/provider API query which is used by CVMS to lookup the consumer (https://github.com/cosmostation/cvms/blob/f61ea84654be9462cf237c69d05098bbd6e85f39/internal/common/types/cosmos.go#L210) chains. Instead it only implements ccv/consumer calls.
Until a fix is available I would recommend to either remove support for Neutron entirely or just remove support for the uptime module

Hey @qwertzlbert ! Thank you for reporting this. We will look into it. Happy X-mas!

Thank you very much! Same back to you!
I was also taking a look at stride just before Christmas and unfortunately the issue is relatively similar here. The network misses the required API methods via RPC but seems to only support the required requests via gRPC.
I took a look at the implementation of the uptime module and started to refactor it a bit to be a bit more flexible if needed, basically following the style of the other modules where this flexibility is required.
I'll link it here when I made some progress


Audio not playing back

I switched from the Python wrapper to the Go wrapper and started testing it out by running the playback code from _examples. I copied the code, pasted it in a new file (main.go) and ran it with go run ..
package main

import (
	"context"

	"github.com/inconshreveable/log15"

	"github.com/CyCoreSystems/ari/v5"
	"github.com/CyCoreSystems/ari/v5/client/native"
	"github.com/CyCoreSystems/ari/v5/ext/play"
)

var log = log15.New()

func main() {
	ctx, cancel := context.WithCancel(context.Background())
	defer cancel()

	native.Logger = log

	log.Info("Connecting to ARI")
	cl, err := native.Connect(&native.Options{
		Application: "Announcement",
		Username:    "asterisk",
		Password:    "asterisk",
	})
	if err != nil {
		log.Error("Failed to build ARI client", "error", err)
		return
	}

	log.Info("Listening for new calls")
	sub := cl.Bus().Subscribe(nil, "StasisStart")
	for {
		select {
		case event := <-sub.Events():
			v := event.(*ari.StasisStart)
			log.Info("StasisStart", "channel", v.Channel.ID)
			go announcement(ctx, cl.Channel().Get(v.Key(ari.ChannelKey, v.Channel.ID)))

		case <-ctx.Done():
			return
		}
	}
}

func announcement(ctx context.Context, h *ari.ChannelHandle) {
	defer h.Hangup()

	ctx, cancel := context.WithCancel(ctx)
	defer cancel()

	end := h.Subscribe(ari.Events.StasisEnd)
	defer end.Cancel()

	go func() {
		<-end.Events()
		cancel()
	}()

	if err := h.Answer(); err != nil {
		log.Error("Call not answered", "error", err)
		return
	}

	log.Info("Playing sound...")
	if err := play.Play(ctx, h, play.URI("digits:12345")).Err(); err != nil {
		log.Error("failed to play sound", "error", err)
		return
	}

	log.Info("completed playback")
	return
}

Long story short: the audio will not play back.
Logs from Asterisk:
  == WebSocket connection from '<IP_ADDRESS>:37264' for protocol '' accepted using version '13'
  == Using SIP RTP CoS mark 5
       > 0x7fc2d4007890 -- Strict RTP learning after remote address set to: <IP_ADDRESS>:4004
    -- Executing [annc@asterisk:1] NoOp("SIP/carlos-00000000", "Requesting service "Announcement"")
in new stack
    -- Executing [annc@asterisk:2] Stasis("SIP/carlos-00000000", "Announcement") in new stack
    -- <SIP/carlos-00000000> Playing 'digits/1.gsm' (language 'en')
    -- <SIP/carlos-00000000> Playing 'digits/2.gsm' (language 'en')
    -- <SIP/carlos-00000000> Playing 'digits/3.gsm' (language 'en')
    -- <SIP/carlos-00000000> Playing 'digits/4.gsm' (language 'en')
    -- <SIP/carlos-00000000> Playing 'digits/5.gsm' (language 'en')
[Mar 26 14:29:32] WARNING[2169]: chan_sip.c:4126 retrans_pkt: Retransmission timeout reached on transmission 5909ec74e0684be5a916e4f0f0bd7956 for seqno 32512 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 6401ms with no response
    -- Unregistered SIP 'carlos'

Logs from the Go application:
Carlos@DESKTOP-UVQEUAT MINGW64 ~/go/src/github.com/carlos-menezes/stasis-annc
$ go run main.go
INFO[03-26|14:29:24] Connecting to ARI
INFO[03-26|14:29:24] Listening for new calls
INFO[03-26|14:29:26] StasisStart                              channel=1585232966.0
INFO[03-26|14:29:26] Playing sound...
INFO[03-26|14:29:30] completed playback

Since you see in the logs that the audio is being queued and played, I don't believe the problem is likely to be this ARI package.
One possibility, of course, is that those audio files (digits/1.gsm etc) do not exist.  Unfortunately, that was a bad example: since the digits:XXX is a macro, ARI may not get an error indication if one or more of the individual files does not exist.
Could you change the code to play back a known-existing audio file instead, and see if that works?

Thanks for the quick response.
I had tried with the option in the example before (tt-monkeys), but I tried it again and got the same result (i.e. audio didn't play):
 Creating Stasis app 'Announcement'
  == WebSocket connection from '<IP_ADDRESS>:37384' for protocol '' accepted using version '13'
  == Using SIP RTP CoS mark 5
       > 0x7fbc5c006e20 -- Strict RTP learning after remote address set to: <IP_ADDRESS>:4002
    -- Executing [annc@asterisk:1] NoOp("SIP/carlos-00000000", "Requesting service "Announcement"") in new stack
    -- Executing [annc@asterisk:2] Answer("SIP/carlos-00000000", "") in new stack
    -- Executing [annc@asterisk:3] Stasis("SIP/carlos-00000000", "Announcement") in new stack
       > Saved useragent "MicroSIP/3.19.28" for peer carlos
[Mar 26 14:54:25] NOTICE[56]: chan_sip.c:24984 handle_response_peerpoke: Peer 'carlos' is now Reachable. (1ms / 2000ms)
    -- <SIP/carlos-00000000> Playing 'tt-monkeys.gsm' (language 'en')

INFO[03-26|19:43:55] Connecting to ARI
INFO[03-26|19:43:55] Listening for new calls
INFO[03-26|19:44:00] StasisStart                              channel=1585234464.0
INFO[03-26|19:44:00] Playing sound...
INFO[03-26|19:44:16] completed playback

Can you try the test with a plain dialplan playback, for a sanity check?  There should not be anything different here.

Hey. Can you give me a proper example? Sorry for bothering.

Just confirmed.
[asterisk]
exten => X.,1,NoOp(Calling ${EXTEN}...)
  same => n,Dial(SIP/${EXTEN})
  same => n,Hangup

exten => announce,1,NoOp()
  ; same =>      n,Stasis(Announcement)
  same => n,Playback(tt-monkeys)
  same => n,Hangup()

The audio is not played back.

Okay, so you have a problem with your Asterisk setup, not ARI.  Audio problems are usually related to NAT.  I presume your registered device is not on the same network as your Asterisk box?

It is, infact! I am hosting the Asterisk server in a Docker container and I am able to register my softphone. I am able to play digits with this Node script, though:
var ari = require('ari-client');
var util = require('util');

ari.connect('http://localhost:8088', 'asterisk', 'asterisk', clientLoaded);

// handler for client being loaded
function clientLoaded (err, client) {
  if (err) {
    throw err;
  }

  // handler for StasisStart event
  function stasisStart(event, channel) {
    console.log(util.format(
          'Channel %s has entered the application', channel.name));

    var playback = client.Playback();
    channel.play({media: 'digits:12345'},
                 playback, function(err, newPlayback) {
      if (err) {
        throw err;
      }
    });
  }

  // handler for StasisEnd event
  function stasisEnd(event, channel) {
    console.log(util.format(
          'Channel %s just left our application', channel.name));
  }

  client.on('StasisStart', stasisStart);
  client.on('StasisEnd', stasisEnd);

  client.start('Announcement');
}

Going back to Dialplan (extensions.conf) and replacing your line with same => n,SayDigits(123) has
(almost) the same result: the logs show that something is being played (nothing is actually played) but the calls ends without any error.

Hmm.  So I do note that your dialplan is not calling Answer, which would be a good thing to do... but it should still work with early media in a local setup.
There is no good reason for a Node-ARI setup to work while neither dialplan nor Go-ARI does.  I'd break out your trusty sngrep and see what is happening to your SDP and RTP.

Here's my extensions.conf:
[asterisk]
exten => p[a-z].,1,NoOp(Calling ${EXTEN}...)
  same => n,Dial(SIP/${EXTEN})
  same => n,Hangup

exten => announce,1,NoOp()
  same => n,Answer()
  same => n,Playback(tt-monkeys)
  same => n,Hangup()

This is the output of sngrep:

For sngrep, please hit F2 and F3 to enable SDP and RTP.
Also, you mention you are running Asterisk in a container.  Can you use host-based networking (--net=host) to rule out NAT problems there?

Enabling RTP does not change the information displayed. :/

So you see all the 200 OKs over and over, from the different network (<IP_ADDRESS>), with no ACKs?  You're looking at classic NAT problems which are impacting both SIP and RTP.  The reason you are not seeing RTP is that it isn't getting there.
Until you fix that NAT setup, you're not going to get any reliable connections.  The best thing to do is to eliminate NAT in the setup.  Alternatively, you can configure PJSIP to advertise its external IP address for both signaling and media.

I am not able to connect to my container using --net=host.

Looking from your screenshots, I'm guessing you're running Windows, so you're probably relegated to some sort of tortured NAT setup anyway.  I don't know anything about Docker on Windows, unfortunately.  All I can say is that that's where your problem lies.

My SIP registrations are failing. Regardless, I'll fall back to a NAT setup, no problem. I've looked at some documentation and saw this:
externaddr=<IP_ADDRESS>:5060 (my computer's IP address?)
media_address=<IP_ADDRESS> (my computer's IP address?)
localnet=<IP_ADDRESS>/24 (Container's IP address?)
rtpbindaddr=<IP_ADDRESS>:5060 (Container's IP address?)
udpbindaddr=<IP_ADDRESS>:5060 (Container's IP address?)

Those configuration keys don't look right.  Perhaps that's for the archaic chan_sip?
There is an official support document for dealing with NAT:  https://wiki.asterisk.org/wiki/display/AST/Configuring+res_pjsip+to+work+through+NAT

But in this case, my Asterisk server is running on 192.168.100, the computer's IP address. Is NAT really an issue?

sngrep is showing the two IP addresses are <IP_ADDRESS> and <IP_ADDRESS>, while the SDP Asterisk is sending is saying its IP address is <IP_ADDRESS>.

Reading the documentation you linked me, I assume this would be the configuration:
local_net=<IP_ADDRESS>/16 (Container's IP address?)
external_media_address=<IP_ADDRESS> (PC's IP address?)
external_signaling_address=<IP_ADDRESS> (PC's IP address?)

Will test and report.

Doesn't seem to work aswell. I don't understand why the Node-ARI works.

It is quite confounding why Node-ARI works, I must agree.  However, it is most likely some curiosity of how the firewall is binding things.
Can you describe your setup, network-wise?  Where is the SIP client?  Is it possible that your PC's firewall is blocking inbound traffic for SIP and RTP?  I don't know anything about the Windows firewall, but a common problem in this area is a SIP ALG, which should simply always be disabled.  They never work right.

I just managed to fix the NAT issue:
externip = <IP_ADDRESS>
localnet=<IP_ADDRESS>/<IP_ADDRESS>;
nat=yes

The SIP client was also in my computer (a softphone). I had the ports open!

Oh, you are using the archaic chan_sip rather than the modern chan_pjsip.  That explains things much better.  chan_sip is no longer maintained and was always a piece of junk.

I won't argue with success, though.  If it works, run with it.

Is there any documentation that would guide me on how to switch to chan_pjsip?

https://wiki.asterisk.org/wiki/display/AST/Migrating+from+chan_sip+to+res_pjsip


Checksum mismatch: go get github.com/google/flatbuffers/go

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
When running go mod tidy, it is raising an error because of an issue mentioned in here. And not making the repository build at other environments.
Expected Behavior
It should download normally during the go mod tidy operations. All module hashes must match with the actual release hashes of GitHub. Possibly if the version with the previous hash is already installed on computer, please consider run go clean -modcache previously for not getting the previous version of protobuf from the cache of the current computer.
Steps To Reproduce
In any environment installed Golang just download the repository via git clone,
Run go mod tidy
Environment
- OS:Ubuntu 20.04
- Cerbos version:0.4.0
- Docker version: -
- Go version: -

Anything else?
Google re-released the protobuf library under same release number , and it causing go mod tidy to crash .

Can you provide more details about what you tried to do? The output of go env would be helpful too.
I launched a fresh Ubuntu VM and ran go mod tidy on HEAD (66a8164fa90937a44c43c8c41bcccb4a7b566991) and there was no issue.

https://github.com/google/flatbuffers/issues/6466
details can be found in here , this repo has the old hash , and when I run go mod tidy , here is the output
verifying<EMAIL_ADDRESS>checksum mismatch
        downloaded: h1:N8EguYFm2wwdpoNcpchQY0tPs85vOJkboFb2dPxmixo=
        go.sum:     h1:/PtAHvnBY4Kqnx/xCQ3OIV9uYcSFGScBsWI3Oogeh6w=

SECURITY ERROR
This download does NOT match an earlier download recorded in go.sum.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.

It can be caused by fresh Ubuntu VM is getting goproxy from google's defaults .
Maybe you can try using
GOPROXY=direct go mod download<EMAIL_ADDRESS>, and that can make sense.

It can be caused by fresh Ubuntu VM is getting goproxy from google's defaults .

This is the reason why I want to get to the bottom of this issue because it sounds like an environmental problem. Are you using a different Go proxy from the defaults? Even in the original issue, the problem went away for some people after they changed their proxy. (Again, the output from go env could be helpful here).
Flatbuffers is a transitive dependency of this project, pulled in by BadgerDB. I didn't want to simply override the version unilaterally because it might not have been tested with Badger. But, I see Badger has a new patch version out which uses flatbuffers 2.0.0 so I will look into upgrading to that.
In the meantime, please feel free to use the release artifacts from https://github.com/cerbos/cerbos/releases to try out Cerbos.


gha

update publish recipe
update unittest recipe

this should be good to go, and resolves #283  and #275.
the lingering failure is
>   from sklearn.cluster.spectral import discretize as _discretize
E   ModuleNotFoundError: No module named 'sklearn.cluster.spectral'

which comes from spenc and results from some upstream changes to scikit-learn.  I think the best way to fix this would probably be to resolve the sklearn import when we migrate spenc into spopt (thus let this issue get handled by #253)
what do others think? @sjsrey @ljwolf @xf37

this should be good to go, and resolves #283  and #275.
the lingering failure is
>   from sklearn.cluster.spectral import discretize as _discretize
E   ModuleNotFoundError: No module named 'sklearn.cluster.spectral'

which comes from spenc and results from some upstream changes to scikit-learn.  I think the best way to fix this would probably be to resolve the sklearn import when we migrate spenc into spopt (thus let this issue get handled by #253)
what do others think? @sjsrey @ljwolf @xf37


some issue

It works well, but sometimes it freezes and doesn't work.
It is displayed and stops as shown in the execution log below. And it cannot create the TF folder.
However, it works normally after a few attempts. Do you have any idea of a solution to the issue?
Execution log
mcrc-ml@mcrcml-DGX-Station:~/workspace/cslee/YOLOv5-tf$ python generate.py
2021-02-04 17:41:11.943521: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.
return _methods._mean(a, axis=axis, dtype=dtype,
/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/numpy/core/_methods.py:153: RuntimeWarning: invalid value encountered in true_divide
ret = um.true_divide(

thank you for your report.
1.this issue is related to anchor generation and randomness (https://github.com/jahongir7174/YOLOv5-tf/blob/356e16e49e0ce8f71234e4947d0ca60ef2fa6e00/generate.py#L51)
2. repo uses Keras data generator as data loader by default, if you generate anchors successfully, you can update anchors in config.py and generate tf_record.

한국분이시죠?
Yolo 사용하기 쉽게 너무 잘 개발된거 같습니다.
피드백 감사드립니다.
적용해 보도록 하겠습니다.
2021년 2월 4일 (목) 오후 9:59, jahongir7174<EMAIL_ADDRESS>작성:

thank you for your report.
1.this issue is related to anchor generation and randomness (
https://github.com/jahongir7174/YOLOv5-tf/blob/356e16e49e0ce8f71234e4947d0ca60ef2fa6e00/generate.py#L51
)
2. repo uses Keras data generator as data loader by default, if you
generate anchors successfully, you can update anchors in config.py and
generate tf_record.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jahongir7174/YOLOv5-tf/issues/7#issuecomment-773286041,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK7JATPJI2HP5W7FMBDVHXLS5KKZZANCNFSM4XCNECUA
.

feel free to open an issue if any problem arises.

Other packages are inconvenient to use, but the YOLOv5 package you developed is very comfortable to use, so I am very grateful.
This is a continuing question related to the above question.
The cluster is being created normally.
Maybe the problem below is the cause.
It is okay when the TF folder is created normally.
However, there is a problem with an infinite loop in the while inside the generator function.
Is there any way to solve it so that it always works normally?

if you generated TF folder and tf_record, it uses https://github.com/jahongir7174/YOLOv5-tf/blob/356e16e49e0ce8f71234e4947d0ca60ef2fa6e00/utils/dataset.py#L61 data loader by checking https://github.com/jahongir7174/YOLOv5-tf/blob/356e16e49e0ce8f71234e4947d0ca60ef2fa6e00/train.py#L26
can you debug the code and verify which data loader is being used?

hello jahongir.thanks you code.But something went wrong when I used it。when i run generate.py,it work good but just generate anchors no tf and Anything else。
K anchors:  [[  9.   9.]  [ 15.  15.]  [ 19.  21.]  [ 24.  32.]  [ 26.  25.]  [ 33.  35.]  [ 44.  48.]  [ 62.  77.]  [105. 165.]] Accuracy: 77.75%

you can train the network without generating tf_record files. if you would like to use tf_record data loader, you may refer to this issue https://github.com/jahongir7174/YOLOv5-tf/issues/8#issuecomment-773863870

I tested the default data loader in several machines, it works as expected. if you encounter any issue, feel free to submit the log

I only need to do the Train.
Isn't TF-Record essential to run the train?
Can I train with IMAGES, LABELS, and train.txt?

yes, you can train the network without generating tf_record files

Thanks for the quick reply.
Do you have any options for train?
Only IMAGES, LABELS folders and train.txt files exist in the Dataset-COCO folder.
(tf230) mcrc-ml@mcrcml-DGX-Station:~/workspace/cslee/YOLOv5-tf$  python train.py
An error occurs as shown below.
=========================== Error ===========================
Instructions for updating:
Use tf.data.Iterator.get_next_as_optional() instead.
Traceback (most recent call last):
File "train.py", line 82, in
main()
File "train.py", line 66, in main
for step, inputs in enumerate(dataset):
File "/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/tensorflow/python/distribute/input_lib.py", line 649, in next
return self.get_next()
File "/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/tensorflow/python/distribute/input_lib.py", line 706, in get_next
global_has_value, replicas = _get_next_as_optional(self, self._strategy)
File "/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/tensorflow/python/distribute/input_lib.py", line 548, in _get_next_as_optional
iterator._iterators[i].get_next_as_list(new_name))  # pylint: disable=protected-access
File "/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/tensorflow/python/distribute/input_lib.py", line 1494, in get_next_as_list
data_list = self._iterator.get_next_as_optional()
File "/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/tensorflow/python/data/ops/multi_device_iterator_ops.py", line 601, in get_next_as_optional
iterator_ops.get_next_as_optional(self._device_iterators[i]))
File "/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/tensorflow/python/util/deprecation.py", line 324, in new_func
return func(*args, **kwargs)
File "/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 952, in get_next_as_optional
gen_dataset_ops.iterator_get_next_as_optional(
File "/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/tensorflow/python/ops/gen_dataset_ops.py", line 2692, in iterator_get_next_as_optional
_ops.raise_from_not_ok_status(e, name)
File "/home/mcrc-ml/anaconda3/envs/tf230/lib/python3.8/site-packages/tensorflow/python/framework/ops.py", line 6843, in raise_from_not_ok_status
six.raise_from(core._status_to_exception(e.code, message), None)
File "", line 3, in raise_from
tensorflow.python.framework.errors_impl.NotFoundError: ./Dataset/COCO/TF/1.tf; No such file or directory
[[{{node MultiDeviceIteratorGetNextFromShard}}]]
[[RemoteCall]] [Op:IteratorGetNextAsOptional]

it is using tf_record data loader, the log shows that there is a TF folder, but it may not have the desired record files
https://github.com/jahongir7174/YOLOv5-tf/blob/356e16e49e0ce8f71234e4947d0ca60ef2fa6e00/train.py#L26
https://github.com/jahongir7174/YOLOv5-tf/blob/356e16e49e0ce8f71234e4947d0ca60ef2fa6e00/train.py#L33

I was using the old version.
Both Train and Test work well.
It is very well developed and I am testing it comfortably.
Thank you for sharing the source code.

okay, if it is solved, please close the issue. if you have any issue, you can open again


Request: Dockerfile

@abacaj  Would be really helpful to have Dockerfile you've been using in your demo

I created a Dockerfile, look in the requests. If you have any questions, just ask :)

# syntax=docker/dockerfile:1.5-labs

ARG GIT_TAG=${GIT_TAG:-main}

FROM python:3.10-slim AS app

ARG GIT_TAG

ENV PIP_NO_CACHE_DIR=yes \
    PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    HOME=/app \
    PATH="${PATH}:/app/.local/bin"

USER 1000

WORKDIR /app

ADD https://github.com/abacaj/mpt-30B-inference.git#${GIT_TAG} .

RUN pip install -r requirements.txt

CMD [ "python", "inference.py" ]


Cleanup NetBeans license header for module websvc.saas.ui

Review and cleanup the license header in websvc.saas.ui
Oracle donated NetBeans to the Apache Software Foundation.
Your task now is to replace the old license header that has Oracle (and/or Sun Microsystems
and/or NetBeans) in it with the standard Apache Software Foundation license header.
For an empty file that supports headers you must add the Apache license header.
Note that you have to use the proper license header for Java, .properties or HTML files.
Look at the nearby files for templates and copy-paste the license header.
When done commit the changes with a commit message that starts with first line
"[NETBEANS-54] Module Review " and a message body describing your review.
See a longer explanation about what we are doing here: https://cwiki.apache.org/confluence/display/NETBEANS/List+of+Modules+to+Review
Please announce in a comment when you have started work.
Files that need to be looked at in websvc.saas.ui:
websvc.saas.ui/src/org/netbeans/modules/websvc/saas/ui/Bundle.properties
websvc.saas.ui/src/org/netbeans/modules/websvc/saas/ui/wizards/Bundle.properties

@emilianbold  could I work on this issue?

All yours!
Updated https://cwiki.apache.org/confluence/display/NETBEANS/List+of+Modules+to+Review for websvc.saas.ui

Merged.


AS3 doesn't process monitor with line: "receive": "\{status\" \:\"UP\\"l (lonely '{')

Environment

Application Services Version: 3.31
BIG-IP Version: 16.1.0

Summary
We have correct config for monitors:
ltm monitor https /Common/good_monitor {
    recv "\{\"status\"\:\"UP\"\}"
    ssl-profile /Common/serverssl
}
ltm monitor https /Common/good_monitor_2 {
    recv "\{status\" \:\"UP\\"
    ssl-profile /Common/serverssl
}

It can be checked on big-ip via "tmsh load sys config from-terminal merge"
I can convert that config to AS3 declaration via ACC without any issues. In result we have AS3 (look at step #1). And it can't be post.
Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

{
    "class": "ADC",
    "schemaVersion": "3.31.0",
    "id": "urn:uuid:eb62db06-20bf-43d4-be5b-80440eef3348",
    "label": "Converted Declaration",
    "remark": "Auto-generated by AS3 Config Converter",
    "Common": {
        "class": "Tenant",
        "Shared": {
            "class": "Application",
            "template": "shared",
            "good_monitor": {
                "receive": "\\{\\\"status\\\"\\:\\\"UP\\\"\\}",
                "clientTLS": {
                    "bigip": "/Common/serverssl"
                },
                "class": "Monitor",
                "monitorType": "https",
                "transparent": false,
                "reverse": false
            },
            "good_monitor_2": {
                "receive": "\\{status\\\" \\:\\\"UP\\\\",
                "clientTLS": {
                    "bigip": "/Common/serverssl"
                },
                "class": "Monitor",
                "monitorType": "https",
                "transparent": false,
                "reverse": false
            }
        }
    }
}

Observe the following error response:

        {
            "code": 400,
            "message": "declaration failed",
            "response": "POST http://admin:XXXXXX@localhost:8100/mgmt/tm/sys/config merge cli script response=400 body={\"code\":400,\"message\":\"incomplete command\",\"errorStack\":[],\"apiError\":26214401}",
            "host": "localhost",
            "tenant": "AS3_Tenant",
            "runTime": 1216
        }

Expected Behavior
Declaration should be valid. Or provide right decision to convert right config line:
    recv "\{status\" \:\"UP\\"

Actual Behavior
AS3 doesn't support recv line from monitor config with only one bracket {. If you delete it, declaration will be valid.
Additional info
https://support.f5.com/csp/article/K15977

https://jira.pdsea.f5net.com/browse/CHARON-463

Thank you for your feedback. I have added this issue to our internal product backlog as AUTOTOOL-2781.

thanks @dstokesf5

This has been resolved in the 3.32.0 release.


Bump web container version to demonstrate quieting keepalive, fixes #494 #TRIVIALREVIEW

The Problem/Issue/Bug:
OP #494: Our ddev logs output was swamped by "closed keepalive" messages, and php-fpm messages weren't reported.
How this PR Solves The Problem:
https://github.com/drud/docker.nginx-php-fpm-local/pull/52

Quiets the keepalive messages
Starts to tail both nginx and fpm logs
Adds tests for these behaviors.

Manual Testing Instructions:

ddev config
Make sure your .ddev/confg.yaml has webimage: drud/nginx-php-fpm-local:20180228_quiet_keepalive
ddev start
ddev logs

Related Issue Link(s):
OP #494
Web container PR https://github.com/drud/docker.nginx-php-fpm-local/pull/52
Release/Deployment notes:

@rfay Given the container PR was merged (https://github.com/drud/docker.nginx-php-fpm-local/pull/52), I'm assuming we're ready to pull this.

I think we should get all the mariadb-local changes together into a single release there. Otherwise we'll be doing more than one mariadb-local release for one ddev release.

Closing this one and we'll bring https://github.com/drud/docker.nginx-php-fpm-local/pull/52 in with a release when we finish https://github.com/drud/ddev/pull/707
There's nothing more to do for this one than create a nginx-php-fpm-local release (containing this and the php.ini overrides).


Make the docs about periodics being tied to an OCP release clearer

/lgtm

/test links
release controller was down

/lgtm

/test links


feat: Enable unicorn/prevent-abbreviations rule for more readable code

Abbreviations make the code less accessible. This PR enables the rule, which was previously disabled.
Rule documentation: https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prevent-abbreviations.md

@tylerbutler Any idea why this rule was disabled? It didn't have a comment. This seems like an easy developer accessibility win to me.

Do we have an idea how many violations we have and how resistant to false positives it is? I don't want to be unable to adopt new version of this package due to this requiring tons of fixes.

Do we have an idea how many violations we have and how resistant to false positives it is? I don't want to be unable to adopt new version of this package due to this requiring tons of fixes.

I'm sure we have tons. I can hold off on merging this. I mostly wanted to start a conversation about it, rather than wanting to merge immediately.
We could also enable this in the strict config to start, and eventually (if we want) enable it in recommended.

@tylerbutler Any idea why this rule was disabled? It didn't have a comment. This seems like an easy developer accessibility win to me.

When the original config was created, I tried to create a ruleset that matched the code we had in the repo (I.e. required the fewest code changes to accommodate). This one likely had a bunch of violations as Craig inferred.
I'm not opposed to this one in principle, but I think it will require some configuration.
On that note, we should brainstorm ways to make it easier to switch rules on and off across the repo for testing. It's really hard to answer basic questions like Craig asked today.

@tylerbutler Any idea why this rule was disabled? It didn't have a comment. This seems like an easy developer accessibility win to me.

When the original config was created, I tried to create a ruleset that matched the code we had in the repo (I.e. required the fewest code changes to accommodate). This one likely had a bunch of violations as Craig inferred.
I'm not opposed to this one in principle, but I think it will require some configuration.
On that note, we should brainstorm ways to make it easier to switch rules on and off across the repo for testing. It's really hard to answer basic questions like Craig asked today.

Moving to a model where we are always using the local config (and not requiring publishing the new package) would be a good start. We could disable rules at a package level to enable incremental progress on new rules. Not a perfect solution, but much easier than things are today.

Moving to a model where we are always using the local config (and not requiring publishing the new package) would be a good start.

The only way I can think to do this would be to move the package into the client release group and mark it private. Is there another way?

Moving to a model where we are always using the local config (and not requiring publishing the new package) would be a good start.

The only way I can think to do this would be to move the package into the client release group and mark it private. Is there another way?

I was just thinking of deprecating the package, putting shared configs somewhere near the root of the repo, and having everything reference by file path, rather than by package import.

I was just thinking of deprecating the package, putting shared configs somewhere near the root of the repo, and having everything reference by file path, rather than by package import.

That would work, except that the plugin deps would need to either be at the root of each release group or in each package. That's probably ok, just a bit of overhead. But it makes updating the deps a little more involved.

Proof of concept PR: #17368


Nifti misc improvements

This pull requests represents a few of QTIM lab's contributions to glue medical, especially pertaining to Nifti file formats and exporting subsets. More to come.

@AndrewBeers - I had forgotten to commit utils.py, which I've done now - sorry!

There are some files that were added here that shouldn't be - specifically all the files in glue_medical.egg-info - can you remove these?

@AndrewBeers - thanks for continuing work on this! Just so you know, since we last worked on this I've now added the ability to write custom subset mask importers/exporters:
http://glueviz.org/en/stable/customizing_guide/customization.html#custom-subset-mask-importers
This is different from the Data/Subset exporter:
http://glueviz.org/en/stable/customizing_guide/customization.html#custom-data-subset-exporters
because in the latter, the values of the subset should be exported, as opposed to the mask.


Support list of arrays in cupy.shape and cupy.ndim

https://github.com/cupy/cupy/pull/3060#issuecomment-680006249

https://github.com/cupy/cupy/pull/3060#discussion_r453221126


Empty vector legends should use empty text

SDK-739

this involves making getVectorLegend a method on the instance

Coverage increased (+0.006%) to 98.568% when pulling 48af291314a67d4a7c688ccda4a3a0a538eb575b on bartvde:vector-legend-empty into 96c98ab46042bab44612dd0d4dc867ad0e2b9eba on boundlessgeo:master.

Coverage increased (+0.009%) to 98.57% when pulling 9395fa0587e590b9037930bd01ca396cb12dbe5d on bartvde:vector-legend-empty into 96c98ab46042bab44612dd0d4dc867ad0e2b9eba on boundlessgeo:master.

looks great. Thanks for the time on this


WIP - Marathon + IP per task deployment

This PR adds Marathon files for deploying Sock Shop using IP per task via CNI + Weave Net and it part of issue https://github.com/microservices-demo/microservices-demo/issues/351
All services start except cataloguedb because of a blocker in the Mesos containerizer:
https://issues.apache.org/jira/browse/MESOS-6002

@frankscholten any updates on this one?


dragDistance doesn't seem to change anything?

Using the sliders in a small (200px), vertical config and I can seem to adjust the dragDistance to make them feel comfortable to use. Using your vertical example I added dragDistance: 50 to the setup and there was no change I could perceive. Cheers, Stefan

Distance limit option wasn't switching between mouse and touch events. Fixed in 6a10884.


Add Functionality of asking bot about PR

A user should be able to ask the bot whether in a group or directly about the status of his PR.
Typical Syntax Would be
direct message to bot status PR
in a group @gitassist: status PR @username

@amalfra There should be a way to first let the bot know about which repository we are talking about, right?
I mean something like @gitassist: set github url=github.com/user/repo
So that the first time the user enters
status PR  our bot can reply
gitassist: No repo found. Please set by command 'set github url=\<ur\>'


Cannot use with --prod

All works well, but if I try to deploy on the device with --prod configuration and use the directive, the following error is thrown:

ERROR Error: Uncaught (in promise): Error: No component factory found for undefined. Did you add it to @NgModule.entryComponents?
Error: No component factory found for undefined. Did you add it to @NgModule.entryComponents?

I tried just now and couldn't reproduce it in the demo project with --prod.
What version of ionic, ionic scripts & datepicker?
Also the error might indicate that you have an import that isnt found.
Maybe write the whole error?

the library versions are:
"@angular/core": "4.1.3",
"datepicker-ionic2": "2.5.1",
"ionic-angular": "3.6.0",
"@ionic/app-scripts": "2.1.4",
"ionic": "3.8.1",
"typescript": "2.3.4"
I think the libraries are up to date.
The error doesn't show much

ERROR Error: Uncaught (in promise): Error: No component factory found for undefined. Did you add it to @NgModule.entryComponents?
Error: No component factory found for undefined. Did you add it to @NgModule.entryComponents?
at K (main.js:1)
at e.resolveComponentFactory (main.js:1)
at e.resolveComponentFactory (main.js:1)
at e.resolveComponent (main.js:1)
at t._viewInit (main.js:1)
at main.js:1
at t.invoke (polyfills.js:3)
at Object.onInvoke (main.js:1)
at t.invoke (polyfills.js:3)
at r.run (polyfills.js:3)
at K (main.js:1)
at e.resolveComponentFactory (main.js:1)
at e.resolveComponentFactory (main.js:1)
at e.resolveComponent (main.js:1)
at t._viewInit (main.js:1)
at main.js:1
at t.invoke (polyfills.js:3)
at Object.onInvoke (main.js:1)
at t.invoke (polyfills.js:3)
at r.run (polyfills.js:3)
at c (polyfills.js:3)
at Object.reject (polyfills.js:3)
at t._fireError (main.js:1)
at t._failed (main.js:1)
at main.js:1
at t.invoke (polyfills.js:3)
at Object.onInvoke (main.js:1)
at t.invoke (polyfills.js:3)
at r.run (polyfills.js:3)
at polyfills.js:3

And the way I used it is:
import {DatePickerDirective} from 'datepicker-ionic2';
providers: [DatePickerDirective]
this.datePickerDirective.open();
this.datePickerDirective.changed.subscribe(date => {
        this.dateChanged(moment(date).valueOf())
    });

But even if I try the directive over a button, the same error appears.
For the development use, it work's fine. Maybe the production minification could scramble something?

I still didnt manage to replicate it, but one thing I can say for sure you shouldn't put DatePickerDirective into providers since its directive and not an injectable.
This is how I tried to recreate your code:
  @ViewChild(DatePickerDirective) public datepicker: DatePickerDirective;
  public ngOnInit() {
    this.datepicker.open();
    this.datepicker.changed.subscribe(() => console.log('change happened'));
  }

The only include you should have is the import in ngModule too.
No providers, nor entryComponents.

I tried with a new ionic2 project on a android device.
datePickerTest.zip
npm install
ionic cordova platform add android
ionic cordova run android --prod

I checked and it works fine.
Maybe npm i -g ionic@latest would help

I think actual there is an issue with the angular-cli uglify mechanism. If I use --aot it works great.
Thank you for your help. Awesome component BTW.


inline profiling multiprocess

I'm trying to profile the multiprocess (python default one) part of my script only.
By following the documentation, I add the following lines:
tracer = VizTracer()
tracer.start()
<call function contains multiprocessing>
tracer.stop()
tracer.save()

The result shows main process only.
I did also try the followings:
viztracer myscript.py
The result contains both main process and child processes. But the file is too big and can't be loaded with vizviewer.
Is there any way to profile just the multiprocessing part?

I've also tried log_sparse:

How should I interpret the bin plot? It exhibits some gaps, but when clicking on the ForkPoolWorker, it shows the function is executed consecutively without any gaps.

Inline VizTracer won't work with multiprocessing because there are a lot of monkey patching to do. Only command line viztracer will work.
It's true that vizviewer is not able to load trace that is too large. The first thing I would suggest is to lower the tracer_entries argument. That option is for a single process so when you trace multiple, it will become linearly larger.
There is currently no direct way to disable the trace of the main process. I'll suggest using max_stack_depth to limit the stack depth you trace, which will generate a smaller trace file depending on your program.
Overall, VizTracer logs a LOT of information which means if your program is rather complicated, you need to have a basic idea of how your program actually works, and tailor the tracer a bit to trace the most interesting stuff of your program.
log_sparse is also something that might of interest if you want to try that.

Thanks for the quick response!
After setting max_stack_depth to 10, the result can be loaded in perfetto. The tracer_entries seems a bit tricky. I don't know how it decides which entries to record. I tried different values, and the results only recorded the last two tasks under mpstar level  in all cases.
I did try log_sparse to profile just the function that has been pooled. But I suspect this option doesn't log the callstacks? Or there's a way to do it?
I also have some questions about interpreting the results. What does the bin plot of each process show? I first thought it's cpu usage, but it doesn't align with the execution of functions... And what does the color bar at the top show?

VizTracer has a circular buffer which would only record the latest entries. Reducing the number of entries will potentially lose the earlier data. You can only have a certain number of entries for vizviewer to display so you'll have to decide which entries those would be (prefer depth or width).
log_sparse is designed to log certain functions without callstack, which is mostly used by logging APIs. I could consider adding an extra feature for it to be able to log a certain amount of callstack. That seems reasonable and helpful.
The front-end UI is perfetto, a Google designed trace viewer, and I've customized it a bit. I think the bin of each process is supposed to be the CPU usage and the color might be which process is executing? I never tried to fully understand it, but you can definitely check perfetto's documentation for the details.

Thanks again for the answers.
Yes, I think it would be helpful if this feature could be added.
I'll check perfetto's documentations for these issues.

For what it may worth, #244 added support for external trace processor, which means you can deal with large trace logs(In theory, GB-level) now. The change was just merged in and is not officially released. You can try it out by pip install git+https://github.com/gaogaotiantian/viztracer and then vizviewer --use_external_processor.

I added the feature to log call stacks with @log_sparse in #247 . You can now do @log_sparse(stack_depth=5) to log the descendants of the function. This feature, along with the --use_external_processor, will be released soon.


enable multiple containers for pipeline/model_id

Updates in this PR enable managed containers to run multiple GPUs on the same pipeline/model_id.
starting containers

containers running

removing containers at next startup

@ad-astra-video love it great work 🚀! Let's get this into the codebase soon 👍🏻.