Nlx unique chan id fix

@samuelgarcia
This PR includes a fix for non-unique chan_id when there are several files for the same AD channel
see  #590,  #589
Now I can read mixed records without splitting folders, like this

These two channels are reading from one AD channel, but with different preprocessings:

Hello @sin-mike! Thanks for submitting the PR.

In the file neo/rawio/neuralynxrawio.py, following                are the PEP8 issues :

Line 71:38: E261 at least two spaces before inline comment
Line 77:29: E261 at least two spaces before inline comment
Line 78:33: E261 at least two spaces before inline comment
Line 78:61: W291 trailing whitespace
Line 88:88: W291 trailing whitespace
Line 95:9: E731 do not assign a lambda expression, use a def
Line 95:27: E231 missing whitespace after ','
Line 95:29: E231 missing whitespace after ','
Line 102:13: E303 too many blank lines (2)
Line 102:42: E225 missing whitespace around operator
Line 113:1: W293 blank line contains whitespace
Line 126:21: E266 too many leading '#' for block comment
Line 129:21: E266 too many leading '#' for block comment
Line 170:50: E225 missing whitespace around operator
Line 511:27: E127 continuation line over-indented for visual indent
Line 521:1: E266 too many leading '#' for block comment
Line 523:11: E225 missing whitespace around operator
Line 523:20: W291 trailing whitespace
Line 525:13: E225 missing whitespace around operator
Line 525:23: W291 trailing whitespace
Line 527:10: W291 trailing whitespace
Line 528:55: E225 missing whitespace around operator
Line 531:1: E305 expected 2 blank lines after class or function definition, found 1
Line 531:10: W605 invalid escape sequence '\w'
Line 531:14: W605 invalid escape sequence '\d'
Line 590:23: W605 invalid escape sequence '\S'
Line 607:10: W605 invalid escape sequence '\w'
Line 614:10: W605 invalid escape sequence '\w'
Line 627:10: W605 invalid escape sequence '\S'
Line 635:10: W605 invalid escape sequence '\w'
Line 645:25: W605 invalid escape sequence '('
Line 645:32: W605 invalid escape sequence ')'
Line 645:45: W605 invalid escape sequence '\S'
Line 645:51: W605 invalid escape sequence '('
Line 645:58: W605 invalid escape sequence '.'
Line 645:62: W605 invalid escape sequence ')'
Line 645:74: W605 invalid escape sequence '\S'
Line 646:25: W605 invalid escape sequence '('
Line 646:32: W605 invalid escape sequence ')'
Line 646:45: W605 invalid escape sequence '\S'
Line 646:51: W605 invalid escape sequence '('
Line 646:58: W605 invalid escape sequence '.'
Line 646:62: W605 invalid escape sequence ')'
Line 646:74: W605 invalid escape sequence '\S'
Line 647:36: W605 invalid escape sequence '\S'
Line 650:32: W605 invalid escape sequence '\S'
Line 650:46: W605 invalid escape sequence '\S'
Line 651:31: W605 invalid escape sequence '\S'
Line 651:45: W605 invalid escape sequence '\S'
Line 652:43: W605 invalid escape sequence '\S'
Line 710:1: W391 blank line at end of file

Hi, @samuelgarcia, any updates on this PR?

@sin-mike
Thank you very much for this. This is cool to fix.
I was am a bit busy and still be until wensday.
I will make comment soon.
For short, I am a bit discomfort with this uuid, this make the logic harder to understand.
In my mind the double key (name, chan_id) was already unique for the dict.

@samuelgarcia Indeed, but here I was worried about the consistency, as, in the header, you're using just integer ids. And that using tuple ids could easily break something further. As I discovered, the header is a key structure for the data IO operations, e.g. to restrict IOs to certain channels, I just modified the header and removed rows partially. Therefore I used just integer IDs.

@sin-mike I am back.
thank you for this new comit but I had in mind the posite solution : remove this generated uid.
I think we can go wihtout it.
In short in the header['signal_channels'] the chan_id must totally consistent with what the user known about the file. So we must put the real chan_id even it is not unique.
Some IOs do not have unique id or unique names for sig channels. it is not problem because we can always  acces then read_signal_chunk(channel_indexes=[...]). In your special case read_signal_chunk(channel_names=[...]) and read_signal_chunk(channel_ids=[...]) will raise an error because it is tested at the BaseRawIO class level.
Other remark: why did you change the id for spike channel ?
I will make comment in the code.
If we use a generated id it should be internal but in our case I think it is useless.
I feel really sorry to add more work.

I made some comment in the code.
Best.

@samuelgarcia
Ok, I tried with tuple ids (chan
but...
it breaks at header info formatting:
206         sig_channels = np.array(sig_channels, dtype=_signal_channel_dtype)
The signal channel dtypes come from:
from .baserawio import (BaseRawIO, _signal_channel_dtype,   _unit_channel_dtype, _event_channel_dtype)
So, in my version, it was just:
sig_channels.append((chan_name, uid, info['sampling_rate'], 'int16', units, gain, offset, group_id))
Then, with tuple ids, I must write:
sig_channels.append((chan_name, (chan_name, chan_id), info['sampling_rate'], 'int16', units, gain, offset, group_id))
with tuples, it breaks the header dtypes, and I tough the header is something built in stone, so I'm not allowed to change its fields.
If I'm allowed to change the header structure, then, no problem, tuple ids will work, otherwise, id field must be ints

(chan_name, chan_id) would not be for the header['signal_channels'] but for self.ncs_filenames[ (chan_name, chan_id)]


tmt reportportal plugin should be using API v2

The plugin is currently using API v1. It would be better to swtich to v2 though.
I tried to change the value in tmt code and the launch import (including adding attributes based on define context) worked at the first sight. One difference I have noticed is that for v1 tmt prints URL of the imported launch while for v2 nothing is printed.
There may be also other differences which I have not spotted.

@4N0body5 FYI

Resolved by #2305


Concise syntax for splatting args and kwargs

It would be nice to have a concise syntax for splatting args and kwargs.
What should g(ft...) do: should it splat the args and kwargs like this?
g(getfield(ft, :t)...; getfield(;ft, :nt)...)

Since FrankenTuples iterate values in order and g(ft...) is splatting outside of a named context, I think the only thing that can be done is for g(ft...) to be equivalent to g(Tuple(ft)..., NamedTuple(ft)...) (note the lack of an intervening ;) which is currently the case. That is, all values become positional arguments. It would be nice to be able to do what you're suggesting but I don't think it's possible, nor would it be consistent with e.g. g(NamedTuple(ft)...).
ftcall serves this purpose though: ftcall(g, ft) will do what you want. We could introduce a macro that translates g(ft...) to a call to an internal function that will dispatch on whether the thing being splatted is a FrankenTuple and in that case call ftcall, otherwise just do the call as written. I'm not sure how generally useful that would be though. What do you think?

It would be nice to be able to do what you're suggesting but I don't think it's possible

That seems likely.


Possibility to figure out the cursor position from within the completion callback

It would be nice if it was possible to figure out the cursor position from within the completion callback, so that other parts than just the end of the line could be completed.

Hi, I also think without this ability the completion in the middle is diffcult to achieve. So I did a pull request in #115. But I have not carefully inspect in detail whether my changes would affect other parts of the code, so please have a review and any advises is welcome.


Aerial doesn't respect the Energy Saver settings

Energy Saver settings on screen sleep and computer sleep are ignored.

dup #129

see #23

@IndigoHomme Which version are you running? Beta 4 should fix this issue.
https://github.com/JohnCoates/Aerial/releases

Closing as duplicate of #23


Bug report?: White flashing screen when launching the game.

Hi there mate!
I would like to share with you something I wonder if it can be fixed somehow. I did not want to share it before because it seems like it can be very picky or "nonsensical", so I have tried just to close my eyes or look somewhere else while booting the game.
This game has a quick flash white screen when launching it. As someone who is very sensitive to this kind of flashing (I suffered epilepsy in the past), this thing can be extremely annoying and I get a bit of vertigo when it happens. It does not happen on any previous Atlus games nor DX11 games I have installed on my end. Idk why it happens on this one, tbh.
So I was wondering if there is a way or a trick that can be done in order for that white flash screen to stop happening (delay the game to show up some secs after that white screen happens, change some code on how the window is managed, or anything else that can be tweaked if possible).
I would deeply appreciate if you could take a glance at this 🙏
As said, this can seem very picky, but there is a background for it.
Here you have two videos of that happening on both my desktop PC and ROG Ally.
https://github.com/user-attachments/assets/694e57dc-5f99-49ba-b57e-46b3dd454996
https://github.com/user-attachments/assets/fee915bf-7b7a-4ebf-83e2-8fc09c53d2e3
Best regards and thank you so much for you incredible job!

Maybe there can be some tweak in order for it to open maximized right away.


LIVE-3150 - LLM - Receive flow crash after merge issue

📝 Description
Fixes issue introduced ater failed merge in LLM Receive Flow
❓ Context

Impacted projects: ledger-live-mobile
Linked resource(s): LIVE-3150

✅ Checklist

[ ] Test coverage
[X] Atomic delivery
[X] No breaking changes

📸 Demo

🚀 Expectations to reach
Please make sure you follow these Important Steps.
Pull Requests must pass the CI and be internally validated in order to be merged.

We also need a changeset please

We also need a changeset please

I dont want any traces in changelogs of this


Add missing dash to --id option

Good catch! Thank you! 👏

Merged manually. Thank you and welcome to the crew! 👏


Be able to define bullet widgets for dashboards using Terraform

Using the UI I can create widgets that use the "bullet" chart type:

But I cannot do that via Terraform according to the docs.

Thank you for raising the issue.  There is a new dashboard API coming soon that we expect to be implementing in terraform.  We can review the capabilities of that API then to determine if this is possible at that time.


enabling WREN_DEBUG_GC_STRESS reveals memory issues

Ran into some weird memory issues on the latest Wren (which may have been there a while).
I figured I would post as it may be more efficient if we have several perspectives looking for the cause,
or if any of the changes over time ring a bell as to a potential origin. @mhermier @munificent

if you set #define WREN_DEBUG_GC_STRESS 1 in wren_common.h, it's expected to run normally (even if slowly) (WREN_DEBUG_TRACE_GC enabled to see the GC). However it starts failing very early in the core module, with Assert failed in hashObject(): Only immutable objects can be hashed. The first error is seemingly random, and the objects that it has when hashing are of course bogus.
Another thing is during a collect, where the object it's accessing is invalid memory.  ASAN catches it as expected, and shows that the value was already freed by GC previously (second block of info. note: in the first and second block the path taken to wrenCollectGarbage isn't relevant, only the initial allocation path is).

A new string is created during parsing of the core module.
Also while parsing core module, a GC happens which frees that string
And still while in the core module, another GC attempts to free the same string again

Something else that's interesting, sometimes the bytesAllocated before GC is higher, leading to misleading amounts collected, but also implies memory is allocated during a collect somehow...
GC 10410 before, 10409 after (1 collected)
GC 10413 before, 10414 after<PHONE_NUMBER> collected)

ASAN output
==22884==ERROR: AddressSanitizer: heap-use-after-free on address 0x125d86002554 at pc 0x7ff7f94440c1 bp 0x00d375af0a20 sp 0x00d375af0a68
READ of size 1 at 0x125d86002554 thread T0
    #0 0x7ff7f94440c0 in wrenGrayObj wren\vm\wren_value.c:1026
    #1 0x7ff7f94209fc in wrenCollectGarbage wren\vm\wren_vm.c:165
    #2 0x7ff7f94205b7 in wrenReallocate wren\vm\wren_vm.c:256
    #3 0x7ff7f943a68b in wrenValueBufferFill wren\vm\wren_value.c:36
    #4 0x7ff7f943a8bc in wrenValueBufferWrite wren\vm\wren_value.c:36
    #5 0x7ff7f9883a67 in addConstant wren\vm\wren_compiler.c:492
    #6 0x7ff7f988ad3c in emitConstant wren\vm\wren_compiler.c:1251
    #7 0x7ff7f987e6a2 in literal wren\vm\wren_compiler.c:2341
    #8 0x7ff7f987a395 in parsePrecedence wren\vm\wren_compiler.c:2758
    #9 0x7ff7f9881487 in expression wren\vm\wren_compiler.c:2772
    #10 0x7ff7f9887006 in finishArgumentList wren\vm\wren_compiler.c:1886
    #11 0x7ff7f9887a3e in methodCall wren\vm\wren_compiler.c:1940
    #12 0x7ff7f9887413 in namedCall wren\vm\wren_compiler.c:2016
    #13 0x7ff7f987de6f in name wren\vm\wren_compiler.c:2307
    #14 0x7ff7f987a395 in parsePrecedence wren\vm\wren_compiler.c:2758
    #15 0x7ff7f9881487 in expression wren\vm\wren_compiler.c:2772
    #16 0x7ff7f988824a in finishBlock wren\vm\wren_compiler.c:1691
    #17 0x7ff7f9888189 in finishBody wren\vm\wren_compiler.c:1717
    #18 0x7ff7f988fc1b in method wren\vm\wren_compiler.c:3312
    #19 0x7ff7f988dcf6 in classDefinition wren\vm\wren_compiler.c:3404
    #20 0x7ff7f98814c0 in definition wren\vm\wren_compiler.c:3536
    #21 0x7ff7f987f228 in wrenCompile wren\vm\wren_compiler.c:3606
    #22 0x7ff7f94233ac in compileInModule wren\vm\wren_vm.c:512
    #23 0x7ff7f94303c4 in wrenCompileSource wren\vm\wren_vm.c:1566
    #24 0x7ff7f943025d in wrenInterpret wren\vm\wren_vm.c:1545
    #25 0x7ff7f98517b9 in wrenInitializeCore wren\vm\wren_core.c:1461
    #26 0x7ff7f9420108 in wrenNewVM wren\vm\wren_vm.c:101

0x125d86002554 is located 4 bytes inside of 33-byte region [0x125d86002550,0x125d86002571)
freed by thread T0 here:
    #0 0x7ff7f8edb954 in free
    #1 0x7ff7f941fbe8 in defaultReallocate wren\vm\wren_vm.c:36
    #2 0x7ff7f942064b in wrenReallocate wren\vm\wren_vm.c:261
    #3 0x7ff7f9444fa7 in wrenFreeObj wren\vm\wren_value.c:1350
    #4 0x7ff7f94212b1 in wrenCollectGarbage wren\vm\wren_vm.c:209
    #5 0x7ff7f94205b7 in wrenReallocate wren\vm\wren_vm.c:256
    #6 0x7ff7f984b945 in wrenByteBufferFill wren\vm\wren_utils.c:6
    #7 0x7ff7f984bbfc in wrenByteBufferWrite wren\vm\wren_utils.c:6
    #8 0x7ff7f988508f in emitByte wren\vm\wren_compiler.c:1192
    #9 0x7ff7f9881628 in emitOp wren\vm\wren_compiler.c:1204
    #10 0x7ff7f988940a in loadLocal wren\vm\wren_compiler.c:1554
    #11 0x7ff7f9888dbb in loadVariable wren\vm\wren_compiler.c:2027
    #12 0x7ff7f98889cb in loadThis wren\vm\wren_compiler.c:2044
    #13 0x7ff7f987de4b in name wren\vm\wren_compiler.c:2306
    #14 0x7ff7f987a395 in parsePrecedence wren\vm\wren_compiler.c:2758
    #15 0x7ff7f9881487 in expression wren\vm\wren_compiler.c:2772
    #16 0x7ff7f988824a in finishBlock wren\vm\wren_compiler.c:1691
    #17 0x7ff7f9888189 in finishBody wren\vm\wren_compiler.c:1717
    #18 0x7ff7f988fc1b in method wren\vm\wren_compiler.c:3312
    #19 0x7ff7f988dcf6 in classDefinition wren\vm\wren_compiler.c:3404
    #20 0x7ff7f98814c0 in definition wren\vm\wren_compiler.c:3536
    #21 0x7ff7f987f228 in wrenCompile wren\vm\wren_compiler.c:3606
    #22 0x7ff7f94233ac in compileInModule wren\vm\wren_vm.c:512
    #23 0x7ff7f94303c4 in wrenCompileSource wren\vm\wren_vm.c:1566
    #24 0x7ff7f943025d in wrenInterpret wren\vm\wren_vm.c:1545
    #25 0x7ff7f98517b9 in wrenInitializeCore wren\vm\wren_core.c:1461
    #26 0x7ff7f9420108 in wrenNewVM wren\vm\wren_vm.c:101

previously allocated by thread T0 here:
    #0 0x7ff7f8edbc8b in realloc
    #1 0x7ff7f941fc05 in defaultReallocate wren\vm\wren_vm.c:40
    #2 0x7ff7f942064b in wrenReallocate wren\vm\wren_vm.c:261
    #3 0x7ff7f9442452 in allocateString wren\vm\wren_value.c:714
    #4 0x7ff7f944239b in wrenNewStringLength wren\vm\wren_value.c:751
    #5 0x7ff7f988be7e in readString wren\vm\wren_compiler.c:932
    #6 0x7ff7f98805a4 in nextToken wren\vm\wren_compiler.c:1062
    #7 0x7ff7f987a215 in parsePrecedence wren\vm\wren_compiler.c:2741
    #8 0x7ff7f9881487 in expression wren\vm\wren_compiler.c:2772
    #9 0x7ff7f988824a in finishBlock wren\vm\wren_compiler.c:1691
    #10 0x7ff7f9888189 in finishBody wren\vm\wren_compiler.c:1717
    #11 0x7ff7f988fc1b in method wren\vm\wren_compiler.c:3312
    #12 0x7ff7f988dcf6 in classDefinition wren\vm\wren_compiler.c:3404
    #13 0x7ff7f98814c0 in definition wren\vm\wren_compiler.c:3536
    #14 0x7ff7f987f228 in wrenCompile wren\vm\wren_compiler.c:3606
    #15 0x7ff7f94233ac in compileInModule wren\vm\wren_vm.c:512
    #16 0x7ff7f94303c4 in wrenCompileSource wren\vm\wren_vm.c:1566
    #17 0x7ff7f943025d in wrenInterpret wren\vm\wren_vm.c:1545
    #18 0x7ff7f98517b9 in wrenInitializeCore wren\vm\wren_core.c:1461
    #19 0x7ff7f9420108 in wrenNewVM wren\vm\wren_vm.c:101

I know a potential use after free after wrenEnsureStack that does not
zero the stack when growing. But that does not explains why it would trip
on value hashing.
I think there are 2 different issues. One in the heap and probably one in
the hash map implementation, not zeroing data correctly. The fact that we
trip on a string, is probably an artefact of stack configuration.
I would start by making default stack frame insanely big by default, to be
sure not to trip on potential stack corruption just to be safe, and force
zeroing the stack growing part.
With that secured it should be possible to isolate the if the hash map has
an error. When isolated/fixed, I would ensure if it's not wrenEnsureStack
that cause all the mess. And then going down again if there is not a stack
corruption.

The hash assert is because it's given an invalid object (sometimes a valid looking object of the wrong type like map, and sometimes what looks like garbage), seems to me. So the hash code in the switch seems fine, it's the input that is wrong.

Fixed:
diff --git a/src/vm/wren_compiler.c b/src/vm/wren_compiler.c
index d54b930d..51c80ee2 100644
--- a/src/vm/wren_compiler.c
+++ b/src/vm/wren_compiler.c
@@ -3640,6 +3640,7 @@ void wrenMarkCompiler(WrenVM* vm, Compiler* compiler)
 {
   wrenGrayValue(vm, compiler->parser->current.value);
   wrenGrayValue(vm, compiler->parser->previous.value);
+  wrenGrayValue(vm, compiler->parser->next.value);

   // Walk up the parent chain to mark the outer compilers too. The VM only
   // tracks the innermost one.

OH, of course 👍
That's a good find thanks!

Was trivial once I isolated the issue to nextToken(). The first 2 lines advance the token, and my brain clicked because I was toying with the gc compiler hook 2 minutes before, and went "wait, next token is not grayed"....

Yea makes sense. I was distracted by the string because it was from trim in wren core, I thought maybe it was somehow an old issue triggered by enough constants or something. But really, I wasn't able to debug properly immediately so I'm glad to have other eyes on it!

I'm currently valgrind verifying tests that times out, but there is one test that seems to be annoying. It seems enabling gc makes test/api/call_wren_call_root.wren fails oddly.

I currently still get the use after free (GC trying to collect an already collected object), but this is now further along inside some code I was already suspicious of, so they may be unrelated.

Found a nasty bug in 'PUSH()' macro, thanks to the definition of WREN_DEBUG_GC_STRESS. It seems that *fiber->stackTop++ = value opens a window for initialized data (visible when used with newly created value, like PUSH(importModule(vm, fn->constants.data[READ_SHORT()]));)

Interesting, @avivbeeri mentioned some strange behavior with import order, but I haven't seen any myself.

Could it be related to the particular chains of import usage that occur in DOME, compared to other embedded applications?
I don't know if the import pattern is similar for Luxe, but if they are radically different it might explain why you don't run into the same issues.
I often end up with issues that are "fixed" by shuffling the import order around, which is very frustrating, as it usually happens towards the end of a project, and is very hard to diagnose.

There's two classes of issue though, one is import order where there's expected behaviour (like a value being null, because you imported the value at the time it was null) and unexpected behaviour (like corruption issues or errors in unrelated code from the import order)

And DOME seems to hit both :P

We'd rather confirm the first fix is good for the corruption part since it's quite likely involved in the 0.4.0 prerelease version

#define PUSH(value)  do { *fiber->stackTop = (value); fiber->stackTop++; } while (false)

seems to fix it, but it should probably be commented. The issue is that stackTop might be incremented prior to value evaluation, opening the window to not initialized data, if value evaluation cause a GC.

Ooh, that's clearer thanks @mhermier. I'll test this a bunch with my issues when I can.

Knowing the issue, and writing a good diff are sometimes 2 different things... Problem is that the macros in the VM can have quite some side effects, and probably should be transformed to inline functions to avoid them...

And, I just found the cause of my issue, which isn't related to Wren but my code using the API directly.
The context is a json-like parser that converts the data to Wren objects, nothing surprising.
The issue: GC is being triggered (I am parsing a lot of data rapidly) while parsing.
The crash was inside wrenBlackenObjects in the GC, specifically while iterating a list.

I looked closely at the list section, when I make a list it's doing:
ObjList* list = wrenNewList(vm, count);
for each value {
  list->elements.data[idx] = ...
}

The real issue is that wrenNewList doesn't initialize the values (expected!) since this function isn't accessible from the API or from Wren*. The buffer for list->elements.data is entirely uninitialized memory! The contents of the list are allocated, but left uninitialized, meaning there's bogus memory just waiting to be accessed by GC. When GC comes around, it accesses bogus memory.
//input data
list = [4, {"some":"stuff"}, 5]

wrenNewList -> elements uninitialized

i = 0 | elements[0] = NUM_VAL(4)
i = 1 | elements[1] = wrenNewMap (...) //triggers a GC, accesses elements[2]!
      | elements[2] = uninitialized

*The only way it's used in Wren is List.filled which initializes the values to a single value (which is not evaluated dynamically).

Summary and fix: if you use wrenNewList, make sure you initialize the elements:
ObjList* list = wrenNewList(vm, count);
for(int i = 0; i < count; ++i) {
  list->elements.data[i] = NULL_VAL;
}

Summary and fix: if you use wrenNewList, make sure you initialize the elements:
ObjList* list = wrenNewList(vm, count);
for(int i = 0; i < count; ++i) {
  list->elements.data[i] = NULL_VAL;
}

+1. This is an easy mistake to make. It's easy to think that nothing is looking at the object yet, when the GC could kick in at almost any time and get its grubby paws on it.


Revise README.md

Ⅰ. Describe what this PR does
This change revises the README.md to include Yurt-app-manager as one of the Openyurt core component.
The architecture figure is updated accordingly.

LGTM

LGTM


Copy title with Comment

Copy data as HTML with title comment.
#5529

Thanks for the feature request


[SUGGESTION] Add compat for the following mods for various cross-mod cakes

Alaska Native Craft
Farmer's Delight
Promenade
More Berries
All of these mods have berries that could also work as substitutes for their Croptopia counterparts in certain cakes.

Thank you for your suggestion! :D
I'll think about it.


Getting 'InvalidParams'

Hey,
thank you for this useful crate! I was switching from mime to this one, since i was unable to parse this content-type:
multipart/related; type="application/dicom"; boundary=2e7d39ff-37ea-4123-8604-53b2faee9847-a458cacb-2e98-41d0-9654-0803b18ca

However i also seem to error out with this crate. I get the InvalidParam result, but i don't see anything wrong. I get this content-type from a real DICOMweb server. Maybe the parser expects a trailing semicolon?
Could you please take a look? Thanks!

@feliwir I've tested your example, and it can be parsed without error.
I guess your input might contain some extra whitespace characters.


drivers: i2c: nrfx: add multithreading dependency

This patch adds MULTITHREADING as a dependency to the nrfx i2c driver. The driver uses semaphores internally and can result in linker errors if MULTITHREADING is not enabled.

Is there a need to use i2c without multithreading?

Is there a need to use i2c without multithreading?

There might be if e.g. you wanted to include some i2c device init code in a tiny bootloader.

Is there a need to use i2c without multithreading?

There might be if e.g. you wanted to include some i2c device init code in a tiny bootloader.

Couldn't this bootloader use CONFIG_I2C_NRFX=n instead?
Adding this dependency is harmless but it feels a bit inconsistent with other drivers. A lot of them also depends on multithreading but such dependency is not specified for those.

Is there a need to use i2c without multithreading?

There might be if e.g. you wanted to include some i2c device init code in a tiny bootloader.

Couldn't this bootloader use CONFIG_I2C_NRFX=n instead?
Adding this dependency is harmless but it feels a bit inconsistent with other drivers. A lot of them (for example, SPI ones) also depends on multithreading but such dependency is not specified for those.

If that's the case, I think it would make more sense to add the dependency to the others as well.

Is there a need to use i2c without multithreading?

There might be if e.g. you wanted to include some i2c device init code in a tiny bootloader.

Couldn't this bootloader use CONFIG_I2C_NRFX=n instead?
Adding this dependency is harmless but it feels a bit inconsistent with other drivers. A lot of them (for example, SPI ones) also depends on multithreading but such dependency is not specified for those.

If that's the case, I think it would make more sense to add the dependency to the others as well.

I think this is a general Zephyr problem. Many APIs do not have a generic layer for shared functionality (e.g. locking, thread safety, common DT fields, etc.) and defer the job to the driver, leading to interface inconsistencies and implementation-specific behavior. In Zephyr, we tend to ignore many dependencies in Kconfig because "they are always there", like GPIO or MULTITHREADING, but IMO this isn't a good practice. A better driver layering would probably help on avoiding extra cluttering. For reference, this could be taken as an example (multithreading dependency at common layer level) https://github.com/zephyrproject-rtos/zephyr/pull/56622

I was asking because with an op queue in place of the thread waitq in a semaphore these issues aren’t issues.

Is there a need to use i2c without multithreading?

There might be if e.g. you wanted to include some i2c device init code in a tiny bootloader.

Couldn't this bootloader use CONFIG_I2C_NRFX=n instead?
Adding this dependency is harmless but it feels a bit inconsistent with other drivers. A lot of them (for example, SPI ones) also depends on multithreading but such dependency is not specified for those.

If that's the case, I think it would make more sense to add the dependency to the others as well.

This is a big problem, I agree that it should be added to others as well, it's very easy to configure mcuboot and get the compilation to fail as it defaults to multithreading being disabled. The other flip of the coin is that some drivers resolve this by instead disabling mutex locking when multithreading support is disabled, it would be better to have one unified way, and the problem with forcing multithreading support is it bloats application sizes for no real reason.


Use -rescan when -importmnemonic

This PR solves a bug where the wallet did not rescan for transactions when importing a new seed.

awesome!

works on ubuntu 18.04 for me too.


test(postgresql): add provision property testing

#182758722
Checklist:

[ ] Have you added Draft Release Notes in docs/draft-release-notes.md?
[x] Have you followed the Conventional Commits specification?

LGTM
In other services we have also tested constraints. We may want to add those here as well. I see some constraints tested but not all of them (at least the ones that have patterns would be good to test)


Create component for hover on element (desktop) or long press (mobile) interaction

We want to display certain information when a specific UI element is hovered (for example, board name on the pinned menu, or keyboard shortcuts for e.g. UI elements). Since hovering doesn't work on mobile, we will need a way to trigger the same event on mobile. Long press is the likely candidate.
We need a component able to do this.

This is the one. Tippy.js Docs | Tippy.js Repo


Update sts to 2.10.81

Updates software.amazon.awssdk:sts from 2.10.79 to 2.10.81.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk", artifactId = "sts" } ]

labels: library-update, semver-patch

Codecov Report

Merging #211 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #211   +/-   ##
=======================================
  Coverage   47.68%   47.68%
=======================================
  Files          24       24
  Lines         281      281
  Branches        1        1
=======================================
  Hits          134      134
  Misses        147      147

Continue to review full report at Codecov.

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


clear_on_drop and clear_stack_on_return

This RFC proposes a pair of attributes, #[clear_on_drop] and #[clear_stack_on_return], to make it easy to write code which securely clears sensitive data (for instance, encryption keys) after its use.
Rendered

Keep in mind that if a function uses callee-saved registers, the callee will typically save them to the stack, where they may remain after it returns if no later call overwrites them.  Therefore, the attribute should probably either ban them, or force them to be treated as caller-saved and clear them before calls.
Since this is mostly a job for LLVM, it would probably be easier to first get an implementation of this upstream (and add a Clang attribute)...

Keep in mind that if a function uses callee-saved registers, the callee will typically save them to the stack, where they may remain after it returns if no later call overwrites them.

This affects not only "accidental" parameters like callee-saved registers but actual (intentional) parameters as well. Quoting the RFC:

When any function is inlined within a #[clear_stack_on_return] function, the inner (inlined) function MUST be treated as if it also were marked with the #[clear_stack_on_return] attribute. This is important for safety: these are often small accessor functions, for instance a Vec's index().
For the same reason, functions marked with #[inline] should always be inlined within a #[clear_stack_on_return] function, as if they were #[inline(always)].

While this alleviates the issue for all inlineable functions, all the others are still insecure: They might spill your secrets all over their stack frame and there's nothing you can do about it. While it's always advisable to carefully review all utility libraries when writing security-critical code, this proposal is absolutely unforgiving to a programmer that forgets to apply the necessary attribute to just a single function. Furthermore, as some of the discussion in #243 showed, the absence of something is obviously much harder to detect, making (correct) code reviews/audits much harder.
Transitivity in general is a big problem as even the RFC admits how something like #[clear_on_drop] struct Secret { data: Vec<u8> } can be a fatal mistake.
I'm not sure how to improve the situation, but I do think that there needs to be some mechanism that assists programmers in avoiding these issues.

I'm not sure how to improve the situation, but I do think that there needs to be some mechanism that assists programmers in avoiding these issues.

Perhaps a pair of lints? One to warn when a #[clear_on_drop] type contains a pointer(&T, &mut T, *const T or *mut T), and another to warn when a #[clear_stack_on_return] function calls something that's not #[clear_stack_on_return] or #[inline]?

I have incorporated all the feedback so far into the RFC. Please take a look.

I am slightly concerned with the fact that those attributes would be mostly useless in absence of correct codegen, and codegen fully implicates LLVM. Is there any benefit in pursuing this discussion without any idea of what LLVM could offer here?
LLVM currently offers nothing (or close to), and I would think that any improvement to LLVM toward this functionality would have to be discussed and refined with the current Clang/LLVM developers. Given their experience, they might both:

suggest significant changes
suggest limitations
...

I laud the goal of this RFC, but I find it quite premature.

@cesarb Thanks much for this RFC!
The lang team discussed the RFC while attempting to find a shepherd for it. Our feeling is that, while the goal is a good one, there are a few reasons we're not ready to consider the RFC in the near future:

The biggest one is the lack of needed LLVM support. We are not in a position to make commitments on behalf of LLVM, and until the necessary support is available, we can't make progress along the lines the RFC is proposing.

We are in the midst of significant changes to how drop works -- in particular, with the upcoming MIR rollout, we plan to move to "non-zeroing drop". We would prefer to wait until these changes have settled before considering further changes in this area.

As such, we're going to close the RFC as postponed for the time being. Aside from the above concerns, in a future RFC we'd also like to see more discussion of prior art and expected usage patterns.

I wrote a crate which partially implements what I proposed in this RFC: https://crates.io/crates/clear_on_drop


Add .gitattributes file

Exclude non-essential files in .gitattributes.

Current coverage is 100.00%

Merging #5 into master will not affect coverage as of bdbf1b0

@@            master      #5   diff @@
======================================
  Files            2       2
  Stmts           27      27
  Branches         0       0
  Methods          5       5
======================================
  Hit             27      27
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of bdbf1b0

Powered by Codecov. Updated on successful CI builds.

:+1:


Issue with "TRansliterationLib mod has failed to load correctly" when running some mods.

So look, not gonna tell ya too much, just the things.
When I tried to run NotEnoughAnimations and FirstPersonMod - apparently TRansliterationLib can't "START_RENDER" or smh like that. It just says
"Failed to create mod instance. ModID: transliterationlib, class dev.tr7zw.transliterationlib.forge.TRansliterationLibMod
java.lang.NoSuchFieldError: START_RENDER"
That's all.
Here's some stuff. (It's 1.16.5. I'm using 1.0.2, but same stuff happened on 1.0.4)
[forge error screen] https://user-images.githubusercontent.com/69075215/136696436-00840596-66fe-4d95-ae12-ed75c0d8dadb.png
[crash-2021-10-10_15.39.48-fml.txt] (https://github.com/tr7zw/TRansliterationLib/files/7317427/crash-2021-10-10_15.39.48-fml.txt
[latest.log] (https://github.com/tr7zw/TRansliterationLib/files/7317429/latest.log)
Anyways, if you do, thanks for noticing and helping!

Update to 1.0.4.


Provide initializer for requestTensor() in InitLayerContext

Provide support for initializer for the requested tensors in InitLayerContext.

:octocat: cibot: Thank you for posting issue #1411. The person in charge will reply soon.


Fixed a few grammatical mistakes.

All changes were accepted and tested using app.grammarly.com.

Thank you! It seems I am in need of a refresher on proper grammar...

  It’s a mess!
On Tue, Oct 16, 2018 at 7:32 PM hanjiexi<EMAIL_ADDRESS>wrote:

Thank you! It seems I am in need of a refresher on proper grammar...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ossu/computer-science/pull/511#issuecomment-430259683,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQUXJ2ZnT5efxjVu-VDxwjEBLhv1h3Moks5ule34gaJpZM4XamaR
.

It's possible you may have "watched" this repository which would notify you of every conversation. Watching isn't terribly useful unless you are a maintainer or a significant stakeholder; you may want to Star the repository instead if you just want to "bookmark" it so to speak.
Go to the top right of the screen and press "Unwatch", to the left of "Star".

  It’s a mess!
On Tue, Oct 16, 2018 at 7:32 PM hanjiexi<EMAIL_ADDRESS>wrote:

Thank you! It seems I am in need of a refresher on proper grammar...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ossu/computer-science/pull/511#issuecomment-430259683,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQUXJ2ZnT5efxjVu-VDxwjEBLhv1h3Moks5ule34gaJpZM4XamaR
.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Cannot read property 'register' of undefined

Deps:
"@storybook/addon-actions": "^4.1.11",
"@storybook/addon-info": "4.1.11",
"@storybook/addon-knobs": "4.1.11",
"@storybook/addon-options": "4.1.11",
"@storybook/cli": "4.1.11",
"@storybook/react": "4.1.11",
"storybook-addon-jsx": "^7.0.1"

Upped from 6 version to 7 and catch error.

v7 broke because it switches support to v5 of storybook. I can try to get v4 working again or make a PR
https://github.com/storybooks/addon-jsx/releases/tag/v7.0.0


Proposal for copy writting

Hello, i just checked your lovely project and i discovered you have some sections missing out like FAQ, about us, contact us and privacy policy. If you dont mind i will like to write that for you.
My email<EMAIL_ADDRESS>

Hi, thanks for the offer but it's not really needed at the moment.


socket.gaierror: [Errno 11004] getaddrinfo failed

>>> from pykafka import KafkaClient
>>> client = KafkaClient(hosts='<IP_ADDRESS>:9092')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "E:\Python27\lib\site-packages\pykafka\client.py", line 73, in __init__
    source_address=self._source_address
  File "E:\Python27\lib\site-packages\pykafka\cluster.py", line 191, in __init__
    self.update()
  File "E:\Python27\lib\site-packages\pykafka\cluster.py", line 390, in update
    self._update_brokers(metadata.brokers)
  File "E:\Python27\lib\site-packages\pykafka\cluster.py", line 315, in _update_brokers
    source_port=self._source_port
  File "E:\Python27\lib\site-packages\pykafka\broker.py", line 140, in from_metadata
    source_port=source_port)
  File "E:\Python27\lib\site-packages\pykafka\broker.py", line 92, in __init__
    self.connect()
  File "E:\Python27\lib\site-packages\pykafka\broker.py", line 200, in connect
    self._connection.connect(self._socket_timeout_ms)
  File "E:\Python27\lib\site-packages\pykafka\connection.py", line 82, in connect
    (self.source_host, self.source_port)
  File "E:\Python27\lib\socket.py", line 553, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno 11004] getaddrinfo failed

Hi @Emor93. Could this traceback be caused by some issue with your server or firewall configuration? When you run this code from the machine hosting your pykafka code, what's the output?
import socket
socket.getaddrinfo('<IP_ADDRESS>', 9092)

Thank you!@emmett9001
The output is [(2, 0, 0, '', ('<IP_ADDRESS>', 9092))]

import socket
socket.getaddrinfo('<IP_ADDRESS>', 9092)
[(2, 0, 0, '', ('<IP_ADDRESS>', 9092))]

When i shutdown the firewall configuration and run the 'client = KafkaClient(hosts='<IP_ADDRESS>:9092')' again,it's ouput is:

from pykafka import KafkaClient
client = KafkaClient(hosts='<IP_ADDRESS>:9092')
No handlers could be found for logger "pykafka.cluster"
Traceback (most recent call last):
File "", line 1, in
File "pykafka\client.py", line 73, in init
source_address=self._source_address
File "pykafka\cluster.py", line 191, in init
self.update()
File "pykafka\cluster.py", line 379, in update
metadata = self._get_metadata()
File "pykafka\cluster.py", line 286, in _get_metadata
'Unable to connect to a broker to fetch metadata. See logs.')
RuntimeError: Unable to connect to a broker to fetch metadata. See logs.

Looks like this line is failing for one reason or another. There's nothing in your example code that indicates that you're doing anything wrong, so I'm left to guess that it's some firewall configuration that's not allowing your pykafka machine to talk to kafka. For some more information, you could add this to your test script:
import logging as log
log.basicConfig(level=log.DEBUG)

You can post the full output from that test run here, it may give us something more off of which to work.

@emmett9001 I had closed the firewall:
ip6tables      	0:off	1:off	2:off	3:off	4:off	5:off	6:off
iptables       	0:off	1:off	2:off	3:off	4:off	5:off	6:off
And the output is:
DEBUG:pykafka.connection:Connecting to <IP_ADDRESS>:9092
DEBUG:pykafka.connection:Successfully connected to <IP_ADDRESS>:9092
INFO:pykafka.handlers:RequestHandler.stop: about to flush requests queue
INFO:pykafka.cluster:Discovered 1 brokers
DEBUG:pykafka.cluster:Discovered broker id 159115: centos115:9092
DEBUG:pykafka.connection:Connecting to centos115:9092
INFO:pykafka.handlers:RequestHandler worker: exiting cleanly
Traceback (most recent call last):
File "test.py", line 5, in
client = KafkaClient(hosts="<IP_ADDRESS>:9092")
File "d:\pykafka-master\pykafka\client.py", line 73, in init
source_address=self._source_address
File "d:\pykafka-master\pykafka\cluster.py", line 191, in init
self.update()
File "d:\pykafka-master\pykafka\cluster.py", line 387, in update
self._update_brokers(metadata.brokers)
File "d:\pykafka-master\pykafka\cluster.py", line 314, in _update_brokers
source_port=self._source_port
File "d:\pykafka-master\pykafka\broker.py", line 140, in from_metadata
source_port=source_port)
File "d:\pykafka-master\pykafka\broker.py", line 92, in init
self.connect()
File "d:\pykafka-master\pykafka\broker.py", line 200, in connect
self._connection.connect(self._socket_timeout_ms)
File "d:\pykafka-master\pykafka\connection.py", line 82, in connect
(self.source_host, self.source_port)
File "E:\Python27\lib\socket.py", line 553, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno 11004] getaddrinfo failed
Thanks!

Can it be the kafka broker configuration?
You connect by IP, but then if the metadata is fetched from the broker about all kafka brokers, and this can return some name that is, e.g. not resolvable, from the client (pykafka) host.
Maybe it worth looking at hostname of the kafka host, and if it is resolvable from pykafka client host.
Just in case, in server.properties, you also have advertised.host.name=<hostname routable by clients> parameter.
Not sure though...

@Emor93 I agree with @tigran-a that this is likely to be related to either the advertised.host.name or host.name property in your broker configuration. Check out your server.properties, and also try running this from your pykafka machine:
import socket
socket.getaddrinfo('centos115', 9092)

If it fails, that strongly indicates that you need to change the advertised hostname of your broker to something that your pykafka machine can resolve.

@Emor93 I'm going to close this issue. Please reopen if you find that these suggestions don't solve it for you. Thanks!

i also have this problem , and when i add "host.name=<IP_ADDRESS>"  ,it ok!!!

Same Here


Update packages

Any idea whats causing this build failure on Windows:

@TCourtneyOwen There is an issue with the Windows 1903 build agent. This is now passing on Mac and Linux and passes for me locally on Windows. There seems to be an issue with the node_modules where it is missing things that should be there. It would help to do "npm ci" for each of the packages to clean the node_modules and then "npm install" at the root to ensure they are initiailized properly.

I am at a loss for why this is happening. I did a run of your changes on two different VMs, both which we redeployed last night, and the build keeps failing on the same error

@TCourtneyOwen I got the builds to pass. Could you please approve?


Still Unable To Get Validator Information To Display

I just setup https://gravity-bridge.skynetexplorers.com/ based on  desmos-mainnet-1-v1.8.4 and base-v1.8.4.  I followed the instructions on https://docs.bigdipper.live/cosmos-based/frontend/setup.  On either build it does not display any validator details.
The data is in the database:

.env:
NODE_ENV=production
PORT=3000
NEXT_PUBLIC_CHAIN_STATUS=testnet
NEXT_PUBLIC_GRAPHQL_URL=https://gravity-hasura.skynetexplorers.com/v1/graphql
NEXT_PUBLIC_GRAPHQL_WS=wss://gravity-hasura.skynetexplorers.com/v1/graphql
NEXT_PUBLIC_URL=https://gravity.skynetexplorers.com
NEXT_PUBLIC_WS_CHAIN_URL=wss://gravity-rpc.skynetexplorers.com/websocket

The database blocks start 14,970
{
  "title": "Gravity Bridge Explorer",
  "network": "gravity-bridge-test4",
  "icon": "https://skynet-images.s3.filebase.com/evmos-logo.svg?sanitize=true",
  "logo": {
    "default": "https://skynet-images.s3.filebase.com/SkyNet-Explorers-Logo.png?sanitize=true"
  },
  "prefix": {
    "consensus": "gravityvalcons",
    "validator": "gravityvaloper",
    "account": "gravity"
  },
  "genesis": {
    "time": "2021-11-28T14:45:49.658958945Z",
    "height": 14970
  },
  "primaryTokenUnit": "ugraviton",
  "tokenUnits": {
    "ugraviton": {
      "display": "graviton",
      "exponent": 6
    }
  },
  "extra": {
    "profile": true
  }
}

Hey I just ran your setup on base-v1.8.4 and desmos-v1.8.4 and it seems to work fine:

Seems like your config file is incorrect. This is the network payload from https://gravity-bridge.skynetexplorers.com/

Wow, which config file is this because I changed everything to graviton and ugraviton for Gravity Bridge

Your output show {denom: "dsm"} but my config file above show gravition and ugraviton so I must be missing another config file?? I don't know.   Both config files in /src/configs (testnet | mainnet) both have the same config above.

No these are the only config files used.
Have you rebuild by any chance?

I will rebuild again.  Thanks

My appologies,  I could sware that I rebuilt it but apparently not.  I just did the rebuild and it is fine.  You can take a look again.


New gnn

[ ] frame averaging
[ ] verify rotation invariance
[ ] simplify frame averaging (positive ortho R, 2D, select one) -> approx a unique 3D representation of molecules

Yes agreed, let's merge this version to main.py (it makes sense since it is our workshop version) and start again from a dev branch.


feat(ci): add RPM packaging

Hey, hope you're doing well! :)
This PR aims to resolve #420 by adding RPM packaging for Fedora (didn't tried in openSUSE which also uses RPM packages but it should work in theory). I'm actually using a RPM package produced from my tests and it's working really good btw.
Regarding to structure I tried to keep the same hierarchy as ArchLinux builds, made a directory in .github/ called fedora that contains the following files:

Dockerfile - our Fedora docker container image used to build contour RPM package.
contour.spec - our spec file used to compile contour as a RPM package (contains all the packaging logic).

Also I'm only packaging for x86_64 arch at the moment, if it's requested then I could also add packaging for arm64/aarch64.
Please let me know if you want me to change something :)
Cheers

Amazing work, @NTBBloodbath . Many thanks for saving me some time. I really appreciate that. :)
I will look into it ASAP.

As agreed on Discord, we're going to merge this even though the last commands don't work yet. We can take care of this in a secondary PR.


项目所在目录不能使用中文

项目如果放在中文目录下，插件获取不到配置文件，从日志中显示，获取配置文件目录乱码

我尝试把目录换到非中文，运行正常

I’m sorry, but do you think you could provide some steps to reproduce the issue in English? I have a vague understanding of what you mean but I want to make sure I am not misunderstanding this.

我再次尝试发现正常，目录使用中文也可以，真是不好意思，上面遇到的问题，是我在之前项目中，项目中已经存在Tailwind 配置文件，我再使用看看

Great! I will mark this as closed then. If the issue arises again, feel free to comment here again and I will reopen this :)


Add arithmatic operators to Color

Fixes #64
Adds operator overloading to Color struct
Examples:
auto col = Color(0.3f, 0.3f, 0.3f, 0.3f) + Color(0.3f, 0.3f, 0.3f, 0.3f);
print(col);

col = Color(0.3f, 0.3f, 0.3f, 0.3f) - Color(0.3f, 0.3f, 0.3f, 0.3f);
print(col);

col = Color(0.3f, 0.3f, 0.3f, 0.3f) * Color(0.3f, 0.3f, 0.3f, 0.3f);
print(col);

col = Color(0.3f, 0.3f, 0.3f, 0.3f) / Color(0.3f, 0.3f, 0.3f, 0.3f);
print(col);

col = Color(0.3f, 0.3f, 0.3f, 0.3f) * 3;
print(col);

col = Color(0.3f, 0.3f, 0.3f, 0.3f) / 3;
print(col);

col += Color(0.3f, 0.3f, 0.3f, 0.3f);
print(col);

col -= Color(0.3f, 0.3f, 0.3f, 0.3f);
print(col);

col *= Color(0.3f, 0.3f, 0.3f, 0.3f);
print(col);

col /= Color(0.3f, 0.3f, 0.3f, 0.3f);
print(col);

Would print
0.6,0.6,0.6,0.6
0,0,0,0
0.09,0.09,0.09,0.09
1,1,1,1
0.9,0.9,0.9,0.9
0.1,0.1,0.1,0.1
0.4,0.4,0.4,0.1
0.1,0.1,0.1,0.1
0.03,0.03,0.03,0.1
0.1,0.1,0.1,0.1

Thanks! The v0.1.9 release will be ready shortly.


Performance for real time applications

Hello!
I'm using CSharpMath for my Android game (Exponential Idle) and I really love it. However, when I use it to display many elements that changes every frame (~100ms), then game can get quite laggy. To avoid this issue, I started using a workaround where I split my LaTeX elements into 2 parts, a static part that doesn't change every frame, and the dynamic part. For the dynamic part, whenever I can, I create a native label using custom font with Computer Modern font characters (a mix of Italic and Regular), to get the same appearance as your library. It works quite well, but I find this solution to be really messy.
My question: Is there any way I can improve re-rendering performance in this context so I can continue only using your library? Text elements that change every frame usually look like "x_1 = 1.234e50", where the right side is dynamic.
Thanks!

I think this can be improved by removing the unnecessary ToString -> reparse steps by the BindableProperties in MathView, men tioned at https://github.com/verybadcat/CSharpMath/pull/141#issuecomment-650753746. However, this is necessary for Content and LaTeX bindable properties of MathView to sync up. This is hard to solve. Any ideas?
(Btw, can you share how do you promote your game? I'd like CSharpMath to reach a larger audience too)

Are you using Forms or SkiaSharp? Are you making sure to avoid the BindableProperties and generating TextPainters manually?
CSharpMath/LayoutFarm.Typography should have some performance, but tweaks getting some simple dynamically changing tex at 60fps should be very easy.
We get some performance issues on layout and resizing of larger documents but that operation is much more intensive.


Improve resolve reference.

Simple patch, but 17% improvement on bitops-bitwise-and.js.

Benchmark
Perf (sec)

3d-cube.js
0.950 -> 0.944 : +0.690%

3d-raytrace.js
1.132 -> 1.115 : +1.506%

access-binary-trees.js
0.588 -> 0.582 : +1.004%

access-fannkuch.js
2.371 -> 2.361 : +0.424%

access-nbody.js
1.070 -> 1.065 : +0.491%

bitops-3bit-bits-in-byte.js
0.582 -> 0.582 : +0.003%

bitops-bits-in-byte.js
0.869 -> 0.868 : +0.059%

bitops-bitwise-and.js
1.142 -> 0.938 : +17.802%

bitops-nsieve-bits.js
1.810 -> 1.800 : +0.545%

controlflow-recursive.js
0.401 -> 0.380 : +5.430%

crypto-aes.js
1.140 -> 1.114 : +2.210%

crypto-md5.js
0.753 -> 0.734 : +2.542%

crypto-sha1.js
0.714 -> 0.696 : +2.495%

date-format-tofte.js
0.879 -> 0.866 : +1.455%

date-format-xparb.js
0.476 -> 0.456 : +4.267%

math-cordic.js
1.351 -> 1.319 : +2.370%

math-partial-sums.js
0.723 -> 0.692 : +4.258%

math-spectral-norm.js
0.598 -> 0.584 : +2.307%

string-base64.js
2.075 -> 2.050 : +1.179%

string-fasta.js
1.814 -> 1.763 : +2.820%

Geometric mean:
+2.772%

LGTM

LGTM


[binary] Stop service doesn't kill the process

Start, then stop a service
You can check processes with lsof -i -P -n | grep LISTEN

It's working correctly for me with tabby could you send the reproduction steps?

I have the bug with Mistral

Yep Mistral CLI seems to be broken. I believe it spawns a detached service, let me check it out a bit more.


Added uniform hover effect in topdeals.html

Title and Issue number

Title:  Consistent New Hover Effect on "Book Now" Buttons
Issue No. : Fixes #1611
Code Stack : html, css
Close #1611

Description

The "Book Now" button has a smooth 3D flip hover effect:
Initial State: The button is styled with a bold red background (#ff5a5f) and white text, with padding and rounded corners.
Hover Effect: On hover, a secondary color layer (#ff787d or #ffa3a6) flips up from below, replacing the original text with a new label.
Smooth Transition: The flip effect is achieved with a rotation animation, giving a dynamic yet subtle 3D appearance that draws attention without being distracting.
Video/Screenshots (mandatory)

https://github.com/user-attachments/assets/dadc9922-f1fb-4fcb-b5ab-4f3e47cd95af
Type of PR

[ ] Bug fix
[X] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

[X] I have performed a self-review of my code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[X] I have gone through the  contributing.md file before contributing
[X] I have Starred the Repository.

Additional context:

##Are you contributing under any Open-source programme?

[X] I am contributing under GSSOC'24 Extended
[X] I am contributing under Hacktoberfest'24

@apu52 can you please review this?


[Housekeeping] for project files and package generation

Relevant changes

added Directory.Build.props, Directory.Packages.props to centrally manage nuget package versions and global project settings (speeds up managing nuget packages via IDE dramatically)
added [*.{csproj,props}] to editorconfig, to enforce uniform formatting for props and csproj files
auto formatted csproj and props files according to new editorconfig settings

Breaking Changes

use netstandard2.0 for SukiUI.Dock
added tags to SukiUI.Dock

Misc

fixed ambiguous reference in ToastsViewModel
added most recent .NET 8 version of System.Text.Json to Demo app, to fix a transitive package vulnerability

Not sure why SukiUI.Dock was using .NET 8.0, when SukiUI itself was .netstandard2.0. So i upgraded that. If there is a specific reason why it should remain on .NET 8.0, i will happily revert that change.


Not adding to Radarr

Hi,
Am trying out the script and the script says added to Radarr but there is nothing showing up on Radarr..

Can you post your meta.log

am sorry. I dont know how to get that. Are you talking about the default radarr logs? I have it set to debug.

In your config folder for PMM (where your config.yml most likely is) you should have a folder called logs inside that folder should be a file called meta.log

Attached.
meta.log

meta.log
Attached the correct log file

what version of radarr are you running

3.2

nothing obvious is standing out to me ill have to run some more complicated tests later when I have time ill get back to you

Thank you!

can you try using the develop branch and see if it works there?

radarrs Develop Branch? or PMM Develop Branch?

PMM

I ran for 1 collection and it says being added to Radarr but its not.

can i get your log. btw this is all working for me so it might not be a code issue make sure your config is connecting properly

This is my config for radarr.
radarr:
url: http://radarr.xxxx.in
token: ------
version: v3
add: true
root_folder_path: "/mnt/radarr/Movies - English/"
monitor: true
availability: announced
quality_profile: HD-1080p
tag: collector
search: false

And your log from the develop run?

meta2.log
This is the log file

do you docker or do you just run the script using python on your computer? From your log it appears to have partially updated the code but not all the way for some strange reason. i can tell you using dev because i fixed a small error when loading blank metadata files but on your radarr part i have this
[2021-07-02 07:49:07,007] [radarr.py:71]              [INFO]     |                                                                                |
[2021-07-02 07:49:07,007] [radarr.py:72]              [DEBUG]    | TMDb IDs: [508943, 459151, 385128, 739542, 497698, 637693]                                         |
[2021-07-02 07:49:08,442] [radarr.py:112]             [INFO]     | Added to Radarr | 508943 | Luca                                                                    |
[2021-07-02 07:49:09,393] [radarr.py:112]             [INFO]     | Added to Radarr | 459151 | The Boss Baby: Family Business                                          |
[2021-07-02 07:49:10,334] [radarr.py:112]             [INFO]     | Added to Radarr | 385128 | F9                                                                      |
[2021-07-02 07:49:11,289] [radarr.py:112]             [INFO]     | Added to Radarr | 739542 | America: The Motion Picture                                             |
[2021-07-02 07:49:12,343] [radarr.py:112]             [INFO]     | Added to Radarr | 497698 | Black Widow                                                             |
[2021-07-02 07:49:13,295] [radarr.py:112]             [INFO]     | Added to Radarr | 637693 | Spirit Untamed                                                          |
[2021-07-02 07:49:13,296] [radarr.py:120]             [INFO]     | 6 Movies added to Radarr                                                                           |

notice how the beginning of the lines say radarr.py:112 (or other number). These are the line number in the code where these prints are and well ive updated the radarr.py in develop and it only has 61 lines total so something is wrong. Also if you are just using python on you computer make sure to install requirements again

Am running the script on the computer. I tried removing everything and installing requirements and its still the same.

Go into your modules folder and open radarr.py how many lines does it have

It has 132 lines of code

radarr.txt
This is my radarr.py

that file upload is not working for me i just get a blank page try using github gist or pastebin. if it has 132 then its wrong. This is the code for radarr on the develop branch

Can you like ping me the develop branch github cli link? Please?

gh repo clone meisnate12/Plex-Meta-Manager

theres no cli link for only devlop because its all the same repo just switch branches by doing git checkout develop

yup, got it. Running the script now. Also ive added movies.yml, tvshows and anime.yml in the config folder to update collections. That should be fine right?

yea should be fine

Getting import error.
ran pip3 install -r requirements.txt

Okay, so the script is running but not adding anything to radarr.

Send me your meta.log

meta3.txt
This is the meta for the latest run

This is new. Will attach log once it finishes running. Usually takes around 6-7 hrs for a full run.

meta4.txt
Updated Meta for the Item Not Found error.

can you try again with 1.11.0 make sure to update requirements if youre not using docker

Still the same error with 1.11.0
I will attach the meta once its done running.

Argghhhh am so dumb.
I have Radarr running under https but was http on the url call. Thats why its failing.
Let me try running it with https.

Its working perfectly now.
Thank you so much!
Ill close this.


Parameters missing from ivtools.sdm.fit_desoto_sandia returns statement

Is your feature request related to a problem? Please describe.
In addition to the parameters already listed in the returns statement in the docs of pvlib.ivtools.sdm.fit_desoto_sandia, this function also returns a_ref and dEgdT, which are two parameters required for the De Soto module performance model.
Describe the solution you'd like
Add descriptions of a_ref and dEgdT to the returns statement in the docs
Describe alternatives you've considered
Have I missed something here...?

@cwhanse I notice a possible sign error: fit_desoto_sandia returns dEgdT=0.0002677 while calcparams_desoto defaults to dEgdT=-0.0002677.  Is this a bug?

@cwhanse I notice a possible sign error: fit_desoto_sandia returns dEgdT=0.0002677 while calcparams_desoto defaults to dEgdT=-0.0002677. Is this a bug?

Yes it is. New issue or fix here?

If so, it may affect the matlab version as well: https://github.com/sandialabs/MATLAB_PV_LIB/blob/master/pvl_desoto_parameter_estimation.m#L276

Technically, no, since the Matlab function doesn't return dEgdT.

Opened #2321 so we can close this one with #2317.


Request: Minimum DLP Requirements for CoE

Would you be able to create a page documenting the minimum Power Platform DLP requirements for the environment running the CoE?  I think this would be good reference material when security teams need to review.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3f619bbe-9303-8583-2cb9-a287811cec13
Version Independent ID: 8e256e0c-38fa-f2ca-58db-550bb6e9802a
Content: Set up the CoE Starter Kit - Power Platform
Content Source: power-platform/guidance/coe/setup.md
Service: power-platform
GitHub Login: @manuelap-msft
Microsoft Alias: mapichle

Hello,
our DLP requirements and all other pre-requisites are listed under https://docs.microsoft.com/en-us/power-platform/guidance/coe/setup#prerequisites
We'll add a note from the setup instructions to the pre-requisites with our next docs updates! Thanks for the feedback!

Thank you. So Power BI doesn't need to be in the DLP??  The CoE uses a Power BI dashboard.

Yes, it is! We just noticed this as well - we introduced Notifications with the latest release and have not yet updated the documentation. It's on our to-do list for the next docs update.
We don't use the Power BI connector in our apps or flows, so Power BI doesn't need to be in the DLP policy. The Power BI dashboard is separate from DLP.


Replace deprecated set-output function with GITHUB_OUTPUT

The ::set-output:: function has been deprecated in favour of using the GITHUB_OUTPUT environment file. This change was also reflected in the @actions/core repo which needs to have it's version updated to remove warnings.
Ref: The set-output function is insecure according to this notification: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

closed in #13


Adding Cosmos Compute GW tests for id validation

Modify the Emulator CI to include the Compute GW endpoint
And Compute GW endpoint validation tests for ids

LGTM, wondering why the CI change?

Because we need to add the parameter to start the Compute GW endpoint, it was not enabled in this repo (like in .NET https://github.com/Azure/azure-cosmos-dotnet-v3/pull/3556)

/check-enforcer evaluate


Missing GPU op for zeros_like for RaggedTensorVariant, error occurs when Ragged Tensor fed thru tf.map_fn

System information
Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes, included below
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 20.10
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: n/a
TensorFlow installed from (source or binary): pip binary
TensorFlow version (use command below): v1.12.1-49539-g18d8bcbe72b 2.5.0-dev20210123
Python version: '3.8.6 | packaged by conda-forge | (default, Nov 27 2020, 19:31:52) \n[GCC 9.3.0]'
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: 11.0 / 8
GPU model and memory: TITAN X (Pascal) computeCapability: 6.1
Describe the current behavior
I have a keras layer RescaleB that accepts a ragged tensor with shape [batch, (time), in_dim]. The layer calls map_fn to process each example in the batch separately, scaling the values along the inner dimension by a trainable gain vector. (The details of the operation aren't critical, but the ragged tensor going into map_fn is.)
Using this layer fails with No unary variant unary_op function found for unary variant op enum: 1 Variant type_name: RaggedTensorVariant for device type: GPU on a node whose name ends with rescale_b/map/while/TensorArrayV2Write/TensorListSetItem_grad/zeros_like which suggests that the zeros_like operation
isn't defined for Ragged Tensors on GPU?
In this simple example, i also include RescaleA, which accomplishes the same task using tf.ragged.map_flat_values, although in my real use case I need map_fn. This is a simplified example.
Describe the expected behavior
I'd expect RescaleB and RescaleA to function identically.
Standalone code to reproduce the issue
https://colab.research.google.com/drive/1mHycCXJL94VuCGkXIJ0bIXtbYamyZo78
I've reproduced the issue locally with tf-nightly-gpu TF 2.5, but I can't seem to get the nightly version to see the GPU on Colab. The Colab notebook is using TF 2.4, but the issue remains in TF 2.5 nightly.
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
This may be the same issue as #44231 but hopefully the additional detail here is helpful.

I ran the code on tf 2.4 and and face a different error on nightly, please find the gist here

I ran the code on tf 2.4 and and face a different error on nightly, please find the gist here

As I mentioned, I don't think tf-nightly-gpu is running on the GPU in Colab. The issue is only present on GPU. In the gist you sent, the cell where it searches for the GPU returns:
Tensorflow version ==  2.5.0-dev20210124

---------------------------------------------------------------------------
SystemError                               Traceback (most recent call last)
<ipython-input-8-6f54130e32b7> in <module>()
      4 print(device_name)
      5 if device_name != '/device:GPU:0':
----> 6   raise SystemError('GPU device not found')
      7 print('Found GPU at: {}'.format(device_name))

SystemError: GPU device not found

Locally, where it is running on GPU, TF nightly fails with the same error as TF2.4, so this issue is still present in nightly, at least on my local pip install tf-nightly-gpu installation.

As I mentioned, I don't think tf-nightly-gpu is running on the GPU in Colab. The issue is only present on GPU. In the gist you sent, the cell where it searches for the GPU returns:
Tensorflow version ==  2.5.0-dev20210124

---------------------------------------------------------------------------
SystemError                               Traceback (most recent call last)
<ipython-input-8-6f54130e32b7> in <module>()
      4 print(device_name)
      5 if device_name != '/device:GPU:0':
----> 6   raise SystemError('GPU device not found')
      7 print('Found GPU at: {}'.format(device_name))

SystemError: GPU device not found

Locally, where it is running on GPU, TF nightly fails with the same error as TF2.4, so this issue is still present in nightly, at least on my local pip install tf-nightly-gpu installation.

@djoshea this looks like a reasonable request, will you be able to send a PR for this?

I could potentially try developing it, but I unfortunately don't know where to start. Is there a guide somewhere to implementing new ops for the GPU?

I could potentially try developing it, but I unfortunately don't know where to start. Is there a guide somewhere to implementing new ops for the GPU?

I don't think we have a detailed guide for this, but if you're comfortable with C++ you could try to start at the check that's failing.

It would be nice if this could be implemented soon. Using map_fn with RaggedTensors is very convenient when working with data of different shapes. Unfortunately one must run these operations on CPU right now.

I'm relying on map_fn to extract ragged image patches using bounding boxes so I can then produce ragged bounding-box centered feature maps via convolutions. I am encountering the same bug with the gradient step inside a tf.function (I can successfully run outside tf.function). The ragged image patches method is enabling a large speed up with a reduced memory footprint so it would be very useful to enable this in graph mode on GPUs.

For me RaggedTensors + map_fn are quite an enabler because I am implementing some kind of link prediction in a graph neural network. Having TensorFlow handling the individual samples allows for pretty safe programming as I do not have to put all samples in a batch into a large, disconnected graph and make sure that no nodes of different graphs will be connected. Using TensorFlow this way results in nice code that is fast to write in contrast to solutions with masks which may need to be changed every time you change your computation. Having this in GPU would be awesome. :100:

I would love to see this fixed, especially as iterating over RaggedTensors seems to not properly work in a lot of cases.

I ran the code in TF v2.5 and face error ,please find the gist here..Thanks !

Hi @sanjoy any updates on this? This is a really needed feature.

Hi, i will also very appreciate if this bug get fixed.
I think it's somehow related to No gradient defined for operation RaggedTensorFromVariant and No gradient defined for operation RaggedTensorFromVariant / or no gradients at all
 which are fixed with commit be6b1fd by @edloper .
The part with REGISTER_UNARY_VARIANT_UNARY_OP_FUNCTION(     ZEROS_LIKE_VARIANT_UNARY_OP, DEVICE_CPU, RaggedTensorVariant,     RaggedTensorVariantZerosLike<CPUDevice>); just registers the zeros_like OP for CPU device but not for GPU.
Maybe this will be a quick win to fix.
@edloper ,it would be very kind, if you can have a look at this.
Thanks.

Hi, thanks for raising the issue. According to @edloper "Basically, RaggedTensorVariant objects should never be copied to GPU, because we can't do anything useful with them there. But Placer isn't currently smart enough to figure that out (it just sees a Variant tensor, and doesn't know what kind of value it contains)." We have a project going on right now that hopefully will fix the issue.

Okay, I know this may sound too easy but, try using: to_tensor() on the ragged_tensor and continue from there.
But say per batch is a different shape: then np.array([ TF.MAPFN_HERE for batch in batches]), but make sure the value after mapped by list compression is changed from raggedTensor to tensor.
Hope this helps.

Hello. Could you please inform if there has been any progress on the issue?
For me, it resulted in a sudden sixfold increase of the train step length due to having to move to CPU

Also needing this resolved

I faced the same issue and resolved it by rolling my own map_fn via TensorArray. Here's a rough sketch:
def map_fn2(fn, elems, fn_output_signature):
    arr = tf.TensorArray(fn_output_signature.dtype, size=fn_output_signature.shape[0])
    batch_size = tf.nest.flatten(elems)[0].shape[0]
    for i in tf.range(batch_size):
        arr = arr.write(i, fn(tf.nest.map_structure(lambda x: x[i], elems)))
    return arr.stack()

As of TF v. 2.15, still not resolved.
It would be nice if the limitation on using RaggedTensors with map_fn on GPU will be mentioned on map_fn documentation.

Agreed, I would like to see this resolved as it is pretty important functionality for using map_fn and ragged tensors.


Add invoke integration test

Codecov Report

Merging #174 (5b286d3) into main (469b956) will decrease coverage by 3.14%.
The diff coverage is 14.28%.

@@            Coverage Diff             @@
##             main     #174      +/-   ##
==========================================
- Coverage   74.15%   71.02%   -3.14%
==========================================
  Files          35       35
  Lines        2109     2195      +86
==========================================
- Hits         1564     1559       -5
- Misses        545      636      +91

Impacted Files
Coverage Δ

.../business_logic/execution/execution_entry_point.rs
79.46% <ø> (ø)

src/business_logic/execution/objects.rs
77.41% <ø> (ø)

src/business_logic/execution/os_usage.rs
100.00% <ø> (ø)

src/business_logic/fact_state/state.rs
31.14% <ø> (ø)

src/business_logic/state/cached_state.rs
74.07% <ø> (+2.46%)
:arrow_up:

src/business_logic/state/state_api_objects.rs
45.45% <ø> (ø)

src/business_logic/state/state_cache.rs
97.67% <ø> (ø)

src/business_logic/transaction/internal_objects.rs
23.30% <0.00%> (-16.42%)
:arrow_down:

...core/contract_address/starknet_contract_address.rs
94.11% <ø> (ø)

src/core/syscalls/syscall_handler.rs
80.11% <ø> (ø)

... and 14 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Fix compatibility with wide horizontal images

Apologies, my previous PR had an issue with  wide horizontal images, because the height was set on the container and not on the image itself.
You can reproduce with a 2/1 image on a tall viewport, and this PR should fix it.

@sylvainjule Thanks a lot for the fix and sorry for the delayed review.
I re-structured the plugin following the recommendations of the pluginkit and included your pull request directly.

@sylvainjule Thanks a lot for the fix and sorry for the delayed review.
I re-structured the plugin following the recommendations of the pluginkit and included your pull request directly.


Hotfix/documentation-unit-decals

Hi @npruehs,
This documents the change required to prevent unit selection decals from rendering onto unit meshes when overlapping.
Demonstration below:
Enabled:

Disabled:

You're right - thank you very much for the PR! :)


Add cli tests for init and generate subcommands

Checklist

[x] I have read the Contributor Guide
[x] I have read and agree to the Code of Conduct
[x] I have added a description of my changes and why I'd like them included in the section below

Description of Changes
Adding cli tests for the init and generate subcommands using the approach suggested by @Jake-Shadle in his comment on issue #18. The tests construct local packages to test the logic so they don't rely on any network connectivity to run.
I've left some TODO comments in some of the generate tests, where I thought that the error messaging or output could be improved. Please take a look, and let me know if you think they are non-issues and I should remove the comments or if I should create a real issue.
I haven't written any rust docs for the test utilities, since they are not part of any public API; let me know if you'd like me to add some. (Didn't want to put in the work if not necessary)
I'm relatively new to rust, so I'd really appreciate any constructive feedback!
Output of cargo test:
   Compiling cargo-about v0.5.1 (/Users/dylanhol/Downloads/cargo-about)
    Finished test [unoptimized + debuginfo] target(s) in 3.23s
     Running unittests src/lib.rs (target/debug/deps/cargo_about-6c876e50d5d489cd)

running 3 tests
test licenses::fetch::test::fetches_bitbucket ... ignored, online
test licenses::fetch::test::fetches_github ... ignored, online
test licenses::fetch::test::fetches_gitlab ... ignored, online

test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/cargo-about/main.rs (target/debug/deps/cargo_about-90fdeeef43f15ac6)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/all.rs (target/debug/deps/all-6b7aede08bbeaea8)

running 28 tests
test cli::generate::fails_when_templates_arg_missing ... ok
test cli::generate::fails_when_manifest_absent ... ok
test cli::generate::fails_when_manifest_invalid ... ok
test cli::generate::fails_when_missing_accepted_field ... ok
test cli::generate::fails_when_template_file_missing ... ok
test cli::generate::fails_when_license_field_valid_and_accepted_field_empty ... ok
test cli::generate::reports_all_licenses_when_dependency_has_different_license_and_text ... ok
test cli::generate::reports_a_license_when_license_field_valid ... ok
test cli::generate::reports_no_licenses_when_license_field_unknown ... ok
test cli::generate::reports_custom_spdx_license_text_when_manifest_has_license_file_field_with_spdx_text ... ok
test cli::generate::fails_when_dependency_has_non_accepted_license_field ... ok
test cli::generate::fails_back_to_default_about_config_when_absent ... ok
test cli::init::fails_when_manifest_absent ... ok
test cli::init::fails_when_manifest_empty ... ok
test cli::generate::reports_all_licenses_when_dependency_has_same_spdx_license_and_different_text ... ok
test cli::generate::reports_custom_spdx_license_file_when_spdx_license_file_has_std_naming_but_not_specifed_in_manifest ... ok
test cli::init::does_not_overwrite_by_default ... ok
test cli::init::overwrites_config_and_template_when_overwrite_specified ... ok
test cli::init::overwrites_config_only_when_no_handlebars_and_overwrite_specified ... ok
test cli::init::writes_config_and_template_by_default ... ok
test cli::init::writes_config_only_when_no_handlebars_specifed ... ok
test cli::generate::reports_no_licenses_when_license_file_field_but_no_file ... ok
test cli::generate::reports_no_licenses_when_manifest_has_license_file_field_with_non_spdx_text ... ok
test cli::generate::reports_no_licenses_when_license_file_field_but_file_empty ... ok
test cli::generate::reports_no_licenses_when_no_license_and_accepted_field_empty ... ok
test cli::generate::reports_no_licenses_when_manifest_has_license_file_field_with_spdx_license_text_and_non_std_filename ... ok
test cli::generate::reports_one_license_when_when_dependency_has_same_spdx_license_and_text ... ok
test cli::generate::reports_no_licenses_when_no_licenses ... ok

test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.53s

   Doc-tests cargo-about

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

Related Issues

resolves #18

Thanks for the PR! It's rather large so will take a bit to review but hopefully can do that before the end of the week.


Make a single line of code!

Just do it.

yeah.

we are coders.

who need mental help.

who also needs mental help? how does that make you feel?

are those real?


feat(Makefile): move prep-bintray-json and _scripts/ci into client directory

We want client's VERSION to be used by the prep-bintray-json (previously
workflow's VERSION was being used).  As client is the only current consumer
of this make task, we've moved it into client along with supporting scripts.


feat: Add a LlamaIndex-based RAG agent

Changes

Added RAGAgent class in rag_agent.py.
Created RAGAgent.json for agent configuration.
Added paul_graham_essay.txt from which our agent will retrive context for answering.
Registered RAGAgent in agent_factory.py.
Added new dependencies to requirements.txt.
Added chroma_db to .ignore to ignore generated vector database data.

Related Issue
This PR addresses issue #61.
Output of running agent
$ ./scripts/run/ollama_llama3.sh
[🤖ollama/llama3] AIOS LLM successfully loaded.
[RAGAgent] Initialized.
[RAGAgent] How did the author balance his writing, technology projects, and responsibilities at Y Combinator?
[🤖ollama/llama3] RAGAgent is switched to executing.
[RAGAgent] Final result is: The author, being a founder of Y Combinator and a writer, found it challenging to balance his responsibilities at YC with his writing projects and personal pursuits. Initially, he had planned to
dedicate only a third of his attention to YC, but as the organization grew, so did his involvement.
To manage his time effectively, the author prioritized his work at YC, which involved selecting and helping founders, over his writing projects. Although writing was an important aspect of his life, it took a backseat when
YC's needs became more pressing.
The author also found himself working on internal software for YC using Arc, but he eventually stopped developing the language as it became less attractive to him. This reduced his personal projects from three (writing essays, hack, and work on YC) to two: writing essays and working on YC.
Despite the demands of running a startup accelerator, the author found that working at YC was engaging and varied due to the diverse problems faced by each new batch of startups. While there were aspects he didn't enjoy, such as disputes between cofounders or dealing with untruthful founders, he worked hard to resolve these issues.
The author's experience also taught him the importance of setting a good example for his team at YC. He believed that if he, as the boss, worked very hard, it would motivate others to do the same. This mindset influenced his decision-making and contributed to the success of YC.
In hindsight, Robert Morris' unsolicited advice, "Make sure Y Combinator isn't the last cool thing you do," resonated with the author. It was a gentle nudge to consider other pursuits beyond YC, which ultimately helped him
reevaluate his priorities and make decisions about his future.

Cool! Could you also provide the result of using pipreqs to check whether the requirements.txt contains redundant packages?

These packages are added manually and they're necessary for the RAGAgent to work. I also tried to check the dependencies using   pipreqs, but it didn't give a proper result since the agent modules weren't used by the scripts in the root directory.

These two packages are dependencies of chromadb, and they were added here to lock its version, because using older versions causes an error.


Filter class features by the name query parameter

What does this do?
This PR adds the name query parameter to the /features endpoint, so you can filter class features by their name.
How was it tested?
Manually, as well as with the automated tests. I added tests to server.itest.js that test this endpoint with the parameter. Please let me know if more tests would be appropriate!
Is there a Github issue this is resolving?
No, not that I know of.
Here's a fun image for your troubles

Can you add integration tests for this? You should be able to find examples in this file

I think you forgot to commit the tests. :D

Ah, yep, I absolutely did!


max length setting

https://github.com/davidberenstein1957/fast-sentence-transformers/blob/main/fast_sentence_transformers/FastSentenceTransformer.py#L330
hi, I just wonder should this 512 be set from config.json's max_position_embeddings?

Sorry for the late response but I've got good news! Sentence Transformers has an awesome maintainer again @tomaarsen, along with awesome ONNX integration, therefore I decided to archive this project. https://github.com/UKPLab/sentence-transformers


Add a sample config file to the examples folder

and link the knowledge base to the sample config file in this repo.
See also: https://github.com/librato/ao-kb-docs/pull/779

Codecov Report

Merging #108 into master will increase coverage by 0.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #108      +/-   ##
==========================================
+ Coverage   82.08%   82.16%   +0.07%
==========================================
  Files          34       34
  Lines        3802     3802
==========================================
+ Hits         3121     3124       +3
+ Misses        580      577       -3
  Partials      101      101

Impacted Files
Coverage Δ

v1/ao/internal/reporter/reporter_grpc.go
67.47% <0%> (+0.51%)
:arrow_up:

Continue to review full report at Codecov.

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


Powershell command is wrong

The command under Configuring WIA for Chrome should be slightly different:
Set-AdfsProperties -WIASupportedUserAgents (Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents) + "Mozilla/5.0 (Windows NT)" does not have the desired effect. It should instead be Set-AdfsProperties -WIASupportedUserAgents (Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents) + "Chrome" as can also be seen in the screenshot (below the code section).

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: abf9cb6e-38be-d28e-6ad3-1151b7e1a379
Version Independent ID: 3eed2746-fc1e-b7c3-ea04-203291aec098
Content: How to configure intranet forms-based authentication for devices that do not support Windows Integrated Authentication (WIA)
Content Source: WindowsServerDocs/identity/ad-fs/operations/Configure-intranet-forms-based-authentication-for-devices-that-do-not-support-WIA.md
Product: windows-server
Technology: ad-fs
GitHub Login: @billmath
Microsoft Alias: billmath

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Chatbot text into events

It would be great by convert chatterbot text into events. For example, any suggestion/comments?
feed baby at 7
Schedule a meeting

Creating efficient scheduling operations can often be a challenging problem to solve. What about offloading the task to the user's calendar? Most calendar apps already display notifications when a scheduled event is coming up, and it would also make it possible synchronize the events across the user's devices if they were all connected to the same calendar.

https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations
https://developers.google.com/google-apps/calendar/v3/reference/

very impressed me alot by looking this https://api.slack.com/rtm, do you have any comments on this?

Slack has a great API, I've been meaning to look into it at some point.

@gunthercox By looking into this, any thoughts on best implementation methods?

https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations
https://developers.google.com/google-apps/calendar/v3/reference/

@vkosuri Unfortunately I don't have any recommendations.

Actually, there is a very cool datetime parsing utility that @rmdort contributed a while back. You can check it out here: https://github.com/gunthercox/ChatterBot/blob/master/chatterbot/parsing.py
This might be useful for converting phrases like "later today" to an actual datetime object.

@gunthercox Thanks, I have few thoughts i will reopen with detailed plan

May I know how @vkosuri do the conversation from text to event action? I see there are several calendar


Rename SSTableHandle to SsTableHandle

Noticed we have inconsistent SST.. vs. SsT struct naming. Let's fix this. The SSTableHandle should be SsTableHandle.

Submitted a fix

@palash25 Thanks! :)


Analyzer throws error when try to assign a function result to row variable.

TDart SDK Version: 2.0.0-dev.55.0
OS: Windows 10
The following code sample assign a parametrized function result to the row variable:
class A<X> {}
X testme<X extends A<X>>() { return null; }
main() {
  A a = testme();
}

Dart and dartanalyzer show different results here: test passes without errors or warnings whereas dartanalyzer throws compiler error:
Analyzing test.dart...
  error - Couldn't infer type parameter 'X'.

Tried to infer 'A<dynamic>' for 'X' which doesn't work:
  Type parameter 'X' declared to extend 'A<A<dynamic>>'.
The type 'A<dynamic>' was inferred from:
  Return type declared as 'X'
              used where  'A<dynamic>' is required.

Consider passing explicit type argument(s) to the generic.

 at test.dart:4:9 - strong_mode_could_not_infer
  hint - The value of the local variable 'a' isn't used at test.dart:4:5 - unused_local_variable
1 error and 1 hint found.

I believe both tools should behave in a similar way.
Seems like A a = testme(); is OK and should pass in both cases.

The code should fail to compile.
The recursive (F-)bound on testme cannot be satisfied by any type in the program, so it is impossible to call testme. Even if there was a type satisfying it, say class D implements A<D>{}, inference cannot guess that. The type argument to the testme function is omitted, so the error becomes an inference error (inference cannot find any type argument X that is also an A).

Isn't it a superbounded type here?
According instantiate-to-bounds spec, omitting type parameter for class A is the same as A<dynamic> and A<dynamic> is a super-bound for A...

It isn't actually a super-bounded type:
Super-bounded types are concerned with the situation where a type argument list is passed to a generic type (a generic class, a parameterized typedef, or FutureOr), and that type argument list violates the declared bound, but we can "repair" the situation by performing certain substitutions.
In your example we are dealing with a type argument list which is passed in a generic function invocation. So the whole thing (testme<A<dynamic>>()) is not a type, and hence we can't even start to make it a super-bounded type—it just has to satisfy the declared bound. As Lasse mentioned, inference can't solve that challenge.

Yes, in all these cases, there is no valid and inferable type argument for testme. Using the RHS type is not sufficient to satisfy the type bound for the function type parameter, and the type bound itself is recursive in a way that prevents inference from using the bound itself as a type.

Sounds good! Note also #33815 which is the other way round: It shows that the analyzer complains about a super-bounded type given as a type argument that should be allowed.
However, I forgot one thing: The original example admits the type argument Null:
class A<X> {}
X testme<X extends A<X>>() { return null; }
main() {
  A a = testme<Null>();
}

Now, everybody (that is, dart and dartanalyzer) are happy, as they should be! But even though it works, I think the situations where it's useful are too rare to justify any attempt to teach the inference engine to try to solve F-bounded constraints with Null. ;-)


Masking display incorrectly

In Masking.cpp example.
When mask object has transparency, the result wrong display.
Alpha is applied to the stroke and fill of the target.
Test code
diff --git a/src/examples/Masking.cpp b/src/examples/Masking.cpp
index 8d517ef..fc942d7 100644
--- a/src/examples/Masking.cpp
+++ b/src/examples/Masking.cpp
@@ -52,13 +52,14 @@ void tvgDrawCmds(tvg::Canvas* canvas)
     star->lineTo(426, 161);
     star->lineTo(546, 143);
     star->close();
-    star->stroke(10);
+    star->stroke(30);
     star->stroke(255, 255, 255, 255);

     //Mask3
     auto mask3 = tvg::Shape::gen();
     mask3->appendCircle(600, 200, 125, 125);
-    mask3->fill(255, 255, 255, 255);
+    mask3->fill(255, 255, 255, 125);
+    //or mask3->opacity(125);
     star->composite(move(mask3), tvg::CompositeMethod::AlphaMask);
     if (canvas->push(move(star)) != tvg::Result::Success) return;

Looks this is correct behavior as masking just doing as it's role.  masking should not change its source's behavior.

Looks this is correct behavior as masking just doing as it's role.  masking should not change its source's behavior.

Sorry, I misunderstood.

Sorry, I misunderstood.

TODO:

Translucent linear gradient
Opaque radial gradient
Translucent radial gradient
antialiasing in opaque linear gradient

#326 should close the subject of the gradient shapes with masks

@hermet @JSUYA @patrykka
I have a question - how should the expected result of the following code look like?
        //-------------------------------------------
        auto shape1 = tvg::Shape::gen();
        shape1->appendRect(400, 0, 400, 400, 0, 0);
        shape1->fill(255, 0, 0, 255);

        //Alpha Mask
        auto mask1 = tvg::Shape::gen();
        mask1->appendCircle(600, 200, 180, 180);
        mask1->fill(0, 0, 0, 127);

        shape1->composite(move(mask1), tvg::CompositeMethod::AlphaMask);
        canvas->push(move(shape1));

        //-------------------------------------------
        auto shape2 = tvg::Shape::gen();
        shape2->appendRect(0, 0, 400, 400, 0, 0);
        shape2->fill(255, 0, 0, 255);

        //Inv Alpha Mask
        auto mask2 = tvg::Shape::gen();
        mask2->appendCircle(200, 200, 180, 180);
        mask2->fill(0, 0, 0, 127);

        shape2->composite(move(mask2), tvg::CompositeMethod::InvAlphaMask);
        canvas->push(move(shape2));

the current result from tvg (inv mask - left, mask - right):

I'd expect this one (inv mask - left, mask - right):

or this one (inv mask - left, mask - right):

Our current version doesn't seem to be consistent for me. I think the third one is the correct one.

@JSUYA what do you think?
There are my current results, but I still have to improve the code:
left - mask,      right - inv mask

#337

just checked, it's still valid issue.

@JSUYA @hermet please check after #519 and #520 are merged.
just to make sure that I understood the problem in this issue correctly

Probably same issue: https://github.com/thorvg/thorvg/issues/1423


Login NULL Error

I've follow all steps to install the package in Laravel 5.4 and when execute the first sample is shown the error:
Exception at ConstructorINVALID_LOGIN: Invalid username, password, security token; or user locked out. /sys/vendor/davispeixoto/force-dot-com-toolkit-for-php/src/Davispeixoto/ForceDotComToolkitForPhp/SforceBaseClient.php(176): SoapClient->__call('login', Array)
I believe that the information of config/salesforce.php isn't received correctly because my credentials are correct (I did more of one test with Data Loader).

Hi @hugohernandezfcc ,
I'd like you to do a quick sanity check:

username is correct?
password is correct?
api access token is correct?
wsdl is correct?
soap caches are clear?
user has api access enabled?
user is not blocked?
the instance you tried logging in was up?

I apologize for the delay but all points was checked and none was wrong.... I had to create the project again and put my credentials and wsdls again and run correct.
When I am more relaxed I will continue with the issue and will share my error in the creation.
Thanks for you help from México ;D.

Alright, @hugohernandezfcc , I will close this issue, but you can add you comments as complement and reference for future users


EnhanceApiReq.body isn't correct

sample
/** @type {import('@enhance/types').EnhanceApiFn} */
export async function post(req) {
  const email = req.body.email // <-- "email" isn't allowed

fixed in https://github.com/enhance-dev/types/commit/05cbd242f2b61371179b257c91d28e94df283bcd