More text layout optimizations

What does the pull request do?
Episode 3: Revenge of the Codepoint!
Here's another round of text layout performance improvements, this time focused on optimizing the core of text processing: Codepoint, Grapheme and their enumerators. These are called so often in the text layout process that even micro optimizations are significant here.

Codepoint.ReadAt is optimized to have less branches, less bound checks added by the JIT, ReplacementCodepoint being inlined as const instead of loading a static field, and the whole method being aggressively inlined. It's the very core of text processing, and these simple changes have measurable impact.

GraphemeEnumerator is improved to avoid reading codepoints twice. Previously n+1 codepoints were read to form a grapheme with n codepoints. The extra codepoint acting as a boundary was discarded, then the next grapheme was read, starting again at that codepoint. This PR changes the algorithm so that the extra codepoint is used in the next grapheme instead of having to be read again. This cuts the time spent reading codepoints in half for strings without surrogates.

LineBreakEnumerator, BidiAlgorithm and BidiData use bitmasks instead of many if/switch when possible to avoid many comparisons.

At a bit higher level, FontManager and GlyphTypeface are stored and passed around to avoid having to lookup FontManager.Current in the container many times.

The Grapheme changes from #9928 (removal of the Text field) are restored, they were lost with the changes in #9982.

Some IReadOnlyList<T> interfaces calls are avoided.

Perf changes

Method
Wrap
Trim
Before
After
Change

BuildTextLayout
False
False
340.5 us
206.2 us
-39%

BuildEmojisTextLayout
False
False
735.7 us
483.3 us
-34%

BuildManySmallTexts
False
False
2,579.7 us
1,958.8 us
-24%

VirtualizeTextBlocks
False
False
3,784.5 us
3,174.9 us
-16%

BuildTextLayout
False
True
362.3 us
219.5 us
-39%

BuildEmojisTextLayout
False
True
773.1 us
517.8 us
-33%

BuildManySmallTexts
False
True
2,928.5 us
2,135.9 us
-27%

VirtualizeTextBlocks
False
True
3,772.2 us
3,207.1 us
-15%

BuildTextLayout
True
False
2,249.2 us
1,541.5 us
-31%

BuildEmojisTextLayout
True
False
11,478.4 us
8,212.8 us
-28%

BuildManySmallTexts
True
False
3,490.3 us
2,637.5 us
-24%

VirtualizeTextBlocks
True
False
3,705.2 us
3,125.1 us
-16%

BuildTextLayout
True
True
2,284.8 us
1,558.6 us
-32%

BuildEmojisTextLayout
True
True
11,148.2 us
8,287.4 us
-26%

BuildManySmallTexts
True
True
3,711.1 us
2,973.4 us
-20%

VirtualizeTextBlocks
True
True
3,798.6 us
3,117.0 us
-18%

The benchmarks were executed on master and this branch with MockGlyphRun a bit optimized to avoid LINQ. Mocks aren't meant to be optimized, but it was taking a significant time.
While executing with mocks is nice to see how much the code was improved, I also added an option to execute the benchmark with the Skia renderer. Results are a bit less shiny, but more accurately represent a real usage. HarfBuzz takes most of the time here, which is great (Avalonia shouldn't be the bottleneck).

Results with HarfBuzz

Method
Wrap
Trim
Before
After
Change

BuildTextLayout
False
False
758.7 us
619.3 us
-18%

BuildEmojisTextLayout
False
False
2,079.1 us
1,858.9 us
-11%

BuildManySmallTexts
False
False
5,564.0 us
5,085.6 us
-9%

VirtualizeTextBlocks
False
False
7,104.4 us
6,445.8 us
-9%

BuildTextLayout
False
True
813.5 us
667.5 us
-18%

BuildEmojisTextLayout
False
True
2,195.6 us
1,926.7 us
-12%

BuildManySmallTexts
False
True
5,636.6 us
4,999.8 us
-11%

VirtualizeTextBlocks
False
True
7,235.0 us
6,432.8 us
-11%

BuildTextLayout
True
False
1,811.1 us
1,278.0 us
-29%

BuildEmojisTextLayout
True
False
5,412.9 us
3,888.3 us
-28%

BuildManySmallTexts
True
False
6,645.3 us
5,772.4 us
-13%

VirtualizeTextBlocks
True
False
7,121.7 us
6,290.1 us
-12%

BuildTextLayout
True
True
1,797.3 us
1,277.2 us
-29%

BuildEmojisTextLayout
True
True
5,609.6 us
3,872.6 us
-31%

BuildManySmallTexts
True
True
6,530.3 us
5,778.6 us
-12%

VirtualizeTextBlocks
True
True
7,096.7 us
6,498.6 us
-8%

You can test this PR using the following package version. 11.0.999-cibuild0028909-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]


Pull request with type [CREATE] for user [JordanTheITGuy] and object type [ConfigurationItem] - titled [LOG4J - Hash Level Evaluation]

Automated pull request from the Endpoint Configuration Manager Community hub.

and this one too @silveyy

@AdamGrossTX  Done but we need one more reviewer (hint, hint).

In reply to: 995313088


Add more line chart style properties settings support

希望能够设置更丰富的折线图的样式，比如每个点的大小样式，平滑样式等等

Thanks for your issue. Sorry for the late reply. Excelize library support to set marker type and custom line width since v2.3.2, relate issues #549 and #657, and support specify if the smooth line of the line chart since version v2.7.0, related issue #1290. I've closed this issue, if you have any feedback please let me know, and reopen this anytime.


different paths for assets of v3 and v4

chunk verifier v3 and v4 needs different assets path to be initialised

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 52.67%. Comparing base (82f39aa) to head (1e40150).

Additional details and impacted files
@@              Coverage Diff               @@
##           feat/upgrade4    #1461   +/-   ##
==============================================
  Coverage          52.67%   52.67%
==============================================
  Files                157      157
  Lines              12527    12527
==============================================
  Hits                6599     6599
  Misses              5367     5367
  Partials             561      561

Flag
Coverage Δ

database
42.85% <ø> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


targetStart out of bounds in websocket

Getting a lot of these on server with about 3000 connections to it
Error: targetStart out of bounds
at Buffer.copy (buffer.js:486:11)
at Parser.add (/home/node/node_modules/socket.io/lib/transports/websocket/hybi-16.js:456:8)
at Socket. (/home/node/node_modules/socket.io/lib/transports/websocket/hybi-16.js:142:17)
at Socket.emit (events.js:67:17)
at TCP.onread (net.js:329:14)
Also these which totally kills the server
RangeError: Maximum call stack size exceeded
Unfortunately, it doesn't have a stack trace.

We really should upgrade to the parsers from ws. I've fixed several bugs there, compared to the ones in socket.io... :/

this might have to do with running out of memory and an unknown memory leak I'm investigating.


To those who have issues adapting it with Diffuersers version>=11.0

You might be encoutering error about:
           hidden_states = self.attn1(norm_hidden_states, attention_mask=attention_mask) + hidden_states
Just simply rename argument attention_mask to mask, for self.attn2, rename encoder_hidden_states to context will fix the issue.
It is because the register_attention_control function have different argument names with new version of diffusers.

hello, could you explain this issue a bit more?
i believe i have run into it in some "updated" form, getting the error forward() got an unexpected keyword argument 'encoder_hidden_states' when running register_attention_control on null-inversion - yet i don't quite catch what and where should be changed to avoid that. do you mean changing the original diffusers code?

ok fixed my case by reversing the advice - renamed the stuff in register_attention_control function.
context => encoder_hidden_states, mask => attention_mask, CrossAttention => AttentionBlock

@eps696  I followed your advice, but found if change CrossAttention to AttentionBlock, the attention_store would be none. So in my case, I renamed context and mask, and stay with CrossAttention.

On latest 0.13.1 diffusers version I had to:
rename context => encoder_hidden_states, mask => attention_mask,  self.reshape_heads_to_batch_dim -> self.head_to_batch_dim, self.reshape_batch_dim_to_heads -> self.batch_to_head_dim in register_attention_control and it started working correctly

@liangbingzhao @bonlime you are definitely right, i didn't notice that changing the block effectively disabled main workflow. yet the CrossAttention refactoring after 0.11.1 was quite gross, so i'm afraid more issues might appear

i also use 0.13.1 diffusers version but got a problem
TypeError: PNDMScheduler.set_timesteps() got an unexpected keyword argument 'offset'
how should i fix it

@moonnnpie in the ptp_util.py, omit extra_set_kwargs = {"offset": 1}, and change model.scheduler.set_timesteps(num_inference_steps, **extra_set_kwargs) to model.scheduler.set_timesteps(num_inference_steps). This error is because in the previous diffusers, scheduler's set_timesteps function has a param offset.

thanks a lot

@liangbingzhao thanks a lot

Hi, all, I have tried to port to diffusers==0.14.0, there is no runing error, but the result is actually bad...
https://github.com/JiauZhang/prompt-to-prompt   for now, I just simple replace attention map.
Could anyone give me some advice？

Hi, all, I have tried to port to diffusers==0.14.0, there is no runing error, but the result is actually bad... https://github.com/JiauZhang/prompt-to-prompt for now, I just simple replace attention map. Could anyone give me some advice？

Is it solved?

extra_set_kwargs

it's a great advice!!!!

@moonnnpie in the ptp_util.py, omit extra_set_kwargs = {"offset": 1}, and change model.scheduler.set_timesteps(num_inference_steps, **extra_set_kwargs) to model.scheduler.set_timesteps(num_inference_steps). This error is because in the previous diffusers, scheduler's set_timesteps function has a param offset.

it's a great advice!!!!


SGID Index reference

Benefit
To increase awareness and understanding of UGRC staff about the purpose and use of the SGID Index sheet.
Acceptance Criteria

[ ] https://github.com/agrc/gis.utah.gov/issues/2685

Notes
No response
Risks
No response
Issue Reference
refs #

https://stackoverflowteams.com/c/ugrc/questions/162


Add timeout flag for container start times

This currently depends on a runc PR:
https://github.com/opencontainers/runc/pull/703
We need this pr because we have to SIGKILL runc and the container root
dir will still be left around.
As for the containerd changes this adds a flag to containerd so that you
can configure the timeout without any more code changes.  It also adds
better handling in the error cases and will kill the containerd-shim and
runc ( as well as the user process if it exists ) if the timeout is hit.
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

LGTM btw.

@mlaventure @tonistiigi this should be good to merge now that the runc PR has been merged

Should we pass the value down to runC?

@mlaventure i don't think so.  You can pass hook timeouts via the spec and this is for container in general.

My bad, didn't look at the runc PR before commenting :trollface:
LGTM!


chore: add SchnorrSignature struct

This helps avoid us having to merge and split the signature element arrays a couple of times, avoiding the situation where SchnorrConvert is thrown in #151. It also motivates removal of the SchnorrSlice  error variant .

These errors stemmed from us trying to construct a "signature" when we always needed a sig_s and sig_e. Instead of trying to construct & deconstruct all over the backend, I've instead just using sig_s and sig_e everywhere. The only place this had significant impact was in the Circuit -> ConstraintSystem conversion, but that uses iterators so it was fine too.
Superseded by https://github.com/noir-lang/aztec_backend/pull/151/commits/8c56b112b9f045f2ee7b93d88ef7eb8c809cc5f9 in #151


Locket client timeout causes failure in environments with very slow dns servers

https://github.com/cloudfoundry/locket/blob/e5af96fd22a0cf2d517175d5c5d896967e6966bc/locket_client.go#L56
This issue is meant to be informational. I freely concede that DNS queries should take less than 10 seconds, but this could happen to someone else.
If your DNS server takes more than 10 seconds then the locket client fails to connect. routing-api (using the locketClient) seems to ask and wait for replies from all configured dns servers. The DNS query doesn't resolve fast enough and the timeout condition is met (opps!).
As suggested on slack, we will reconfigure our deployment to use bosh-dns with those external servers as recursors instead. Not sure if the timeout could be increased or made adjustable without penalty.

We're currently facing exactly the same issue.
So can you share more details on what you've made?
Some experiments that we have done are:

Adding <IP_ADDRESS> as the first external DNS server in diego_database works;
Removing all external DNS servers in diego_database works;
But adding <IP_ADDRESS> as the first external DNS server would cause some other components fail.

Thanks for reporting this, @metron2, and to both you and @brightzheng100 for investigating the configuration around this issue. We believe this issue results from an issue with DNS resolution in Golang 1.11 (https://github.com/golang/go/issues/27525), which is fixed in Golang 1.11.1 via the backport at https://github.com/golang/go/issues/27537. In particular, this means we would expect it to affect only Diego v2.18.0: Diego v2.17.0 and earlier use Golang 1.10 or earlier, and v2.19.0 and later use Golang 1.11.1 or later. Do you happen to know which version of Diego was deployed in your CF cluster when you encountered this issue?
Best,
Eric, CF Diego PM


module 'rdkit.Chem.Fragments' has no attribute 'fr_xxxx'

RDKit version:  '2024.03.5'
OS: windows
Python version (if relevant): 3.12.5
Are you using conda? miniconda
If you are using conda, which channel did you install the rdkit from?  conda-forge
If you are not using conda: how did you install the RDKit?

I tried a clean env with only RDKit and jupyter notebook installed, got the same error.
Code:
smile = "CN(CCCNC(=O)C1CCCO1)C2=NC3=CC(=C(C=C3C(=N2)N)OC)OC"
mol = Chem.MolFromSmiles(smile)
Chem.Fragments.fr_amide(mol)

You have to import the Fragments module:
In [1]: from rdkit import Chem

In [2]: m = Chem.MolFromSmiles('CC(=O)NC')

In [3]: from rdkit.Chem import Fragments

In [4]: Fragments.fr_amide(m)
Out[4]: 1

Please do not open a new issue just because you have a question.
The place to ask questions about the RDKit is in the discussions tab, not by opening issues.
I think you might find this one relevant:
https://github.com/rdkit/rdkit/discussions/6151


Use the Azure logo, not icon, in our docs

We recently updated our docs to use the new fluent Azure icon. I believe we should be using the Azure logo, not the icon. The icon is used sparingly in the usual places an icon would show up. The linked to article above says:

Azure’s primary logo continues to be the Microsoft four square.

Which I take to mean we should actually be using something more like the logo used elsewhere in Microsoft's docs:

Notably, I suspect few people would understand that the A box here represents Azure:

Using the more familiar logo which Microsoft also uses extensively should be a lot more recognizable to our end users.

okay this is fixed in https://github.com/pulumi/pulumi-hugo/pull/821 which i will merge in a few
note that i did keep the icon in the slot machine, and updated that to the new one since it was still using the old one
but everywhere else should soon have the wordmark

oh also @infin8x when we are able to connect with and hear back from Microsoft on if they have an updated lock up they want us to use we will update it then.


Safari 13 bug: SyntaxError: Unexpected token '='. Expected an opening '(' before a method's parameter list.

Describe the bug
Safari 13.1.2 throws an error :
SyntaxError: Unexpected token '='. Expected an opening '(' before a method's parameter list.
To Reproduce
Steps to reproduce the behavior:

Use Safari 13.1.2
Try to complete a payment

Expected behavior
For there to be no error in Safari 13
Screenshots
If applicable, add screenshots to help explain your problem.
Screenshot of Sentry issue:

The result is a non-loading page because it's a "fatal" error
Smartphone (please complete the following information):

Device: iPhone
Browser: Safari 13

Additional context
Looking on StackOverflow this seems to be the related error:
https://stackoverflow.com/questions/60026651/safari-unexpected-token-expected-an-opening-before-a-methods-paramet

Hello @DannyvanHolten
What version of adyen-web are you using?
Also what time of integration, does it come from the embedded script or through npm? If the later what module are you importing?

To add on top of the @m1aw questions - which payment method did you try? can you tell us in which step it crashes?

We are using 4.9.0 from npm. I cannot actually see from with payment method this is coming. As I don't have Safari 13 myself.
It seems to be a payment method with a QR code.
We are using BCMC Mobile & WeChat as payment methods that have a QR code. So it might be one of those 2


Formatting Issues With Exporting Mobile Concentration Files in Workshop task1

I am trying out FESTIM for the first time and am starting to work my way through the workshop notebooks. I am running version 1.0 in Google Colab, and after figuring out how to get FEniCS installed I was able to run cells 1-8 with no problem. However, upon trying to retrieve the data for plotting I get the following error:
import matplotlib.pyplot as plt
import numpy as np

data = np.genfromtxt(results_folder + "/mobile_concentration_100s.txt")

plt.plot(data[:,0], data[:,1])
plt.show()

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-14-c1e47a4b847f> in <cell line: 4>()
      2 import numpy as np
      3
----> 4 data = np.genfromtxt(results_folder + "/mobile_concentration_100s.txt")
      5
      6 plt.plot(data[:,0], data[:,1])

/usr/local/lib/python3.10/dist-packages/numpy/lib/_datasource.py in open(self, path, mode, encoding, newline)
    531                                       encoding=encoding, newline=newline)
    532         else:
--> 533             raise FileNotFoundError(f"{path} not found.")
    534
    535

FileNotFoundError: /content/drive/My Drive/FESTIM/task1/mobile_concentration_100s.txt not found.

I looked at the naming of the output file and there seems to be a formatting error for mobile_concentration_*.txt. In particular, there is a floating point precision error when appending the timestamp to the end of the filename it is mobile_concentration_99.9999999999986s.txt.
I have corresponded with Remi on this and he says that this is a quick fix that will be addressed in the next version of the code. In the meantime, one can get around the issue by either installing a different version, as provided by Remi:

Just fyi, you can install any released version of the code like:
pip install festim==1.0
but also a github branch:
pip install git+https://github.com/festim-dev/festim@main
pip install git+https://github.com/festim-dev/festim@fenicsx
but even the version of the code at a specific commit:
pip install git+https://github.com/festim-dev/festim@56089a5
Of course, this opens the possibility of other bugs, but might help get around this formatting issue for now until a stable version of FESTIM with this bug fix comes out.

Hope this helps anyone else for which this was causing confusion!

A solution would be to either:

replace this line by

header = f"x,t={current_time:.2e}s"

modify is_it_time_to_export (here) so that it returns the user-input time and then use this user-input time in the header instead of current_time which may have a lot of decimals!

@ee-nn, @RemDelaporteMathurin, It seems to me that both solutions can be combined together. The first one will make headers of txt-files more elegant for the case, when export is made at all timesteps, i.e. TXTExport.times = None. The second one is indeed better when the required times for export are provided. Imagine that we want to export data at t=1001 and t=1002. In this case, we'll get two columns with the same name. Not really a problem, but can be improved by implementing the second suggestion.

@KulaginVladimir you're correct we could end up with two columns with the same name. We could expose the format (eg .2e, .2f, .4e etc.) to the users


Legend

now the legend can be moved wherever you want with ax.legend(loc=lowerleft, bbox_to_anchor=(1, 0)...), even outside the plot. Furthermore, the colors of different plot lines are accepted in legends in matplotlib2tikz.

Code-wise this is okay now. Now for the actual impact of this: Could post a before-after of the legends2 test?

Everything which has changed now is the color of the line in the legends. Before it was black now it is blue like the line graph as it should be. Only the hashs have to be changed.

Oh my, I think I messed up this PR trying to merge. @danielhkl, could you check the diff? (Especially the childAlignment part.)


Question: how to handle dynamic theme colors

Hello,
thanks for your great work here, appreciated 🙏
my question is how to handle dynamic theme colors, and fonts.
For example I've colors that will fetch from server, and want to set theme based on server response!
thanks in advance

Hi, I usually add theme variable as a style with colors to be set as CSS variables. Here is a simple example from this repo: https://github.com/marklawlor/nativewind/blob/main/examples/expo-router/app/(tabs)/index.tsx#L10
More advanced setup that I am using:

Wrap your components with this Wrapper
Colors can be a Ts/Js variable that can come from your files or the server (example)
Tailwind CSS file will look more like this then: https://github.com/nodegram/nativeflare/blob/main/apps/expo-demo/tailwind.config.js

NativeFlare is also an open-source project on top of NativeWind which will provide the community more guidelines on building an easy and structured design system for React Native. I will be pushing some updated to the docs this week in order to share knowledge on how to setup on your own!

Current NativeWind (v2) cannot handle this. Like mention above, v4 will allow you to use CSS variables for dynamic values.


Added restored keys count status report on USR1 signal, and at the end of the sync.

Similar to what the dd does when the user sends the USR1 signal, for windows platform, this is a noop.
Also added the same report of restored keys count to be printed at the end of the sync.

Hey, thanks for opening the PR. :)
We're thinking about adding something like this, but there's a difference between what dd does and what rump does.
While dd generally knows upfront the total data, and can calculate a progress, rump can't, because of the SCAN command.
Same thing goes for calculating the restored keys.
One of the first versions of rump had the total calculated, but that number is not accurate, because SCAN can return elements multiple times, as described in the docs:
https://redis.io/commands/scan
If you know that your DB has 100 keys and rump outputs 103 keys transferred, it looks wrong.
Let's discuss in an issue how can we solve the progress problem?

Ok, cool. Let's close it for now then. Thanks! :)


type-erased the replication systems

Context
Currently we have 1 replication system per component. It is fairly expensive to run because we have to maintain one query/one system per component.
This PR switches to a single system for replication that iterates through every archetype, similar to what replicon does (credit to them!).
The new approach iterates through each archetype that we know has the ReplicateToTarget component.
Is it actually more efficient? I'm not sure, since data in bevy is stored in a column-order, so fetching data per column is probably much faster. Maybe with queries as entities, once we have a ComponentIndex and a more efficient way of updating queries the old approach will be better?
For serialization, maybe we might want to serialize data component-per-component? (e.g. by column instead of by row). Seems like it would give better compression results.
i.e. maybe the serialization would be something like:

write all the entities that are despawned
write all entities in the archetype and serialize them in a row
write their spawn status (None, Spawn, SpawnReuse)
for each component C,

write a bitmap that indicates for each entity if it's an include/insert/or None.
write all the values 1 by 1. In particular we fetch the data in column format, so we should have better cache-lines, etc.?

write removals separetely

NOTE:

all unit tests pass but the xpbd_physics example is buggy, so our unit test suite is not enough

Codecov Report
Attention: Patch coverage is 90.29126% with 30 lines in your changes missing coverage. Please review.

Project coverage is 70.62%. Comparing base (90c4881) to head (16fa38e).

Files
Patch %
Lines

lightyear/src/server/replication.rs
91.16%
19 Missing :warning:

lightyear/src/protocol/registry.rs
0.00%
7 Missing :warning:

lightyear/src/shared/replication/archetypes.rs
93.75%
4 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #461      +/-   ##
==========================================
+ Coverage   70.35%   70.62%   +0.27%
==========================================
  Files         137      138       +1
  Lines        9592     9726     +134
==========================================
+ Hits         6748     6869     +121
- Misses       2844     2857      +13

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fix exec/array_of_references testcase

Without this patch, I get the following output when running the test suite:
ERROR:exec_tests:File "/mjtest/tests/exec/.preprocessed/array_of_references.java" isn't valid Java
[FAIL   ] compile-firm:array_of_references.java   invalid java code, but output file missing
Report for failing test case array_of_references.java
Invalid java code, but output file missing
Error code: 1
Javac error message:

[0001]    array_of_references.java:2: error: cannot find symbol
[0002]      public A x1;
[0003]             ^
[0004]      symbol:   class A
[0005]      location: class array_of_references
[0006]    array_of_references.java:3: error: cannot find symbol
[0007]      public A x2;
[0008]             ^
[0009]      symbol:   class A
[0010]      location: class array_of_references
[0011]    array_of_references.java:4: error: cannot find symbol
[0012]      public A x3;
[0013]             ^
[0014]      symbol:   class A
[0015]      location: class array_of_references
[0016]    array_of_references.java:5: error: cannot find symbol
[0017]      public A x4;
[0018]             ^
[0019]      symbol:   class A
[0020]      location: class array_of_references
[0021]    array_of_references.java:6: error: cannot find symbol
[0022]      public A x5;
[0023]             ^
[0024]      symbol:   class A
[0025]      location: class array_of_references
[0026]    array_of_references.java:7: error: cannot find symbol
[0027]      public A x6;
[0028]             ^
[0029]      symbol:   class A
[0030]      location: class array_of_references
[0031]    array_of_references.java:8: error: cannot find symbol
[0032]      public A x7;
[0033]             ^
[0034]      symbol:   class A
[0035]      location: class array_of_references
[0036]    array_of_references.java:9: error: cannot find symbol
[0037]      public A x8;
[0038]             ^
[0039]      symbol:   class A
[0040]      location: class array_of_references
[0041]    array_of_references.java:10: error: cannot find symbol
[0042]      public A x9;
[0043]             ^
[0044]      symbol:   class A
[0045]      location: class array_of_references
[0046]    array_of_references.java:11: error: cannot find symbol
[0047]      public A x10;
[0048]             ^
[0049]      symbol:   class A
[0050]      location: class array_of_references
[0051]    array_of_references.java:12: error: cannot find symbol
[0052]      public A x11;
[0053]             ^
[0054]      symbol:   class A
[0055]      location: class array_of_references
[0056]    array_of_references.java:13: error: cannot find symbol
[0057]      public A x12;
[0058]             ^
[0059]      symbol:   class A
[0060]      location: class array_of_references
[0061]    array_of_references.java:14: error: cannot find symbol
[0062]      public A x13;
[0063]             ^
[0064]      symbol:   class A
[0065]      location: class array_of_references
[0066]    array_of_references.java:15: error: cannot find symbol
[0067]      public A x14;
[0068]             ^
[0069]      symbol:   class A
[0070]      location: class array_of_references
[0071]    array_of_references.java:16: error: cannot find symbol
[0072]      public A x15;
[0073]             ^
[0074]      symbol:   class A
[0075]      location: class array_of_references
[0076]    array_of_references.java:17: error: cannot find symbol
[0077]      public A x16;
[0078]             ^
[0079]      symbol:   class A
[0080]      location: class array_of_references
[0081]    array_of_references.java:18: error: cannot find symbol
[0082]      public A x17;
[0083]             ^
[0084]      symbol:   class A
[0085]      location: class array_of_references
[0086]    array_of_references.java:19: error: cannot find symbol
[0087]      public A x18;
[0088]             ^
[0089]      symbol:   class A
[0090]      location: class array_of_references
[0091]    array_of_references.java:20: error: cannot find symbol
[0092]      public A x19;
[0093]             ^
[0094]      symbol:   class A
[0095]      location: class array_of_references
[0096]    array_of_references.java:21: error: cannot find symbol
[0097]      public A x20;
[0098]             ^
[0099]      symbol:   class A
[0100]      location: class array_of_references
[0101]    array_of_references.java:24: error: cannot find symbol
[0102]        A[] a = new A[131072];
[0103]        ^
[0104]      symbol:   class A
[0105]      location: class array_of_references
[0106]    array_of_references.java:24: error: cannot find symbol
[0107]        A[] a = new A[131072];
[0108]                    ^
[0109]      symbol:   class A
[0110]      location: class array_of_references
[0111]    array_of_references.java:25: error: cannot find symbol
[0112]        a[131071] = new A();
[0113]                        ^
[0114]      symbol:   class A
[0115]      location: class array_of_references
[0116]    array_of_references.java:26: error: cannot find symbol
[0117]        a[131071].x1 = new A();
[0118]                           ^
[0119]      symbol:   class A
[0120]      location: class array_of_references
[0121]    24 errors
[0122]

Source file:

[0001]    class array_of_references {
[0002]      public A x1;
[0003]      public A x2;
[0004]      public A x3;
[0005]      public A x4;
[0006]      public A x5;
[0007]      public A x6;
[0008]      public A x7;
[0009]      public A x8;
[0010]      public A x9;
[0011]      public A x10;
[0012]      public A x11;
[0013]      public A x12;
[0014]      public A x13;
[0015]      public A x14;
[0016]      public A x15;
[0017]      public A x16;
[0018]      public A x17;
[0019]      public A x18;
[0020]      public A x19;
[0021]      public A x20;
[0022]
[0023]      public static void main(String[] args) {
[0024]        A[] a = new A[131072];
[0025]        a[131071] = new A();
[0026]        a[131071].x1 = new A();
[0027]        if (a[131071].x1 != null) {
[0028]          System.out.println(0);
[0029]        }
[0030]      }
[0031]    }
[0032]

Ouch, I was stupid. Hang on...

Ah, right, you already did the hard work :) Was about to open the same PR.


Duplication in docs

Description
There's some duplication in the documentation:
token - which is a JWT token which allow to create a requests to auth endpoints. in the [config](https://loco.rs/docs/getting-started/config/) you can change the default token expiration and make sure that secret is different between the environments.

pid - generated id when creating a new user.

name - the user name.

is_verified - Is a flag if the user verify his account or not.

Token: A JWT token enabling requests to authentication endpoints. Refer to the [configuration documentation](https://loco.rs/docs/getting-started/config/) to customize the default token expiration and ensure that the secret differs between environments.

pid - A unique identifier generated when creating a new user.

Name - The user's name associated with the account.

Is Verified - A flag indicating whether the user has verified their account.

To Reproduce
Found here: https://loco.rs/docs/features/authentication/
Expected Behavior
A clear and concise description of what you expected to happen.
Environment:
Additional Context
Include additional context about the issue in this section. For instance, share insights into the bug's discovery process or any hypotInclude additional context about the issue in this section. For instance, share insights into the bug's discovery process or any hypotheses you may have regarding the root cause or specific aspects where Loco may be malfunctioning.

Thanks @thesurlydev i have removed the duplication and going to update the site soon


[KO] Translation of Pattern Matching Lesson

#201 :sweat_smile: Any improvements or suggestions are welcome.

@devleoper, @rijgndqw012

No problem. very nice.

While translating some words to korean word, i found few things which is ambiguous to translate. For example, some people say list comprehension as '리스트 해석', other people say '리스트 통합'
So, we searched those keywords in google, other functional programming language reference, and erlang programming language book(all of these are translated into korean).
It may remains inconsistency of tone, or wrong translated words.
To avoid awkward translation and share how to translate some ambiguous words, we made trello board which is related to translation. if you see something awkward and report us, it would be very appreciated.


Why Typia doesn't work via ts-node?

Question
My Typescript project using Typia builds and runs successfully. But trying to run anything that touches Typia via ts-node give error like:

Error on typia.assertEquals(): no transform has been configured. Read and follow https://typia.io/docs/setup please. at halt (/home/node/node_modules/typia/src/module.ts:659:11), at Object.assertEquals (/home/node/node_modules/typia/src/module.ts:257:5)

I've followed the instructions at said link (as stated, project builds and runs, it's just trying to run via ts-node that doesn't work). Couldn't find much on how to run with ts-node. AFAICT only thing you have to do is set the ts-node compiler option to ts-patch/compiler? My tsconfig.json is below.
{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "module": "commonjs",
    "isolatedModules": true,
    "moduleResolution": "node",
    "noImplicitAny": false,
    "outDir": "./dist/",
    "strict": true,
    "lib": [
      "ESNEXT",
      "DOM"
    ],
    "target": "ES6",
    "useDefineForClassFields": true,
    "resolveJsonModule": true,
    "sourceMap": true,
    "baseUrl": ".",
    "paths": {
      "@/*": [
        "./src/*"
      ],
      "@package": [
        "./package.json"
      ]
    },
    "plugins": [
      {
        "transform": "typescript-transform-paths"
      },
      {
        "transform": "typia/lib/transform"
      }
    ],
    "strictNullChecks": true
  },
  "include": [
    "src/**/*.ts",
    "scripts/*.ts"
  ],
  "exclude": [
    "node_modules/*",
    "**/*-aot.ts"
  ],
  "ts-node": {
    "compiler": "ts-patch/compiler",
    "transpileOnly": true,
    "require": [
      "typescript-transform-paths/register"
    ]
  }
}

Because of transpileOnly option

Because of transpileOnly option

Thanks for quick reply @samchon. Thought it might be related to that option but if I disable it I get weird errors from ts-node like it's trying to compile already compiled code.
npm exec -- ts-node src/index.ts
/home/node/node_modules/ts-node/src/index.ts:859
    return new TSError(diagnosticText, diagnosticCodes, diagnostics);
           ^
TSError: ⨯ Unable to compile TypeScript:
src/rest-api.ts:25:7 - error TS2451: Cannot redeclare block-scoped variable 'config_1'.

25 const config_1 = __importDefault(require("./config"));
         ~~~~~~~~

  src/index.ts:20:7
    20 const config_1 = __importDefault(require("./config"));
             ~~~~~~~~
    'config_1' was also declared here.
src/rest-api.ts:32:22 - error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation.

32     return __awaiter(this, void 0, void 0, function* () {
                        ~~~~
src/rest-api.ts:65:22 - error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation.

65     return __awaiter(this, void 0, void 0, function* () {
                        ~~~~
src/rest-api.ts:86:55 - error TS18046: 'e' is of type 'unknown'.

Do I need to add something to ts-node tsconfig.json require array like typescript-transform-paths?

The errors are came from typia.
Just remove the ts-node property from tsconfig.json, and run the ts-node src/index.ts command.
After that, tell me the result please.

If I completely remove ts-node section from tsconfig it works! No idea why but thanks!


better way to ref docs.ms.com

This is a better way to reference https://docs.microsoft.com/ documents. Even better is to use @guardrex  awesome tool https://xrefgen.azurewebsites.net/?handler=GetSearchResults and click the copy button.
cc @tdykstra @scottaddie  to see if this PR is worth doing. I think so because lots of folks look at current doc on how to do updates, new docs, etc.

Yes, it's worth doing, but for xref links the new VS Code Docs Authoring Pack xref link generation function is much better than the xrefgen site.


jest/no-commented-out-tests should error and not warn

https://github.com/jest-community/eslint-plugin-jest/blob/v26.1.3/docs/rules/no-commented-out-tests.md

This is a bit annoying to maintain, let's leave this out for now.


Copy Git's behavior for resuming/aborting a workflow

When you run this tool for the first time, when it generates a release spec template, if it can't open your editor, it'll just spit out the path to the file it made and quit. Then when you've edited the file, you can just re-run the tool and it'll read the file and resume the workflow.
The problem is that if the tool throws an error while it's executing the release spec, the release spec file will stick around. That's fine, but it means that if you run the tool again, it will attempt to resume the workflow instead of regenerating a fresh release spec. That doesn't always work right now, because some things may have already been applied — some versions of packages might have been updated already, or the release branch may have already been created, or something like that.
Two things: 1) We plan on fixing this issue in #9, and 2) to get around this, we have a --reset option that lets you restart the entire workflow if that's what you want.
But it raises a question: is it expected that re-running the tool will resume the workflow? I'm not so sure. Git, for instance, will produce an error if you attempt to restart a merge or rebase or reapply a cherry-pick while you are resolving conflicts. If you want to start over, you can say --abort; if you want to resume, you can say --continue. This seems like a good workflow, and I think it would make sense to adopt this instead of a --reset option.

It would be easier to address #17 before addressing this issue. This is because currently it is possible for the tool to crash while executing a release spec, leaving the release branch in a mixed state (changes have been made to some packages, but other changes are outstanding). In such a state, the user could conceivably edit the release spec, then re-run the tool. That would break things, but we would have to account for this possibility while implementing the --continue flag in this PR. Specifically, in the case in which the release spec already exists and --continue is not provided, the tool would have to dissuade people from editing:

Error: It looks like you are in the middle of a run. This could either mean that you haven't edited the release spec yet, or you have and the tool unexpectedly stopped while executing it.
You can re-run this tool with --continue if you want to resume the run, or you can use --abort if you want to revert all changes made so far and start over.
If you need to access the release spec again, here is its path:
... release spec path goes here ...
... stacktrace goes here ...

If we revert all changes after a crash, then it places the tool in the same state as if they were to have run it for the first time and failed to edit the release spec. This means that we can recommend that the user (re-)edit the release spec (and frankly I think this is a reasonable feature). Using --abort would no longer really be necessary, but we could suggest it anyway for completeness:

Error: It looks like you are in the middle of a run. This means that you haven't edited the release spec yet, or you have and the tool unexpectedly stopped while executing it.
If you need to edit the release spec, please do so now:
... release spec path goes here ...
You can re-run this tool with --continue if you want to execute it again, or you can use --abort if you want to start over.
... stacktrace goes here ...


Good to have if there a way to download Dockerfile of existing image

Good to have if there a way to download Dockerfile of existing image

Probably suitable for Docker Hub.


upgrade ray-tracing branch to main branch

Connections
upgrades this branch to wgpu trunk, also fixes the tlas memory leak for me
Description
This branch is missing a lot of commits, this PR adds those, and also brings the tlas and blas structs up to work with those changes.
Testing
Tested with the three examples added by this change, as well as a basic program that (in a loop) creates blas and tlas, and immediately frees them.

Checklist

[x] Run cargo fmt.
[x] Run cargo clippy. If applicable, add:

[x] --target wasm32-unknown-unknown (done by github actions)
[x] --target wasm32-unknown-emscripten (done by github actions)

[x] Run cargo xtask test to run tests. (done by github actions)
Add change to CHANGELOG.md. I do not think this is applicable as this is part of the ray-tracing PR (gfx-rs/wgpu#3631).

Now ready for review

@Vecvec I would love to have this in wgpu. Given that @daniel-keitel seems to be busy atm, perhaps you want to open your own PR in the wgpu repo? (ofc crediting daniel-keitel).

Thank you! I had assumed @daniel-keitel was just away for Christmas and was not rushing. Currently I am away too and so cannot check merges with trunk have not broken anything, which I would like to do before opening a new PR. If @daniel-keitel is still away when I get back I will create a PR in wgpu as you suggest.

No worries, thanks! Also, I'd love to see BLAS compaction support if you feel like implementing it. It's a major missing part of RT.

I'd love to implement this, however looking at Vulkan specs VkCopyAccelerationStructureInfoKHR it seems like this needs another hal function, because the suggested specification says :

[Function compact_blas] Creates a new blas and copies (in a compacting way) the contents of the provided blas into the new one (compaction flag must be set).

(https://github.com/gfx-rs/wgpu/issues/1040#issuecomment-1484274170)
Should something such as copy_acceleration_structure_to_acceleration_structure be implemented or is there some other way I have missed that does this?

Yes, this will need some additional work in wgpu-hal. Should hopefully be pretty straightforward for that part, as wgpu-hal tends to be a simple wrapper over VK/DX/Metal.
See https://developer.nvidia.com/blog/tips-acceleration-structure-compaction and https://nvpro-samples.github.io/vk_raytracing_tutorial_KHR/#accelerationstructure/bottom-levelaccelerationstructure

Something like this for Vulkan?
unsafe fn copy_acceleration_structure_to_acceleration_structure<T>(&mut self, src: &Api::AccelerationStructure, dst: &Api::AccelerationStructure, copy: AccelerationStructureCopy) {
        let ray_tracing_functions = self
            .device
            .extension_fns
            .ray_tracing
            .as_ref()
            .expect("Feature `RAY_TRACING` not enabled");

        let structure_type = match copy.type_flags {
            AccelerationStructureType::Triangles => vk::StructureType::ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR,
            AccelerationStructureType::AABBs => vk::StructureType::ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR,
            AccelerationStructureType::Instances => vk::StructureType::ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
        };

        let mode = match copy.copy_flags {
            AccelerationStructureCopy::Clone => vk::CopyAccelerationStructureModeKHR::CLONE,
            AccelerationStructureCopy::Compact => vk::CopyAccelerationStructureModeKHR::COMPACT,
        };

        unsafe {
            ray_tracing_functions.acceleration_structure.copy_acceleration_structure(
                vk::DeferredOperationKHR::null(),
                &vk::CopyAccelerationStructureInfoKHR {
                    s_type: structure_type,
                    p_next: std::ptr::null(),
                    src: src.raw,
                    dst: dst.raw,
                    mode,
                }
            ).expect("Copy Failed");
        }
    }

Something like that, yeah. I think you also need to add support for a BLAS size query, in order for the user to be able to get what size the compacted BLAS should be.

And a size query like this?
unsafe fn get_acceleration_structure_compact_size(&self, acceleration_structure: &super::AccelerationStructure) -> wgt::BufferAddress {
        let ray_tracing_functions = self
            .shared
            .extension_fns
            .ray_tracing
            .as_ref()
            .expect("Feature `RAY_TRACING` not enabled");
        let mut size = vk::DeviceSize::default().to_ne_bytes();

        unsafe {
            ray_tracing_functions
                .acceleration_structure
                .write_acceleration_structures_properties(
                    &[acceleration_structure.raw],
                    vk::QueryType::ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
                    &mut size,
                    std::mem::size_of::<vk::DeviceSize>(),
                ).expect("getting properties failed");
        }
        wgt::BufferAddress::from_ne_bytes(size)
    }

Probably. I've also just noticed there's a way to serialize and deserialize BLAS's, which is very cool. That would be nice to have too, although less necessary. You should probably talk to the wgpu devs for specific wpgu-related advice though, I'm not a maintainer, and haven't written much code for it.

Hi, I will be fully back from my Christmas break tomorrow (with access to my desktop pc).
I will look over your changes this week.
After that we should, coordinate what we want to implement. (@Vecvec  I would preferer talking over Discord, if it is ok for you)
As far as I can tell a drastic change in the Api will be necessary to be idiomatic in reference to Webgpu.

That's great! Hope you had a good holiday.
I'm sorry but I don't have discord (and no intention of creating an account).
How drastic a change are you contemplating?

I have also put the compact blas function onto a separate branch (vecvec:ray-tracing-compaction), as I don't think it's in the scope of this PR.

@Vecvec the main change I am contemplating, is to somehow make the information stored in the creation info part of the wgpu-core library and reference count all required resources.
The problem at the moment is, that a reference to Blas is required to build/update the blas, so lifetimes get in the way sometimes.
Another problem is that acceleration structures don't keep there resources alive. (You get an error if you drop a vertex buffer used in a ac, when it is used).
I think it would be better (and more performant to validate), if it worked like Texture and TextureView, where the view keeps the texture alive if the Texture is dropped.


Webpack compression plugin working

What problem does this feature solve?
Have static assets compressed by default in the server and not compress it on the fly in the server.
What does the proposed API of configuration look like?
Webpack have the plugin compression-webpack-plugin that compress to Brotli and Gzip.
https://webpack.js.org/plugins/compression-webpack-plugin/#root
It is not working by now. This is the error.
[rspack-cli] [Error: napi error: GenericFailure - TypeError: Cannot read properties of undefined (reading 'tap')

It seems that compilation.hooks.statsPrinter and stats.hooks.print are not supported.

I’m willing to work for this

bump

This is now working!.
I think that https://github.com/web-infra-dev/rspack/pull/3722 solved it


Datagrid clrDgItems index on pagination

Select one ...  (check one with "x")
[ ] bug
[ ] feature request
[x] enhancement

Expected behavior
How to create a client side serial number indexing in Datagrid
Actual behavior
On *ngFor= "let item of items; let rowIndex = index" will be working, here since we have pagination of 20 items, I dont know how to handle this.
Reproduction of behavior
<clr-dg-row *clrDgItems="let item of items; let rowIndex = index">
        <clr-dg-cell>{{rowIndex+1}}</clr-dg-cell>
       <clr-dg-cell>{{ item.name }}</clr-dg-cell>
</clr-dg-row>

Environment details

Angular version: 4.0.X

Clarity version: 0.10.5

thnaks

@abelkbil
Why don't you use an id generator in your host component?

@mathisscott Sorry I didnt get your concept. My intention in to print serial number for a paginated datagrid. The code mentioned above works fine for first page, second page on wards it will start again from 1.
Should I have to listen pagination and multiply by limit or any other professional logic ?
thanks

@abelkbil: Please provide a plnkr which replicates the issue for us to investigate. Thanks! Plnkr template: https://plnkr.co/uNwwZe

@adityarb88 Thanks : https://plnkr.co/edit/0WlqFA?p=preview

Maybe we could try to do it on *clrDgItems, but it would never work with *ngFor on server-driven datagrid, so I'm a bit worried about the inconsistency.
And to do it on *clrDgItems would require a lot of investigation and potentially a lot of hacks to override *ngFor's context, since that's how we render the rows anyway. So I'm not sure it's going to be realistic. I'll leave this open so we can try it out later.
And regarding scott's comment, he's saying it would be pretty easy for you to just add the "serial number", as you call it, as a property on your item object. It's literally a for loop on the array when it's first built or received from the server, maybe even simpler than that depending on how you get it. So the value of us generating the index for you isn't very high.

Given @youdz feedback on the issues that this would cause for ngFor, I'm going to close this as something we won't do. If you need unique IDs for your datagrid items (and you aren't getting them from the database), you should really be using something in your code that can generate them instead of loop indices.
If you changed pages in the datagrid, for example, your loop indices would remain the same. So what you want to do wouldn't work reliably for a simple count.


[SPARK-50311][PYTHON][FOLLOWUP] Remove @remote_only from supported APIs

What changes were proposed in this pull request?

This PR followups https://github.com/apache/spark/pull/48843 to remove @remote_only decorator from supported API and update the test
Why are the changes needed?

To check Connect parity properly
Does this PR introduce any user-facing change?

No, it's test-only
How was this patch tested?

Updated the existing test
Was this patch authored or co-authored using generative AI tooling?

No

Merged to master


I Want QoS 2 in Subscribe

is it possible to get QoS level in 2 in subscribe function ??
and please guide me if it is possible then is it possible to publish a message two times and get it delivered two times ?? or it will just be delivered only once in a life time if the topic is the same

Hi - sorry, no. This library doesn't support QoS 2 subscriptions.
If you publish a message twice, in normal operation, it will be received twice, regardless of the qos.


Merging git-integration-enhancements into master

Testing Pull Request function

Closing as there is still more to fix


Upgrade base images to latest buster versions

resolves #76

By upgrading to buster we have newer versions of software available in apt.
Picked the buster-slim versions to reduce image sizes.
For the java variants we have to stick with the full version of buster due to install errors of Java, didn't try to resolve them to be able to use slim version. Might be something for a separate PR.

This PR also updates to the latest patch and minor versions.

Thanks @marcofranssen for this change!

Thanks @marcofranssen for this change!


Remove installer dep from apis/

In a prior change (#2460 / c7581516) we tried using a UserTag type imported from openshift/installer, creating a dependency on same for downstream consumers of our apis/ package. This is causing problems downstream with the checksum database, so for the sake of unblocking those downstreams for now, we're pulling that out and copy/pasting the type definition instead (like we have always done in the past with types of this ilk).
We hope to reinstate the dependency in the future, as it would improve the maintainability of hive.
OCPBUGS-42448
(cherry picked from commit b05323210eb9cc353de55be91c414a1c4d1b290e)

/assign @jstuever

/lgtm


TP - Bypass destination requires protocol

The current implementation in the portal requires one to specify the protocol on a bypass destination for HTTP delivery services. Traffic Router is written to assume that it is not present, as the old Traffic Ops UI will reject any such configuration, and ensures the field contains FQDN only.
Also, while we are at it, we should determine whether this is correct. Perhaps a bypass destination should be allowed to specify HTTP or HTTPS and not rely on the redirection scheme configured on the DS. For sake of argument, consider a delivery service whose redirection scheme is HTTP to HTTPS. The protocol used in the 302 to the bypass destination will be HTTPS. It's entirely possible that we want to redirect to HTTPS on our edge, but keep the bypass over HTTP. There are many examples of these types of scenarios, as we have several redirection schemes. Typically security does not get downgraded from HTTPS to HTTP, so that should be yet another consideration.
A quick test of combinations of redirection schemes with a bypass destination shows that we have some room for improvement with Traffic Router. It seems we include the port we came in on, and redirect using HTTPS when configured to route HTTP->HTTPS. This results in a URL with HTTPS and a port of 80.

CDN-3161

We could just have one bypass destination field that's interpreted based on the DS type. FQDN -> HTTP bypass FQDN or DNS CNAME as appropriate, IP -> that one's simple enough. Then for STEERING* we only allow valid xml_id s of pre-existing Delivery Services. Idk if STEERING actually supports bypass at all, or if it's limited to DSes if it does, just spitballing here.

Traffic Portal no longer requires protocol, and forces user to create FQDN.  If we want to explore the other ideas brought up in this ticket we should do so either in another ticket or on-list.


TSceptar, TSceptarHit HTML Docs

formatting/comments need to be added to the code to generate the appropriate html docs. see #211

Done; will be in next push.


Update mouse cursor

🚀 Enhancement Request
Is your enhancement request related to a problem? Please describe.

The experience of the mouse player is not optimal and could be improve.

Describe the solution you'd like

We could change the mouse cursor to fit with the game design.

Describe alternatives you've considered

👍

Additional context

👍

Packs from Kenney (don't forget to add the reference in Credits)

https://www.kenney.nl/assets/cursor-pack
https://www.kenney.nl/assets/cursor-pixel-pack

https://docs.godotengine.org/en/stable/tutorials/inputs/custom_mouse_cursor.html

https://www.youtube.com/watch?v=zClZVTguhN0


Merge pull request #7 from syedfahadraza/new

Merge pull request #5 from syedfahadraza/main

now pull


change of contribution wallet address

May I ask why you want to change wallets? In case of hacking, could you provide proof of hacking? You can write to me via Discord at Mechaverse.


needs additional documentation to ease setup and build

Please add the following documentation to ease the setup and build steps.  The build might fail if the docs subdirectory is missing source files.  For a successful clone, build and check, the blaze users should do the following:
git clone https://github.com/Aandreba/blaze.git
git submodule update --recursive --init
make check

Thank you.

Also please add these steps or something similar.
Install opencl on pop 22.04:
wget -O '/tmp/rocm.gpg.key' 'https://repo.radeon.com/rocm/rocm.gpg.key'
sudo mv '/tmp/rocm.gpg.key' '/etc/apt/trusted.gpg.d/rocm.asc'
sync
echo 'deb https://repo.radeon.com/rocm/apt/latest/ ubuntu main' | sudo tee '/etc/apt/sources.list.d/rocm.list' > '/dev/null' && cat '/etc/apt/sources.list.d/rocm.list'
sudo apt update
sudo apt install rocm-opencl rocm-opencl-dev
sudo usermod --append --groups 'render,video' davidm
reboot

Create a new link to a version-less libOpenCL.so in the default 64bit lib path /usr/lib/x86_64-linux-gnu
cd /usr/lib/x86_64-linux-gnu
ln -s -T /opt/rocm-5.2.0/lib/libOpenCL.so.1.2 libOpenCL.so

Listing the new shared lib:
ls -lht libOpenCL.so
lrwxrwxrwx 1 root root  36 Aug 23 14:41 libOpenCL.so -> /opt/rocm-5.2.0/lib/libOpenCL.so.1.2

Tweak the Makefile to inform cargo to also use /usr/lib/x86_64-linux-gnu in its linker search path:
	RUSTFLAGS='-L /usr/lib/x86_64-linux-gnu' cargo check --no-default-features
	RUSTFLAGS='-L /usr/lib/x86_64-linux-gnu' cargo check --all-features
	RUSTFLAGS='-L /usr/lib/x86_64-linux-gnu' cargo test --no-default-features
	RUSTFLAGS='-L /usr/lib/x86_64-linux-gnu' cargo test --all-features

The above should help other users save a bit of time I hope.

git clone https://github.com/Aandreba/blaze.git
git submodule update --recursive --init
make check

This should probably be added to the README instead of the docs, but I agree it would be useful.
As for the OpenCL installation guides, I think these fall outside of our responsibility.

I just added the this docs to the main README and to the book


Add Swagger documentation for the API

Add auto-generated Swagger documentation using fastify-swagger.

Hey @mushketyk we already have API documentation using fastify-oas which is based on fastify-swagger but compaitble with Open API 3+
As mentioned in the readme, you can access this at http://localhost:8000/documentation

@robinv85 Sorry, my bad.


WIP provisioner

WIP for a general-purpose tool to converge on a variety of iaas, operating systems, and kubernetes versions.

Closing as no longer needed


php >= 7.0

composer.json has requires: "php": ">=7.0" but README.md has Requirements: PHP 5.6 or higher. 🙃

Feel free to submit a PR! 🙂


Cache entity metadata properly

This fixes #1053 by replacing the previous entity metadata system with a proper caching system for tracking how much damage players have inflicted on mobs, how long since a cow has been milked, and if an end crystal's explosion was caused by a player.
I'm marking this as a draft because I might implement a similar system for the block ownership system, and I'm not sure if the current changes are breaking (some help testing would be appreciated).

I'm marking this as a draft because I might implement a similar system for the block ownership system, and I'm not sure if the current changes are breaking (some help testing would be appreciated).

There is no need to rework the blockOwnerShip metadata if a soft referenced metadata is handled correctly, without user reporting and based on tests, there is no such observation that there is a memory leak in this case.

There is no need to rework the blockOwnerShip metadata if a soft referenced metadata is handled correctly, without user reporting and based on tests, there is no such observation that there is a memory leak in this case.

Yup, you're right. I've also committed a change that moves some code around to make sure that jobsMobSpawner is always removed from entities when they die. The only issue I can think of now are when mobs are spawned in by a spawner, the jobsMobSpawner meta is added, and then it may not get removed if the entity is never killed (there's no way to remove the metadata when the entity despawns as Spigot doesn't have Paper's EntityRemoveFromWorldEvent). Do you think we should cache spawner mob UUIDs with a similar setup to the damage cache?

The only issue I can think of now are when mobs are spawned in by a spawner, the jobsMobSpawner meta is added, and then it may not get removed if the entity is never killed (there's no way to remove the metadata when the entity despawns as Spigot doesn't have Paper's EntityRemoveFromWorldEvent). Do you think we should cache spawner mob UUIDs with a similar setup to the damage cache?

Instead of Paper's event we could use and listen to ChunkUnloadEvent or some related event that will remove the mobs metadata, obviously if it is called. I'm unsure that this event ever called, I never used.

Instead of Paper's event we could use and listen to ChunkUnloadEvent or some related event that will remove the mobs metadata, obviously if it is called. I'm unsure that this event ever called, I never used.

Good idea, I've implemented this now.

Hopefully works...


Test index & error pages

Add Cypress tests
Fix errors that are found that way (accessibility errors)

done ;-)


Prowler excludes some groups when running checks.

./prowler -L
This shows all the checks in prowler. It displays this information in groups. For instance Group 7 belongs to the category titled "extras" while group 21 is titled SOC2 readiness, and groups 1-4 are the CIS level1 benchmarks
./prowler -l
This shows all the checks in each group.
However, this skips groups 8 to 24
Is there any way to actually ensure prowler runs a check on ALL groups 1 to 24? It currently does not go beyond 7
Also, is there a way to exclude only group 7 , while running all checks between 1 and 24 ?

Hi @kelvynk01, prowler shows all checks when running ./prowler -l that actually list any check included in any group. then if you want to check existing groups then use ./prowler -L. To show checks in each group you need to use ./prowler -g group -l as it is mentioned in ./prowler -h. To run all checks (included CIS and Extras) just run ./prowler. To run only cis you have option -e. Let me know if it is more clear now. I

Hi @kelvynk01, prowler shows all checks when running ./prowler -l that actually list any check included in any group. then if you want to check existing groups then use ./prowler -L. To show checks in each group you need to use ./prowler -g group -l as it is mentioned in ./prowler -h. To run all checks (included CIS and Extras) just run ./prowler. To run only cis you have option -e. Let me know if it is more clear now. I

btw, extras 759 and 760 (lambda variables and code secrets finder are not included because they may take too much time). To run detect-secrets with those two checks use ./prowler -g secrets

btw, extras 759 and 760 (lambda variables and code secrets finder are not included because they may take too much time). To run detect-secrets with those two checks use ./prowler -g secrets

I hope my answer clarified your question, if you need more info please reopen this case and let me know any other related question.

Yes, thanks
On Tue, Feb 2, 2021 at 8:26 AM Toni de la Fuente<EMAIL_ADDRESS>wrote:

Closed #735 https://github.com/toniblyx/prowler/issues/735.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/toniblyx/prowler/issues/735#event-4279590234, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AJC3MMGFNJOKNPYN6PPMDPDS5ADPZANCNFSM4WSJNTKA
.


beforeNavigate doesn't fire after clicking on anchor tag that has content-disposition: attachment in header response

Describe the bug
This application has two pages - a home page at / and an about page at /about.
You can click between the two pages using the links in the header, or the links that appear on each page.
Each time you click, BEFORE NAVIGATE IS RUNNING logs to the console.
If you click the PDF Url link at the bottom, beforeNavigate runs as normal, logging BEFORE NAVIGATE IS RUNNING to the console.
The next link you click, beforeNavigate does not run.
I believe this happens because the content-disposition:attachment header is set in the response, causing the browser to download the file. By this point, I guess SvelteKit assumes the page navigation happens, and so missed the next beforeNavigate.
If you change the link from
	PDF Url
to 	PDF Url (ie, change subdomain to www from dl), then the header is not set, and the behaviour works as expected.
Reproduction
https://stackblitz.com/edit/sveltejs-kit-template-default-skdwaq?file=src/routes/+layout.svelte
You need to use 'Open in New Tab' in the topright of the stackblitz link to get this demonstration to work.
Logs
No response
System Info
❯ npx envinfo --system --binaries --browsers --npmPackages "{svelte,@sveltejs/*,vite}"
success Install finished in 1.129s

  System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 16.14.2 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 7.17.0 - /usr/local/bin/npm
  npmPackages:
    @sveltejs/adapter-auto: ^2.0.0 => 2.0.0
    @sveltejs/kit: 1.15.7 => 1.15.7
    svelte: ^3.54.0 => 3.58.0
    vite: ^4.2.0 => 4.2.1

Severity
serious, but I can work around it
Additional Information
No response

@s3812497 As we continue to test the fixes, we keep finding more issues!
Now that the download attribute issue has been resolved. I have provided a reproduction for this that doesn't rely on the download attribute at all, and hopefully have now identified the root cause.

Thanks for reporting this again! This issue is due to an oversight on my part.
I didn't know downloads could occur with the content-dispositon header, and was only checking for the download attribute + same origin URL.
The issue is in this line here:
https://github.com/sveltejs/kit/blob/3a8195dfe0f55c024b7b347e74c6e21480bda5bd/packages/kit/src/runtime/client/utils.js#L138

Found another issue where if the content-disposition download link comes from SvelteKit, it will run the client-side handleError method
https://stackblitz.com/edit/sveltejs-kit-template-default-vghrqb?file=src%2Froutes%2Ftest%2F%2Bserver.js,src%2Froutes%2F%2Bpage.svelte,src%2Froutes%2F%2Blayout.svelte&terminal=dev


previous_install.yaml logic breaks when rke2 is installed with an RPM and then later switched to TAR

It also breaks when you install RKE2 with the RPM, and then use Rancher to upgrade RKE2. You end up with the installed RPM being one version, but the running RKE2 version being different.


GH-21: Docs For Replaying Dead-Lettered Messages

Resolves #21

Merged via https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/commit/1f28adaf4c6da0bfc1bae8256bc85ed764043369


[zh] sync /best-practices/certificates.md

Sync with en about weights
Other minor changes

content/zh-cn/docs/setup/best-practices/certificates.md

Preview: https://deploy-preview-37659--kubernetes-io-main-staging.netlify.app/zh-cn/docs/setup/best-practices/certificates/

/lgtm
/approve
good job


Save Image in tellurium Notebook doesn't do anything

Plotted a graph in Tellurium notebook, discovered that save image popup menu doesn't appear to do anything.
Note ther is no about in the Help menu so can't tell what vrsion I was running.

The camera icon is used to save the plot as a file, while the diskette icon will upload it to your Plotly account. They both work for me on Windows.

I just tested this with the latest deb package on linux and works, i.e. can
save the plot in the notebook IDE as png.
(also works in the normal notebook with a pip install for me on linux)
M
On Mon, Oct 23, 2017 at 5:40 PM, Kyle Medley<EMAIL_ADDRESS>wrote:

The camera icon is used to save the plot as a file, while the diskette
icon will upload it to your Plotly account. They both work for me on
Windows.
[image: selection_082]
https://user-images.githubusercontent.com/7402146/31898300-ac803b06-b7cd-11e7-86ed-38b6fc684d5e.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sys-bio/tellurium/issues/273#issuecomment-338701230,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA29usT_zET2GGkGId8mCt3_PoFd2w9mks5svLNQgaJpZM4QBT5y
.

--
Dr. Matthias König
Junior Group Leader LiSyM - Systems Medicine of the Liver
Humboldt-University Berlin, Institute of Biology, Institute for Theoretical
Biology
https://www.livermetabolism.com
<EMAIL_ADDRESS>Tel: +49 30 20938450
Tel: +49<PHONE_NUMBER>0

Are you right-clicking to bring up the popup menu? In my version that
doesn't do anything. Also I don't have any camera icons etc.
Herbert
On Mon, Oct 23, 2017 at 1:13 PM, Matthias König<EMAIL_ADDRESS>wrote:

I just tested this with the latest deb package on linux and works, i.e. can
save the plot in the notebook IDE as png.
(also works in the normal notebook with a pip install for me on linux)
M
On Mon, Oct 23, 2017 at 5:40 PM, Kyle Medley<EMAIL_ADDRESS>wrote:

The camera icon is used to save the plot as a file, while the diskette
icon will upload it to your Plotly account. They both work for me on
Windows.
[image: selection_082]
<https://user-images.githubusercontent.com/7402146/
31898300-ac803b06-b7cd-11e7-86ed-38b6fc684d5e.png>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/sys-bio/tellurium/issues/273#issuecomment-338701230
,
or mute the thread
<https://github.com/notifications/unsubscribe-
auth/AA29usT_zET2GGkGId8mCt3_PoFd2w9mks5svLNQgaJpZM4QBT5y>
.

--
Dr. Matthias König
Junior Group Leader LiSyM - Systems Medicine of the Liver
Humboldt-University Berlin, Institute of Biology, Institute for Theoretical
Biology
https://www.livermetabolism.com
<EMAIL_ADDRESS>Tel: +49 30 20938450 <+49%2030%2020938450>
Tel: +49<PHONE_NUMBER>0 <+49%20176%2081168480>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sys-bio/tellurium/issues/273#issuecomment-338782338,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABAZDgGs6uWETwACmWvWbsDEg-tKr5W6ks5svPNvgaJpZM4QBT5y
.

I am only hovering with the mouse over the plotly plot (the icons appear and clicking the camera icon to save). Icons only appear on mouse over with the plot.
Perhaps you have set the matplotlib backend, try
te.setDefaultPlottingEngine("matplotlib")

before plotting. You shold seethe numbers appear also on mouseover.
M

Of course
te.setDefaultPlottingEngine("plotly")

Ok I can try that. still there shouldn't be a pop up that does nothing.
Herbert
On Tue, Oct 24, 2017 at 12:34 AM Matthias König<EMAIL_ADDRESS>wrote:

Of course
te.setDefaultPlottingEngine("plotly")
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sys-bio/tellurium/issues/273#issuecomment-338900932,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABAZDgbL3CKH3U_MCxM3RcmfrIJbXJENks5svZLSgaJpZM4QBT5y
.


Kestrel Logs print full assembly name as category name

Makes it harder to filter kestrel logs:
dbug: Microsoft.AspNetCore.Server.Kestrel, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60[9]
      Connection id "0HKREDSFMRPFN" completed keep alive response.
```

This regressed here https://github.com/aspnet/KestrelHttpServer/commit/c48353f4ef1150b3197246de94a343ae8d9b29d4#diff-2a47c9b99ecab7d9ea77789228f7e771R44

Fixed in 8a9840216c0793789e444f490009afe0a72acbb1.


Automatic error report

<!---   *** BEFORE SUBMITTING: PASTE CLIPBOARD HERE TO COMPLETE YOUR REPORT ***   ---!>

Hi @lavoinelu please the next time try to add a description to understand better what problem are you facing (the more detailed you write it the best we can provide you help) :)
Also, probably you are using an old version of Spyder if a minimum length to open the issue wasn't requested. Please try to update Spyder, if using Anaconda you can do something like:

For Spyder 3.x : conda install spyder=3.3.6
For Spyder 4.x : conda install spyder=4.1.3


Replace deprecated Jaeger components with OpenTel

fix(tracing): reduce tracing instrument spans to info

New batch exporter used by opentel crate handles larger data better so we
can be a bit more relaxed.
This allows us to have good jaeger tracing and logs even with info.

Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

build: upgrade tracing and otel crates

Upgrades all tracing and open telemetry crates.
Replaces deprecated jaeger tracing create with generic opentel crate.
Replaces deprecated jaeger jaeger with opentel collector.
Removed openapi examples as they are not valid for our deps anymore.
todo: upgrade openapi generator

Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

bors try

How is this change tested for sanity?

Manually for now :)
As for CI it's more complicated, need to ensure traces are being posted, which they are not at the moment, need to debug this.

bors merge


Add quick exercises and tutorials to show how to get started with OTTR

Describe the your scope of your content idea

Related to a BaseCamp post from @cutsort.
We should make some exercises here to get someone going.
We can post ideas here.

Generally ordered from easier wins to harder wins

New Bookdown served by GitHub Pages
Image added via leanbuild::include_slide()
Local rendering using Docker
New Course on Leanpub


Plan the January 2022 DSWG session

What
Plan the January 2022 Design System Working Group (DSWG) session.
Why
So that the DSWG continues and the next session is organised in advance with invites sent to the right people.
Epic this is a child of
EPIC: Design System Working Group (DSWG) #952
Tasks

[ ] Agree who will organise and run the next DSWG session (either @henocookie or @danjohnstonUX)
[ ] Find contributions in the community backlog which are ready to take to DSWG
[ ] Organise any materials and tools required to host the next DSWG session
[ ] Send out an invite for the next DSWG session to members in advance
[ ] Arrange 10 minutes (maximum) to share the outputs from the December 2021 DSWG session at the next session
[ ] Ensure that outputs and decisions from the last DSWG season (#1649) have been shared with those who attended the previous DSWG session and the wider digital health and care sector

DSWG is now being paused due to a heavily reduced team. Communication to DSWG members will be sent to explain this.

Communications sent by email to current DSWG members and the Wiki page has been updated informing members of the current DSWG pause.


merge from template-arlac77-github

LICENSE

chore(license): add year 2024

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 97.727%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
391

Relevant Lines:
400

💛  - Coveralls


add mabuya as theme

This PR add Mabuya as new theme.
This si my second try. I erroneaously created a PR without propperly adding the theme as submodule.
Sorry. 😆

Thanks!


Can not open the app

VSCode Version: 1.3.1
OS Version: OS X 10.11.5

Steps to Reproduce:

Download the zip file from code.visualstudio.com, then unzip it.
Click the Visual Studio Code.app, it shows up in the dock, after 3 seconds, it exit.

I had installed the app before.

@towry Do you have any additional information such as crash logs? You can open the Console tool on your Mac and scan the User Diagnostic Reports section for crash files. Search them for Visual Studio Code.
Also do you see the same when you download the zip again?

@kieferrm Problem solved. The solution is remove the folder rm -rf Library/Application\ Support/Code.


Break out all getData methods in contractWrappers

Break all attributes as what @n1c01a5 suggested

yes for https://github.com/kleros/kleros-api/issues/41

ok, should I handle the case of multiple outputs? Is it an object or array?

It's fine now, another question:
I can't pass yarn test even on the master branch, how could I set up the environment for testing?

@zetsin for the tests you need to run ganache
yarn run ganache-cli
yarn test

but for now the tests failed.

@n1c01a5
@zetsin
The tests are not failing because he wasn't running ganache.
See the error logs:

And yes, the tests are failing on master but they are passing on develop.

@epiqueras I think the tests are not updated with the new attribute title on the deploy function for contract arbitrable, see https://github.com/kleros/kleros-api/blob/6bfb6e954dc93c75b2e16e1a3bb4f13633d86170/src/abstractWrappers/ArbitrableContract.js#L41

@n1c01a5
It's still failing with the same error messages after you merged develop in.
So the error has something to do with the changes on this repo.

I realize that you refactored the project currently, should I close this pull request? @epiqueras

Hi @epiqueras .
I always cannot pass yarn test on develop branch due to so many timeout.
After I prolong the timeout value in the testing file, there is a failure happened now:
  ● Kleros › KlerosPOC dispute resolution flow

    expect(received).toEqual(expected)

    Expected value to equal:
      1
    Received:
      0

      652 |         true
      653 |       )
    > 654 |       expect(jurorStatefullNotifications.length).toEqual(1)
      655 |       expect(jurorStatefullNotifications[0].notificationType).toEqual(
      656 |         notificationConstants.TYPE.CAN_VOTE
      657 |       )

@zetsin
Yeah, the notifications part of the test is not deterministic. @satello is working on that.
For now, you can comment out that assertion.


Use document.currentScript

Use document.currentScript instead of document.getElementsByTagName()

I was thinking more something like:
var script = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();

I was thinking more something like:
var script = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();

Brilliant I love it!


Use nyan-cat-formtter

Coverage remained the same at 81.053% when pulling d8ac132cfa241b742f9daeb8f76827d9315a3b77 on nyan-cat-formatter into 900ce79b637bcabeab4381f66d0418fe48267890 on master.


Refactor Value API

Currently all values passed to queries are represented like this:
pub enum Value {
    Val(Bytes),
    Null,
    NotSet,
}

This works well for simple types but I ran into some problems when implementing User Defined Types here
First problem is that converting a UDT into Val(Bytes) can fail if a field is serizalized to [bytes] bigger than 2GiB. This makes query api ugly because instead of using simple values! we have to use try_values! and handle conversion error.
Ex. with values!:
session
        .query(
            "INSERT INTO ks.t (a, b, c) VALUES (?, ?, ?)",
            &scylla::values!(3, 4, "def"),
        )
        .await?;

And with try_values!:
session
        .query(
            "INSERT INTO ks.t (a, b, c) VALUES (?, ?, ?)",
            &(scylla::try_values!(3, 4, "def") ?),
        )
        .await?;

Additionally the same error can happen when awaiting the query because we serialize Val(Bytes) for the final time when sending the query.
Maybe we could avoid this ugliness if Value was changed to something like:
pub enum Value {
    Serialized(Bytes),
    TooBigTooSend,
}

Then values! would convert rust types into either succesfully serialized Serialized(Bytes) or if it turns out bigger than 2GiB TooBigTooSend. Later query api would look if the values are properly serialized and throw an error in case of TooBigTooSend.
This would make user's api nicer at the cost of unwrapping Values in query code.
Maybe splitting Value into variants would also work well with named values in the future (?)
Another issue is that when serializing a UDT with current api each field is recursively converted into a Value and then written onto final BytesMut which means an allocation for each conversion into Value which is not ideal. A better solution would be to introduce a trait which would allow to serialize a type as value by writing into &mut impl BufMut instance - similarly to how requests are serialized. Then we could convert all rust types into Value::Serialized using this trait - currently bytes inside Value::Val(Bytes) aren't a fully serialized value so it wouldn't work
There would be some problems because for example token routing uses hashing value bytes only if it's not null but this could be solved by checking if number of serialized bytes is > 4 and then taking bytes[4..] as data to hash
I'm not sure what api for Value would be the best but current one is non ideal
I'm gonna try some options and see what could work

I made a prototype implementation of new Value on this
It replaces old Value with
/// Defines a way to serialize a value type to [bytes]
pub trait SerializeAsValue {
    fn serialize(&self, buf: &mut BytesMut) -> Result<usize, ValueTooBig>;
}

/// Keeps a list of serialized values and allows to add more and iterate over them
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
pub struct SerializedValues {
    serialized_values: BytesMut,
    values_num: i16,
}

All values in a query get serialized to a single BytesMut which uses only log(total_serialized_size) allocations
And query now takes
pub async fn query(
    &self,
    query: impl Into<Query>,
    values: &Result<SerializedValues, AddValueError>,
)

instead of
pub async fn query(
    &self,
    query: impl Into<Query>,
    values: &[Value]
)

There is no need for try_values!, values! now returns Result<SerializedValues, AddValueError>
Typical query still looks the same:
session
    .query(
        "INSERT INTO ks.t (a, b, c) VALUES (?, ?, ?)",
        &scylla::values!(3, 4, "def"),
    )
    .await?;

I will open a pull request once  get merged, because this commit builds on stuff from UDTs


Update chaos-bugbounty-list.json

On2it program added
https://on2it.net/en/responsible-disclosure/

Thank you updating this @yashswarup12


Firewalld should not allow trafic through master

What would you like to be added:
default firewalld configuration should block trafic proxying from master
Why is this needed:
master should NEVER handle services or production trafic
Example cluster.yml:
network:
firewalld:
enabled: true
open_ports: # these are the defaults if firewalld is enabled
- port: "22"
protocol: tcp
roles:
- "*"
- port: "80"
protocol: tcp
roles:
- worker
- port: "443"
protocol: tcp
roles:
- worker
- port: "6443"
protocol: tcp
roles:
- master
- port: "30000-32767"
protocol: tcp
roles:
- worker
- port: "30000-32767"
protocol: udp
roles:
- worker
trusted_subnets:
- "<IP_ADDRESS>/24"

I can agree with this. If there not have some specific traffic that we miss will be nice DOCs to be updated with this proposal.


fix LD A, I instruction

I think the LD A, I is not properly implemented (it fails the FUSE emulator tests).
The Z80 CPU User Manual says at page 94:
   The contents of the Interrupt Vector Register I are loaded to the Accumulator.
   S is set if the I Register is negative; otherwise, it is reset.
   Z is set if the I Register is 0; otherwise, it is reset.
   H is reset.
   P/V contains contents of IFF2.
   N is reset.
   C is not affected.
   If an interrupt occurs during execution of this instruction, the Parity flag contains a 0.

I don't know how to implement the last one, but I fixed the condition bits.
With this fix applied, it is able to pass that particular test case in FUSE.

Thanks!
It's not possible for interrupts to arrive in the middle of an instruction the way this simulator is architected, so we'll have to do without the bit about clearing the parity flag.


Fix Logical and Runtime Errors

Issue Addressed:
The prepare function previously faced challenges with mismatched numbers of prompts and images. This issue was particularly evident when multiple prompts were associated with a single image, leading to inconsistent batch sizes and potential runtime errors. The original function lacked sufficient mechanisms for aligning image and text data properly, which could result in misaligned processing inputs.
Implemented Fixes:
1. Automatic Image Replication:
Enhanced the function to automatically replicate images when multiple prompts are provided with fewer images. This ensures that each prompt is paired with an image, preventing mismatches and potential processing errors.
Error Handling for Mismatched Inputs: Introduced error checks that trigger if the number of prompts and images do not align when multiple images are provided. This preemptive check prevents confusing errors deeper in the processing pipeline.
2. Text Processing:
Strengthened text handling by ensuring text embeddings are consistently replicated across the calculated batch size. This change guarantees that each image in a batch is paired with corresponding text data, which is crucial for models leveraging both visual and textual inputs.
3. Tensor Consistency:
Improved the handling of tensor device and data type settings, ensuring all tensors involved in the computation are consistently configured. This uniformity is key for avoiding device-related errors and optimizing computational efficiency.
These enhancements make the function more reliable and user-friendly, streamlining the handling of batch sizes and prompt associations, and reducing the risk of runtime errors in your data processing workflow.

@DrHazemAli could you give a command to replicate the issue? i am not entirely sure what you mean with "when multiple prompts were associated with a single image"

Sure, The below code can demonstrate the mismatch handling where one image is expected to correspond to multiple text prompts:
Assuming HFEmbedder and other necessary components are properly implemented and imported
t5_embedder = HFEmbedder()  # Hypothetical initializer for text embedding
clip_embedder = HFEmbedder()  # Hypothetical initializer for clip embedding
single_image = torch.randn(1, 3, 256, 256)
multiple_prompts = ["A sunny day in the park", "A snowy mountain", "A bustling city night"]
prepared_data = prepare(t5_embedder, clip_embedder, single_image, multiple_prompts)
print(prepared_data)
This code will trigger the original prepare function with one image and several prompts. Depending on the initial implementation, you may see that the function doesn’t handle the replication of the single image across multiple prompts correctly, which would typically lead to a runtime error or sometimes incorrect data processing.

@DrHazemAli this snippet is never used though?
this codebase is only meant to support standard single prompt sampling via the cli, streamlit demo, and gradio demo.

I do understand that, But my vision is for the future development of the project.

But as of my vision this project will grow, and it may need such a thing as the development keeps up.

we can reopen this once necessary, but i will close it for now


Add Toolbar.PopoverItem

closes #612

Can you make a dedicated story with toolbar popover items? The feature is hard to discover in the stories.
Also if you have ideas on how we can make a popover item distinguishable from a regular item, that would be welcome. For example in photoshop there is this little triangular shape in the corner of the button:

Codecov Report
Attention: 93 lines in your changes are missing coverage. Please review.

Comparison is base (bf1bfde) 24.26% compared to head (f8c5f40) 23.55%.
Report is 2 commits behind head on main.

Files
Patch %
Lines

stories/components/toolbar.stories.tsx
0.00%
58 Missing and 1 partial :warning:

src/components/toolbar/Toolbar.tsx
30.61%
34 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #635      +/-   ##
==========================================
- Coverage   24.26%   23.55%   -0.71%
==========================================
  Files         223      221       -2
  Lines       12903    12692     -211
  Branches      234      234
==========================================
- Hits         3131     2990     -141
+ Misses       9684     9614      -70
  Partials       88       88

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@stropitek I added a right icon to the popover items like in the dropdown component. The icon has different directions when the toolbar is vertical or horizontal

@stropitek There is a bug with the vertical control in the Toolbar :
https://react-science.pages.dev/stories/?path=/story/components-toolbar--control
By default vertical has the value 'false' and the toolbar is horizontal, when we toggle the button the toolbar becomes vertical, but when we click on it again it doesn't go back to horizontal

Can you also make a separate story where we mix dropdown items and non-dropdown items?
There are alignment issues as well in the vertical version of the toolbar with dropdown items.

By default vertical has the value 'false' and the toolbar is horizontal, when we toggle the button the toolbar becomes vertical, but when we click on it again it doesn't go back to horizontal

Do you need help with debugging this?

Do you need help with debugging this?

It is due to this code in the toolbar width recomputing :
if (!vertical) {
      return;
    }

Removing it fixes the problem

ping @moonayyur @hamed-musallam

I'm merging this, but I think there is too much layout difference between the dropdown and the non-dropdown item. The addition of the icon on the right doubles the size of the component.
I'm creating a new issue for that.

@stropitek
I believe it's essential to maintain consistent layout, width, and height for both dropdown and non-dropdown menus. Additionally, I suggest that toolbar items should not be highlighted upon clicking, as I only intend to open the dropdown menu.

On the other hand, I believe the popup animation is slow, can you increase the speed of the animation to have smooth animation?

it is just a  suggestion,  can we specify the trigger action as a long click, hover, or click on the dropdown toolbar.

On the other hand, I believe the popup animation is slow, can you increase the speed of the animation to have smooth animation?

Those are in the CSS of blueprint and so are not editable. But we can use the minimal prop of popover which makes the animation much more subtle. It will also remove the "arrow" that points from the menu to the button.

it is just a suggestion, can we specify the trigger action as a long click, hover, or click on the dropdown toolbar.

I'd be against "long click" since this is difficult to discover and non-standard. What are you using in NMRium? All of those?
In the Popover component of blueprint it's possible to use click or hover
https://blueprintjs.com/docs/#core/components/popover

I don't have a photoshop license but AFAIK it's because clicking selects the default tool in the category, thus the long click to select other related tools. Is that what you'd like for NMRIum.
I'm still skeptical about the long-press. Haven't seen this anywhere in the web I think.

The web version of Photoshop doesn't have this behavior. They open the submenus on hover.

@hamed-musallam actually I was wrong the Popover component has a property transitionDuration. You can set this property on the Toolbar.PopoverItem component.

thank you @stropitek , i will try it once I update to the latest version of react-science


new derive InspectorOptions doesn't allow fields to refer to each other.

For example:
#[derive(Reflect, InspectorOptions]
struct MyAbility {
    #[inspector(min = 0, max = 10)]
    max_charges: u8,
    #[inspector(min = 0, max = self.max_charges)]
    current_charges: u8,
}

In the previous version this worked fine.

Definitely a nice QOL to have but not critical, mostly for making sure you don't create invalid state like with Msaa, I like the closure idea personally.


Release 0.3.1

@JuliaRegistrator register()

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/80
After the above pull request is merged, it is recommended that you create
a tag on this repository for the registered package version:
git tag -a v0.3.1 -m "<description of version>" beb86a466b287b8c066f9131a4c1e323cdef897e
git push v0.3.1


Move output to function

Move repetitive code like this to function:
function write-hostupdate {
param($message)
        Write-Output ""
        Write-Output "......................................................."
        Write-Output ""
        Write-Output $message
        Write-Output ""

}

Implemented


Option to override first day of the week

Is it usually Sunday, can we change to Monday

An option will be available in the next release.


[process-agent] Populate repo digest field in container payload from the containers check

What does this PR do?
Populates the repoDigest field in the container entity if present in the workload meta.

Motivation
This is needed to address an issue where the image id ends up with an inconsistent sha256 due to a race condition. By plumbing through the real repo digest explicitly, we can perform a fix on the backend.

Additional Notes

Possible Drawbacks / Trade-offs
Adds some slight overhead to the overall payload due to the additional bytes. This is relatively minor.

Describe how to test/QA your changes

Unit tests pass
On a linux host, run any random docker container. (e.g., redis). Then, running the following command:

process-agent check container --json
You should see output like:
{
      "type": "docker",
      "id": "7fdc0ba0ab2bef784576ceb074c9410c77f2c34c9aa6052fe3cefc08053b11d6",
      "state": 3,
      "created":<PHONE_NUMBER>,
      "memRss": 2670592,
      "started":<PHONE_NUMBER>,
      "tags": [
        "docker_image:redis",
        "image_name:redis",
        "short_image:redis",
        "image_id:sha256:bf3306b23f41dc7c63bf0e3ad560da37d08f71ad09fb8cfabfd8126145e348b4",
        "container_id:7fdc0ba0ab2bef784576ceb074c9410c77f2c34c9aa6052fe3cefc08053b11d6",
        "container_name:friendly_volhard"
      ],
      "addresses": [
        {
          "ip": "<IP_ADDRESS>",
          "port": 6379
        }
      ],
      "threadCount": 5,
      "threadLimit": 4568,
      "memUsage": 3248128,
      "memAccounted": 3248128,
      "repoDigest": "sha256:3134997edb04277814aa51a4175a588d45eb4299272f8eff2307bbf8b39e4d43"
    }

Make sure the "repoDigest" string is present and populated.

/merge


style(lint): switch to airbnb style guide

Changes proposed in this pull request:

switch to airbnb style guide
ensured linter works with vscode autoformatting

@irvelervel and @tehKapa check this out and tell me if this new configuration is working for you

There is a missing dev-dependency: Error: Failed to load config "airbnb" to extend from. that prevents CI passing.

There is a missing dev-dependency: Error: Failed to load config "airbnb" to extend from. that prevents CI passing.

I've the same issue on local with yarn lint command

There is a missing dev-dependency: Error: Failed to load config "airbnb" to extend from. that prevents CI passing.

I've the same issue on local with yarn lint command

Fixed this issue.

@StefanoMiC your changes look great! Thanks for the teamwork on this PR.

@StefanoMiC your changes look great! Thanks for the teamwork on this PR.
I checked it out and verified that it works as expected.

I'm guessing you wanted to quote @irvelervel :D