Carousel: Fix SelectedIndex two-way binding and Delimiters color.

Description
This solves issue #3462, with a slight change.
I quote the changes already discussed there:
https://github.com/MudBlazor/MudBlazor/issues/3462#issuecomment-982079683
I also fixed a couple of naming conventions and moved the base class MudBaseBindableItemsControl in its own file, out of MudBaseItemsControl.cs.
How Has This Been Tested?
Being only visual, I tested replicating a new Blazor project, replacing the default "Index" and "Counter" pages with the codes on these TryMudBlazor:
https://try.mudblazor.com/snippet/GEQPlvwDJAbKPnNK
https://try.mudblazor.com/snippet/cEwvlvcNBDgwuNll
I also tried a few variations: without the binding, and changing the default index to 2, to be sure it works correctly.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

Thank you for the job.
Just a little note: If you worked for ensure the Selected Index works with binding, I think you should add it to one Example on Docs, like you did on your try.mudblazor snippet (https://try.mudblazor.com/snippet/cEwvlvcNBDgwuNll)

It's already on the docs, in the API page. That's why I tried to used it for binding.

But sure we could add a new example.

Thank you for the job.
Just a little note: If you worked for ensure the Selected Index works with binding, I think you should add it to one Example on Docs, like you did on your try.mudblazor snippet (https://try.mudblazor.com/snippet/cEwvlvcNBDgwuNll)

It's already on the docs, in the API page. That's why I tried to used it for binding.
But sure we could add a new example.

Or just add the MudText on "DataBinding" session, if you preffer.

OK, added it.

OK, added it.

I like the new example, it improved a lot the current DataBinding possibilities. Good job.
I understand that my review is complete. Only the "DelimitersColor" parameter should be reviewed by the @MudBlazor/core-team, but I think it's just for naming conventions, because it will applied for both side arrows and delimiters.

I first didn't know what Delimiters meant. After a bit of research I think the best word for the points in the middle of the Carousel would be Bullet, so BulletColor. What do you think?

And how should this conflict be resolved?

And how should this conflict be resolved?
That's a strange conflict... the class has been moved on its own file.

I first didn't know what Delimiters meant. After a bit of research I think the best word for the points in the middle of the Carousel would be Bullet, so BulletColor. What do you think?

But delimiter is already used in other carousel parameters. Do we even need a color prop? You could just specify a new button + color via the delimiters renderfragment

Right, I didn't know we have renderFragment already, so the color property can be removed. It would only cause problems when people expect that color to magically work with their renderFragments ;)

Right, I didn't know we have renderFragment already, so the color property can be removed. It would only cause problems when people expect that color to magically work with their renderFragments ;)

By the way, the Carousel Item (page) has the Color parameter, for individually set. By default, it uses the text color.

Right, I didn't know we have renderFragment already, so the color property can be removed. It would only cause problems when people expect that color to magically work with their renderFragments ;)

Well, but it would help with people that just need to setup a specific color, without the need for a custom template. I would keep it, and make a new one for the arrows too.
============
Anyway, I need a CR on the component, basically adding a new option to move the bullets on top:
        /// <summary>
        /// Sets the position of the delimiters. By default, the position is the Bottom position
        /// </summary>
       [Parameter] public Position DelimitersPosition { get; set; } = Position.Bottom;

If it's not a problem, I would add that to this PR.
I also noticed that the templated arrows and delimiters have an opacity: 0.75 set, I don't see any benefit except for messing with the user. It makes sense on the default ones, at least it's consistent.
Unless there is a reason, I would remove it.
The user can always set it up if it's needed, right now the user needs to add a custom class with the DelimitersClass and NavigationButtonsClass properties and override the value with its own CSS (that's how I'm doing, it's really annoying).

Please obsolete all properties using Delimiter and forward them to properties using Bullet instead.
Adding a BulletPosition is ok.
BulletColor is ok.
The reason for the bullet transparency is that it looks good. It should be kept, we can't just change things because they annoy a single user, especially not if several ways of customization are possible and there is even a documentation example showing how to do it. Copy-Paste-solution, simple enough.
We follow Vuetify here:

What we are missing in MudBlazor is to fade transparency towards 100% opacity on mouse over which would be nice and further justify the opacity of 75%.
The conflict is still unresolved. For that merge dev and resolve.

The reason for the bullet transparency is that it looks good. It should be kept, we can't just change things because they annoy a single user, especially not if several ways of customization are possible and there is even a documentation example showing how to do it. Copy-Paste-solution, simple enough.
I know, I'm talking about a custom template. I see no reason that I should get an opacity setting if I'm providing a custom template, because I'm already changing how it looks.

Right, I didn't know we have renderFragment already, so the color property can be removed. It would only cause problems when people expect that color to magically work with their renderFragments ;)

Well, but it would help with people that just need to setup a specific color, without the need for a custom template. I would keep it, and make a new one for the arrows too.
============ Anyway, I need a CR on the component, basically adding a new option to move the bullets on top:
        /// <summary>
        /// Sets the position of the delimiters. By default, the position is the Bottom position
        /// </summary>
       [Parameter] public Position DelimitersPosition { get; set; } = Position.Bottom;

If it's not a problem, I would add that to this PR.
I also noticed that the templated arrows and delimiters have an opacity: 0.75 set, I don't see any benefit except for messing with the user. It makes sense on the default ones, at least it's consistent. Unless there is a reason, I would remove it. The user can always set it up if it's needed, right now the user needs to add a custom class with the DelimitersClass and NavigationButtonsClass properties and override the value with its own CSS (that's how I'm doing, it's really annoying).

For opacity, just got inspired by anothers Caroulsels, and it's easy to solve by DelimitersClass and NavigationButtonsClass parameters. Here's a sample for those who whon it may concern. I don't think it's a problem, neither annoying.

But it's specified for both customized and standard:
if (BulletsTemplate == null)
{
    <MudIconButton tabindex="@(i+3)" aria-label="@(i+1)" Class="@BulletsButtonsClassName" Style="z-index:3;opacity:0.75" Icon="@(current == SelectedIndex ? CheckedIcon : UncheckedIcon)" OnClick="(() => MoveTo(current))" Color="Color.Inherit" />
}
else
{
    <div @onclick="() => MoveTo(current)" class="@BulletsButtonsClassName" style="z-index:3;opacity:0.75">
        @BulletsTemplate(current == SelectedIndex)
    </div>
}

I'm ONLY talking about the custom template.

But it's specified for both customized and standard:
[...]
I'm ONLY talking about the custom template.

Ah, I see. Yes totally makes sense to remove the opacity from the render template branch of the if. You agree @HClausing

But it's specified for both customized and standard:
[...]
I'm ONLY talking about the custom template.

Ah, I see. Yes totally makes sense to remove the opacity from the render template branch of the if. You agree @HClausing ?

Yes, it makes sense, because won't affect the default buttons when not using the template route.

Thanks!


fixed I2S driver for SAI peripheral, and tested on mimxrt1170_evk

Update includes several driver fixes and improvement to leverage scatter/gather mode of DMA.  Tested with Zephyr i2s_speed test application, and added board-specific files and readme to test to replicate the test setup.
test built with command:
west build -b mimxrt1170_evk_cm7 tests\drivers\i2s\i2s_speed
fixes #42434
Due to overlap with eDMA driver, this PR is a draft waiting on PR uart_mcux_lpuart: Enable Asynchronous UART API to merge before submitting.

@DerekSnell  LGTM, please remember to revert the temp commit 24d5b179707cab7c41a5f58e8f1a62efe947eabd

Codecov Report

Merging #43227 (e9b288b) into main (26b28b9) will increase coverage by 0.13%.
The diff coverage is 50.74%.

:exclamation: Current head e9b288b differs from pull request most recent head 47e555c. Consider uploading reports for the commit 47e555c to get more accurate results

@@            Coverage Diff             @@
##             main   #43227      +/-   ##
==========================================
+ Coverage   49.83%   49.97%   +0.13%
==========================================
  Files         641      643       +2
  Lines       79873    80125     +252
  Branches    18759    18824      +65
==========================================
+ Hits        39803    40040     +237
+ Misses      33482    33421      -61
- Partials     6588     6664      +76

Impacted Files
Coverage Δ

include/zephyr/drivers/uart.h
15.38% <ø> (ø)

include/zephyr/kernel.h
97.95% <ø> (ø)

include/zephyr/net/socket.h
100.00% <ø> (ø)

kernel/mutex.c
72.91% <ø> (-0.56%)
:arrow_down:

subsys/bluetooth/host/adv.c
0.00% <0.00%> (ø)

subsys/bluetooth/host/att.c
0.00% <0.00%> (ø)

subsys/bluetooth/host/gatt.c
8.57% <0.00%> (-0.05%)
:arrow_down:

subsys/net/lib/sockets/sockets_internal.h
77.77% <ø> (ø)

subsys/shell/modules/kernel_service.c
0.00% <0.00%> (ø)

subsys/net/lib/sockets/socket_dispatcher.c
53.33% <53.33%> (ø)

... and 18 more

Continue to review full report at Codecov.

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


Comments removed before interface definition

Perhaps it's related to #11046, I can't say, so I am mentioning it:
TypeScript Version<EMAIL_ADDRESS>Code
// before
interface someinterface {}
// after

Actual behavior:
"use strict";
// after

Expected behavior:
"use strict";
// before
// after

comments before interfaces are considered to be commenting the interface. since the interface is not emitted, the comment is not as well. this goes for property declarations, ambient declarations, module augmentation etc..

unfortunately this makes the use of comments almost useless for post-processing purposes, e.g. it break my ifdef-loader:
// #if DEBUG
console.log("...");
// #else

A simple workaround:
// #if DEBUG
console.log("...");
// #else
;
interface someinterface { }

emits:
// #if DEBUG
console.log("...");
// #else
;


create benchmark for main algorithms and environments

Write a script that does an overall test for all algorithms and record these results to have a comparison table to publish in the library front page

record time, number of episodes and steps for algorithms in major problems


python39: fix tkinter and decimal on aarch64-darwin

Motivation for this change
This fixes using the tkinter library in python39Full on aarch64-darwin. It was missing because Python's setup script was looking for TCL/TK in the macOS root. This patch skips these checks, allowing Python to fall back to using its unix dependency resolution. In addition, this PR fixes a compiler error thrown when compiling the decimal library.
Fixes #133450
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

I messed up this rebase, very sorry. Fixed the PR at #133750


Add support for encrypted TLS key files.

Adds a new Server method: ConfigureTLSWithPassphrase.
Supports encrypted TLS key files with DEK-Info header.
Please note:
openssl req does not create a DEK-Info header.
openssl rsa does create a DEK-Info header.

Thanks for the PR, and for the test coverage!

Thanks for the fast merge! ☺


[rcore] *FromMemory() API or alternative mapping helper

Hello!
I've been using raylib for a 3D project but hit a small roadblock. All files for the project are memory-mapped and not available on disk, so functions that require an explicit file path such as LoadModelAnimations are not usable.
I noticed that in #1327 it was mentioned that you'd like to avoid adding more Load*FromMemory() functions, however there was talk of an alternative API such as SetFileDataMapping and ClearFileDataMapping which could internally map a memory address to a path which is then checked by these functions, with the last comment of "some other mechanism could be added in the future."
Since four years how now passed, is there any potential bandwidth for this being considered again? Or even another look at potentially introducing Load*FromMemory() variants. Currently it's a major blocker that a number of API functions require disk files for a project that deals explicitly with in-memory data.
Thank you!

It is possible to set the load/save file data callback...
RLAPI void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader
RLAPI void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver

Used them successfully in raylib-physfs. Would like to see some of that capability expanded to functions that you mentioned. A workaround for it in the mean time would be to copy the associated methods and modify as needed.

It is possible to set the load/save file data callback...
RLAPI void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader
RLAPI void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver

Used them successfully in raylib-physfs. Would like to see some of that capability expanded to functions that you mentioned. A workaround for it in the mean time would be to copy the associated methods and modify as needed.

Oh, I hadn't spotted those functions, thanks for pointing them out! Would I be right in assuming that all functions in raylib that load files from disk can be intercepted with custom functionality via those callbacks? If so, that seems like it would solve the issue completely.

LoadModelAnimations() uses LoadFileData(), which calls the LoadFileDataCallback that you have set, yes.

As comented, alternatives already exist to cover that use case.


PWX-20808: etcd3 members list fix

will use configured KVDB endpoints first, for etcd3's ListMembers()

the client-URLs from MemberList() will be used as fail-back, to get status for members that were not registered as endpoints

Signed-off-by: Zoran Rajic<EMAIL_ADDRESS>
What this PR does / why we need it:
The ListMembers() API for Etcd-v3 calls MemberList() first, then implicitly uses Status() on each ClientURL

the issue with this is that server-side EtcD might be configured differently than provided client-endpoints  (e.g. use cluster-only hostnames/IPs, that are not accessible by the KVDB-clients)

FIX:

we will inquire about the member's Status() by using the configured client-endpoints first
if we didn't get all the members, as a failback we'll use MemberList() -provided endpoints to query the "missing" member's statuses

Which issue(s) this PR fixes (optional)
Closes # PWX-20808
Special notes for your reviewer:
Testing done ...
Preparation:

configure 3-nodes EtcD with hostnames, e.g.:

# etcdctl --endpoints=http://init500-c24.dev.purestorage.com:3379 member list -w table
+------------------+---------+---------+---------------------------------------------+---------------------------------------------+------------+
|        ID        | STATUS  |  NAME   |                 PEER ADDRS                  |                CLIENT ADDRS                 | IS LEARNER |
+------------------+---------+---------+---------------------------------------------+---------------------------------------------+------------+
| 1b509e8a23d5c2bc | started | member1 | http://init500-c24.dev.purestorage.com:3380 | http://init500-c24.dev.purestorage.com:3379 |      false |
| 37876c8c6c9a757c | started | member2 | http://init500-c24.dev.purestorage.com:4380 | http://init500-c24.dev.purestorage.com:4379 |      false |
| 3705d7ea0766eac6 | started | member3 | http://init500-c24.dev.purestorage.com:5380 | http://init500-c24.dev.purestorage.com:5379 |      false |
+------------------+---------+---------+---------------------------------------------+---------------------------------------------+------------+

configure PX with 2/3 EtcD endpoints, also use IP-addresses instead of hostnames  (so we can track the origin of information)

# /opt/pwx/bin/px-runc install -c zvm1 -k etcd://<IP_ADDRESS>:3379,etcd://<IP_ADDRESS>:4379 -s /dev/vdb

Test 1: list kvdb-members
# pxctl sv kvdb members list
Kvdb Cluster Members:
ID	PEER URLs					CLIENT URLs					LEADER	HEALTHY	DBSIZE
member1	[http://init500-c24.dev.purestorage.com:3380]	[http://<IP_ADDRESS>:3379]			false	true	64 KiB
member2	[http://init500-c24.dev.purestorage.com:4380]	[http://<IP_ADDRESS>:4379]			true	true	64 KiB
member3	[http://init500-c24.dev.purestorage.com:5380]	[http://init500-c24.dev.purestorage.com:5379]	false	true	64 KiB

note, we're getting 2/3 "CLIENT URLs" in IP-format, and 1/3 in hostname-format
this is because 2/3 endpoints status is retrieved from original PX KVDB-endpoints config, while "missing" 1/3 endpoints status has been "completed" from the kvClient.MemberList()
this way, we "prefer" status from PX KVDB-endpoints, and "fail back" (or "complete missing") endpoints statuses from MemberList()

Test 2: speed measurements  ("happy path")

note, we used older EtcD 3.3.8, which is a bit slower on the responses
also, we added special "time-measurement" logs, which are not included in the production code

# time =pxctl sv kvdb members list
Kvdb Cluster Members:
ID	PEER URLs					CLIENT URLs					LEADER	HEALTHY	DBSIZE
member3	[http://init500-c24.dev.purestorage.com:5380]	[http://init500-c24.dev.purestorage.com:5379]	false	true	192 KiB
member2	[http://init500-c24.dev.purestorage.com:4380]	[http://<IP_ADDRESS>:4379]			true	true	192 KiB
member1	[http://init500-c24.dev.purestorage.com:3380]	[http://<IP_ADDRESS>:3379]			false	true	160 KiB

=pxctl sv kvdb members list  0.04s user 0.03s system 101% cpu 0.071 total

LOGS ::
Jul 06 13:32:59 zvm1 portworx[1339539]: time="2022-07-06T20:32:59Z" level=warning msg="DBG ZOX> MemberList() done in 1.192303ms" file="kv_etcd.go:1534" component=kvdb/etcd/v3 error="<nil>"
Jul 06 13:32:59 zvm1 portworx[1339539]: time="2022-07-06T20:32:59Z" level=warning msg="DBG ZOX> Status(http://<IP_ADDRESS>:3379) done in 1.773483ms" file="kv_etcd.go:1512" component=kvdb/etcd/v3 error="<nil>"
Jul 06 13:32:59 zvm1 portworx[1339539]: time="2022-07-06T20:32:59Z" level=warning msg="DBG ZOX> Status(http://<IP_ADDRESS>:4379) done in 1.223941ms" file="kv_etcd.go:1512" component=kvdb/etcd/v3 error="<nil>"
Jul 06 13:32:59 zvm1 portworx[1339539]: time="2022-07-06T20:32:59Z" level=warning msg="DBG ZOX> Status(http://init500-c24.dev.purestorage.com:5379) done in 1.221605ms" file="kv_etcd.go:1512" component=kvdb/etcd/v3 error="<nil>"

note, when KVDB is operational, responses are very quick (few milliseconds)

Test 3: speed measurements  (1 KVDB member "down")
# time =pxctl sv kvdb members list
Kvdb Cluster Members:
ID	PEER URLs					CLIENT URLs					LEADER	HEALTHY	DBSIZE
member1	[http://init500-c24.dev.purestorage.com:3380]	[]						false	false	0 B
member3	[http://init500-c24.dev.purestorage.com:5380]	[http://init500-c24.dev.purestorage.com:5379]	false	true	192 KiB
member2	[http://init500-c24.dev.purestorage.com:4380]	[http://<IP_ADDRESS>:4379]			true	true	192 KiB

=pxctl sv kvdb members list  0.10s user 0.09s system 0% cpu 21.804 total

Jul 06 13:31:43 zvm1 portworx[1339539]: time="2022-07-06T20:31:43Z" level=warning msg="DBG ZOX> MemberList() done in 1.358808ms" file="kv_etcd.go:1534" component=kvdb/etcd/v3 error="<nil>"
Jul 06 13:31:44 zvm1 portworx[1339539]: 2022-07-06_20:31:44: PX-Watchdog: (pid 7385): Using IPv4...
Jul 06 13:31:50 zvm1 portworx[1339539]: time="2022-07-06T20:31:50Z" level=warning msg="DBG ZOX> Status(http://<IP_ADDRESS>:3379) done in 7.000241192s" file="kv_etcd.go:1512" component=kvdb/etcd/v3 error="context deadline exceeded"
Jul 06 13:31:50 zvm1 portworx[1339539]: time="2022-07-06T20:31:50Z" level=warning msg="kvClient.Status(http://<IP_ADDRESS>:3379) returned error" file="kv_etcd.go:1548" component=kvdb/etcd/v3 error="context deadline exceeded"
Jul 06 13:31:53 zvm1 portworx[1339539]: time="2022-07-06T20:31:53Z" level=warning msg="DBG ZOX> Status(http://<IP_ADDRESS>:4379) done in 2.731314756s" file="kv_etcd.go:1512" component=kvdb/etcd/v3 error="<nil>"
Jul 06 13:32:00 zvm1 portworx[1339539]: time="2022-07-06T20:32:00Z" level=warning msg="DBG ZOX> Status(http://init500-c24.dev.purestorage.com:3379) done in 7.001005185s" file="kv_etcd.go:1512" component=kvdb/etcd/v3 error="context deadline exceeded"
Jul 06 13:32:00 zvm1 portworx[1339539]: time="2022-07-06T20:32:00Z" level=warning msg="kvClient.Status(http://init500-c24.dev.purestorage.com:3379) returned error" file="kv_etcd.go:1561" component=kvdb/etcd/v3 error="context deadline exceeded"
Jul 06 13:32:05 zvm1 portworx[1339539]: time="2022-07-06T20:32:05Z" level=warning msg="DBG ZOX> Status(http://init500-c24.dev.purestorage.com:5379) done in 5.000151352s" file="kv_etcd.go:1512" component=kvdb/etcd/v3 error="<nil>"

note, we "emulate" the old code behavior, where "CLIENT URLs" is not populated for unhealthy KVDB-members
note, we "doubled" the timeout compared to the old code, since inactive KVDB got queries twice  (7 sec timeout accessing Status(http://<IP_ADDRESS>:3379) and another 7 secs accessing "fail-back" Status(http://init500-c24.dev.purestorage.com:3379))
also note that all other KVDB calls are significantly slowed with KVDB members down  (they would be faster on newer version of KVDB)

Note, the Travis-build failed because of DCO-test:
...
0.08s$ git-validation -run DCO,short-subject
 * b7c3434 "UT fix" ... FAIL
  - FAIL - does not have a valid DCO
 * 0e646ce "update travis-go version" ... FAIL
  - FAIL - does not have a valid DCO
 * fb630af "PWX-20808: etcd3 members list fix" ... PASS
2 commits to fix
The command "git-validation -run DCO,short-subject" exited with 1.

since one can't fix commits' comments for old checkins (only latest commit) -- I'll fix the DCO with merge-commit of this PR

Discussed the PR with @adityadani -- decided it was OK to merge "as is", but also explicitly test and endure KVDB failovers still work correctly.


Added Cart, profile and wishlist button alongwith their respective pages

Issue no. #538
Added the button on the navbar:

Search bar
Profile
Cart alongwith the items count diplayed on it
Wishlist

Integerated 'ADD TO CART' and 'WISHLIST PAGE'
UPDATED NAV:
https://github.com/user-attachments/assets/d84898ee-7968-4140-8e83-3dc8c2ad6fb7
THEIR RESPECTIVE PAGES:
https://github.com/user-attachments/assets/ea240573-8b3e-4a20-94f2-79e4c32eff91
@mdazfar2  @Kavita1928
i've made all the possible changes, let me know if any further adjustments are needed.

Issue no. #538
Issue no.
Added the button on the navbar:

Search bar
Profile
Cart alongwith the items count diplayed on it
Wishlist

Integerated 'ADD TO CART' and 'WISHLIST PAGE'
UPDATED NAV: https://github.com/user-attachments/assets/d84898ee-7968-4140-8e83-3dc8c2ad6fb7
THEIR RESPECTIVE PAGES:
Screen.Recording.2024-10-15.073139.mp4
@mdazfar2 @Kavita1928 i've made all the possible changes, let me know if any further adjustments are needed.


Consider removing dependency on LazyCell

There is a slight risk of race condition with LazyCell because of its API design, it may be a good idea to replace its uses with OnceCell.

The race condition applies only to AtomicLazyCell, not the non-Sync LazyCell. AtomicLazyCell is not used by Cargo.
In any case, these days LazyCell is superseded by https://doc.rust-lang.org/1.73.0/std/cell/struct.OnceCell.html.

#12616 at least removed our use of lazy_static for OnceCell.  I think the lazy cell uses weren't as straightforward so they were skipped when doing that opportunistic refactor.


CSS code hints should not auto append a semicolon after selecting a property value.

There are lots of CSS properties that require the user to enter multiple values. So we cannot assume that the user is done with the current property and auto append the ;.

Would love to see this too, though I don't know how to do it.

Please, seriously, make this an option. I like the way WebStorm append semicolon and such behavior doesn't break the flow.


Changing the grammar to support multiple top-level modules

Closes #547. This PR partially addresses the issue of supporting multiple modules. I have extended the grammar and refactored the code to deal with multiple modules. However, there are a few places, where I am not sure about dealing with the type checker and the resolver.
@bugarela, could you have a look at the PR and maybe fix the problematic place in the type inference phase? Opening a draft PR, so we can fix it together, before merging the changes.
Also, I broke the plugin integration.

[x] Entries added to the respective CHANGELOG.md for any new functionality

On it!

Ok, this is getting bigger and bigger. Our code is not prepared to compose results at this stage, so I'm having to change too many things.
Here's what I'm going to do: on this PR, I'll fix the parsing phases so we support full parsing (with imports, conflict scanning and name resolution) for multiple modules; and fix the plugin to be compatible with that.
On a follow up PR (or in multiple ones, if needed), I'll fix types, effects and modes.
It's ok to have partial support for multiple modules since right now we are ignoring those anyway, so it's not a regression.

Yeah, this is probably a bigger change than we expected. Let's just try to add multiple modules without removing nested modules first, as I would need multiple modules to replace nested module in REPL :)

I think that's it for this first PR. @konnov shall we mark it as ready for review?

Seems like CI is stuck somehow.

I have marked it ready for review. Thanks for fixing the code! We should keep an eye on multiple modules. They may hit us in unexpected places.

Hey @bugarela, do you think we should merge this one to unblock the other work such as #550? It would be good to have a review by @shonfeder. But since we know that this solution is interim, we can probably go ahead without Shon's review too.

In general not sure how much help I can be and review here. The parsePhase2 function has become pretty gnarly, in summary refactoring as a follow up might be helpful. But given the partially implemented nature of this, the context I'm missing on the general approach being applied, I'm not sure what I can offer in a time-efficient manner beyond the superficial remarks i've made.


I can't understand why I have memory leak, please help.

Now I am learning how to using this jansson library, I'm not very clear about the memory management in this library,
so I write a small test to test my idea and I found memory leak, this is my test code:
// using visual studio 2019, console application(x86).
// using  jansson-version: 2.13.1
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>     // debug memory leak.
#include <jansson.h>
#include <stdio.h>

void test()
{
    static const char str[] = "[{\"key1\":\"value1\"},{\"key2\":\"value2\"},{\"key3\":\"\"}]";
    json_t* root;
    json_error_t error;
    root = json_loads(str, 0, &error);

    if (json_is_array(root))
    {
        json_t* kv = json_object();
        json_object_set(kv, "key4", json_string("value4")); //create a new key-value pair;

        int result = json_array_append(root, kv);   // append the new key-value pair;
        printf("json_array_append result = %d\n",result); // result is 0;
    }

    if (root)
    {
        json_decref(root);
    }
}

int main()
{
    _CrtMemState snapshot1;
    _CrtMemState snapshot2;
    _CrtMemState diff;
    _CrtMemCheckpoint(&snapshot1); //take a snapshot for memory usage.

    printf("--------------------begin--test\n");
    test();
    printf("--------------------end--test\n");

    _CrtMemCheckpoint(&snapshot2); //take a snapshot for memory usage.
    if (_CrtMemDifference(&diff, &snapshot1, &snapshot2)) // if there is a difference
    {
        _CrtDumpMemoryLeaks();
    }

    return 0;
}

and there are some APIs I don't very clear, for example:
json_object_set(json_t *object, const char *key, json_t *value)
question:
if (json_object_set ok), the key buffer will attached to the object tree and key's life time is managed by the object?
if (json_object_set fail), the key buffer is managed by caller?
if (json_object_set ok), the value buffer will attached to the object tree and value buffer's life time is managed by the object?
if (json_object_set fail), the value buffer is managed by caller?
can sombody explain?
thank you!

It's all explained in the docs: https://jansson.readthedocs.io/en/latest/apiref.html#reference-count
In a nutshell: If you create a new JSON value, you must call json_decref() to release your reference to it. If you use a function that steals the reference (these functions end with _new), you must not call json_decref() anymore.
In your example, these references are leaked:

json_t* kv = json_object();. Fix: use json_array_append_new()
json_string("value4"). Fix: use json_object_set_new()

It is a interesting design,  I have traced the reference count,
if I use json_array_append(root, kv), the kv's reference count will increase to 2,
if I use json_array_append_new(root, kv), the kv's reference count will stay at 1,
thank you for the explain, I think I understand it now.


Web Proxy - Custom error pages

Describe the bug
Web Proxy custom error pages aren't displayed.
To Reproduce
Steps to reproduce the behavior:

Go to Services -> Web Proxy -> Administration
Select "User error pages" to "Custom"
Go to "Error Pages" tab.
Click on Download.
Unzip downloaded file "proxy_template.zip"
Modify any file. For this example we will edit "ERR_DNS_FAIL.html"
Zip folder "proxy_template" into "proxy_template.zip" file.
Select and upload modified "proxy_template.zip". Web GUI says "saved" with no error.
Navigate to some non-existent domain for example "http://fsdfsdfsdfsdf.org/"

Expected behavior
We should see our modified "ERR_DNS_FAIL.html" page but we can see default one.
File
proxy_template.zip

did you restart the proxy?

Yes, I tried to restart it too but not working either.
Stáhnout Outlook pro Androidhttps://aka.ms/ghei36

From: Ad Schellevis<EMAIL_ADDRESS>Sent: Thursday, August 20, 2020 10:46:02 AM
To: opnsense/core<EMAIL_ADDRESS>Cc: Petr Kejval<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [opnsense/core] Web Proxy - Custom error pages (#4278)
did you restart the proxy?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/opnsense/core/issues/4278#issuecomment-677465110, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALOKP4YAKHSPUB7RDTPIZ6TSBTPEVANCNFSM4QFZMAFQ.

@pkejval you're right, it's a bug. the build process renames the template file, https://github.com/opnsense/core/commit/7b5c5c9b17a5d5a401bc895fc64b522041c6cdec should fix that and adds an apply button on the same screen.
You should be able to fix it using (on a console):
opnsense-patch 7b5c5c9

the fix seems to mispace the buttons a bit, I'll try to fix that later.

I can confirm it's fixed by https://github.com/opnsense/core/commit/7b5c5c9b17a5d5a401bc895fc64b522041c6cdec
Thank you! :+1:


How to support security.debian.org?

Problem
It seems that go-apt-cacher can't handle missing path case.
Are there any workaround configuration on this issue?
Expected
There is a workaround configuration in go-apt-cacher.toml or something.
Actual
It works with apt-line:
deb http://security.debian.org/debian-security/ jessie/updates main
deb-src http://security.debian.org/debian-security/ jessie/updates main

and go-apt-cacher.toml.
[mapping]
debian = "http://ftp.jp.debian.org/debian"
debian-security = "http://security.debian.org/debian-security"

But It doesn't work with apt-line and above toml:
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

% sudo apt update
...(skip)...
Fetched 23.1 MB in 2s (10.4 MB/s)
W: Failed to fetch http://security.debian.org/dists/jessie/updates/main/source/Sources  404  Not Found

W: Failed to fetch http://security.debian.org/dists/jessie/updates/main/binary-amd64/Packages  404  Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.

How to configure  go-apt-cacher.toml mapping correctly for http://security.debian.org/? (without modifiyng /etc/apt/sources.list?)

@kenhys Thank you for the bug report.
This may be related to #27.  I will take a look.

@kenhys
I failed to reproduce the reported problem with apt on Ubuntu 16.04.
Could you provide information about the environment where the problem can be reproduced?
go-apt-cacher.toml:
(snip)

[mapping]
ubuntu = "http://archive.ubuntu.com/ubuntu"
security = "http://security.ubuntu.com/ubuntu"
debian = "http://ftp.jp.debian.org/debian"
debian-security = "http://security.debian.org/debian-security"

/etc/apt/sources.list:
deb http://localhost:3142/debian jessie main
deb-src http://localhost:3142/debian jessie main
deb http://localhost:3142/debian-security jessie/updates main
deb-src http://localhost:3142/debian-security jessie/updates main

Result of sudo apt update:
$ sudo apt update
Ign:1 http://localhost:3142/debian jessie InRelease
Get:2 http://localhost:3142/debian-security jessie/updates InRelease [63.1 kB]
Get:3 http://localhost:3142/debian jessie Release [148 kB]
Get:4 http://localhost:3142/debian jessie Release.gpg [2,434 B]
Hit:5 http://packages.microsoft.com/repos/vscode stable InRelease
Ign:6 http://localhost:3142/debian jessie/main Sources
Ign:7 http://localhost:3142/debian jessie/main amd64 Packages
Ign:8 http://localhost:3142/debian jessie/main i386 Packages
Get:9 http://localhost:3142/debian jessie/main Translation-en [4,583 kB]
Get:6 http://localhost:3142/debian jessie/main Sources [9,167 kB]
Get:7 http://localhost:3142/debian jessie/main amd64 Packages [9,064 kB]
Get:8 http://localhost:3142/debian jessie/main i386 Packages [9,065 kB]
Fetched 32.1 MB in 2s (14.7 MB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
113 packages can be upgraded. Run 'apt list --upgradable' to see them.

Thanks, @ymmt2005
Here is the reproducible environment, I know:

sid(host) with go-apt-cacher running
jessie(doker container) (docker pull debian:jessie), use cache on host via proxy (Acquire::http::proxy "http://<IP_ADDRESS>:3142/";)

I think that important point to reproduce this issue is "missing path" (/debian-security suffix)  with guest container's default apt-line.
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

And problem is how to map missing path( /debian-security ) between apt-line(guest) and go-apt-cacher.toml(host) correctly.

Understood.  What you want is a forward HTTP proxy, isn't it?
go-apt-cacher is not a forward HTTP proxy by design.
It is a reverse HTTP(HTTPS) proxy specially designed for APT repositories.
By being a reverse-proxy, go-apt-cacher can support HTTPS as well as HTTP.
Please read the detailed descriptions in this article:
http://ymmt2005.hatenablog.com/entry/2016/07/19/Introducing_go-apt-cacher_and_go-apt-mirror
So, you need to edit /etc/apt/sources.list to point go-apt-cacher directly.

Ah, I got it. I've misunderstood design of it.
So, I'll close this issue.
Thanks, @ymmt2005 !


Tic Tac Toe with AI

Project Request
House price detection

Field
Description

About
Tic Tac Toe with AI

Github
hindu-muppala

<EMAIL_ADDRESS>

Label
Project Request

Define You

[x] GSSOC Participant
[ ] Contributor

Project Name

Description
I want to build an AL training model, which an able learn from its previous fails and develop itself.
A good GUI ,where player will compete with AI model.
[Description of the project, its goals, and expected outcomes]
Scope
Timeline
10 June is end date.
Video Links or Support Links
[Links that can support the project in anyway]

hey Aditya , please allow me to work on this.

@hindu-muppala
I am thrilled to receive your project request!
To ensure the project runs smoothly, please follow all guidelines provided. If you are working on an AI, ML, or DL project, we kindly ask that you create a folder for your project within the respective folders and submit your progress accordingly.
Please do follow the project readme template

To ensure that everyone has a fair chance to participate, we kindly request that you complete 75% of the work within the first week of receiving the issue, and the remaining 25% within the next 3 days(10 days in total). If for any reason, you fail to meet this deadline, we will assign the task to someone else who is equally enthusiastic about contributing to this project.
If you have any questions, feel free to contact me via email or Discord or reach out to our team of project mentors.
Thank you for your contribution and let's make this project a huge success!


[sai-gen] Add support to packets and packet_and_bytes counters, also make counter generation to be adaptive to its type.

Problem
Currently, SAI API generation is not leveraging the counter type information, but blindly use whatever specified in the name annotation. This leads to 2 problems:

We could accidentally generate incorrect SAI headers, e.g. name says it is a byte counter, but in fact it is a packet counter in our BM.
We could not support counters that tracks multiple things, i.e. packets and bytes.

What we are doing in this change
This change uses the type info in the counter to generate the correct SAI attributes, also fork the counter when the single counter in BM tracks multiple things.
As the screenshot shows below, after the change, if we change the counter type of the meter_bucket_outbound, a new SAI attribute will be created for it.

This change will not change any of existing SAI header files that we generated, but can be used for future scenarios.

Woot! Thanks @chrispsommers ! Also - happy new year!

Closing as items is Merged


Featured picture overlaps with the title if turning off reading time and post date

Discussed in https://github.com/jpanther/congo/discussions/909

Originally posted by dimkagabber July 13, 2024
Subj.
params.toml:
[article]
 showDate = false
 showReadingTime = false

params.toml:
[article]
 showDate = false
 showReadingTime = true

Duplicate of #827


[BUG] Debugger crashes when breakpoint exists

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Running :lua require 'dap'.continue() with Launch Flutter will result in a crash with the following error:
Error retrieving stack traces: type 'double' is not subtype of type 'int' in type cast
(It works in VSCode)
Expected Behavior
The debugger runs correctly and stops at the breakpoint.
Steps To Reproduce

Create a new project with flutter create my_app
Toggle a breakpoint in the main function
Run :lua require 'dap'.continue() and select Launch Flutter

Environment
- OS: macOS 14.0
- Flutter version: 3.16.0
- Is flutter in $PATH: yes
- neovim version: 0.9.2

Anything else?
No response

I am facing the same issue. After some investigation, I found that this is a problem with the latest Flutter version 3.16.0. Looks like at some point thread IDs became int64, while in DAP it is expected to be int32 and that breaks the debugging. I see it is already reverted with this commit https://github.com/dart-lang/sdk/commit/eda6963e4df3118bf69fda08c32743a9de1bbccb,
https://github.com/dart-lang/sdk/issues/53086
But unfortunately looks like this commit was not released with the stable Flutter version. My current workaround is to use Flutter beta channel (Flutter 3.17.0-0.0.pre • channel beta), debugging works there.
So closing this issue, because there is nothing we can do in this plugin to fix it.

Ah, I was finally getting used to being back on the stable channel! Oh well. Thanks for this, now I know I'm not going crazy.


Some eCR QA runs failing

Describe the bug
Not clear if this is supposed to happen w/ the 40 records that I have, but here are the pipelines that errored out:
ed1c3aa0-e52d-11ed-9ada-00155d1d7294
eb200dd0-e52d-11ed-960a-00155d1d7294
e962d69e-e52d-11ed-9f8b-00155d1d7294
Impact
Three pipelines were not run. Two errored at verification, one at conversion to fhir.
To Reproduce
Steps to reproduce the behavior:

upload data from the folder under my name in the patient-data container to the source-data/ecr folder.

By the way, your instructions all still read sample-data, which is confusing for people trying to upload the data in the right place.
Expected behavior
All data should have been uploaded correctly is my assumption, though no overall outcome was provided to us in the email with instructions. I actually don't know the expected outcome.
Desktop (please complete the following information):

OS: MacOS
Browser Safari
Version unknown

Next steps: Needs additional research to determine the exact type of error.
May be related to #108.

Closing as the FHIR conversion issue and validation errors should be resolved now.


Getting compile time exception due to an incomplete or missing step

I'm following the steps as mentioned in the article and referenced Microsoft.Azure.AppConfiguration.AspNetCore nupkg version 4.1.0. When I try to run the app locally, I get an exception stating that

System.InvalidOperationException: Unable to find the required services. Please add all the required services by calling IServiceCollection.AddAzureAppConfiguration inside the call to ConfigureServices(...) in the application startup code

And this was not mentioned in the article.
To make it work, I need to add this line in my ConfigureServices() method:
services.AddAzureAppConfiguration();
Not a biggie but avoid some hassle for beginners like me.
Thanks!
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 80b8d3d6-4125-638f-746a-4bbdf0378625
Version Independent ID: d917d876-79b4-b935-08f0-09ef86038dd7
Content: Tutorial: Use App Configuration dynamic configuration in ASP.NET Core - Azure App Configuration
Content Source: articles/azure-app-configuration/enable-dynamic-configuration-aspnet-core.md
Service: azure-app-configuration
GitHub Login: @AlexandraKemperMS
Microsoft Alias: alkemper

@sameer-kumar -
Thanks for brining this to our attention. We will investigate it further and update you shortly.

@sameer-kumar -
Thanks for brining this to our attention. We will investigate it further and update you shortly.

@sameer-kumar -
Thanks again for bringing this to our attention. We have updated the Doc and it will be live once its merged.  We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

@sameer-kumar -
Thanks again for bringing this to our attention. We have updated the Doc and it will be live once its merged.  We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

Thank you! This helped me. I'll also add you need to make sure you have this line in your file
using Microsoft.Extensions.Configuration;

Thank you! This helped me. I'll also add you need to make sure you have this line in your file
using Microsoft.Extensions.Configuration;


Implement as a JupyterLab extension

Implement ScriptedForms as a JupyterLab extension.

This is now working! It is awesome! :)

Ahhh it looks beautiful :)
This has been implemented within the branch https://github.com/SimonBiggs/scriptedforms/tree/jupyterlab-extension
It requires JupyterLab master with the following pull request included to work:
https://github.com/jupyterlab/jupyterlab/pull/4334

@OxygenLithium @robmarkcole

My first order of business will be to see if I can make print work from within JupyterLab. If I manage that then I will work on setting it up so that the JupyterLab version becomes the primary version.
Can still have the standalone version for end user GUIs, however ScriptedForms as a JupyterLab extension will be the main version.

Ahh, I can finally add ScriptedForms to the jupyterlab-extension topic list:
https://github.com/search?l=TypeScript&q=topic%3Ajupyterlab-extension&type=Repositories

Fantastic!

Check it out:

That console on the right is a complete history of all the code that has been run and its order. Perfect for debugging. Also, you can add custom code in the console and the form variables update appropriately :) :) :D

Anyway, gotta go make dinner now :). It was fun :).

It's a serious testament to the JupyterLab team how easy it was to pull it all in. They really have made something beautiful. :).

And you can also of course attach a Notebook to the same kernel:

@robmarkcole this is now available in scriptedforms-0.9.1.dev2.
To get it to work though you need to install JupyterLab from the allow-angular-templates branch within my fork of JupyterLab:
https://github.com/SimonBiggs/jupyterlab/tree/allow-angular-templates
Hopefully that branch gets merged in the following pull request:
https://github.com/jupyterlab/jupyterlab/pull/4334


[Feature Request] Is it possible to display latency information (ping)?

My personal production app uses Turso DB with the default location set to Paris (cdg), but I've noticed that API calls feel quite slow.
I'm wondering if cdg has the lowest latency for my region, or if there's a better location.
It would be useful to have more details on pings and latency metrics when using something like turso db locations
Is something like this possible?

@AdamUhh do you need more than what you see when passing --show-latencies?
turso db locations --show-latencies


Create utsem.txt

Submiting my school name to get my free student license

@Elpipilo18 Thank you for your patience while waiting for a review and processing your request. Pull request merged.


FINERACT-1772: Setting Fraud attribute for a loan account

Description
in order to mark the loan account as fraud or not. Fineract has a "fraud“ attribute field at the loan account level
FINERACT-1772.

Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!

[ ] Write the commit message as per https://github.com/apache/fineract/#pull-requests

[ ] Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.

[ ] Create/update unit or integration tests for verifying the changes made.

[ ] Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.

[ ] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes

[ ] Submission is not a "code dump".  (Large changes can be made "in repository" via a branch.  Ask on the developer mailing list for guidance, if required.)

FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.

LGTM


Added logic to remove prefixes from watcher output

Description
Make it so the internal name prefixes on the policy objects are stripped out and consistent with what the user interacts with.
Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

This is a much bigger change than I was expecting.  If you had defined the Watch converter just within the scope of the clientv3 package (which I think is all that was required) then you wouldn't have needed to make public the ResourceObject and ResourceList interfaces.  Any particular reason you did that?
Whilst I'm not against adding those two additional interfaces to the apiv3 package it might be good to double check that (a) the deepcopygen isn't going to barf and (b) that other people are ok with this being part of the public API.

Looks fine - but I'm not sure why we are doing this.  I would like to understand that.


Setup Travis CI

I'd copy this rule set: https://github.com/simplabs/rails_api_auth/blob/master/.rubocop.yml

will do. but this would be for #2 - going to tackle it now

argh, sure

Assigned to Bill so he can create the account there

Account setup.

thanks. would you send us the link and access info over email?

Sure thing.

I think I already have full access, all settings seem editable. But it looks like it's all configured and the suite passes, I don't need to do anything else :) thanks, closing this issue


A bug about memory leak whiling search a char Colon(:)

environment

vim: VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jan  7 2020 22:53:41)
grepper.commit: 'dde6a66'
OS:arch linux x86_64
Mem: 8GB
grepper configuration in vimrc:
Plug 'mhinz/vim-grepper'            , { 'on': ['Grepper',
\ '(GrepperOperator)'] }
other plugin:

actual behavior
$ cd ~/.vim && vim vimrc

:GrepperAg :<CR>

expected behavior
I want search all colon(:) in vimrc.
bug
The terrible consequence of the above behavior is to cause a serious memory leak in just a few seconds, and finally the entire system must be reboot violently.

Same issue here, not only with colon, but search some words, a letter, causes freezes/neovim to crash or event the whole OS to crash
Neovim 0.9
Latest vim-grepper
Mac M2 OSx Ventura
Tested with a vimrc that has only vim-plug + vim-grepper to avoid any issue caused by other plugins, and problem remains.
Not sure what to do about this.


cargo test not finding nearest test

It does not seem to pick up the function name. Even TestFile seems to do the same.
The file name is tests/integration.rs
cargo test 'integration::tests::' -- --exact
   Compiling lsd v0.17.1-pre (/Users/meain/Documents/Projects/projects/lsd)
    Finished test [unoptimized + debuginfo] target(s) in 3.88s
     Running target/debug/deps/lsd-81f559c7da5f78eb

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 56 filtered out

     Running target/debug/deps/integration-c24dd85a48f0593e

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 11 filtered out

One more change.
https://github.com/janko/vim-test/blob/8300ee6c26ef022d0aed98f51d31451eb6e598b9/autoload/test/rust/cargotest.vim#L86
This has to be test not tests.

The original issue seems to be when the rust tests are separated out from source files.
I ran a test manually and it seems to just use only the funciton name.
 cargo test test_runs_okay                                           projects/lsd
    Finished test [unoptimized + debuginfo] target(s) in 0.05s
     Running target/debug/deps/lsd-81f559c7da5f78eb

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 56 filtered out

     Running target/debug/deps/integration-c24dd85a48f0593e

running 1 test
test test_runs_okay ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out

File being used:
https://github.com/Peltoche/lsd/blob/6353fe92303fbe1f20b41d6a7d79afad524b6333/tests/integration.rs#L135

https://github.com/janko/vim-test/pull/461


Color workspace when notifications arrive

ie: When a shell rings, the workspace should be colored like in i3

This is complicated because X and Wayland raise window notifications differently.

You mean that would be hard to implement at all, or that it would be hard to implement X application raising notifications in sway?

This is complicated because X and Wayland raise window notifications differently.
If it would work at least for Wayland applications, that would be nice.

Does anyone know what the protocol is for doing this on Wayland? Should be fairly easy to add the X stuff to wlc. Now that I think of that, all of the above should be done in wlc. Can you move the issue?


Stop applying STFL encoding to browser variable

Fixes #917.
This fixes a regression caused by PR #814.
I guess this is another issue which would have been obvious if https://github.com/newsboat/newsboat/issues/806 was implemented (I might look into implementing that in the near future).

Coverage decreased (-0.005%) to 56.253% when pulling 7d1b997e8a19285b9b7270b22d565ac01a698a22 on dennisschagt:bugfix/issue-917 into 3b3649023fbb93b0783d486a1df14c43a881c5ed on newsboat:master.


Need to add a single hard coded seed node for DNS seeder discovery

Describe the issue
The Seeders seem to disregard a wallet with no conf and no addnodes added. Once you add a node then the DNS seeder kicks in and populates your peers.dat with it's nodes.  I'm not sure if there is a better fix for this problem than one hard coded node,, but I know that would fix the issue.
Steps to reproduce

Clear Silk data directory
Start wallet with no conf or addnodes.
DNS does not pick up the slack.

Expected behavior
Tell us what should happen
The seeder should populate your client with as many peers as possible.
Actual behavior
Tell us what happens instead
It seems the wallet is disregardfed as an anomoly with 0 connections and the seeder ignores it.
Perhaps this could be solved in the seeder itself by changing something. Adding a permanent node would fix the issue on the client side though and is straightforward.
Screenshots
What platform are you using (Linux, Windows, Mac)
Ubuntu 16.04 LTS 64 bit
Windows 10 64 bit

Yes this was with no conf. I added a node through the console.

Closing as not relevant.


make_relative_category function

Twin function of make_relative_value() operating for a basket of XCATs on a given CID, for each desired cross-section
We should implement a generic make_relative function that then operates across either axis (CID, XCAT) so that we can be more concise and code efficient.

See initial commit:
https://github.com/macrosynergy/macrosynergy/tree/feature/make_rel_cat


haskellPackages: update hackage

This Merge
This PR is the regular merge of the haskell-updates branch into master.
This branch is being continually built and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates. You may be able to find an up-to-date Hydra build report at cdepillabout/nix-haskell-updates-status.
We roughly aim to merge these haskell-updates PRs at least once every two weeks. See the @NixOS/haskell team calendar for who is currently in charge of this branch.
haskellPackages Workflow Summary
Our workflow is currently described in pkgs/development/haskell-modules/HACKING.md.
The short version is this:

We regularly update the Stackage and Hackage pins on haskell-updates (normally at the beginning of a merge window).
The community fixes builds of Haskell packages on that branch.
We aim at at least one merge of haskell-updates into master every two weeks.
We only do the merge if the mergeable job is succeeding on hydra.
If a maintained package is still broken at the time of merge, we will only merge if the maintainer has been pinged 7 days in advance. (If you care about a Haskell package, become a maintainer!)

More information about Haskell packages in nixpkgs can be found in the nixpkgs manual.

This is the follow-up to #335932. Come to #haskell:nixos.org if you have any questions.
No new version of stackage at this time (2024-09-03)!

One thing I noticed with one of the new packages tiktoken is that it requires base64_1_0 instead of base64. Not sure how to contribute but I thought I would give a heads up while I'm testing using it before this pr gets merged.

@collinarnett are you sure this is not fixable by using doJailbreak? (you can Ctrl+F this in the nixpkgs manual or in our configuration-common.nix file in nixpkgs.) The first release of tiktoken is 7 months after the release of base64, so I assume they just never tried to compile it with an earlier version.

I just tried it with doJailbreak and it breaks the tests.
[1/0/4 built, 0.0 MiB DL] building tiktoken-1.0.3direnv: ([/nix/store/1mrvvx2ygfyfz8sn3gg5f3qidvd9s8j1-direnv-2.34.0/bin/direnv export zsh]) is taking a while to execute. Use CTRL-C to give up.
error: builder for '/nix/store/mk0j2969fp6rsszzi4vfqxmqkbsqi9gx-tiktoken-1.0.3.drv' failed with exit code 1;
       last 25 log lines:
       > No pkg-config found
       > Using runghc version 9.6.5 found on system at:
       > /nix/store/hzdv2lb4sr83cbnx4c3fi6idpimvwab7-ghc-9.6.5/bin/runghc-9.6.5
       > Using strip version 2.41 found on system at:
       > /nix/store/md6hh4rrcrf99nssvcam3qaqs3skj086-gcc-wrapper-13.2.0/bin/strip
       > Using tar found on system at:
       > /nix/store/4m4vnjdy44s4sb8hlv4qsph492zz3rly-gnutar-1.35/bin/tar
       > No uhc found
       > Running phase: buildPhase
       > Preprocessing library for tiktoken-1.0.3..
       > Building library for tiktoken-1.0.3..
       > [1 of 2] Compiling Paths_tiktoken   ( dist/build/autogen/Paths_tiktoken.hs, dist/build/Paths_tiktoken.o, dist/build/Paths_tiktoken.dyn_o )
       > [2 of 2] Compiling Tiktoken         ( src/Tiktoken.hs, dist/build/Tiktoken.o, dist/build/Tiktoken.dyn_o )
       >
       > src/Tiktoken.hs:109:19: error: [GHC-76037]
       >     Not in scope: ‘Base64.Encoding.decodeBase64Untyped’
       >     NB: the module ‘Data.ByteString.Base64’ does not export ‘decodeBase64Untyped’.
       >     Suggested fix:
       >       Perhaps use one of these:
       >         ‘Base64.Encoding.decodeBase64’ (imported from Data.ByteString.Base64),
       >         ‘Base64.Encoding.decodeBase64Lenient’ (imported from Data.ByteString.Base64),
       >         ‘Base64.Encoding.encodeBase64’ (imported from Data.ByteString.Base64)
       >     |
       > 109 |     token <- case Base64.Encoding.decodeBase64Untyped base64Bytes of
       >     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       For full logs, run 'nix log /nix/store/mk0j2969fp6rsszzi4vfqxmqkbsqi9gx-tiktoken-1.0.3.drv'.
error: 1 dependencies of derivation '/nix/store/iild3js51yv77mp29rk2zmdrklai7akw-ghc-9.6.5-with-packages.drv' failed to build
error: 1 dependencies of derivation '/nix/store/r21kjqdmf6cg91pcz07008zrlaab4jpl-ghc-shell-for-packages-0-env.drv' failed to build

In the repo's flake they explicitly override base64 to version 1.0 as well here. https://github.com/Gabriella439/tiktoken/blob/2e66d1e29acf66f08959f86080d53b07bccb5ae4/flake.nix#L18C1-L22C23

Thank you. If you want you can open a PR which does this override in configuration-common.nix with a comment explaining that at least base64 1.0 is required, but LTS 22 contains an older version. Then you can drop tiktoken from a file called broken.yaml and run maintainers/scripts/haskell/regenerate-hackage-packages.sh.

At this point, do you mind either waiting with Hydra builds for (probably) two days or merging staging-next into haskell-updates?

At this point, do you mind either waiting with Hydra builds for (probably) two days or merging staging-next into haskell-updates?

That's fine, feel free to cancel them any time. I checked the queue and at the time it seemed to be mostly blocked on a single platform, so figured extra builds may not matter. In any case, this iteration isn't time critical in the least bit.

Two notable regressions I have noticed so far: pcg-random (aarch64-linux only) and dhall-docs

https://hydra.nixos.org/build/272381297
https://hydra.nixos.org/build/272365951

This seems to be related with the changed handling of ncurses in our GHC expression. This influences the terminfo package which has a changed package db entry now:
--- /nix/store/wsjvk8znfjimb6jc9m2mg50q1dyf4zi4-ghc-9.6.6/lib/ghc-9.6.6/lib/package.conf.d/terminfo-<IP_ADDRESS>.conf	1970-01-01 01:00:01.000000000 +0100
+++ /nix/store/0ac7ys577fvpihm342v5fpgzcqwkw41z-ghc-9.6.6/lib/ghc-9.6.6/lib/package.conf.d/terminfo-<IP_ADDRESS>.conf	1970-01-01 01:00:01.000000000 +0100
@@ -25,24 +25,15 @@
     System.Console.Terminfo.Keys

 import-dirs:          ${pkgroot}/../lib/aarch64-linux-ghc-9.6.6/terminfo-<IP_ADDRESS>
-library-dirs:
-    ${pkgroot}/../lib/aarch64-linux-ghc-9.6.6/terminfo-<IP_ADDRESS>
-    /nix/store/qmckz7yxdzs3ijms4g6ym25k9kjvvf8w-ncurses-6.4.20221231/lib
-
-dynamic-library-dirs:
-    ${pkgroot}/../lib/aarch64-linux-ghc-9.6.6
-    /nix/store/qmckz7yxdzs3ijms4g6ym25k9kjvvf8w-ncurses-6.4.20221231/lib
-
+library-dirs:         ${pkgroot}/../lib/aarch64-linux-ghc-9.6.6/terminfo-<IP_ADDRESS>
+dynamic-library-dirs: ${pkgroot}/../lib/aarch64-linux-ghc-9.6.6
 data-dir:
     ${pkgroot}/../share/aarch64-linux-ghc-9.6.6/terminfo-<IP_ADDRESS>

 hs-libraries:         HSterminfo-<IP_ADDRESS>
 extra-libraries:      tinfo
-include-dirs:
-    /nix/store/2jypnc3s7vqc92k20mlbdbq11phgxdid-ncurses-6.4.20221231-dev/include
-
 depends:              base-<IP_ADDRESS>
-haddock-interfaces: "${pkgroot}/../../../../fdycvh2hn15mpv3iy9434ahj5ry2rjp0-ghc-9.6.6-doc/share/doc/ghc/html/libraries/terminfo-<IP_ADDRESS>/terminfo.haddock"
+haddock-interfaces: "${pkgroot}/../../../../yl3xznbsb4yhyd5c0dgp2c9xlmx3gjdr-ghc-9.6.6-doc/share/doc/ghc/html/libraries/terminfo-<IP_ADDRESS>/terminfo.haddock"

-haddock-html: "${pkgroot}/../../../../fdycvh2hn15mpv3iy9434ahj5ry2rjp0-ghc-9.6.6-doc/share/doc/ghc/html/libraries/terminfo-<IP_ADDRESS>"
+haddock-html: "${pkgroot}/../../../../yl3xznbsb4yhyd5c0dgp2c9xlmx3gjdr-ghc-9.6.6-doc/share/doc/ghc/html/libraries/terminfo-<IP_ADDRESS>"

Notably, the ncurses' /lib and /include dirs are forgotten about. The challenge is going to be reintroducing that without breaking cross-compilation of GHC…

The dhall etc. regressions are fixed by passing --with-curses-* again. I'll have to investigate if that's fine to do or causes other problems.
The pcg-random regression remains a mystery. ExitFailure (-11) may indicate a segmentation fault of some kind. I'll try bisecting.

Bisect claims cd31b044130aa79baf368c5c3adb799cf5e3f00b is the first bad commit which is kind of bizarre.

The symptom is indeed that System.Random.PCG.Single.initFrozen 0 segfaults in GHCi (at least in the way cabal-doctest ends up invoking it).

Even more bizarrely, this problem only seems to affect GHC 9.6.

Bisect claims cd31b04 is the first bad commit which is kind of bizarre.

This is beginning to make sense: The built GHCs now retain a reference to the binary GHC used for stage0 in the rpaths of the executables. Whether this is responsible for the segfault I'm not sure about yet. We should get rid of them either way.

pkgsCross.riscv64.haskell.compiler.ghc8107 has apparently regressed… that's what you get for not adding the job right away…

GHC 8.10.7 on aarch64-linux has a similar issue to GHC 9.6 used to have: It retains a reference on the stage0 compiler.

9.10.1 failures we see sometimes are due to: https://gitlab.haskell.org/ghc/ghc/-/issues/25153


Visual Bug on Dark Theme

On linux and also on mac version (don't know if also on windows but it's very likely)
When using the dark theme the textarea (message box is white also the text is white
just a CSS problem

the text in this case is selected

Please use the stable, its been fixed

in the version from website isn't fixed and i also tried a stable release (v1.4.3) still not fixed...anyway..i'm gonna use my build.. 😎

I meant the beta


ignore auto generated "package-lock.json"

Hoping to implement some tooling that keeps yarn.lock and package-lock.json synced, their both used quite a bit.

Using Renovate to maintain npm and yarn lockfiles.


warnings compiling with

I receive the following warnings when compiling with Version 11.0 beta 3 (11M362v) for iOS

12.4

Yea.
Im still sorting out the beta stuff.
It will be ready before XCode 11 is out of beta.


fix gif duration time large than 0.1s bug

if a gif image each duration large than 0.1s, the git image play too fast, because the old code put each image with 0.1s duration

Cannot wait for this pull being merged in!

We will entirely remove our GIF support in 4.0 because it has a poor performance and use an external solution.


Proper way for deploying fastlane based cloud build and deploy service

Question Checklist

[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Question Subject

Fastlane on cloud server with IOS certificates generate and app store deploy
Question Description

we wanted to build cloud based service where user can send project zip file and fastlane will build, sign and deploy for both platforms. but we are lost when it comes to way for converting whole project to cloud service. can you please tell us best practice for deploying fastlane to cloud?

Hi @bhavincb, this is an open source project and not really the right place to ask how to make a business/service out of it. There are a lot of guides that can help you with the fastlane setup over at https://docs.fastlane.tools/ and if you have any specific code questions/problems, we're more than happy to help.
Otherwise I recommend looking for a freelancer/developer with extensive fastlane/spaceship background, who can help you with your task, but your question goes beyond the scope of normal issues.


If the price drops, the bot stops working

if the price of BTC drops, the bot keep trying to buy. is there a possibility that the bot reset after a specific time when the price stays low?

Hi,
I´m working in this bot, but i´m not official, just trying to help.
i make some programming in the bot and by coincidence i make this to help me. the code is:
auto.zip
the code is not the official and tested a little, but if it help you.
others programming to help is:

verify the last action and make the ideal value to buy or sell;
a timeout if not is make in a day and reset;
if the ideal value is not reach que remake the calculations;


GuestAdditions version 5.0.10 r104061 false positive

Hello,
After the last upgrade of VirtualBox, the version detected got a version suffix, can this be fixed somehow?
==> default: Machine booted and ready!
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   5.0.10 r104061
VBoxService inside the vm claims: 5.0.10
Going on, assuming VBoxService is correct...
GuestAdditions 5.0.10 running --- OK.
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   5.0.10 r104061
VBoxService inside the vm claims: 5.0.10
Going on, assuming VBoxService is correct...
==> default: Checking for guest additions in VM...

I just spent 1 hour debugging the source to eventually find this issue and realized that it had already been fixed but the latest release doesn't have the fix. I really wish GitHub best practices included using labels to signify pending version release or something. IMO, the concept of 'Closed' is too narrow/restrictive.
But anyways, kudos on the fix. Thanks.


net standard 2

Any chance of adding net standard 2 to targets so it can be used in other projects (like net framework 4.8)?

I would recommend using the old project we forked from. There are several bugs in earlier frameworks that required workarounds. I wouldn't feel comfortable adding the build target without being able to test all the edge cases.


User name validation for the register form isn't happening on the client

Server-side validation still works.

It's because the regex is using (?i). We need to go through and check all the regex validators.


Add Apache 2 license and CFF Copyright notice

@BooleanCat can you or somebody help get this PR merged?


@glint/scripts missing glob dependency

I can't run the auto-glint-nocheck script via npx:
$ npx -p @glint/scripts auto-glint-nocheck '{addon,tests}/**/*.{ts,hbs,gts}'
node:internal/errors:465
    ErrorCaptureStackTrace(err);
    ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'glob' imported from<EMAIL_ADDRESS>    at new NodeError (node:internal/errors:372:5)
    at packageResolve (node:internal/modules/esm/resolve:954:9)
    at moduleResolve (node:internal/modules/esm/resolve:1003:20)
    at defaultResolve (node:internal/modules/esm/resolve:1218:11)
    at ESMLoader.resolve (node:internal/modules/esm/loader:580:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:294:18)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:80:40)
    at link (node:internal/modules/esm/module_job:78:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

glob is imported here but missing from the package dependencies, unless there's something I'm not understanding?

Sorry about that! Fixed via #435 in v0.9.7


[ISSUE #3741] use pathPatter as default rule condition operator

Dear Community:
I have finished task #3741
please review code.
like this  test case ,request uri /http/shenyu/client/hi can match 3 rule result. please review to confirm whether it is allowed

PathPatternPredicateJudge:ConditionData{paramType='uri', operator='pathPatter', paramName='/', paramValue='/http/test/**'},realData:/http/shenyu/client/hi

PathPatternPredicateJudge:ConditionData{paramType='uri', operator='pathPatter', paramName='/', paramValue='/http/request/**'},realData:/http/shenyu/client/hi

PathPatternPredicateJudge:ConditionData{paramType='uri', operator='pathPatter', paramName='/', paramValue='/http/order/path/**'},realData:/http/shenyu/client/hi

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

/http/shenyu/client/hi should only match conditions like below :
PathPatternPredicateJudge:ConditionData{paramType='uri', operator='pathPatter', paramName='/', paramValue='/http/**'},realData:/http/shenyu/client/hi

PathPatternPredicateJudge:ConditionData{paramType='uri', operator='pathPatter', paramName='/', paramValue='/http/shenyu/**'},realData:/http/shenyu/client/hi

PathPatternPredicateJudge:ConditionData{paramType='uri', operator='pathPatter', paramName='/', paramValue='/http/shenyu/client/**'},realData:/http/shenyu/client/hi

it's correct!
request uri /http/shenyu/client/hi  match 3 conditions. but  PathPatternPredicateJudge return false.
so it's correct!


Provide AnuraSet v3

This repository references AnuraSet v3, but Zenodo lists AnuraSet v2 and v3, only. So please provide AnuraSet v3 to enable reproduction.

Ah, fetcher.py can download it.

I uploaded the datasets to Hugging Face:

https://huggingface.co/datasets/AnuraSet/AnuraSet_v1.0.0
https://huggingface.co/datasets/AnuraSet/AnuraSet_v1.0.0_raw
https://huggingface.co/datasets/AnuraSet/AnuraSet_v2.0.0
https://huggingface.co/datasets/AnuraSet/AnuraSet_v2.0.0_raw

This means they can be downloaded easily and quickly, like so:
from datasets import load_dataset

dataset = load_dataset("AnuraSet/AnuraSet_v2.0.0")

For that to work, I had to split the audio files in the station folders additionally by date. ChatGPT and I came up with this implementation:
import os
import re
from datetime import datetime

def move_files_to_subdirectories(source_dir):
    file_list = os.listdir(source_dir)

    date_pattern = re.compile(r'(\d{8})')

    for filename in file_list:
        match = date_pattern.search(filename)
        if match:
            date_str = match.group(1)
            file_path = os.path.join(source_dir, filename)

            if os.path.isfile(file_path):
                new_dir = os.path.join(source_dir, date_str)
                new_file_path = os.path.join(new_dir, filename)

                if not os.path.exists(new_dir):
                    os.makedirs(new_dir)

                os.rename(file_path, new_file_path)
                print(f"Moved {file_path} to {new_file_path}")

for source_directory in (
    "INCT20955",
    'INCT4',
    'INCT17',
    'INCT41',
):
    move_files_to_subdirectories(source_directory)

I am downloading AnuraSet_v3 using the fetcher, but it takes about 1 day to download. Can you maybe provide another host?

The download of AnuraSet v3 keeps aborting:
/home/bengt/Downloads/github.com/soundclim/anuraset/venv/bin/python /home/bengt/Downloads/github.com/soundclim/anuraset/datasets/fetcher.py
 11%|█         | 77349/692925 [2:46:27<22:04:41,  7.74 MB/s]
Traceback (most recent call last):
  File "/home/bengt/Downloads/github.com/soundclim/anuraset/datasets/fetcher.py", line 245, in <module>
    fetch_anuraset_v3()
  File "/home/bengt/Downloads/github.com/soundclim/anuraset/datasets/fetcher.py", line 184, in fetcher
    fetch_data(files, folder, data_size)
  File "/home/bengt/Downloads/github.com/soundclim/anuraset/datasets/fetcher.py", line 132, in fetch_data
    _get_file_data(fullpath, url)
  File "/home/bengt/Downloads/github.com/soundclim/anuraset/datasets/fetcher.py", line 92, in _get_file_data
    copyfileobj_withprogress(opener, data, response_size)
  File "/home/bengt/Downloads/github.com/soundclim/anuraset/datasets/fetcher.py", line 32, in copyfileobj_withprogress
    buf = fsrc.read(length)
  File "/usr/lib/python3.8/http/client.py", line 459, in read
    n = self.readinto(b)
  File "/usr/lib/python3.8/http/client.py", line 503, in readinto
    n = self.fp.readinto(b)
  File "/usr/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.8/ssl.py", line 1241, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.8/ssl.py", line 1099, in read
    return self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 104] Connection reset by peer

So, I am giving up for now. Please ping me, if a more usable download server becomes available.

AnuraSet v2 is now also on Kaggle:
https://www.kaggle.com/datasets/bengtlueers/anuraset

AnuraSet is now on Kaggle:
https://www.kaggle.com/datasets/bengtlueers/anuraset-v2-0-0
https://www.kaggle.com/datasets/bengtlueers/anuraset-v2-raw

AnuraSet v1.0.0 Raw is now on Kaggle:
https://www.kaggle.com/datasets/bengtlueers/anuraset-v1-0-0-raw

I cannot upload the non-raw v1.0.0 and v2.0.0 datasets to Kaggle, because I am affected by an issue where the website responds with a 404 error upon uploading the dataset: https://www.kaggle.com/discussions/general/403165

Hello, could you please provide a basic directory structure to organize the dataset?


Dynamically generate color domains

In the choropleth map, we currently use a static pre-computed list of color domains.  This works well for dates that have distributions that are close to that color domain.  Unfortunately, for dates that have a relatively low or high distribution, that means almost all of the map shows the minimum or maximum color bucket:

If we instead dynamically calculate the domain range for each date based on that dates actual distribution, we get a much better contrast:

The approach implemented here is to choose 6 buckets between the 10th and 90th percentiles of the distribution inclusively.
The drawback of this approach is that the same color means different things on different dates, i.e. that comparing across time is less useful.  However, we have the time-series charts as the primary mechanism to explore temporal relationships, the choropleth exposes geographic differences.  We may be able to make further improvements, but being able to dynamically calculate domains is a necessary first step.

Cool, thanks.  If we want to change the bucketing algorithm or add some UI to set the range, let's handle that in another PR.


Update gas estimation pages

linea_estimateGas is being activated today, September 30. This PR updates the gas estimation guide accordingly and also amends text in a few other places to reflect the endpoint being fully available.

@bgravenorst thanks for the comments.

Yeah, that makes sense. Will adjust.
Got it, will add in the example but leave out the details.
Agreed, adjusting.
I think we need this content for now, potentially for a few weeks. Not all providers will have switched over immediately.


Image becomes unresponsive after zooming-in / escaping rapidly a few times.

Issue Type

[X] Bug report
[ ] Feature request
[ ] Question / support request
[ ] Other

Description
https://user-images.githubusercontent.com/2076017/212744982-e2466b3c-96f7-46f5-b14c-7bd140aa8ad5.mp4
This one looks a bit like a race condition somewhere and can take quite some time to reproduce.
It happens when zooming-in by click and then zooming out with the escape key. And you do that quickly multiple times until at some point the image becomes unresponsive. It also becomes impossible to click on the text anymore. Double clicking anywhere ends up selecting the image, so it looks like the overlay might still have the focus somehow.
Tested locally on 5.1.2 and can also reproduce on the Storybook samples

This looks like a fun one! Thank you for the report.

@tommoor Are you saying the issue went away but came back recently with the ESC changes?
And do you have bug reproduction steps like above, or are they slightly different?
Thanks for your time!

Just confirming that it still exists and wasn't incidentally fixed by those changes.
I can reproduce usually in a few seconds with the steps above, just click and hit ESC rapidly.

After sitting here for 5min and trying to recreate this in Chrome tonight, I can't break it by clicking a bunch nor clicking with ESC a bunch. If some new info comes to light on how I can repro this, I'll reopen.


Support CreateServiceTimeSeries in GCM exporter

We currently support custom metrics only. These are sent via rpc CreateTimeSeries.
There are also Google-defined metrics, which need to be sent via rpc CreateServiceTimeSeries.
Note that these both use the same request type as CreateTimeSeries. So the conversion from OTel types -> protos is still mostly valid.
We will need to do something about the metric type. The hardcoded "workload.googleapis.com/" prefix is incompatible with Google-defined metrics. Other languages have a configuration option for it.
https://github.com/googleapis/google-cloud-cpp/blob/47e17cdec66d6398966cd095f80cf34a86bffe17/google/cloud/opentelemetry/internal/time_series.cc#L73-L75

We also need to support a custom monitored resource. The code that produces a google::api::MonitoredResource from an opentelemetry::sdk::resource::Resource does not know about all monitored resources, e.g. a bigtable table.
We could either:

Expose an Option to override the MonitoredResource directly.
Set resource attributes to identify the new monitored resource types. Add a case for each new monitored resource type in our conversion function.

We probably want 1.

We could either:

Expose an Option to override the MonitoredResource directly.
Set resource attributes to identify the new monitored resource types. Add a case for each new monitored resource type in our conversion function.

We probably want 1.

(1) is fine for the GCS+gRPC metrics.  Presumably the option would be for the monitored resource type and the attributes will be copied verbatim?  Or would you still convert invalid characters in keys to _ ?


Add commas to displayed numbers for readability

Result

+1

Please don't spam this in twitch.

You might also be interested in this
https://github.com/blole/steamSummerMinigameNumberFormatter
it replaces e.g. 87,654K with 87.6M

Personally, I like having all the digits, except for maybe the skip count, but thanks for the link!


Signatory set transitions

Codecov Report

Merging #8 into master will increase coverage by 1.31%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master       #8      +/-   ##
==========================================
+ Coverage   81.17%   82.48%   +1.31%
==========================================
  Files           8        8
  Lines         563      571       +8
  Branches       63       64       +1
==========================================
+ Hits          457      471      +14
+ Misses         53       47       -6
  Partials       53       53

Impacted Files
Coverage Δ

test/integration.ts
99.21% <100%> (+0.05%)
:arrow_up:

src/signatory.ts
77.63% <0%> (+1.31%)
:arrow_up:

src/reserve.ts
84.41% <0%> (+6.49%)
:arrow_up:

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 25421da...aa47974. Read the comment docs.


Create .scala-steward.conf

We're about to get scala-steward requests on series/0.23.  Most upgrades will originate there, and should be merged from that branch to main.  This will prevent getting two of everything.

@rossabaker thanks for this - I'm in the process of fixing the CI pipeline. Once it's done, I should be in a position to merge.


Fix broken back button on currency select

cc @Julesssss
Details

Code was pointing to a function that didn't exist. Replaced it with the older (but more updated) version that was there previously. Fixes the bug!
Screenshots are in except for Mobile Chrome - I couldn't get it to load on my simulator, but it also wasn't loading on main so it's not this PR.
Fixed Issues

$ https://github.com/Expensify/App/issues/22130
Tests

Click on FAB > Request money
Click on the currency
Remove the &backTo=... from the URL and press enter
Click on the back button
Make sure it goes back to the Request money screen
Repeat with splitting a bill
Repeat with requesting money from an existing money request (so there is a reportID in the URL)

[X] Verify that no errors appear in the JS console

Offline tests

QA Steps

Click on FAB > Request money
Click on the currency
Click on the back button at the top
Make sure it goes back to the new request money screen
Repeat with splitting a bill

[ ] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

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

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

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

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

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

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

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

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

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

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/5487802/4f907916-0817-4856-855b-45b4cc5c1e5a

Mobile Web - Chrome

Mobile Web - Safari

https://github.com/Expensify/App/assets/5487802/89063afa-0f10-4c1f-8188-e5b5b19a73e5

Desktop

https://github.com/Expensify/App/assets/5487802/4b7a9bbc-83e6-4588-9ac1-82dd98e50d6a

iOS

https://github.com/Expensify/App/assets/5487802/84608e99-bf10-4f28-80a2-6924428ef929

Android

https://github.com/Expensify/App/assets/5487802/8465e9e8-1aa8-4a10-b020-b8a6bb110fb6

Starting to look into this

Oh sorry @abdulrahuman5196, I just saw your comment that you have started reviewing already!

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

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

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

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

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

NAB: Not sure why we have to do "Remove the &backTo=... from the URL and press enter" in tests. backTo is used during currency selection which is same way after this PR as well.

NAB: Kindly mark "Verify that no errors appear in the JS console" in QA tests as well.

Screenshot for the missing Chrome Web platform:

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/cristipaval in version: 1.3.36-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.3.36-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

Navigation.goBack() will use that &BackTo... part

@dangrous I doubt that. AFAIK backTo is only used after we select currency. The route we gave in Navigation.goBack will be used regardless of backTo present in the URL or not. Correct me if wrong.

Hm maybe I'm misinterpreting the parameter name, it's definitely called a fallbackRoute but maybe the non-fallback route isn't from the URL