Rethink Labels.

Substrate is almost at an important release. While issue management is still something that we need to figure out improvements upon, I think better labels is a good and easy way to start this.
I brought this up a while ago internally as well, yet the conversation did not go anywhere. Here, I will try to rephrase everything given our new recent labels:
Basically, I have two main proposals:

Throw away the entire M group, introduce new ones that show the denote locality.
Make it clear which ones are for pull requests and which ones are for issues. Add a section about labels in our CONTRIBUTING.md and make sure it is being respected.

My current interpretation of labels:

A: Only for PRs, shows the progress of the PR.
B: Only for PRs, shows the impact zone of the PR. What does it break. Who should be informed. AFAIK we use this to generate release notes.
F: Only for issues, shows the broad domain of the issue.
P: Only for issues, shows the time-criticality of the issue.
Q: Only for issues, shows the difficulty.
Z: Only for issues, should technically be used per each closed issues, basically saying how and why it was closed.

and then we have the infamous M which I can barely make any sense thereof:
As far as I can think:

Some of these are too fine grained. They pertain to one scope of the project and if we are to allow this, we would have had hundreds of issue labels per crate in substrate. examples being: M6-rpcapi, M7-signer, M8-contracts,
Some seem totally out of scope: M8-dapp, M7-ui.
I think too many of them are related to CI/Maintenance: M9-deploy ,M2-installer, M2-config, M1-ci, M0-build M5-binaries,
M3-docs is duplicate and we have a better label in F group for docs.
and finally M4-Core is assigned to what seems to me a random set of non-runtime issues. The term core itself used to be folder name in substrate that no longer exists.

I think the best replacement for M is to have add a group of labels that show the locality of the issue. For example now we have a label for refactoring. But there's no way to distinguish between where this refactor might happen. Well.. except this M4-core for all the no-runtime stuff.
Perhaps we can come up with a better grouping that explains locality

Runtime/Frame
Crypto
Storage/State/Overlay
Consensus/Authoring (not to be confused with F0-Consensus)
Genesis/ChainSpec
Network
CLI/RunCommands
(and instead of all the above) CI/Maintenance
...

Probably some of the team leads or elder devs who have a better big picture of the project can come up with the above list, or even argue that it is pointless and we should not have such locality labels. Heck, maybe we should reformat M to actually be fine grained stuff, and have many of them. Even so, this must be documented somewhere. For example, I would love to have an issue that groups all the issues related to weights. They are a recent effort that will probably not fit into a coarse grained grouping, yet I don't know if I can/should make one etc. One way or another though, I think the M should be cleaned. Either replaced, or it should be clarified why it is there and what is its purpose.
All in all, I know that this sounds like a pointless effort at the moment, but I think it is a right step and we need to start taking better care of our issue at some point. We currently have two issues with.. issues:

There are simply too many of them for us to even keep track of.
Even for those that we do keep track of (i.e. dev X starts a conversation there and ...) we don't have proper labels and they are a bit of a mess.

At least, if have proper issues, with well defined rules (probably in our CONTRIBUTING.md) of how to assign them (i.e. I think the Z is totally underrated and should be used more) we can solve at least one part of the problem.

Based on the labels that we already have I propose the following automated process as well for the issues and labels. This is based on the fact that we now have teams internally within Parity.

We remove the M label and each team will have at least one, or more, label for its domain of work. This solves the dilemma above about domain-specific labels. I call this T. For example T0-Runtime, T1-Networking, .. and sub groups such as T0-Runtime-weights that can live for a while.

Then we have the following categories for issues:
1- F: type of work: bug fix, consensus critical, refactor, documentation, etc.
2- P: time
3- Q: difficulty and mentoring
4- T: team and domain that the issue belongs to it. This one is mandatory and each issue must either have this, or Z9-unconfirmed
Then, we can have a bot that does the following:

If an issue is created by a non-parity member, it is instantly marked as Z0-unconfrmed until a core dev verifies the issue and removes it. Upon removal,  it should be labeled with T or optionally more labels.

If the issue is being closed, the rest of the a Z should be used to say why it is being closed.

For any issue created by a parity member, it MUST have at least a T label.

Agree with everything here - labels and issue handling could do with some love. I'll add a Github Action for auto-assigning issues submitted by people outside of the organization the Z0-unconfirmed label, this seems pretty straightforward. This will at least be a first baby-step towards better issue automation.
Additional automation could be done, but not without a little more information available. For example, if someone from team X confirms the issue, does that issue get auto-assigned to the team that dev is in? To do that would require more granular team definitions in the Paritytech org. Also I'm not sure we can enforce the presence of a label on issue creation. At a minimum, I suppose we could have a bot comment on the issue informing the dev to assign an appropriate label.

I would also add that I have to idea which B label to add to my PR. Do I have to add at least one? Can I have multiple ones? The descriptions of those labels do not make it clear to me which of those I have to apply.

update from @gavofyork:

Public service notice: PRs must now be labeled with one A* label, one B* label and one C* label. They should also have the project specified.

One step forward https://github.com/paritytech/substrate/pull/6333

PRs

A-* Pull request status. @s3krit: Automation should ensure this is kept in sync with GH's native review system. ONE REQUIRED.
B-* Changelog and/or Runtime-upgrade post composition markers. Automation uses this. ONE REQUIRED.
C-* Release notes release-priority markers. Automation uses this. EXACTLY ONE REQUIRED.
D-* More general tags on the PR denoting various implications and requirements.

Issues

I-* Issue severity and type. EXACTLY ONE REQUIRED.
P-* Issue priority. AT MOST ONE ALLOWED.
Q-* Issue difficulty. AT MOST ONE ALLOWED.
Z-* More general tags on the issue, denoting context and resolution.

This is progressing fast and I think the core problems are resolved. @s3krit please re open if you want this issue as tracking for the CI implementation, otherwise it is done IMO.

I would like to propose re-creating the M group but this time with sensible project scopes. For example, I can bring quite a few issues under one roof with the label M0-NPoS 💸 and it should be helpful to have.

Would these be for classifying both PRs and issues?

Just issues, e.g. https://github.com/paritytech/substrate/issues/6835.

Cool. What labels should we add @kianenigma ?

I settled for adding a new project column. Thanks!


Pointer events received, but shouldn't be

Hello everyone,
I have same issue as mentioned here: https://github.com/photonstorm/phaser/issues/4447
All mouse click events now go thru overlay HTML layer right to the Phaser canvas. This behavior appeared in recent version, as everything worked fine until I updated deps to Phaser v3.17.0.
In my overlay HTML, I have dat.gui and custom UI. Now whenever I click on overlay HTML, the event is also received in Phaser (e.g. I get onObjectClick event).
I tried to twiddle with z-index, but that didn't help. I also tried everything mentioned in that issue above.
    e.stopPropagation();
    e.preventDefault();
    input.useQueue = true/false
    config.inputQueue = true/false
    and probably all combinations of these.

Nothing of that helped.
Any ideas?
Edit: The pointer events are received event when I add pointer-events: none; to the canvas element. This is odd, because they should not be received.

Okay. I've found where it problem is.
The behaviour of the event handling has changed in recent version(s). Now there is window event handler that is enabled when setting windowEvents to true.
I did not set it in any way. Now I see that it is enabled by default. So all window mouse events are passed into Phaser, non only from canvas element, which is I believe, unwanted behaviour in most cases.
It should be set to false by default.

The reason it is true by default is that the number one complaint about input events was that if you mouse down on your game, then release the mouse while outside of it, the game still thinks the pointer is down. Equally, changing mouse state while outside the game made it impossible for the input manage to reflect those updates. There is a game config switch to disable this behavior (as you've found before I had a chance to point you towards it) but I'm going to leave it enabled, as the majority of Phaser games are fully self-contained within a single canvas and don't make use of DOM elements over the top.

If that is the only reason for the game to hook window mouse events, then you could simply hook only windows' mouse up event and listen to canvas mouse down events.

No, because then if you mouse down outside the canvas and then move over it, the values are still incorrect.

Okay :)

I've updated the Input Plugin docs to hopefully make this easier to find.


Touch ID Dialog Loses Focus on Application Startup

Bug description
The Touch ID authentication dialog unexpectedly loses focus when the application launches, requiring users to manually refocus the dialog to proceed with authentication.
Screenshots
If you watch the Screencast frame by frame you will see, that the Touch ID Dialog loads first and then the main windows, which then has focus.
https://github.com/isontheline/pro.webssh.net/assets/1010163/a40b2474-acc3-4085-9a8a-e6ed862930fd

Thank you Nils 👍
I need to investigate, perhaps WebSSH requires focus for the search field at startup and so loose the Touch ID one.

Doesn't seem trivial to fix


Makefile for examples

Hi all
It would be nice to have some kind of automatic build for the examples directory. At the moment, there are two issues from my point of view:

Have to build examples manually
The commands provided in README compile with the installed version of the library. What if I want to compile the examples with modifications in my checked out version of libcaer?

The nicest way to solve this would be to create a file examples/CMakeLists.txt with contents like
include_directories(${LIBCAER_INCDIRS})

add_executable(davis_simple davis_simple.c)

target_link_libraries(davis_simple LINK_PUBLIC caer)

However this does not currently work, as the include paths are wrong (installation adds the include prefix libcaer and libcaercpp).
How do you work around this during development? Any suggestions on how to do this?

When testing examples or anything that actually uses the library, we do fully install the library and then compile / test them. This makes sense as you're showing examples of how to use the installed library, and a 'sudo make install' is really not a problematic step in addition. This also catches files not going where they should as a test. The examples are also really basic, only a small starting point, so I believe the manual README compile is fine.


Use NumbaTypeError instead of TypeError in reshape, transpose, astype

I'm not sure if I'm missing something here, but my code breaks 0.58.1 → 0.60 without these changes.

Code that breaks:
"""Deduplicate line segments by expanding them to their largest overlapping
segment endpoints.

For example, if three segments are situated like this (but on top of each
other)

    --
     ---
       ----

we generate three segments

    ----
    -------
     ------

This routine is applied again until the three segments will be identical
and can be collapsed into one segment, dedupe() does this.
"""

import numpy as np
from numba import njit

norm_tol  = 1e-12
y_tol = 1e-4

@njit('uint32(float64[:, :, ::1], bool_[::1], float64)')
def _expand_overlapping_broadcasting(segs, where, y_tol=y_tol):

    # Unused
    where

    num_updated = 0
    segs_ = np.empty_like(segs)

    # Shorthands. Segments span a-b, where a = (x1, y1) and b = (x2, y2).
    A_, B_  = segs_[:, 0, :], segs_[:, 1, :]
    X1_, Y1_ = A_[:, 0], A_[:, 1]
    X2_, Y2_ = B_[:, 0], B_[:, 1]

    for i in range(segs.shape[0]):

        # Translate so current segment starts at a = (0, 0) and ends at b = (x, y).
        t_i      = segs[i, 0, :]
        x_i, y_i = segs[i, 1] - t_i

        norm = np.sqrt(x_i**2 + y_i**2)
        #if norm < 1e-9:
        #    continue
        assert norm_tol < norm

        # Rotate all segments so current segment ends at b' = (x', 0) where x' = |x, y|.
        R_i = np.array([[x_i, -y_i],
                        [y_i,  x_i]]) / norm

        for j in range(segs_.shape[0]):
            segs_[j] = (segs[j] - t_i) @ R_i
            #np.dot(segs_t[j], R_i, out=segs_[j])
            if X2_[j] < X1_[j]:
                A_j_tmp = A_[j].copy()
                A_[j] = B_[j]
                B_[j] = A_j_tmp

        assert np.allclose(A_[i], 0.0)
        assert np.isclose(X2_[i], norm)
        assert np.isclose(Y2_[i], 0.0)

        # Flip segments (a,b) to (b,a) s.t. x1 <= x2.
        #flip = X2_ < X1_
        #A_[flip], B_[flip] = B_[flip].copy(), A_[flip].copy()
        #assert np.all(X1_ <= X2_)

        # Segment is collinear if it's on the X axis
        collinear = (np.abs(Y1_) < y_tol) & (np.abs(Y2_) < y_tol)

        # Check if other segment's X coordinates are inside this line
        overlap_x1 = (0.0 <= X1_) & (X1_ <= X2_[i])
        overlap_x2 = (0.0 <= X2_) & (X2_ <= X2_[i])

        selected = collinear & (overlap_x1 | overlap_x2)

        x1_min = np.min(X1_[selected])
        x2_max = np.max(X2_[selected])

        # Invert and put back into original array. Overwrite all overlapping
        # line segments with the same maximum line segment, which is exactly
        # collinear with segs[i].
        update = selected & ~(np.isclose(X1_, x1_min) & np.isclose(X2_, x2_max))
        new_seg = np.array([[x1_min, 0.0],
                            [x2_max, 0.0]])
        segs[update] = (new_seg @ R_i.T) + t_i
        num_updated += np.count_nonzero(update)

    return num_updated

I should clarify "breaks", the np.isclose now has the wrong shape for some reason -- that is not my issue -- rather, I do not now obtain a useful traceback. Instead it gives an exception on the @njit line.

Second addition, this issue is fixed in my code by having my own overload of np.isclose that does actually work with non-contiguous arrays (as the real np.isclose does), the use of TypeError over NumbaTypeError seems to make it so that the compiler never tries to use my version of np.isclose.

Numba devs will need to scan for more of these and fix as much as we can find.

Thanks again for highlighting the issues fixed by this PR @lericson, it turns out that there are many instances of similar issues and the maintainers have attempted to assess the whole code base with view of fixing up problems caused by "hard-errors". This work is in #9837 and needs to go into the Numba 0.61.0 series as part of the RC2 builds. PR #9837 encompasses and supersedes the changes in this PR, and in the interests of keeping Numba's history and patching patterns simple, the maintainers would like to accept #9837 in favour of this one, however, the maintainers also want to make sure you are included as a contributor in the release notes for 0.61.0. Hope that's ok?! Thanks for your understanding and contributions to Numba.


Segmentation faults with Apache >= 2.4.16 (mpm_event)

I am getting random segmentation faults when using Apache 2.4 (mpm_event) with Modsecurity. These errors only occur when I load the ModSecurity module, without ModSecurity Apache works fine. The segmentation faults occur even if I remove all rules or disable ModSecurity (SecRuleEngine off), so it's not a configuration or ruleset related problem.
I am using the latest version of Apache (2.4.23) and ModSecurity (1.9.1), I have also tried to downgrade ModSecurity to version 1.9 and 1.8 without success.
gdb stack trace:
Core was generated by `/usr/sbin/apache24'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000000000049c427 in event_post_read_request (r=0x7fc9a84bf420) at event.c:995

(gdb) thread apply 1 bt

Thread 1 (Thread 0x7fc99afed700 (LWP 12058)):
#0  0x000000000049c427 in event_post_read_request (r=0x7fc9a84bf420) at event.c:995
#1  0x000000000043a210 in ap_run_post_read_request (r=0x7fc9a84bf420) at protocol.c:2014
#2  0x0000000000477668 in internal_internal_redirect (new_uri=<optimized out>, r=0x7fc9a86fd0a0) at http_request.c:632
#3  0x0000000000476db6 in ap_internal_redirect (new_uri=<optimized out>, r=<optimized out>) at http_request.c:717
#4  0x0000000000495296 in handler_redirect (r=0x7fc9a86fd0a0) at mod_rewrite.c:5184
#5  0x000000000044f4a0 in ap_run_handler (r=0x7fc9a86fd0a0) at config.c:170
#6  0x000000000044f9e9 in ap_invoke_handler (r=r@entry=0x7fc9a86fd0a0) at config.c:434
#7  0x0000000000477a4a in ap_process_async_request (r=0x7fc9a86fd0a0) at http_request.c:410
#8  0x0000000000474161 in ap_process_http_async_connection (c=0x7fc9ae845348) at http_core.c:154
#9  ap_process_http_connection (c=0x7fc9ae845348) at http_core.c:248
#10 0x0000000000458fb0 in ap_run_process_connection (c=0x7fc9ae845348) at connection.c:42
#11 0x000000000049ee2e in process_socket (my_thread_num=25, my_child_num=4, cs=0x7fc9ae8452b8, sock=<optimized out>, p=<optimized out>, thd=<optimized out>) at event.c:1097
#12 worker_thread (thd=<optimized out>, dummy=<optimized out>) at event.c:2001
#13 0x00007fc9b4463184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x00007fc9b418d37d in clone () from /lib/x86_64-linux-gnu/libc.so.6

The segmentation faults occur in the event_post_read_request hook which has been added to mpm_event in Apache version 2.4.16, they disappear when I downgrade to Apache 2.4.12.

I am no longer sure if this is really caused by ModSecurity, it's possibly a multi threading race condition caused by another Apache module that somehow only occurs when ModSecurity is present too.


Publicize record fields

Fixes #337.
Patch release requested after merge.

Wait, why is this happening? There are record accessor methods

Found what Howard is suggesting: https://github.com/AleoHQ/snarkVM/blob/5aeeac614f5400f881b7ae47d08e1c595bf0be4f/dpc/src/testnet2/record/record.rs#L219
@Protryon is this change still needed?


Push to travis has just stopped ?

Command attempted:

What happened:

More info:

This issue tracker is for a command-line tool called "hub" which is written in Go. Your question seems unrelated to this project, and you should find a more appropriate forum to ask it in. Thank you.


Add an isEmptyRender() method to both ShallowWrapper and ReactWrapper

Why
Added an isNull() method to both ShallowWrapper and ReactWrapper,
making it easier in tests to detect when a component renders nothing;
either a null or undefined value.
I chose the name isNull() since isEmpty() was used for other situations.
It's not as descriptive as it could be, so open to suggestion.
Tested
Unit tests!

Seems like a lot changed internally during the React 15 upgrade. I've not been able to find an implementation that works across all versions. Using this.type() doesn't work for all use cases, nor does findDOMNode(), so I had to use a conditional.

I think we need to duplicate all of these tests for undefined and false, which are also things that are "rendering nothing" that we would probably want this function to behave identically for. Looking at the code, I don't think this will pass right now.
The other question for me is the name.  isNull() is pretty directly indicating that we are testing for null, which might not always be the case (other things can return ReactNodeTypes.EMPTY).
That said, I'm not really sure what the right name is. Maybe it should be isEmpty() or isNothing()?

Perhaps something like hasRenderedEmpty() or hasRenderedNothing()?

Ok, I changed it to isEmptyRender(), to be a bit more explicit. I also added false based tests and tried to add undefined, but supposedly you can't, as React errors with "Invariant Violation: Unexpected node: undefined" or "Error: Invariant Violation: Foo.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.".

Hey @milesj , you're right. My bad - I guess undefined is not valid here.
We also want to ensure that this returns false in the proper cases though.
false => true
null => true
true => false
0 => false
<div /> => false
<Foo /> => false
At the moment, isEmptyRender() { return true; } would pass all of these tests :)
I think at that point this will be ready to merge. Not super psyched about the name, but can't think of anything better at the moment.... so at least it's explicit.

I was a bit surprised about the undefined thing as well. I could of sworn it allowed it at some point.
I'll look into adding some truthy tests.

Don't forget about NaN and the empty string, just to make sure the other falsy values are covered (both should return false i believe)

@milesj any updates on this? 😄

Oops, thanks for reminding me. Been pretty swamped at work. Will try to get it this week.

No worries, don't feel pressured/rushed! Thanks for the contribution, looking forward to seeing how this turns out 👍

Added a ton of return value checks.

@lelandrichardson I added tests that check null/false, as well as React components/elements. I originally had it testing every possible falsey value, but then it just barfed all over the output, as seen by the screenshot. I don't really see the benefit of testing all the falsey values as React doesn't allow anything besides null/false.

@milesj I think we should only be testing valid  "empty" return values 👍

What about NaN, and the empty string? Does React complain about those too?

I tested a ton of values, all of which are: null, false, undefined, NaN, array, empty array, object, empty object, zero, string, empty string, React element/component, DOM element, etc.
All of them threw those warnings excluding null/false/React.

Screenshot I took.

LGTM

@lelandrichardson Anything else you'd like done on this? Besides hitting the "Update Branch" button :P

@milesj can you squash this to get read of all those merge commits? I think we can merge this after that 👍

Wouldn't Github's new merge squash feature suffice here?
I've tried rebasing the history a bit, but it's turned out troublesome since the commits happened at different points in history. I'll mess around some more.

Does Github do that now? I didn't realize. I'll merge.

(merge-squash is fine when the PR author has issues with rebasing, but in general we do strongly prefer rebased and non-squash-merged commits. github's squash-merge breaks the history between the PR and master)

Yeah, GitHub's automatic "Update Branch" is useful, but annoying history wise. Will probably do it manually going forward.


[Feature] Add event for when an item is expired.

We have a use case where we need to get notified when an item is evicted, would it be possible to add an event one could wire up to?

Possible, but obviously will come with some perf/code size penalty. Right now there is FastConcurrentLru and ConcurrentLru - the fast version has all hit counting logic eliminated to squeeze out the absolute fastest perf/smallest code size. I will look at incorporating an OnItemRemoved event into IHitCounter such that it would only be available in ConcurrentLru/ConcurrentTLru, and the Fast versions would then still have everything stripped out. That way you still get to choose between best possible perf vs instrumentation.
The event would fire passing the key and the value, and would fire before the item is disposed by the cache (if it implements IDisposable).
If I can implement it with minimal overhead, I will add it. If it's too expensive, I would likely not add the feature. One reason these caches are faster than MemoryCache etc. is that all the ancillary features like events that not everyone uses are eliminated from the code. If it ends up having equal perf to MemoryCache, may as well just use MemoryCache instead.

There is very little if any overhead if the event isn't subscribed too.
Thanks
-Blake Niemyjski
On Wed, Nov 10, 2021 at 4:14 PM Alex Peck @.***> wrote:

Possible, but obviously will come with some perf/code size penalty. Right
now there is FastConcurrentLru and ConcurrentLru - the fast version
https://github.com/bitfaster/BitFaster.Caching/wiki/What-are-the-'fast'-LRU-variants%3F
has all hit counting logic eliminated to squeeze out the absolute fastest
perf/smallest code size. I will look at incorporating an OnItemRemoved
event into IHitCounter such that it would only be available in
ConcurrentLru/ConcurrentTLru, and the Fast versions would then still have
everything stripped out. That way you still get to choose between best
possible perf vs instrumentation.
The event would fire passing the key and the value, and would fire before
the item is disposed by the cache (if it implements IDisposable).
If I can implement it with minimal overhead, I will add it. If it's too
expensive, I would likely not add the feature. One reason these caches are
faster than MemoryCache etc. is that all the ancillary features like events
that not everyone uses are eliminated from the code. If it ends up having
equal perf to MemoryCache, may as well just use MemoryCache instead.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bitfaster/BitFaster.Caching/issues/89#issuecomment-965796149,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHZFIZOX5TMRJWDURK3M73ULLVFJANCNFSM5HXWM73Q
.

I haven't previously studied how events or multicast delegates work behind the scenes - I'm investigating the IL and assembler and measuring some scenarios to validate. I use this library in a production system where performance matters, so I'm trying to do a thorough job of analyzing the impact of any additional code. I'm sure you are correct, but it seems sensible to measure and quantify your statement.
For .NET 6 the implementation I have in the PR has an overhead of 16 instructions which increases the JITted code size by 67 bytes. Variance in run time with/without the event is within the noise floor for minimal benchmarks, but they clearly fit into the instruction cache on my machine and would not be affected by the code size increase.
The code that increased in size is the 'Move' method, which is not invoked for cache hits when size is stable. I tend to focus on the hit code path, since it determines the speedup gained by caching for a high hit rate on a 'hot' item. I have also validated that the JIT can elide all the extraneous code when using the null policy, so the Fast LRU variant code size/perf is preserved.

I suggest this feature should not be included in the FastConcurrentLru for performance reasons. The ConcurrentLru can have it though which can be used as a kind of having more features than the FastConcurrentLru.

ItemRemoved event change is now merged, it will be in the next release.

FYI NuGet package version 1.0.6 contains the ItemRemoved event.


Allow user to pass their own CSS file to the WebApp reporter

+1 on dropping the example until we have a reporter using this new feature. Prefer not to give false expectations as users have previously asked me for an option to pass their own CSS file to the WebApp.
Originally posted by @tsteenbe in https://github.com/oss-review-toolkit/ort/pull/2635

Could be implemented via reporter-specific options now.


making cards accessible from keyboard

Hi @krosenk729 ! Welcome to stop analyzing.!
Thanks a lot for your PR!.
Would you be interested in tackling another issue?


[Core] react-native issues/regressions

With this option from React-Native, our react-native conditional exports are respected, but issues also surface.  Previously most of these were mapped to their browser version for react-native.

core-rest-pipeline/src/util/inspect.ts is importing from "node:util", need a react-native version (same as browser should be good)
core-rest-pipeline/src/util/concat.ts needs a react-native version (same as browser should be good too)
core-rest-pipeline/src/util/userAgentPlatform.ts  the dynamic import await import causing react-native error compiling JS code because it puts await in an non-async context.

could we do `import {...} from "react-native" but without adding a dependency on "react-native"?  maybe just need to add a typing/declared module for it

node js only policies also need react-native version: proxyPolicy.  We could do no-op, instead of throwing like in browser version
logger/src/log.ts is import from node:` modules, we probably could make a react-native version using same code from browser version. https://github.com/Azure/azure-sdk-for-js/blob/3afccc67ad10ed922b917bdda3cbe5f277c95be1/sdk/core/logger/src/log.ts#L4
core-util/src/sha256.ts is importing from crypto

we could use a copy of browser version, which would require customers to provide polyfills for the crypto API that we use, or
we could implement react-native version using the platform API if possible.  I only find that Expo provides some API but extra steps are needed for bare react-native projects https://docs.expo.dev/versions/latest/sdk/crypto/
is there a polyfill package that would work with import { createHash, createHmac } from "crypto"; with some resolver configuration?

core-util/src/byteEncoding.ts is using Buffer, browser version should work too for react-native.

core-amqp has similar problems too: util/

checkNetworkConnection
hmacSha256
runtimeInfo

originated from #29980

Can you tell what the expected date is when this fixing gets into the release ?

@tonylucgi the planned date for the July release is 7/11/2024

Fixed already.


fplnet 256 LaPa 4c 20240516.onnx file size is 0

hello, fplnet 256 LaPa 4c 20240516.onnx file size is 0.

Call git lfs pull right after cloning the repo.


Fix Point equals

Tried to cast to Position instead of Point and threw class cast exception

thank you, was already fixed locally while working on getting If-Bot working

@N00byEdge feel free to make a PR, but honestly I don't think you should be able to compare them directly, as TilePositions often are the topleft position and Position the center of the Unit.
This will lead to confusion because then unit.getTilePosition != unit.getPosition.
Better to make them not directly comparable


Add mean absolute error loss

This PR proposes to add mean absolute error (MAE) loss to the standard loss function collection of Chainer. MAE is the most popular loss function next to MSE for regression problems. Indeed, for example, Keras has built-in support for MAE (see https://keras.io/objectives/).
This implementation is largely based on MSE. I'm using this for several weeks in my week-end project.

 Fixed!

Thank you! Then I would like to merge.


fix(dts-plugin): let dts_plugin handle remote paths instead of abs URLs

Description
This prevents a type error when a remote is structured with a path reference (/someLocation/mf-manifest.json) instead of an absolute URL by providing a base to the URL constructor. The arbitrary base is removed prior to returning in the case where it is used.
Unhandled Rejection Error:  TypeError: Invalid URL

Related Issue
fix #2406
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Checklist

[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[ ] I have updated the documentation.

Love seeing PR's from the community with tests included.

@adamdharrington we just introduced publicPath: auto support for mf manifest and dts. Does this solve your problem?

Sorry for the delay, publicPath: 'auto' doesn't seem to help, firstly because in my case I'm setting a public path for production but also even while testing it does seem to throw at the same location.
usecase:

host app deployed to example.com/host (publicPath '/host')
remote deployed to example.com/remote (publicPath '/remote')
host reference to remote module-federation manifest:

    "remote"<EMAIL_ADDRESS>
In this scenario we could deploy to staging.dev and everything would work as expected, equally we could serve the host locally as on localhost:3333/host and proxy requests to /remote to localhost:4444/remote and all should work.
Currently it seems the only thing that doesn't is that URL constructor in the dts library

@2heal1  can we merge this capability?

I'm going to merge this and backport it to native-federation-* plugins as well.

@adamdharrington have you figured out how to generate @mf-types from the relative URLs?  While it doesn't fail the build with this fix, it doesn't seem to know where to find the remote to get the types.
I have a very similar use-case to what you described in the ticket but I'm ending up needing to do some awkward things to get types.  My solution currently is to keep the hosts on the remotes configuration so I can pull types, then strip the hosts with a custom FederationRuntimePlugin.
I basically need to specify the remote host only for the purposes of type generation, otherwise I would like to use the relative path.  Maybe this is a feature request for a new DtsHostOptions property.


Include multilingual taxonomies as default in the app

We have decided to include the multilingual taxonomies as default, directly within the app, to provide a good and simplified multilingual experience.
The app should include all those files by default:
https://static.openfoodfacts.org/data/taxonomies/categories.json
https://static.openfoodfacts.org/data/taxonomies/labels.json
https://static.openfoodfacts.org/data/taxonomies/additives.json
https://static.openfoodfacts.org/data/taxonomies/countries.json
https://static.openfoodfacts.org/data/taxonomies/allergens.json
I'm opening another bug to ensure we provide an update mechanism.

#1394 should be read before any action is done, and proper discussion about this is needed.


Add --enable-proposed-api

I'm trying to pass the --enable-proposed-api flag to vscode
I'm using this patch https://github.com/cdr/code-server/pull/1779/commits/9fb33dce3d8f4854163c978ef02bdd06f1983722
I've also added  myextension.id  to  extensionAllowedProposedApi.
Tried executing via below however it doesn't look like that argument is passed to vscode.
code-server --enable-proposed-api myextension.id
code-server --enable-proposed-api=myextension.id

Is there a quick/other way to pass this argument to vscode?

See https://github.com/cdr/code-server/pull/1779

fwiw I suspect #1779 is a different issue since that's for enabling the proposed API in the client/web worker host rather than the server-side host. The error also looks unusual and I think it might be specific to the remote extensions so there might not be anything we can do about it, but I think it's worth a check to make sure it's not a bug on our end.

A bit more context, @JayDoubleu got this error after including the changes in #1779. (Correct me if I'm wrong though!)

nvm, I completely misremembered, it's just that the web handles it differently than the local version and has nothing to do with the extension hosts. #1744 (comment)
Very possible that resolving #1744 via #1779 will fix this then, apologies for the noise. It's still odd that the error is different but we'll see how it goes.

v3.5.0 with VS Code v1.48.2 has been released, fixing this issue! 🍻


Add support for database selection when selecting table

Currently Peloton supports for creating different databases, but doesn't support for accessing databases other than the DEFAULT_DB. All coming queries are assumed to access the DEFAULT_DB.
To handle this, we need to add database token to the parser when handling selection of tables. And then pass this token to wherever catalog is accessed.

If this is complete, please close the issue.


[#77] maven wrapper w/ mvn v3.9.6

fixes #77

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

:exclamation: No coverage uploaded for pull request base (main@44c3ef6). Click here to learn what that means.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #78   +/-   ##
=======================================
  Coverage        ?   61.88%
  Complexity      ?       48
=======================================
  Files           ?       12
  Lines           ?      265
  Branches        ?       24
=======================================
  Hits            ?      164
  Misses          ?       89
  Partials        ?       12

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

Thanks


Move the app

Hi @Rahmeen14 @Akshitaag,
we would like to remove the app from the @probot org as we don't maintain it. would you like to move it to either of your accounts or create a new org for it? If not we will archive the repository and maybe delete it in future

Hi. Sure, will do that
Thanks
On Fri, Jul 9, 2021, 11:05 PM Gregor Martynus @.***>
wrote:

Hi @Rahmeen14 https://github.com/Rahmeen14 @Akshitaag
https://github.com/Akshitaag,
we would like to remove the app from the @probot
https://github.com/probot org as we don't maintain it. would you like
to move it to either of your accounts or create a new org for it? If not we
will archive the repository and maybe delete it in future
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/probot/first-timers-only-app/issues/30, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AF6Q7NTT6YZ3H4XVSNTY3XTTW5XDHANCNFSM5ADQJVDA
.


FivetranOperatorAsync fails when using AWS SystemsManagerParameterStoreBackend secrets backend for fivetran_conn_id

Apache Airflow version
2.4.2
Deployment
Astronomer Runtime 6.0.3 based on Airflow 2.4.2+astro.1
Provider
airflow-provider-fivetran-async==1.0.0a5
What happened

We have our fivetran connection in aws parameter store
The FivetranOperatorAsync operator kicks off the sync in fivetran for our connector
The task is deferred
The connection to fivetran fails when the deferrable task is triggered to restart, with error "The conn_id fivetran isn't defined".
The dag fails
The fivetran sync continues to completion

NOTE: if we put the connection in the Airflow UI instead, then the deferrable task works as expected.
What you think should happen instead
The FivetranOperatorAsync should support aws parameter store as a secrets backend, or have a callout in the documentation that it only supports the two default secrets backends.
How to reproduce

Configure airflow to use aws param store secrets backend

[secrets]
backend = airflow.providers.amazon.aws.secrets.systems_manager.SystemsManagerParameterStoreBackend
backend_kwargs = {"connections_prefix": "/airflow/connections", "variables_prefix": "/airflow/variables", "profile_name": "default"}

Add a fivetran connection in aws param store called "/airflow/connections/fivetran"
Create a dag that uses the FivetranOperatorAsync to trigger a fivetran connector sync using the fivetran connection in param store.

fivetran_async = FivetranOperatorAsync(
	task_id="fivetran_async",
	connector_id="fivetran_connector",
	fivetran_conn_id="fivetran"
)

Run the dag
The sync will start. You can verify that it is running in fivetran.
The dag will fail when the deferrable operator restarts

@pankajkoti can you please look into this during next week

hi @stephanephanon I see in your Airflow [secrets] configuration, you have profile: default in the backend_kwargs.
In you Airflow worker, do you have a file ~/.aws/config which contains the AWS access keys? If you have mounted such directory for your worker, could you also try mounting that file/directory on the triggerer?


[Enhancement] to implement adaptive io tasks by scan operator

What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

The general implementation idea is as follows:

Set an initial and minimum I/O concurrency level, and adjust it every 50ms.
If the production speed is higher than the consumption speed, reduce the I/O concurrency level.
Try increasing the I/O concurrency level and check if there is an improvement in the production speed in the next window.
If there is no improvement, revert to the previous level, otherwise keep it unchanged. Then continue with step 2.
If increasing the concurrency level multiple times has no effect (=4), reduce the I/O concurrency level and continue with step 2.
During this process, high I/O latency will be monitored, and if the I/O latency is relatively high, the concurrency level will be directly set to a certain value.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

[FE PR Coverage Check]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
2
2
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 4 / 4 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
4
4
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 4 / 4 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
4
4
100.00%
[]


EnterpriseUser manager value should not be required

For EnterpriseUser, Scimmy defines the "value" attribute under "manager" as "required"^1. The current RFC is confusing on this point, since it uses both "RECOMMENDED", "REQUIRED", and "required: false" in different sections of the RFC^2.
However, it seems the intent was to mark it as "recommended", not "required", according to a message about the errata in the IETF mailing list^4. Unless there are objections from the Scimmy maintainers or users, I'd suggest following the intent of the spec authors and loosen the schema here.
I ran into this in an edge-case scenario when integrating with Okta, where Okta could send a "manager" structure with a "displayName" attribute, but without a "value" attribute.

Hi @brianpeiris,
Thanks again for another well-researched contribution! Digging up the IETF errata was very much appreciated, and heavily implies that the use of "REQUIRED" in the JSON schema description of the manager.value attribute was meant to be "RECOMMENDED" - reinforced by the definition including "required": false immediately afterward.
I believe your suggestion to loosen the schema and change it to be optional by default is sensible and in keeping with the intent of the spec authors, and will release v1.2.2 with this change included.
For anyone wishing to revert to the previous behaviour of having the value attribute required, the following line of code should achieve this:
SCIMMY.Schemas.EnterpriseUser.definition.attribute("manager.value").config.required = true;

Thanks for the fix!


Undo will restore the English alphabets used in IME composition instead of just removing Chinese character.

Open http://codemirror.net/demo/closetag.html in a browser.
Switch to Chinese IME (pinyin - simplified).
Delete <html and type "pin". On Windows you need to hit space bar to see the candidate window.
Select any Chinese character from the candidate window.
Press Ctrl-Z to undo.

Result: You will see "pin" appear in place of the Chinese character.
Expected: Should just remove the Chinese charter and no need to show English alphabets used in composition.

(If IME is important, consider setting the inputStyle option "contenteditable" in CodeMirror 5.0+. This should help, though it might introduce other issues since the contentEditable backend isn't all that well tested yet.)

Patch 40b5625 should help with this. But please test, since IME events seem to vary wildly across platforms.

This is a issue that's difficult if not impossible to solve with the fundamental approach currently taken by CodeMirror.
We are working on a rewrite (CodeMirror 6) that will address this issue, and we are currently raising money for this work: See the announcement for more information about the rewrite and a demo.
Note that CodeMirror 6 is by no means stable or usable in production, yet. It's highly unlikely that we pick up this issue for CodeMirror 5, though.


THRIFT-4346: Allow ZlibTransportFactory to wrap other factories

It is a case for when zlib is used with conjunction to other transport,
for example framed transport.
server: go

It is not quite obvious what are the reasons for CI failures but they don't seem to be related to the patch.

LGTM, CI failures are unrelated.
cc @Jens-G

In the future please squash to a single commit - it makes applying much easier.  I'll go commit this.

thanks @jeking3 , duly noted


load permissions from file when config is not yaml file

Valve permissions where not being loaded when server started from script passing options new DeepstreamServer(options) neither when passing a .js config file in cli.

Sorry that close was accidental!

I'm afraid this is failing the unit tests

fixed

releasing as 5.0.15


ct:modify_voicemail_update_email

=ERROR REPORT==== 18-Jul-2018::18:01:13.763289 ===
Process EXIT other: <0.240.0>, {{case_clause,{"undefined","123456",undefined}},
[{em_manager_surgemail,modify,1,
[{file,"src/em_manager_surgemail.erl"},
{line,84}]},
{em_events,processor,3,
[{file,"src/em_events.erl"},
{line,130}]}]}
=ERROR REPORT==== 18-Jul-2018::18:01:13.763249 ===
Error in process <0.240.0> on node ct_em@MacBookBro with exit value:
{{case_clause,{"undefined","123456",undefined}},
[{em_manager_surgemail,modify,1,
[{file,"src/em_manager_surgemail.erl"},{line,84}]},
{em_events,processor,3,[{file,"src/em_events.erl"},{line,130}]}]}
=ERROR REPORT==== 18-Jul-2018::18:01:13.764464 ===
Event failed: 12026

ct scenario was wrong, no bug


Consider running entire suite when --next-failure run completes

To ensure fixes didn't break previous tests RSpec could rerun the specs that it skipped over from only failures.
I often do this manually, except when I do it, it runs the specs already-covered by --next-failure . Not sure how this interacts with only failures (maybe useful there too?), or it could be an additional config. I lean towards making it the behavior only for --next-failure - but I can see arguments against also. Just throwing it out there.

IMO, it would be quite confusing for --next-failure to run everything.  Running everything is practically the opposite of --next-failure.  You can always do this:
$ rspec --next-failure && rspec

If anything failed during the --next-failure run, it'll stop there, but if everything passed, it'll continue on to run the entire suite.  You can type that once and then just keep hitting your up arrow to keep re-running that command.

Yeah, but what I was getting at was avoiding re-running the tests that had passed under --next-failure . Still that is a trivial one-step way to accomplish verification. Usually this is for finicky legacy test suites that are slow. Honestly I wish I never wanted this at all (hah)


end-to-end tests for the entire World ID state bridge system

resolves issue: #4
created a comprehensive end-to-end test for the entire World ID state bridge system. to ensure that all components work together correctly and that the cross-chain functionality operates as expected.

@kfastov pls review code should be in a better place for that now

Hey @Jemiiah, I'll make a few direct edits—nothing to worry about! 😊


Differing behavior of scopes created with strings vs. RegExps

I'm seeing some strange behavior with nock, tested against current master.  Here's a test.js script to demonstrate:
var http = require('http');
var nock = require('./index'); // For master; could also be require('nock').

var host = 'http://example.com';

nock(host)
//nock(new RegExp(host))
        .get('/').reply(200).get('/').reply(500);

http.get(host, function (response) {
    console.log('Got ' + response.statusCode);

    //nock.cleanAll();
    //nock.restore();
    //nock(host).get('/').reply(500);

    http.get(host, function (response) {
        console.log('Got ' + response.statusCode);
    });
});

Running that script as-is gives the expected output:
~/nock master$ node test.js
Got 200
Got 500

However, if you comment out the first nock call at the top and uncomment out the second, identical except for the scope specifier being wrapped in new RegExp(), you'll see:
~/nock master$ node test.js
Got 200
Got 200

Somehow the first intercept is being used for all requests.  Even weirder, if you cleanAll/restore and re-nock by uncommenting out the lines in the middle of the first response handler, you still get 200 twice, meaning the original intercept is still being used.
It's possible I'm not understanding nock entirely, but the difference of behavior between creating scopes with strings and with regexps seems like a bug to me.  Any ideas?
Thanks for your help!

This is on node v0.12.9, by the way.

Looks like a bug, I can take a look today/tomorrow.

Pull request opened. Sorry for the delay.

Fixed by https://github.com/node-nock/nock/pull/520
Landed on v7.7.3.

:+1: thanks!


Cost Management information does not transfer

Before executing the transfer request, customers should export any cost management information they want to retain. The billing and utilization information does not transfer with the subscription.
I would have put this comment on the following page, but that page doesn't allow feedback:
https://docs.microsoft.com/en-us/partner-center/switch-azure-subscriptions-to-a-different-partner

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

ID: 6aef944e-c3da-70b4-47c4-9c45447d0a3c
Version Independent ID: 4fb9a899-cf9f-43dd-334a-f202e3b75067
Content: Transfer Azure subscriptions between subscribers and CSPs
Content Source: articles/cost-management-billing/manage/transfer-subscriptions-subscribers-csp.md
Service: cost-management-billing
Sub-service: billing
GitHub Login: @bandersmsft
Microsoft Alias: banders

Also, after the subscription transfers the customer is no longer able to refund the reservations they created. Make sure they do that first, or be prepared to cancel them for the customer. If they have more than 50k over 12mo in reservations, that complicates things.

@jonwbstr Thanks very much for your feedback. As you noted, the article you linked https://docs.microsoft.com/en-us/partner-center/switch-azure-subscriptions-to-a-different-partner doesn't have GitHub issues enabled so I passed along your feedback to the owning Partner team for them to review. When I hear back from them, I'll info you here.

#assign:bandersmsft

Some of this information is relevant to both articles since they are from different perspectives. Thanks!

@jonwbstr I've updated  https://docs.microsoft.com/en-us/azure/cost-management-billing/manage/transfer-subscriptions-subscribers-csp with your suggested revision with the linked PR above. I expect the Parter Center team will do the same for https://docs.microsoft.com/en-us/partner-center/switch-azure-subscriptions-to-a-different-partner.
Thanks!
#please-close

If you have any existing reservations, they stop applying after you transfer a subscription. Be sure to cancel any reservations and refund them before you transfer a subscription.

The reservation continues to apply, and the client can see everything they could normally see. However, the refund option doesn't work. I haven't tried to transfer so can't comment on that.

I'm honestly not sure the inability to manage the reservation after the transfer is by design.

It is, there is a 30-45 day grace period where things continue to work normally. At the end of the grace period the by design behavior is experienced.


⚠ RPC server - Figment Solana has degraded performance

In 4b137c8, RPC server - Figment Solana ($FIGMENT_SOLANA_RPC_URL) experienced degraded performance:

HTTP code: 200
Response time: 188 ms

Resolved: RPC server - Figment Solana performance has improved in 4eaa02a.


Remove offline google maven repositories

Checklist

[X] I've run make from the root directory to see all Dockerfiles are created successfully.
[X] I've updated the documentation if necessary.

Motivation and Context
The android images are currently almost 3GB in size. I would like them to be smaller, especially since the circleci image collection is pushed every few days.
Description
Google moved their support library, firebase, and google play services artifacts to an online maven repo. Users with a reasonably up-to-date build process and dependency tree will have no need for the offline copy.

The offline copy that is installed with sdkmanager extras;... has no versions of firebase or play services newer than 11.0.0 (Current is 15.x or something though they skipped 13/14).
The online maven repo has support library versions dating back to 18.0.0
Newer versions of the android gradle plugin understand the google() repo directive, but older ones that don't can use maven { url: 'https://maven.google.com' }
The extras;google;google_play_services repo in particular has no actual maven artifacts and only contains documentation and example code, which is useless in a CI build environment.

With these changes and the proposed use of slim JDK in #201, the image size goes from ~2.9GB to just ~930MB.

Hi @joshfriend - thanks for this, it's awesome.
Do you know what changes people would need to make to their apps for this to work, or do you tihnk the chance is backwards compatible?

I'd also add that the lowest android sdk level supported by the circleci images is 23, which in the android world is pretty recent, so it seems likely to me that anyone using these images would be up-to-date, or could be with minimal effort.

My android dev team has been using a fork of the circle-ci images with these changes since I proposed them and have had no issues.
@marcomorain do you have any objections or concerns about the changes?

@joshfriend this is amazing, thanks so much!
let me wait until i get https://github.com/circleci/circleci-images/pull/226 merged, and then i'll either merge this one or make the equivalent code changes in a separate PR
&, on a higher level, we are also revising code-ownership of this repository (see https://github.com/circleci/circleci-images/pull/227), so that development on this repository can move forward more quickly

Excellent, thanks! I'll keep an eye on #228, this branch will likely need a rebase after that is merged (unless you get to it first).

gonna hold off on merging this PR until we get some clarity on messaging around possible breaking changes @joshfriend i agree with you that this change makes sense, but we should let folks know that they may need to update their projects as you described

👍

This looks like a good change for us to schedule merging in early October.

@joshfriend finally getting this merged, thanks for your patience !

Woohoo! Today is gonna be a good day 😄
Thanks everyone!


withFailMessage() crashes when its input contains % sign

Summary
Real life example: I'm testing correctness of auto-generated urls. Some of those URLs contains % signs, because of http escaping. If I try to use assertThat().withFailMessage().isEqualTo(), then I'm getting an an exception from String.format() because Java gets confused about the percent signs
Example
assertThat(1).withFailMessage("because %2B reasons").isEqualTo(2)

Thanks for reporting this @Eru-gg, the reason is that withFailMessage(String newErrorMessage, Object... args) is interpreted as String.format, we will add withFailMessage(String newErrorMessage) that just take the message as is.

@Eru-gg we cannot reproduce the issue with the latest version so I close this issue, but happy to reopen it in case you can provide a reproducible example.


UX: Add counter for warmup sets shown during plan execution.

Hi @brandonp2412,
Thanks for all the work already put into this nice app.
Describe the solution you'd like
Currently, the UI shown during a running workout only displays a counter for working sets as bars below the exercise name, e.g. see example from the README.md
.
I'd like also to have an option to display warm-up sets in a similar manner.
Describe alternatives you've considered
My current workaround is to create a copy of the exercise, e.g. for "Pullup" I would create a "Pullup - Warm-Up" exercise, which I schedule before the actual working set of the exercises.
This is a lot of manual work and also adds progress tracking of of the warm-up exercise variant in which I'm not really interested.
Besides that we can already specify the number of warm-up sets when we add an exercise to a workout plan and only lack a visual representation in the UI
I can try to add this as a contribution if this would be welcome :)

Long tap an exercise item then go into settings to set warmup sets. If your app doesn't have this it's out of date

@brandonp2412 I believe what @lckr meant was to add an indicator/counter for warm-up sets, like the progress bars for working sets. Right now warm-up sets is just a number you set but it doesn't actually do anything when it comes to counting sets AFAIK.
Personally I'm not interested in counting warm-up sets overall but I can see why this could be a nice option to add for those who are, as long as it doesn't make the UI too confusing

Yeas, @dqnne is right. It would be nice to have an indicator which tracks the number of warm-up sets similar to the indicator for the number of working sets.
Btw, are the warm-up sets I can configure in an exercise item's setting used for anything at the moment?


Pearl Academy India

Institution/School Name
Pearl Academy
Instiution/School Website
pearlacademy.com
Email Users
Please place an x between the square brackets if yes

[x] Students
[ ] Academic/Teaching Staff
[ ] Other/Support Staff
[ ] Alumni

Education Levels
Please place an x between the square brackets if yes

[x] Post-graduate research
[x] Graduate School
[ ] College (University) or Undergraduate School or equivalent
[ ] Community College or equivalent
[ ] High School or equivalent
[ ] Elementary School or equivalent

Official website - www.pearlacademy.com
Course URL - https://pearlacademy.com/undergraduate/communication-design-graphics-interaction-digital-course
Verification the domain is in use - https://pearlacademy.com/contact-us (primary and secodary level domain is shown, tertiary i.e. stu is personal to students)


Where to get mermaid.min.css from when installing from npm?

I'm trying to add Mermaid support to an Electon application. I managed to load the JS library and render some diagrams, however some parts of them are missing and I think it's due to missing CSS.
However I cannot figure out where the CSS for Mermaid is. When I do npm install mermaid, there are some JS files in /dist but no CSS. The doc simply give this as an example:
<link rel="stylesheet" href="mermaid.min.css">

So I'm wondering where can I get this mermaid.min.css file from?

+1

Looks like the approach to CSS may have changed, but not fully documented in latest version?  issue #642 is still open requesting help updating documentation for Mermaid 8.0 from contributors.
I found this searching for CSS in the online documentation which appears to explain the missing mermaid.min.css file:
https://mermaidjs.github.io/breakingChanges.html
which states the following:
#2

In old versions you need to add CSS file to your HTML:

<link rel="stylesheet" href="mermaid.min.css">

or

<link rel="stylesheet" href="mermaid.forest.min.css">

Now it is not needed to do so. And there are no more CSS files in distrubtion files.

You just

mermaid.initialize({
    theme: 'forest'
})

and it works like a charm.

This is because now the CSS is inline with SVG for portability.

Looks like "forest", the text used to reference the example theme,  shows up in two files
src/mermaidAPI.js
dist/index.html
based on the following search:
https://github.com/knsv/mermaid/search?q=forest&unscoped_q=forest

I tried to follow the above in order to customize the styling within my Jekyll docs with this plugin. However, I seem unable to get the following part to work:
mermaid.initialize({
    theme: 'forest'
})

Where would you specifically insert this in a Jekyll docs project?
Also, if I want to customize my own CSS with full control, would I add a local stylesheet and refer to this in the header? It seems to me that when I attempt to do this, the styles I use are overwritten by those "hardcoded" into the mermaid js file in my assets folder.
Any inputs would be highly appreciated,
Martin

This is still not fixed. The documentation refers to a "mermaid.min.css" which is nowhere to be found.


Release 1.0

Feature request
Release the current stable version as a 1.0.0 version
What are you trying to achieve?
I would just like the server ranges to be a little less surprising 🙈 If I specify ^0.34.0 I won't get any of the "patch" versions in my project that depends on this. And this has been pretty stable for a long time!

This may well happen as a result of https://github.com/lovell/sharp/issues/3750

If I specify ^0.34.0 I won't get any of the "patch" versions in my project that depends on this.

Are you able to explain a little more about what you mean by this? Specifying ^0.32.0 will include all the patch releases from v0.32.0 to what is currently the latest v0.32.4.

I can try to explain @mansona 's comment.
While ^0.32.0 does allow for patches of that release eg 0.32.4 it does not allow for the next release, say 0.33.0 whether it contains breaking changes or not.
Moving to a 1.0.0 release will allow for ^1.0.0 to include all minor and patch releases. Then breaking changes can be released in a theoretical 2.0.0.
This allows differing packages with a sharp dependency to work together more effectively as one package can request a higher minor release than another without having to duplicate the dependency.

The changes being introduced by #3750, where prebuilt binaries and the libvips dependency all move to package manager control, will hopefully allow more efficient semver matching and make breaking change management more consistent/explicit.
As you suggest this may also result in fewer duplicates for some installation trees, although I always strongly encourage everyone to update to the latest version, as both a direct and transitive depedency.
If you'd prefer, an alternative way to think about the current situation is that sharp is on major version 32 :)

@lovell please kindly consider to release the next version as 1.0.0 or 34.0.0.
Unfortunately, it's rare, when developers use ~ (to allow only patch x.x.X updates).

typically, you'd see projects where sharp's version is defined as, for example ^0.33.0. It means when you release 0.34.0, next time sharp is reinstalled, it would pick up 0.34.0, since caret means all x.X.X updates are allowed (i.e. up to 1.0.0).

in other words, breaking changes from minor versions are automatically installed when sharp is updated

The above makes it slightly harder to maintain such projects, so please kindly consider to conform to semantic versioning.

breaking changes from minor versions are automatically installed when sharp is updated

This is not the case for semver pre-1.0.0, as the carat ^ operator will introduce only patch increments.

please kindly consider to conform to semantic versioning.

sharp currently conforms to semantic versioning.

@lovell thank you, pre-1.0.0 actually does work as you said. I probably never actually checked such different pre-1.0.0 UX (talk about principles of least astonishment 😅).

sharp currently conforms to semantic versioning.

Does it? According to semver.org item 4, major version 0 is for initial development.


Five visible page limit?

This package is great. I don't want to re-invent the wheel. But the 5 page limit is really disappointing. Can we increase/decrease it?

VisiblePages is now a parameter, eg.
            <BlazorPager<EMAIL_ADDRESS><EMAIL_ADDRESS>                         OnPageChanged="(async e => { _page = e; await FetchData();})"                          VisiblePages="10"                          />


Calculate SC deployment costs

///

@fmorisan can you help @datradito to outline the costs for this SC?.


My Groups Page

1-1. List user's Group
1-2. Click one of them and display thumbnails of
the language

Join New group button

1-1, 1-2 completed


How to extract from private pages

Can we extract from private pages of Scrapbox?

You needs to set the cookie value to environment variables.
export SB_COOKIE_ID=connect.sid
export SB_COOKIE_VALUE=your_cookie

Cookie can be obtained using your browser's developer tools.

Thanks for your reply.
I'm using Developer Tools in chrome.
Could you explain a bit more to get these cookie related in  Developer Tools?

Open the developer tools on the scrapbox site and select Application > Storage > Cookies > scrapbox.
You can get the cookie value by selecting the key name "connect.sid".

Thank you.
It works with cookie strings.


DotNet 3.1 LambdaFunction unable to use Microsoft.Data.SqlClient

Describe the bug
Create a DotNet 3.1 Lambda empty function. It launches fine with the AWS .NET Core 3.1 Mock Lambda Test Tool (0.10.0). Now add the NuGet Microsoft.Data.SqlClient package.
With no changes, now try to launch the Lambda function.
It gives the following:
AWS .NET Core 3.1 Mock Lambda Test Tool (0.10.0)
Unknown error occurred causing process exit: Dependency resolution failed for component xxx\AWSLambda2\bin\Debug\netcoreapp3.1\AWSLambda2.dll with error code -2147450740. Detailed error: Error:
An assembly specified in the application dependencies manifest (AWSLambda2.deps.json) was not found:
package: 'runtime.win-x64.runtime.native.System.Data.SqlClient.sni', version: '4.4.0'
path: 'runtimes/win-x64/native/sni.dll'
at System.Runtime.Loader.AssemblyDependencyResolver..ctor(String componentAssemblyPath)
at Amazon.Lambda.TestTool.Runtime.LambdaAssemblyLoadContext..ctor(String lambdaPath) in C:\codebuild\tmp\output\src142363207\src\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\Runtime\LambdaAssemblyLoadContext.cs:line 28
at Amazon.Lambda.TestTool.Runtime.LocalLambdaRuntime.Initialize(String directory, IAWSService awsService) in C:\codebuild\tmp\output\src142363207\src\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\Runtime\LocalLambdaRuntime.cs:line 71
at Amazon.Lambda.TestTool.Runtime.LocalLambdaRuntime.Initialize(String directory) in C:\codebuild\tmp\output\src142363207\src\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\Runtime\LocalLambdaRuntime.cs:line 46
at Amazon.Lambda.TestTool.TestToolStartup.Startup(String productName, Action`2 uiStartup, String[] args, RunConfiguration runConfiguration) in C:\codebuild\tmp\output\src142363207\src\Tools\LambdaTestTool\src\Amazon.Lambda.TestTool\TestToolStartup.cs:line 77
Press any key to exit
To Reproduce
See above
Expected behavior

OS: Windows
Visual Studio 2019
AWS Toolkit Version: 0.10.0

Additional context

@genifycom Can you try including the following line in PropertyGroup section of the project .csproj file
true
I encounter with the same problem and the mention solution did work for me.

Well done! CopyLocalLockFileAssemblies seems to have fixed it. Still have to test it in AWS Lambda.
Thank you!

Thanks, this fixed it.

Thanks Well done.
It is now working using
true


What is the session lifecycle?

Does the session instance associated with the player ever gets replaced? If it does, how does one handle that correctly? How do I know when the old instance is being replaced, so I install event handlers on the new one?

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

ID: a0d38525-a1b7-8147-93ab-e53bde9338df
Version Independent ID: 7b3980eb-ad6e-8e81-fc1d-aba588e12c65
Content: MediaPlayer.PlaybackSession Property (Windows.Media.Playback) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.media.playback.mediaplayer.yml&version=GBlive&_a=contents
Product: uwp
Technology: winrt-reference
Git Login: drewbatgit
Microsoft Alias: drewbat

Thanks for your question and sorry for the delayed response. I confirmed with the feature team that this is the behavior:
The PlaybackSession is created once inside the MediaPlayer’s RuntimeClassInitialize and it is the same for the life of the MediaPlayer object.


on-demand VHDS not work correctly

sorry my poor eng :)
On branch master,  the vhds http filter will skip handle all request, it cause allways get 404 code(empty main route)
in other words, let me show you the code...
https://github.com/envoyproxy/envoy/blob/51551ae944c642e6fc61563cbea8653087e70f1f/source/extensions/filters/http/on_demand/on_demand_update.cc#L12-L24

all request will continue to empty router, because of the code will never run into L18
gdb bp L14 ,  usesVhds always be false and routeConfig type is NullConfigImpl
routeConfig is read from https://github.com/envoyproxy/envoy/blob/51551ae944c642e6fc61563cbea8653087e70f1f/source/common/router/rds_impl.cc#L252-L254

after review the code, i find the reason

config init here: https://github.com/envoyproxy/envoy/blob/51551ae944c642e6fc61563cbea8653087e70f1f/source/common/router/rds_impl.cc#L232-L237
and update here: https://github.com/envoyproxy/envoy/blob/51551ae944c642e6fc61563cbea8653087e70f1f/source/common/router/rds_impl.cc#L256-L264
but if first RDS response is got, prog will run into here and not call onConfigUpdate: https://github.com/envoyproxy/envoy/blob/51551ae944c642e6fc61563cbea8653087e70f1f/source/common/router/rds_impl.cc#L128-L139
so TLS config is keep inited null.

ping @dmitri-d
config_dump.txt

i was make a simple patch, need review https://github.com/kkHAIKE/envoy/commit/a09c9552bc01de9cb617c5a395e7cb91c3006f5f

@dmitri-d

It looks like the issue you are seeing will be triggered every time both rds and vhds configurations change together. I think the change you are proposing should resolve the problem; could you create a PR and also add a test for the change?


create a dropdown navbar

create a dropdown navbar for the mobile view. the design is provided in the folder.

can i try?


data: adiati98

Changes proposed
Add adiati98 profile to LinkFree.

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots
N/A

Note to reviewers

Thank you for the review and the merge, @kumarsonsoff3 @Hrishi5111998 @Panquesito7! 🙌😀


What's the difference between multicodec and multistreams

From the multicodec README:

Multistreams are self-describing protocol/encoding streams.

From the multistream README:

Multicodecs are self-describing protocol/encoding streams.

Each project has a readme that leads by calling the other project a thing, and they call the projects the same thing.

Thanks for the report. Your PR triggered that I will now spend some time on the multiformats stuff to clear things up a bit.

Sorry for taking so long, but finally https://github.com/multiformats/multicodec/pull/134 and https://github.com/multiformats/multistream/pull/10 got merged, this should hopefully make things clearer.


Add syncplugins note in study and assay sub app dev docs

A relevant notice from Thomas: the need to run ./manage.py syncplugins is never mentioned in dev_apps.html under study and assay sub-app development.
This is of course mentioned in the SODAR Core docs, but not everyone developing features for SODAR is necessarily working on SODAR Core. My bad.

Done.


Undefined variable dist

Hello,
I am getting an error UnboundLocalError: local variable 'dist' referenced before assignment when I set shape_completion=True in my config/StarDistData2D like in this notebook: https://nbviewer.jupyter.org/github/stardist/stardist/blob/master/examples/other2D/2_training.ipynb#With-shape-completion notebook
I think there is a typo on line 69 in model2d.py, because even original notebook without any changes is not working. It is ok when I edit the internal variable name to dist without the underscore.
Tadeáš Fryčák

Hi @frycaktadeas, you are right about this. This already came up a few days ago (see #154)  and will be fixed in the next release. If you need a fix now, see this.
Best,
Uwe


How to set file encoding?

My Java source files are written with ISO-8859-1. Gauge expected UTF-8. So I get an error error: unmappable character for encoding UTF-8
How can I set the proper file encoding?

You can set the JAVA_TOOL_OPTIONS env variable to -Dfile.encoding=UTF8.
This particular question on Stack Overflow has more details.
If you are using some IDE like IntelliJ, we would recommend you to change the default file encodings to UTF8 in the IDE settings.

I set JAVA_TOOL_OPTIONS = -Dfile.encoding=ISO-8859-1 in the java.properties of my default environment. Also I see the expected message Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=ISO-8859-1 while running gauge. But the error is still. The last error is [CRITICAL] Failed to start gauge API: Runner exited with error: exit status 1

My problem with the encoding. In this project I must use ISO-8859-1 by requirement. So I can not take the easy option and change encoding to UTF-8.

Can you please check if this is working for you :

Create a new Gauge project.
Set file encoding to iso-8859-1. If you are using IntelliJ, you can do this: File-> Encoding -> iso-8859-1 and convert your source file to corresponding encoding format.
Execute the spec.

This works for me with iso-8859-1 file encoding.

Great it works. Thanks.
But if I create the Gauge project with the Eclipse plug-in or with the command line tool, it does not work. But it's O.k. I can not change the encoding, but I can switch to IntelliJ. Closed for me.

@falkoschumann glad to know it worked for you.
As you said, the solution works on IntelliJ, but not on command line. We're not sure if this would be enough for you. But to get it to work across both, we will have to make some changes to the codebase.
Gauge creates (and recommends) the spec files to be utf8 encoded. If the spec files and implementation files have different encodings, there are chances of unexpected behavior. Hence, Gauge-java explicitly passes -encoding utf8 argument to javac in gauge-java.go.
For your case, to make it work in command line as well, we will have to add support for other encodings as well. We have created an issue for this. Please note that we won't be able to pick this up right now since we are in the middle of another feature.
But if it's absolutely necessary for you to make the specs run on command line, you can change the javac argument locally and build it. Let us know if you need any help with this.
Since it's working for you on IntelliJ, I will take the liberty to close this issue. Feel free to reopen it if you run into some other problem.


VSCode Python Interactive Window and Jupyter execution windows hides code

Hey guys.
During the past 2 months I´ve been working with VSCode to generate Jupyter notebooks since I'm taking a machine learning Python course.
It has been a blast but recently (lets say like 4 weeks ago) I have experienced some problems running python files using the Python Interactive Windows in VSCode.
For some reason as soon as the code is being executed, the whole UI hides the code.
Here's a video I made where it reflects this strange behavior: [VSCode Python Interactive Window] (https://youtu.be/NDcxP-5pO5I)
Please advice if there is something that I'm missing because this is getting very annoying since I need to see the whole ipynb notebook on Jupyter Server to check out the output.
Any help with this will be appreciated.
My settings are:
Visual Studio Code Version 1.50.0 running with Ubuntu 20.04 using WSL feature on Windows.
OS: Windows 10 Pro.
Python version: 3.8.5 64 Bit.
Thanks.
Jorge Adolio

@jaadolio Sorry about the issue here, that's not something that I've seen before. Could you pull a couple of logs that could help me to debug this?

From Help->Toggle Developer Tools go to the "console" tab and pull the log from there (if you right click in the log area you can do a "save as" and paste the saved file into a comment here.
In VS Code settings turn Python->Logging->Level setting to 'debug' then repro the issue. After doing that, look in the output VS Code tab in the "Python" section and copy out the info there.

Should be something in there that I can diagnose this with.


Update Game.hs

Incorporated askMasterFdbck- (needed BlockArguments for the case declaration within askMasterFdbck).  Also added fdbckHistory to advanceGame.

I think we also need to change the score of the player based on the feedback the Master provided. Don't we need that?


Fix swifttemplate rsync call failing sometimes

From time to time, I have this kind of error while working with swifttemplates:
error: rsync: delete_file: rmdir "/var/folders/pw/_psd2lwx3xs2vq5dsq7s7_t80000gn/T/SourceryRuntime.framework/Headers" failed: Directory not empty (66)
rsync: delete_file: rmdir "/var/folders/pw/_psd2lwx3xs2vq5dsq7s7_t80000gn/T/SourceryRuntime.framework/Modules" failed: Directory not empty (66)
rsync: delete_file: rmdir "/var/folders/pw/_psd2lwx3xs2vq5dsq7s7_t80000gn/T/SourceryRuntime.framework/Resources" failed: Directory not empty (66)
rsync: delete_file: rmdir "/var/folders/pw/_psd2lwx3xs2vq5dsq7s7_t80000gn/T/SourceryRuntime.framework/Versions/Current" failed: Directory not empty (66)
rsync error: some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-51/rsync/main.c(996) [sender=2.6.9]

And this cannot be solved until I have deleted the framework in this folder.
To work around this problem, I have added the --force option in rsync which seems to fix the issue.
I think this issue happens when the SourceryRuntime framework changes. So it can happen a lot when you are working on Sourcery but should happen less frequently in the classic use case where only version updates changes it.

          1 Error

:no_entry_sign:
Any changes to library code need a summary in the Changelog.

  Generated by :no_entry_sign: Danger


project grouping & filtering by biological network

As a system operator/data manager
I would like to assign to and search by the biological network to which the project belongs. Each project can be assigned to more than a single network.
So that the progress and coverage on the different network could be observed.
Acceptance Criteria:

[ ] netwrok names added to form - see https://www.humancellatlas.org/biological-networks/
[ ] project-network mapping document added/licked to ticket
[ ] projects assigned to networks in ingest
search capabilities

[ ] find project that belong to a network
[ ] find project that do not belong to any network

[ ] wrangler/Gabby approve ui

plan:
phase 1: implement as label
phase 2: add a dedicated search field
data update: assign each project the relevant netwrok

Please let's have a separate field, I do not want to have this as a label in the same group as the current labels. They serve very different purposes.
Let's discuss when I'm back.

Tasks for @Mil-m:

[ ] set up ingest-ui on intellij ide by following instructions on readme and run locally connecting to core on dev
[ ] make a sequence diagram documenting how filtering works, from the browser as for into the backend as possible
[ ] design how project network is maintained in the DB
[ ] add necessary code
[ ] test
[ ] PR Review and deployment to dev
[ ] Gabby & Wrangler review on dev

Mongo restore command did not work - @Mil-m  to look into it

Hi, @amnonkhen and @Mil-m - you can get the Bionetwork names from this page on the Human Cell Atlas:
https://www.humancellatlas.org/biological-networks/
Thanks,
Gabby

Comments in the PR to be addressed

This is to be tested today  by @gabsie and @ofanobilbao - in dev.

Just tested this in Dev. Development is missing from the BioNetworks list

To follow up from yesterday's chat with Amnon, both Blood and Development need to be added to the dropdown options.


Cleaner nextpnr BBA generation

Currently the nextpnr BBA generation code includes a lot of duplication, particularly where lists are concerned. e.g.  patterns like https://github.com/SymbiFlow/python-fpga-interchange/blob/6a80233ca97427c9b1a1cdd16349c3724914d008/fpga_interchange/chip_info.py#L658-L672 crop up a lot
I think a custom decorator might be the nicest solution here, although I don't have enough Python experience personally to comment on how much work it would be to implement this.
Longer term, the structures in nextpnr (https://github.com/YosysHQ/nextpnr/blob/master/fpga_interchange/chipdb.h) and Python should come from the same source to reduce the risk of mismatches, although I don't know which should be definitive.

As for me, I think an auto-alignment feature is worth to add too (as a part of this issue) to avoid manual padding for some fields like it is done in BelInfo.

Longer term, the structures in nextpnr (https://github.com/YosysHQ/nextpnr/blob/master/fpga_interchange/chipdb.h) and Python should come from the same source to reduce the risk of mismatches, although I don't know which should be definitive.

I think the header (chipdb.h) could be generated as a part of nextpnr_emit.py script. Currently in the Nextpnr we call the nextpnr_emit.py from the cmake during bba generation - probably this is the best place to generate the header as we won't re-generate the bba file too frequently.


Security and compliance: List third-party services

Add basic info on these in the security section: AlertLogic, Coalfire, Dome9, etc.

Some products:
https://dome9.com/
http://evident.io/
https://www.alertlogic.com/solutions/platform/amazon-web-services/
https://www.sophos.com/en-us/lp/aws.aspx
https://www.paloaltonetworks.com/products/secure-the-network/virtualized-next-generation-firewall/vm-series-for-aws

This all falls under the AWS Marketplace.


[OTHER] add bug issue template title

What would you like to share?
add title: "[BUG] <what is the issue>" between labels and description
https://github.com/Dun-sin/Whisper/blob/3cfeb16a52ecc20b6d3a6b1d1513cee83a0ac03a/.github/ISSUE_TEMPLATE/bug.yml?plain=1#L2-L3
Are you willing to work on this issue ?
None

Hi @Dun-sin, can you assign this issue to me?

Hi @Dun-sin, can you assign this issue to me?

this is a good first issue

May I work on this issue Please assign this to me.

May I work on this issue Please assign this to me.

okay, thanks for wanting to contribute, read the issue description properly and understand what it tells you to do also feel free to ask questions, make sure you follow the rules 👉🏽here👈🏽, else your PR will not be accepted and will be closed. Good Luck.


Default value for SSH_DOMAIN is not that of DOMAIN

Gitea version (or commit ref): 1.0.1
Git version: 2.7.0
Operating system: Raspbian Linux 4.4.38-v7+ #938 SMP armv7l GNU/Linux
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io: How to change app.ini there?

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
On transferring my setup from Gogs to Gitea, the SSH "URLs" provided for cloning a new or existing repository, were OK on Gogs, but not on Gitea.  On Gitea the domain part was missing.
I could easily fix it by adding in the [SERVER] section of app.ini, next to the already present DOMAIN value, also an SSH_DOMAIN with the same value.  Apparently, if the latter is absent, Gogs would use the value of the former for SSH domains, but Gitea does not seem to behave in the same way.
I consider this very minor, but the behavior Gogs had, does seem more "nice" and perhaps this difference is worth a mention in the upgrade from Gogs description.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/41438378-default-value-for-ssh_domain-is-not-that-of-domain?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github).

Are you sure that this behavior is the same on latest master?

Just tried latest master: behavior changed in that now without specifying SSH_DOMAIN it seems to use "localhost" instead of just leaving things blank before.  As said, Gogs seemed to use the value of DOMAIN.


bug: webui disconnects unexpectedly

An app unexpectedly fails with this message

Please do this:

Download the webui 2.4.0 release archive
Extract it, and copy the /debug/webui-2.dll file to your Deno cache folder
Run your TS app again, and this time, you will see the whole webui logs

Please share the logs.

These are recent logs:
[Core]		_webui_ws_send() -> 3524 bytes sent.
[Core]		_webui_free_mem(0x0x15d013200)...
[Core]		_webui_free_mem(0x0x15d013200) -> Free 4096 bytes
[Core]		_webui_ws_data_handler()...
[Core]		_webui_ws_data_handler()...
[Core]		_webui_ws_data_handler()...
[Core]		_webui_ws_data_handler()...
[Core]		_webui_ws_data_handler()...
[Core]		_webui_ws_close_handler()...
[Core]		_webui_dereference_win_ptr()...
[Core]		_webui_receive([1], [3], [0])...
[Core]		_webui_malloc([40])...
[Core]		_webui_ptr_add(0x0x600001670980)...
[Core]		[Thread .] _webui_receive_thread()...
[Core]		[Thread 10] _webui_receive_thread() -> Start...
[Core]		[Thread 10] _webui_receive_thread() -> WebSocket Closed
[Core]		[Thread 10] _webui_receive_thread() -> Finished.
[Core]		_webui_free_mem(0x0x120048000)...
[Core]		_webui_free_mem(0x0x600001670980)...
[Core]		_webui_free_mem(0x0x600001670980) -> Free 64 bytes
[Core]		_webui_server_thread([1]) -> Window disconnected
[Core]		_webui_server_thread([1]) -> Waiting for reconnection...
[Core]		_webui_server_thread([1]) -> Cleaning...
[Core]		_webui_free_port([29275])...
[Core]		_webui_free_port([20365])...
[Core]		_webui_server_thread([1]) -> Server stoped.
[User] webui_is_app_running() -> App Stopped.
sh: line 1:  3075 Segmentation fault: 11  deno run --allow-all --unstable main.ts

It just happens spontaneously even in periods of inactivity

As a temporary workaround, I have implemented periodic saving of data in my app, at least to avoid losing it. Then it's still a cumbersome to close the browser every time it disconnects. Perhaps I can listen for Connection Lost event on backend, and close window and spawn a new one. How can I subscribe to Connection lost event? @AlbertShown

I added
    setInterval(() => {
      console.log("firstWindow isShown", firstWindow.isShown);
    }, 5000);

This is what I noticed, at some moment isShown is true then something happens and suddenly its false
firstWindow isShown true
[Core]		_webui_ws_close_handler()...
[Core]		_webui_dereference_win_ptr()...
[Core]		_webui_receive([1], [3], [0])...
[Core]		_webui_malloc([40])...
[Core]		_webui_ptr_add(0x0x600002428500)...
[Core]		[Thread .] _webui_receive_thread()...
[Core]		[Thread 35] _webui_receive_thread() -> Start...
[Core]		[Thread 35] _webui_receive_thread() -> WebSocket Closed
[Core]		[Thread 35] _webui_receive_thread() -> Finished.
[Core]		_webui_free_mem(0x0x1480e8000)...
[Core]		_webui_free_mem(0x0x600002428500)...
[Core]		_webui_free_mem(0x0x600002428500) -> Free 64 bytes
[Core]		_webui_server_thread([1]) -> Window disconnected
[Core]		_webui_server_thread([1]) -> Waiting for reconnection...
[Core]		_webui_server_thread([1]) -> Cleaning...
[Core]		_webui_free_port([19909])...
[Core]		_webui_free_port([16665])...
[Core]		_webui_server_thread([1]) -> Server stoped.
[User] webui_is_app_running() -> App Stopped.
[User] webui_is_shown([1])...
firstWindow isShown false

Also another effect it has a suddenly blurring frontend window when it happens:

I believe bridge has already this keep-alive ping message:
https://github.com/webui-dev/webui/blob/05b42abd0eb19efe51fcf69501f49e28f1e8e622/bridge/webui_bridge.ts#L432

deno webui (webui.ts) has this:
static async wait() {
    // TODO:
    // The `await lib.symbols.webui_wait()` will block `callbackResource`
    // so all events (clicks) will be executed when `webui_wait()` finish.
    // as a work around, we are going to use `sleep()`.
    let sleep = (ms: number) => new Promise((r) => setTimeout(r, ms));
    let leave = false;
    while (!leave) {
      await sleep(10);
      leave = true;
      let lib = loadLib();
      if (lib.symbols.webui_interface_is_app_running()) {
        leave = false;
      }
    }
  }

I belive using a non blocking wait lib.symbols.webui_wait() will be much better than checking lib.symbols.webui_interface_is_app_running() every 10ms...

No, maybe the issue something else than is_app_running() loop... and I never tested sending big payload from Deno 3524 bytes sent. Let me investigate the issue. And thank you for reporting this 👍

I keep sending hundreds megabytes back and forth, but didn't notice correlation of sending data with disconnects that happen spontaneously, and the easiest way to reproduce is to put my macbook to sleep while app is running, that will result in disconnect, although it happens even when awake.
is_app_running I don't see as a cause of issue but temporary solution just to restart app automatically:
    setInterval(() => {
      console.log("firstWindow isShown", firstWindow.isShown);
      if (!firstWindow.isShown) {
        // firstWindow.clean();
        firstWindow.close();
        firstWindow.show('./dist/index.html');
      }
    }, 5000);

Interesting, how can I debug this? Maybe can put some print statements with memory usage? Total RAM is used is fine though I didn't notice issues


Workflow audit

Overall Review of Changes:

Improvements by moving to new workflow configurations
New audit setup and standardization
021350 improvement

How has this been tested?:
Please give an overview of how these changes were tested. If they were not please use N/A

Fails due to AMI
tested with new ami and updated
centos7                    : ok=289  changed=112  unreachable=0    failed=0    skipped=164  rescued=0    ignored=0


Can I directly build an HF format model such as CodeLlama-13B-AWQ that has been quantified using AWQ as tensorrt's engine?

Thank you very much for your reply!

No. It is not supported now.


Using CellRank to infer healthy to disease trajectories and how to handle multiple samples/conditions/celltypes

...
Hello, similar to the question asked in issue #771, I am curious about whether I can use CellRank to infer disease trajectories when we have one initial point: healthy and two disease states: mild and severe.  We do not know whether the usual trajectory is from healthy to mild to severe disease (unbranching trajectory) or if it is from healthy to mild disease in some patients and healthy to severe in others (branching trajectory).  Will CellRank enable us to determine which trajectory the disease takes?
Another question I have is how do you recommend that we handle multiple samples, conditions, and types of cells in this analysis?  We have 3 disease states,  23 samples (3 normal, 10 mild disease, 10 severe disease), and multiple types of immune cells.  We are most interested in the trajectory of two types of cells (macrophages and T lymphocytes).

One totally off-topic reply: Could it be possible that you already know what could be the case and all you need is the computer to read your mind of how to put a timeline into your data?
In case you want to check if your brain is able to find an 'interesting' trajectory/timeline in your data you can try out CellexalVR.
https://www.cellexalvr.med.lu.se/

Hi @natallah, as long as batch effects aren't very pronounced, I would work with unintegrated data, compute RNA velocity jointly on all samples and proceed with CellRank analysis. Using the low level pipeline (check out our kernels and estimators tutorial) will allow you to look into macrostates and their stability, i.e. figuring out whether you have one or two terminal states. Also, you can compute fate probabilities towards any macrostate to delineate your two trajectories. I hope this helps as a starting point.

I will close this issue for now, feel free to reopen if questions persist once you have gone through the tutorial.


Allow passing null as a lookup argument in templates

https://github.com/silverstripe/silverstripe-framework/pull/8152 added support for preserving true and false as booleans, we should do the same for null in SS 5.x

This was merged in https://github.com/silverstripe/silverstripe-framework/pull/8456