Consider making Authenticator a Clone

In many instances the libraries based on yup_oauth2 will take the Authenticator by value. This, however, prevents reuse of the tokens between different libraries or even instances of whatever type represents some sort of behaviour of a single library.
It seems like the primary reason Authenticator currently cannot be Clone is its implementation of Storage, which internally stores a Mutex<HashMap<_, _>>. A trivial solution would be to wrap that into an Arc, however, using some lock-free thread-safe storage would likely be a more lasting solution.

I'll chime in with my thought, but leave it up to @dermesser to see if he's interested in pursuing this. I would like to leave it up to the user of the library to choose what they need. I tend to avoid wrapping Arc's in the internal implementation unless the implementation requires the cloning. For one it's not obvious without looking at the implementation how efficient the .clone() method will be and two not every user requires cloning so providing it makes every user pay an upfront cost (albeit a tiny and inconsequential one for most users) whether they need the functionality or not. If it was difficult for users to provide their own Clone implementation then there could be some justification to include that in the implementation as the cost/benefit ratio would be tilted in the benefit direction, but it should be pretty straightforward to wrap Authenticator in an Arc/Rc to provide a clone for users that require it so in my opinion the cost is not worth the benefit.

I agree with @ggriffiniii although mostly with the last sentence. Given we are dealing with API interactions here, the overall performance impact is usually negligible. But wrapping Authenticator objects in your code seems like the right level of abstraction. Making everything thread-safe would also restrict the kinds of caches we could implement, I believe.

I would like to leave it up to the user of the library to choose what they need.

Consider probably the most obvious way to write down a crate using Authenticator (presuming Authenticator does not need to be wrapped in Arc):
// in banana_crate
struct Banana<C> { authenticator: Authenticator<C>, ... }

impl<C> Banana<C> {
    fn new(auth: Authenticator<C>, ...) -> ... { ... }
}

And this is, broadly, fine. Until some application depends on both banana_crate and peach_crate, written mostly the same as Banana as far as handling of Authenticator is concerned:
// in peach_crate
struct Peach<C> { authenticator: Arc<Authenticator<C>>, ... }

impl<C> Peach<C> {
    fn new(auth: Authenticator<C>, ...) -> ... { ... }
}

There is nothing user of both of these crates can do then to make both banana_crate::Banana and peach_crate::Peach use the same Authenticator instance (and the token cache contained therein)…
We could go and recommend every crate accepting Authenticator instances to accept something like Arc<Authenticator> instead, but in that case why not make Authenticator itself Clone and share the caches? Perhaps we could also just stomach the significantly higher cost of re-obtaining tokens multiple times for each of the crate used, but that’s just a disappointing design flaw – what if an application ultimately ends up depending on and actively interacting with 20 authenticator-using crates? 100?

Why wouldn't the clients accept a shared reference to the Authenticator? Why do they need to take ownership?

That’s a good question. Historically none of the generated google API bindings took Authenticator by a reference:
See e.g. PubSub, which takes anything implementing GetToken which in turn is only implemented for by-value Authentictor (for an old version of yup-oauth2).
As far as users of modern yup-oauth2 are concerned, I could only find 3 crates in the list of reverse dependencies:

bigquery-storage takes Authenticator by-value;
libunftp does not expose API that would take Authenticator at all, instead they construct one from path internally;
hedwig is the only one I can really explain since I developed it – originally took Authenticator<...> and wrapped it into an Arc internally, but now takes Arc<Authenticator<...>> to enable some reuse. The reason its between these two options is:

this kind of API felt least inconvenient for the API user to work with;
there’s no way to implement a useful future that captures an authenticator by reference and then returns a 'static future, which is pretty much a requirement for anything but trivial futures I feel.

For one it's not obvious without looking at the implementation how efficient the .clone() method

Strongly agreed on this point, however. I recently filled https://github.com/hyperium/hyper/issues/2239 for a similar reason.

Chiming in here to say that having Authenticator be clone would be very nice - the additional cost is negligible (there is already internal allocation and locking), and it's the norm in the hyper and async ecosystems.  It's a huge quality of life improvement to avoid lifetimes when working with async code.

we can take a look again... some things have changed since this issue was created.
Looking at the code, I believe the main reason making Clone hairy is the Storage part of the authenticator.
(aa) Cloning it is not always trivial, especially with new custom storage providers, but also with existing ones (#146), although I guess it could be done.
(b) Storage is supposed to be shared among all clients. It is not that useful to refresh a token a dozen times just because you have cloned Authenticators all over the place. This also can be made to work, with some layer of indirection.

I personally have been swayed by the arguments in favor of adding Clone, but again it's up to you @dermesser. Like mentioned above since the authenticator is designed to be shared its already using internal locking and shared references for everything. Throwing all of the Authenticator implementation inside an Arc should be pretty straightforward if we wanted to do it.

@ggriffiniii I will trust your expertise, then :) If this is only about moving the internals to a separate struct inside an Arc, then I don't see a problem indeed.


List env command

What was changed
Adds temporal env list cmd to display a list of available local config envs.

Closes #193

How was this tested:

Locally only if there are any good hints on how to test this properly please let me know.

Any docs updates needed?

Output:
❯ ./temporal env list
default*
dev
local

❯ ./temporal env list -v
default*
dev
  address  other
  tls          1
local
  address  <IP_ADDRESS>:7233
  test     some

Tests fail due to recent regression unrelated to the current PR, specifically verifying RC code in TestServerInterruptRC and E2E tests running indefinitely. Approving and fixing the tests in different PR


Not all fixed width fonts are listed

Describe the bug
In the settings window, "Text Editor Font" doesn't show all fixed width fonts. In fact it shouldn't even have this "fixed width" limitation, showing ALL fonts would be the best.
To Reproduce
Expected behavior
Show all fixed width fonts. Better yet, show all fonts, give the user freedom.
Desktop (please complete the following information):
Windows 10

So that we can reproduce this more easily: please share information about the font you want to see but can't (as well as, please share the font file format).

I've attached the font that I can't see.
TerminusTTF-4.47.0.zip

Thank you very much.  While I can't provide an estimate on when we'll get to this (the team is very focused on a new feature, "spaces" right now), it will really speed things up to have this to test with when we are prioritizing this.


🐛 [Bug] Unable to generate python wheel locally for Torch-TensorRT v1.0.0

Bug Description
Segmentation fault (core dumped) when trying to generate python wheel locally for the latest Torch-TensorRT v1.0.0.  I was able to build "libtorchtrt " successfully.
To Reproduce
Steps to reproduce the behavior:

Installed Cuda 11.3, cuDNN 8.2, Pytorch 1.10 (installed from sources).
Able to build "libtorchtrt " successfully.

python setup.py install

Environment

Build information about Torch-TensorRT can be found by turning on debug messages

Torch-TensorRT Version (e.g. 1.0.0):
PyTorch Version (e.g. 1.10):
CPU Architecture: x86_64
OS (e.g., Linux): Ubuntu 18.04
How you installed PyTorch (conda, pip, libtorch, source): source
Are you using local sources or building from archives: Local sources
Python version: Python 3.6.8
CUDA version: 11.3

Additional context
It seems that python wheels provided are for Jetpack, it is searching for libcublas.so.10.2. Is it possible to provide python wheels for x86_64 ?

Same issue as #377, followed the instructions and proceeded like below:

bazel clean.
python setup.py install --user --use-cxx11-abi
Torch_tensorrt installed, but getting segmentation fault while import torch_tensorrt in python.

You are getting the segfault because libtorch is in your path and the python package from PyTorch.org uses a different ABI than libtorch.
The preceding steps are not necessary if you want to build the python api. All you need to do is
# WITHOUT LIBTORCH IN THE LD_LIRBARY_PATH
cd py
python3 setup.py install

The build script will properly build libtorchtrt for you.
Also you do not need libtorch in the LD_LIBRARY_PATH to import torch_tensorrt like you would for CUDA, cuDNN or TensorRT.
More information can be found here https://nvidia.github.io/Torch-TensorRT/tutorials/installation.html#choosing-the-right-abi

https://nvidia.github.io/Torch-TensorRT/tutorials/installation.html#choosing-the-right-abi helped to resolve the issue.


Update Composer dependencies (2021-06-23-00-11)

Visual regression test passed!
View the visual regression test report


Add a special ElementaryType interface for all elementary types

Current coverage is 84.71% (diff: 100%)

Merging #14 into master will increase coverage by 0.29%

@@             master        #14   diff @@
==========================================
  Files            36         37     +1
  Lines          1091       1086     -5
  Methods           0          0
  Messages          0          0
  Branches        115        115
==========================================
- Hits            921        920     -1
+ Misses          120        116     -4
  Partials         50         50

Powered by Codecov. Last update 6b4190b...7d8ba87


Make FileSystem.readdir more robust

This specific change is motivated by a broken symlink on Linux, which
will show up in an fs.readdir but will cause an error with fs.stat. If
there are other situations where fs.stat will produce an error on a
result returned from fs.readdir, this is probably the right thing to do
in those as well.

Awesome! Thanks for catching this @rhendric and for the fix.  Makes sense to make the ExplorerFileSystem robust in the case where stat fails.
The test is much appreciated, too - thanks for figuring out a way to exercise this behavior 💯

Looks like the build passed - bringing this in now. Thanks @rhendric for the contribution!


Multiple lab fixes

Changes to terminology used in Entra Connect app
Minor text corrections on lab summary
Entra connect sync no longer stores a password, it uses WAM, so the UI is changed
The MFA page needed to be changed to match the UI also

@MSFT-rstearman I have another delivery this upcoming week, so will possibly find more changes. If these changes could be merged ahead of the delivery, that would be awesomesauce! I forgot to push them and subit mit a PR after my last delivery :(

I have a MD 102 this week also and will keep my eye out
On Sat, Dec 7, 2024, 3:33 PM Steve Wiggins @.***> wrote:

Changes to terminology used in Entra Connect app
Minor text corrections on lab summary
Entra connect sync no longer stores a password, it uses WAM, so the
UI is changed
The MFA page needed to be changed to match the UI also

@MSFT-rstearman https://github.com/MSFT-rstearman I have another
delivery this upcoming week, so will possibly find more changes. If these
changes could be merged ahead of the delivery, that would be awesomesauce!
I forgot to push them and subit mit a PR after my last delivery :(
You can view, comment on, or merge this pull request online at:
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104
Commit Summary

e8718be
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/commits/e8718bef85f7191ef33ebbf3767021dfd97dd190
Mulitple Lab Fixes
b6ff16b
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/commits/b6ff16b2043d8841055172215679775b992d84dc
Multiple lab fixes
fa313a7
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/commits/fa313a7d49cff74c28ccc4c94ef9da50d7382df9
Merge branch 'master' of
https://github.com/WigF1/MD-102T00-Microsoft-365-Endpoint-Administrator

File Changes
(8 files
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/files
)

M Instructions/Labs/0102-Syncronizing Identities by using Azure AD
Connect.md
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/files#diff-8880234c070d8cf171b80b35d06c0c0aa426fd2c2debaecf3bac83ee40d43820
(44)
M Instructions/Labs/0201-Configuring and managing Azure AD join.md
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/files#diff-819decded35482ae1a16c71e48e60f395b7b5d5e3776bd819cee1637b64282d6
(60)
M Instructions/Labs/0202-Manage Azure AD device registration.md
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/files#diff-900feb5861fc2673f1c0fd9089fd2a988365b3d1e12c2c6a970687d6df1a35cb
(2)
M Instructions/Labs/0301-Creating and Deploying Configuration
Profiles.md
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/files#diff-cd244201f76389518dcdca5161c02e1ab065db33cc285fd8e038895240022933
(2)
M Instructions/Labs/0305-Monitor device and user activity in
Intune.md
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/files#diff-443b537b72a4bc43a9c975560eb2011efc3b5d9e4312d81a69e38c57c2947ff3
(2)
M Instructions/Labs/0501-Configuring multi-factor authentication.md
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/files#diff-addaf1c86bbc6cb64769c77559b41fe2feb848b75471fa9ab741025e69f3dcd9
(38)
M Instructions/Labs/0502-Configuring self-service password reset.md
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/files#diff-130b51cfc3a65e2b5c435dc56abff5238af7e148565227ff7365622efad20d37
(20)
M Instructions/Labs/0503-Configuring and validating device
compliance.md
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104/files#diff-83470f6b8f9d9d6fc10c44f3a179a49f0beaad88f889669e319018faf8257e3a
(2)

Patch Links:

https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104.patch
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104.diff
—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFU3G7VEV6H4K5IOPZPTE6L2ENLSLAVCNFSM6AAAAABTGQTQ5SVHI2DSMVQWIX3LMV43ASLTON2WKOZSG4ZDIOBQGM3TGNA
.
You are receiving this because you are subscribed to this thread.Message
ID:
<MicrosoftLearning/MD-102T00-Microsoft-365-Endpoint-Administrator/pull/104
@github.com>

Added some more changes after deilvery.
@MSFT-rstearman Any chance of getting a merge, please?


How to create a trainable variable in Keras

Please make sure that the boxes below are checked before you submit your issue. If your issue is an implementation question, please ask your question on StackOverflow or join the Keras Slack channel and ask there instead of filing a GitHub issue.
Thank you!

[x] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/keras-team/keras.git --upgrade --no-deps

[x] If running on TensorFlow, check that you are up-to-date with the latest version. The installation instructions can be found here.

[x] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[x] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

How can I create a trainable variables in Keras, like tf.get_variable() in tensorflow? I know in Keras, we can use K.Variable() to create a variable, but it seems that this function can only create non-trainable variable. So is there any way to do that？ Thanks for replying.

I am also interested in this. Have you found a solution please?

Interestingly, I've been having the opposite problem (at least in tensorflow==1.13.1). It took me a bit to realize that the variable I was using to warm start a coefficient in my loss function was being trained. o.0
It seems that K.variable defaults to having variable.trainable == True, and if you assign your variable to a Layer instance attribute, it will be added to that layer's trainable_weights/non_trainable_weights property, based on the variable.trainable property.
That happens here:
https://github.com/tensorflow/tensorflow/blob/6612da89516247503f03ef76e974b51a434fb52e/tensorflow/python/keras/engine/base_layer.py#L1627
So here's what I'm doing as a work around to get non-trainable weights, but I think it's a bug that you can't just do K.variable(..., trainable=False). I'm not sure what the effects of doing this are (I'm assuming there is some handling of trainable in tf.Variable.__init__ and we're changing trainable after that has been called, so...), but when I do this it stops training it so I guess I'm going with it.
If your version on tf.keras has variable.trainable == False by default, you could perhaps try the opposite.
class SampleLayer(Layer):
    def __init__(self, alpha, beta):
        # a trainable variable
        self.alpha = K.variable(alpha, name='alpha')

        # a non trainable variable
        beta = K.variable(beta, name='beta')
        beta._trainable = False
        self.beta = beta

        # or maybe you need to force it to be trainable
        beta = K.variable(beta, name='beta')
        beta._trainable = True
        self.beta = beta

    ...


Host/port logging in Oplog/Resolver.py uses out-of-scope variables

Suggested by PEP8, one use of 'host' and 'port' variables in Oplog/Resolver.py is using out-of-scope variables from a previous for-loop, seen here:
https://github.com/Percona-Lab/mongodb_consistent_backup/blob/master/MongoBackup/Oplog/Resolver.py#L89
Fix to use correct host/port values.

Resolved by #38


inconsistent terminology

This document states "If the ApplicationIntent value is ReadOnly, the connection is routed to a readable replica."  This is the only place the term "readable replica" is used.  Perhaps it should use the term "read-only replica" instead to avoid confusion.  To me, the term "readable replica" could include the read-write replica, which I'm assuming is not what is meant.

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

ID: 7a2961d1-4448-11b7-2dc2-3b738bd70939
Version Independent ID: 206eb022-25c4-66d7-7285-0d53a84956e3
Content: Azure SQL Database - read queries on replicas
Content Source: articles/sql-database/sql-database-read-scale-out.md
Service: sql-database
GitHub Login: @anosov1960
Microsoft Alias: sashan

@joellyons
Thanks for the feedback! We are currently investigating and will update you shortly.

@anosov1960 Doc feedback that warrants a small edit. We can make the edit but wanted to present you with this change. Including @CarlRabeler on this.

fixed and merged
#please-close


Local testing fails with KeyError: 'development'

Background / motivation
When I follow the usual flow to (a) get barge going, then (b) run any test on df-py, in (b) I immediately get KeyError: 'development'.
Digging further, it seems that barge is the culprit, not df-py. I'm putting here in df-py because it's block me in df-py work.
By default, barge is supposed to...

compile contracts
create address.json in ~/.ocean/ocean-contracts/artifacts/
deploy Ocean contracts to ganache
update address.json with info from (3), with top-level key "development"

It does (1) and (2), good. But not (3) and (4). It's easy to inspect: just run barge, and see that it's missing "development" in address.json.
It's blocking my progress in df-py work.
Here's my output, from when I run barge via ./start_ocean.sh --with-thegraph 1>out.txt 2>&1 &).

Related: #547 is a similar issue but for CI. It seems to be sporadic, though. (Whereas this issue hits me all the time.)

The fix: delete ~/.ocean
:)


Window with SRGB framebuffer gives SIGSEGV when entering fullscreen

I have enabled GL_FRAMEBUFFER_SRGB to gamma correct the outputs from my shaders .
Entering fullscreen using the built in button in the mac os x menu bar crashes.
Firstly, I am suspicious because I was allowed to use that enable without first requesting it through GLFW like so:
 glfwWindowHint(GLFW_SRGB_CAPABLE, GL_TRUE);

However I tried adding that line as well and there was the same crash.
In my application I am using LWJGL's glfw binding but the error indicates it is the fault of the native library not the java code.
SIGSEGV (0xb) at pc=0x0000000117e135a4, pid=87613, tid=1299

Problematic Stack Frame:
C  [liblwjgl.dylib+0x155a4]  _glfwInputWindowSize+0x4

Here's a link to the full error log:
http://pastebin.com/7wuLucrS

I am unable to reproduce this with any native example on 10.10.3.
GLFW_SRGB_CAPABLE is a no-op on OS X as sRGB is supported by all framebuffer pixel formats.

This looks like it might be an LWJGL issue, although I cannot reproduce it either. Could you post a simplified version of your code? (maybe on the LWJGL forum)
Btw, are you sure it happens only if GL_FRAMEBUFFER_SRGB is enabled?

Thanks for the information. I'll take another look at it when I have more time.

Was this resolved?


add a param to print production name

Description
Add a new argument to print production names which will feed into taxon tree generation script
To be merged with the below PR
https://github.com/EnsemblGenomes/eg-web-common/pull/81
Views affected
N/A
Possible complications
Hopefully not
Merge conflicts
NA
Related JIRA Issues (EBI developers only)
https://www.ebi.ac.uk/panda/jira/browse/ENSWEB-6325

I dont understand the purpose of this PR and how its related to the Jira. will discuss in the code review.


ATS responses when T2GPA = 1 must consider validity of G-stage translation

When a device context has T2GPA = 1, the response to an ATS request to translate an address (a Translation Request message from a PCIe device) must take into account whether the translation from GPA to machine physical address is valid according to the G-stage page tables.  That is, even if VS-stage address translation succeeds in converting the supplied IOVA to a GPA, if G-stage translation cannot translate this GPA, then the response to the address translation request must indicate that the original IOVA is not valid.  (For PCIe, I believe this is accomplished with a Translation Completion message that has bits W = R = 0.)
When a device receives a successful response to an address translation request, the ability to then use the translated address (in this case a GPA) for memory accesses should not be prevented by any further address translation.  In particular, if an IOVA can be successfully translated into a GPA but that GPA cannot be translated into a machine physical address, the device that requested the IOVA translation needs to know, so it can issue a request for the page to be made resident (PCIe Page Request message), which can then lead to the hypervisor or host OS being informed that the guest physical page needs to be made resident for the VM.
When T2GPA = 1, if the response to an address translation request bypasses the check for a valid GPA-to-machine-physical-address translation, then the page-request steps described above won't occur, and the use of a translated GPA for a memory access may fail unexpectedly---unless a hypervisor or host OS adopts a policy of keeping all VM guest physical memory pinned in actual physical memory.  Aside from the disadvantage of keeping all of every VM's guest physical memory pinned in physical memory, I believe this workaround would also preclude using shadow G-stage page tables to support a nested hypervisor within a VM.  It's my opinion this is not the road we should choose to take.

When T2GPA is 1, the address translation does not skip any of the translation steps. However instead of returning the SPA, the GPA is returned in response to the translation. The device itself is not aware of the T2GPA regime being active and does not expect any failures on subsequent Translated Requests generated using the GPA.

Good point. Seems like its not very obvious from the document and should be more clear about this.
The reference model also illustrates this aspect.

PR #89 created to address the issue.

I accept PR #89 as a resolution for this issue.


Navigation item group screenreader only reading expand

Package name(s)
Core (@salt-ds/core)
Package version(s)
1.31.0
Description
When focus is on grouped item, screen reader is only out "expand",
https://www.saltdesignsystem.com/salt/components/navigation-item/examples#vertical-nested-group
In VoiceOver - “expand, collapsed, button”
This is likely caused by aria-label set on the button
https://github.com/jpmorganchase/salt-ds/blob/9abf267432bc47f4df16bdd7d0a1039d3e45c42d/packages/core/src/navigation-item/ConditionalWrapper.tsx#L28-L29
Steps to reproduce
No response
Expected behavior
No response
Operating system

[X] macOS
[ ] Windows
[ ] Linux
[ ] iOS
[ ] Android

Browser

[X] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

Are you a JPMorgan Chase & Co. employee?

[X] I am an employee of JPMorgan Chase & Co.

will be addressed by https://github.com/jpmorganchase/salt-ds/issues/3279

going out in next release

Released


"zp" and "zP" are absent from the tags file

Vim version 8.2.2914

That will be updated in the next runtime files update.


An experiment client with requests-oauthlib

Hi @lepture ,
There is an experiment implementation of the OAuth 1.0a/2.0 client, which based on requests-oauthlib.
The testing is poor for now. But the two examples (twitter and douban) work. Could you merge it into trunk without any document description, until I finished the refresh token mechanism and testing?
Thanks.

Merged int https://github.com/lepture/flask-oauthlib/commit/85da337e272daab4fac3ac589bf15612beb7f835

Thank you.


Pebble bug

https://github.com/espruino/BangleApps/tree/master/apps/pebble - not sure where to submit things like that.
Description
White bar at the top of the screen.

Steps to reproduce
Accidentally happening both at the app and when set as default clock.
Thoughts

Probably other app interfering
Just a bug

How to resolve
If it's because of another app, probably should "margin-top", so this top bar will always be visible or increase "z-index" to be always non-overlayble.

Thanks! It's great having some shots of the issue. Hopefully fixed now!

It's not fixed - I just installed it.
P.S. Got my watch today, very cool :)

Did you use the development app loader? Because banglejs.com/apps doesn't update immediately

Not familiar yet, will check dev version and update the status here. Thanks for the responding :)


Fix issues with left-sidebar stream search

If you typed in more than one word for a stream with multiple words in it's name, it would not show up in the search list. This PR fixes that and adds some more tests covering the entire functionality of the filter.

Merged, after copying some of the text from the PR description into the commit.  Thanks @sampritipanda!


PGN parse issue

Issue parsing PGN with FEN.. Adding [SetUp "1"] seems to fix the issue, but if you read back the header, header options are missing :)
[Variation "#43 Chess: 5334 Problems"]
[Date "1994.??.??"]
[Round "-"]
[White "Mate in one"]
[Black "White to move"]
[Result "*"]
[FEN "8/8/8/6R1/4k3/2KN1r2/8/8 w - - 0 1"]
1.Re5#

This is a duplicate of #129, for which I have just submitted PR #154.

Fixed in #154


box login error

Hi,
I try to follow the quick-start to login with CLI, but got the following error. Could you please help?
$ box login
If you are not using the quickstart guide to set up (https://developer.box.com/guides/tooling/cli/quick-start/) then go to the Box Developer console (https://cloud.app.box.com/developers/console) and:

Select an application with OAuth user authentication method. Create a new Custom App if needed.
Click on the Configuration tab and set the Redirect URI to: http://localhost:3000/callback. Click outside the input field.
Click on Save Changes.
? What is the OAuth Client ID of your application? c8xxxxxx
? What is the OAuth Client Secret of your application? pixxxxxxx
Cannot set property 'name' of undefined

Thanks,
Qiang

Hi @hubentu, thank for this issue.
We've already fix this in #364 and plan to release new CLI version with this fix soon.
Regards,
Artur


Implement Queued condition on AppWrapper Status

Fixes #100.

It's silly, but I'm happy with how nicely these tests read now:
		It("MCAD CPU Requeuing - Deletion After Maximum Requeuing Times Test", Label("slow"), func() {
			fmt.Fprintf(os.Stdout, "[e2e] MCAD CPU Requeuing - Deletion After Maximum Requeuing Times Test - Started.\n")

			// Create a job with init containers that will never complete.
			// Configure requeuing to cycle faster than normal to reduce test time.
			rq := arbv1.RequeuingSpec{TimeInSeconds: 1, MaxNumRequeuings: 2, PauseTimeInSeconds: 1}
			aw := createJobAWWithStuckInitContainer(ctx, "aw-job-3-init-container", rq)
			appwrappers = append(appwrappers, aw)
			By("Unready pods will trigger requeuing")
			Eventually(AppWrapper(ctx, aw.Namespace, aw.Name), 2*time.Minute).Should(WithTransform(AppWrapperQueuedReason, Equal(arbv1.QueuedRequeue)))
			By("After reaching requeuing limit job is failed")
			Eventually(AppWrapper(ctx, aw.Namespace, aw.Name), 4*time.Minute).Should(WithTransform(AppWrapperState, Equal(arbv1.Failed)))
		})

We should probably make sure to delete in-memory decisions when deleting finalizers and make a note that a proper garbage collection mechanism is needed at some point.


VSCode : Error Message: API version query parameter is not specified or was specified incorrectly

Does this occur consistently?
Repro steps:

Action: azureApiManagement.showServicePolicy
Error type: Error
Error Message: API version query parameter is not specified or was specified incorrectly.  Supported versions: 2021-08-01,2021-12-01-preview,2022-04-01-preview,2022-08-01,2022-09-01-preview,2023-03-01-preview,2023-05-01-preview,2023-09-01-preview  Example query param format: api-version=SupportedVersion
Version: 1.0.8
OS: win32
OS Release: 10.0.22631
Product: Visual Studio Code
Product Version: 1.89.1
Language: en

Call Stack
ServicePolicyEditor.<anonymous> extension.bundle.js:16:392980
rejected extension.bundle.js:16:392126

Duplicate of https://github.com/microsoft/vscode-apimanagement/issues/317


css lost during build: @media query css override is not in the build file

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[ ] I have tried creating a repro with https://new.docusaurus.io.
[x] I have read the console error message carefully (if applicable).

Description
My custom css for navbar
.navbar{
  position: sticky;
  width: fit-content;
  margin-left: 25px;
  margin-top: 25px;
  height: 48px;
  border-radius: 2px;
  @media screen and (max-width: 780px) {
		width: 100%;
    margin-left: 0px;
    margin-top: 0px;
	}
}

The media override for smaller screen works well on yarn start. but this information got lost after build.
I checked the css file in build folder, it does not contain any @media related to max-width:780px either. My guess is those information got lost during build
Reproducible demo
No response
Steps to reproduce
put this in custom.css to override navbar style
.navbar{
  position: sticky;
  width: fit-content;
  margin-left: 25px;
  margin-top: 25px;
  height: 48px;
  border-radius: 2px;
  @media screen and (max-width: 780px) {
		width: 100%;
    margin-left: 0px;
    margin-top: 0px;
	}
}

### Expected behavior

the margin for navbar should be 0 for screen smaller than 780px. however, it's still 25px. And I tried to uss 996px for the width, still doesn't work.

it works as expected under `yarn start` but not on `yarn serve` after build

### Actual behavior

navbar margin is still 25px

### Your environment

- Public source code:
- Public site URL:
- Docusaurus version used: 2.4.1
- Environment name and version :  Node.js v20.2.0
- Operating system and version (e.g. Ubuntu 20.04.2 LTS): Macos 13.5.1 (22G90)

### Self-service

- [ ] I'd be willing to fix this bug myself.

issue solved by changing css to this
@media (max-width: 768px) {
  .navbar {
    width: 100%;
    margin-left: 0px;
    margin-top: 0px;
  }

}

.navbar {
  position: sticky;
  width: fit-content;
  margin-left: 25px;
  margin-top: 25px;
  height: 48px;
  border-radius: 2px;

}

Will keep it open because it's a bug to me.
The new CSS nesting feature allows it, so our PostCSS processing CSS stack should allow it too: https://developer.chrome.com/articles/css-nesting/
CSS nesting is implemented in Chrome so that's probably why it works in dev.
It looks like the problem is related to the CSS minimizer, cf the prod warning emitted:

[WARNING] {"file":"assets/css/styles.e13d20fa.css","message":"assets/css/styles.e13d20fa.css from Css Minimizer plugin\nInvalid character(s) 'border:thick solid blue;margin-left:0;margin-top:0;width:100%' at assets/css/styles.e13d20fa.css:25:85915. Ignoring.","compilerPath":"client"}

You can use postcss-preset-env PostCSS plugin to automatically transpile newer CSS syntax to an older syntax of the browsers targeted by your app.
To integrate it with Docusaurus 2.x, you can use the instructions below:

Install postcss-preset-env development package to your Docusaurus project:
npm i postcss-preset-env --save-dev

In docusaurus.config.js, add the following plugin function for PostCSS:
// @ts-check

/** @type {import('@docusaurus/types').Config} */
const config = {
  // ...
  plugins: [
    customPostCssPlugin // PostCSS plugin function registration
  ]
};

/** @return {import('@docusaurus/types').Plugin} */
function customPostCssPlugin() {
  return {
    name: "custom-postcss",
    configurePostCss(options) {
      // Append new PostCSS plugins here.
      options.plugins.push(require("postcss-preset-env")); // allow newest CSS syntax
      return options;
    }
  };
}

module.exports = config;

When postcss-preset-env PostCSS plugin is in place, your CSS gets automatically transpiled to an older syntax during the build, allowing you to use the newest CSS features without fears of possible incompatibilities.
In my opinion, Docusaurus should use the postcss-preset-env plugin for CSS by default to make a parity with JavaScript side of things which relies on the Babel transpiler. The latest JavaScript syntax + the latest syntax of CSS is kind of an expected combo, out of the box.

Thanks, will think about it.
We used that preset before, but removed it in https://github.com/facebook/docusaurus/pull/4355
Perhaps we shouldn't have removed it 🤷♂
CSS nesting support is not so great atm so it's not a big deal if we don't re-introduce it immediately, notably because you can use the configurePostCss lifecycle as a workaround:
https://docusaurus.io/docs/api/plugin-methods/lifecycle-apis#configurePostCss
We'll also probably want to explore LightningCSS in the future

what if I change the nesting CSS to normal CSS? It works

Same issue, pretty confusing as the same code works during development and then breaks in prod.
CSS nesting is supported in my browser but the selector is removed during compilation (though I'd prefer it to compile with nesting removed as not much advantage to it in prod for now if the CSS is running through a compiler anyway)

Also reported here: https://github.com/facebook/docusaurus/issues/10113
Sandbox repro: https://stackblitz.com/edit/github-wa8upy?file=src%2Fpages%2Findex.js,src%2Fpages%2Findex.module.css
Note:

It doesn't work with: yarn build && yarn serve
It works with USE_SIMPLE_CSS_MINIFIER=true yarn build && yarn serve

I encountered with an issue maybe related to this, lots of warnings are reported during build.
Parts of the log from https://github.com/easyops-cn/brick-docs/actions/runs/10244840918/job/28338673377:
Warning:  {"file":"assets/css/styles.74c286a5.css","message":"assets/css/styles.74c286a5.css from Css Minimizer plugin\nUnexpected '}' at assets/css/styles.74c286a5.css:37:85695.","compilerPath":"client"}
Warning:  {"file":"assets/css/styles.74c286a5.css","message":"assets/css/styles.74c286a5.css from Css Minimizer plugin\nInvalid property name '&>div{position' at assets/css/styles.74c286a5.css:37:13911. Ignoring.","compilerPath":"client"}
Warning:  {"file":"assets/css/styles.74c286a5.css","message":"assets/css/styles.74c286a5.css from Css Minimizer plugin\nInvalid property name '&.showAlways{opacity' at assets/css/styles.74c286a5.css:37:13980. Ignoring.","compilerPath":"client"}

But the build succeeded anyway, the output works on browsers which support css nesting.
By the way, the source code of these nesting rules seems to be from a third-party lib monaco-editor.

Note, Docusaurus v3.6 will come with opt-in support for LightningCSS: https://docusaurus.io/blog/releases/3.6
It should be able to support CSS nesting

Confirms it works with Docusaurus v3.6 and LightningCSS
I plan to fix postCSS support in next v3.6 patch release in https://github.com/facebook/docusaurus/pull/10680


Testing .txt and .py ingest functions

Added .md to to _ingest_single_txt()
Modified _ingest_single_py() - PythonLoader() had some issue, so now storing and deleting python files instead of using tmp files

Resolving #25


Route Grouping

What problem is this solving
Having route grouping helps:

organize routes in objects.
helps applying meta data easier
helps with debugging in large application

Proposed solution
This code below currently does not work. The 404 page is not being found be the router since it is a child.
Not having to put path and component the vue router should understand that this is just a group not a prefixed/nested child.
reateRouter({
  routes: [
    {
      name: "public",
      meta: { layout: "Public", public: true },
      children: [
        {
          path: "/home",
          name: "Home",
          component: () => import("../path/to/Home.vue"),
        },
        {
          path: "/login",
          name: "Login",
          component: () => import("../path/to/Login.vue"),
        },
        {
          path: "/:pathMatch(.*)*",
          component: () => import("../path/to/404.vue"),
        },
      ],
    },
  ],
});

Describe alternatives you've considered
No response

You just need to add the path. In the root, it's /. The name can (and should) be removed as you don't want to visit a route group.


i18n dist files have invalid condition

Issue: BUG
Version: Latest (4.1.0)
See this dist for example:
https://github.com/select2/select2/blob/develop/dist/js/i18n/en.js

Here the first condition is not quite right, everything after the condition should be wrapped in braces if (...) { ... } but it's not, so only the assignment to variable e is considered inside the condition and everything else after that is outside the condition, which is not right and throws error when the condition is false as in that case e is undefined
Consider this case
When jQuery.fn.select2 is undefined, the condition becomes false so variable e is not defined, but then code continues the execution and tries to do e.define(...) which throws an error because e is undefined. This is currently happening in our codebase

So I looked at the underlying source here and the removal of the braces is accurate given the original code. This looks like a bug on the surface but it begs a bigger question: is this something we should be mitigating or should we just raise a warning in the console?
Ultimately it's a configuration issue to have things like the translations on the page without having Select2 there.

@kevin-brown I agree it's wrong to have translations on the page without Select2.
But looking at the condition, I assume the entire point of it is to guard against those cases and prevent throwing error, otherwise what's the point of having that condition?

otherwise what's the point of having that condition?

That condition is actually a hack to make r.js connect language/translation files up with the AMD loader which is really the root of the problem here. There's probably something we can do about catching if only the translation files are included on a page or if they are included before the Select2 main file.
The current issue with just throwing an else on there is that banner is also used for the Select2 main file, so it would always be triggered there. Again, there's probably a way to fix it in a different way (possibly just using different banners for language files vs the main file).


fix sign of the call with search parameters and with a different method than 'GET'

Hi @bruno-xo7
Thanks for creating this issue. It doesn't look like adding the method to the request before signing changes something to the signature. The tests still succeed. So is it possible that the issue you hit was more about the query params not present?

Hello @SamVerschueren ,
The HTTP method seems to be important for the AWS signature V4 process, as stated in the official documentation: https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html
Your test succeed because you get the default GET method if you don't assign the method to the request:

method (will use 'GET' if not given or 'POST' if there is a body) (https://github.com/mhart/aws4#api)

Ah yes, you are right, thanks for clarifying 🙏 .
Would it be able to add an extra test for a POST method for instance?

Would it be able to add an extra test for a POST method for instance?
Done. And also one for PATCH method

Could you please publish a new version?

Released! Thanks for following up on this one!


Will there be a new release or the project is stopped?

Will there be a new release or the project is stopped?

up

Up

Seems like that the flash memory is the main factor this is not advancing. I'm just guessing.

@egzumer Please, consider tagging a new (0.23) release. (Maybe after fixing #552 if possible.) The last one was more than 3 months ago.

I'm out of time these days. I looked a bit at that issue some time ago, but it is a little complicated. I don't have anything new to release at the moment, and I don't know when I will, sorry.
ps. Thanks for the tip.

Hi, all.
I'm new to this project, but continually asking for updates, is considered a poor behaviour in the open-source world. The fact that people are asking though, is indicative that something may need to be looked at.
It's understandable that people want updates, but it's also understandable that egzumer has other work/ life pressures.
Can I suggest the following?

egzumer release regular (weekly?) 'Beta' buids. These will have the caveat that they are not properly tested, and to encourage feedback from the community. For radio users who don't like Betas, they can wait for when @egzumer is able to release another stable release.
If the above isn't acceptable to the users of the software, then it is common for software to be forked and released separately. This isn't ideal, but it's an option.

What does anyone think?
Thanks,
Chris.


Adds guard around image builds for newer kube versions

Issue #, if available:
Description of changes:
We issues in codebuild when building release branches which do not have the newer versions of kube. This is an attempt to check for that, like we do for project_path for new projects, so we can bail out early
~https://github.com/aws/eks-distro-prow-jobs/pull/491~
https://github.com/aws/eks-anywhere-prow-jobs/pull/273
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/unhold
/approve

/lgtm


⚠ Bofrost.lu has degraded performance

In 0dfba10, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1208 ms

Resolved: Bofrost.lu performance has improved in f934198 after 17 minutes.


[BUG] SearchAfter only allows List as type.

What is the bug?
_OpenSearch search request search_after must accept any type of variables, in order to be able to paginate using the search_after feature.
The type defined in SearchRequest.java only accepts List<String>. This prevents any other non-String sort value from a previous query to be used in the proper type, causing the search query to fail.
The SearchResponse also casts any value from the hits.sort() to String.
How can one reproduce the bug?

Create a query with a sort value on a field that is not of type String.
Collect the sort value of your last hit
Create a copy of your first query, but add a searchAfter key with value of the List collected in step 2.
Notice how these values would have to be of type String. Try calling the query and notice how the shards will fail, returning 0 hits.

What is the expected behavior?
Expected behaviour is for the sort value to be in the original type, and for SearchAfter to be capable of being of that Type.
What is your host/environment?
AOSS
Do you have any screenshots?
No, but you can see here
Do you have any additional context?
Add any other context about the problem.

Opensearch documentation states that the search_after field should have the same values and types of the sort field, which can be a non-String. Please see reference here. The examples clearly show how it can be a list of an integer and String.
"search_after": [ 1, "32635"],

Thanks. If you have time, write a test that doesn't compile and maybe see if it's easy to fix?

close this issue? This issue has been resolved. However, since it is not backward compatible, it will be applied to version 3.x.


Time Series Analysis module

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Begins to address #1404
What are the significant changes in functionality due to this change request?
Without replacing the existing ARMA ROM, introduces the following:

SyntheticHistory(SupervisedLearning) ROM
TSA module within raven/framework, including init and factory
Fourier(TSA) algorithm, replicating the Fourier part of the ARMA ROM

Further, a demonstration of how the SVL classes could contain their own inputSpecifications which could then be read onto the ROM Model class.
Also improves error reporting a little bit for the InputSpecs user input checking.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[ ] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

@dylanjm FYI

@dylanjm FYI

@dylanjm First pass of comments addressed.

@dylanjm First pass of comments addressed.

Merging but not closing associated issue #1404


Add option to save trade screenshot to clipboard

@null_panda request
https://discordapp.com/channels/293451186848137237/306578050617704459/745375917353992214

added in v2.0.2


Refs #31676 -- Used term "merger" instead of "committer" in docs.

Follow up to caa2dd08c4722c8702588f5dfe1fa4c506aa66fc.

[x] I still need to figure out how to update triage_process.graffle and regenerate triage_process.pdf on Linux (OmniGraffle should do the trick on MacOS :thinking:  \cc @carltongibson).

OmniGraffle should do the trick…

On it. 👍

The SVG edit isn't right... — will re-export from OG.

The SVG edit isn't right... — will re-export from OG.

I expected this :+1: I added it mainly to show which texts should be changed.

I updated the source OmniGraffle file, and re-exported the two images.

Looks good, thanks :gift:


[code-completion] Fix assertion failure in getValueExprCompletions

This was caused by two separate issues:

If given a function type, it would add function call completions, set Done=true, and then eventually progress to some logic intended to add completions for the unwrapped type of optionals without checking Done. That code would check if the corresponding Decl has the IUO attribute set and, if it was but couldn't be unwrapped, assert. I refactored this to early exit rather than set and check Done, since each special case seems mutually exclusive.

If the base is a bound (blah?.) or forced (blah!.) optional, the type passed is non-optional so can't be unwrapped and the Decl still has the IUO attribute so it hits the same assertion failure. Refined the assertion to account for this case.

Resolves rdar://problem/38188989

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 360f68d91e62c4ec29bf3a98e21bdbbce0a32069

@swift-ci please smoke test os x

@benlangmuir, that's right. I'll update the commit message/PR description to clarify, but were there any follow-up comments/issues before I do?

@swift-ci please smoke test and merge

@swift-ci Please smoke test


New features required by CodeCoverage to become 100% useful

We need a mechanism that returns all names in a class, including private names
We need a tool that returns the ⎕CR of private code in a class
⎕PROFILE must learn to handle multi-line dfns locally defined in a traditional function

Dyalog has created a project for v20 to address these issues.

I've added topic number four to the list.


Crash creating user

Unsuccessful getting data from the sdk. The following images illustrate our actions and crash console output.
The call to Roam.createUser( [user description]) always results in a crash (building on devices iPhone 7 and iPhone 10X).

.
The following is an iPhone 7 device crash log.
TestRoam  6-21-21, 7-50 PM.crash.txt (without symbolication of SDK selectors).

The GeoSpark project playground shows a number of users, presumably created by multiple attempts to create a user in code, but the result of the call crashes. Also, attempts to save a userID from the Roam user object returned to the invocation closure fail.
Note that only invoking Roam.initialize([production key]) and Roam.setLogging(true) results in console output, "GeoSpark initialized Success", without a crash, but with no functionality.

Also note that building to simulator IPhone 12 Pro always results in many undefined symbol errors, along with the warning:
Ignoring file /Users/eturner/Programming/Learning/TestRoam/Pods/roam-ios/Roam/Roam.framework/Roam, building for iOS Simulator-x86_64 but attempting to link with file built for iOS-arm64

Fixed in Release https://github.com/roam-ai/roam-ios/releases/tag/0.0.7


[2.1] Metadata: Fix for calling OwnsOne on navigation which implements ICol…

Metadata: Fix for calling OwnsOne on navigation which implements ICollection throws NullRef
Issue: Conventions create one-to-many relationship when navigation of sequence type is found.
Later when OwnsOne is called, we would try to reuse the same navigation's FK to convert it to ownership.
This works fine for reference navigation. For navigation implementing ICollection, we would have FK with different target type. Since we cannot do such conversion, we encounter exception in pipeline.
Fix is to remove FK if the target type is different from target type of FK.
This also uncovered another issue in query. If the owned entity has non-shadow PK, it will be used as FK too.
This does not work well with SelectExpression.PushDownSubquery() because we consider 2 column with same name as same in SQL tree and hence not alias it but still add it. Which generates invalid SQL.
As for fix in query, we would de-dup the inner projections in the subquery, since that does not cause issue with valuebuffer indexes in shapers. At outer level they would still be repeated.
Resolves #11688

Requesting additional feedback from @anpete for query bug fix.
Also bad thing is JoinElimination & RowNumberPaging is competing with each other to visit SelectExpression causing different SQLs based on which one runs first.

@smitpatel Let's discuss whether the query part should be split into a different issue/PR.

Updated.

@smitpatel Approved for 2.1 RC--can now be merged.


Iphone 6s Plus restore lost my all authenticator codes

I am facing some issue. I was using google authenticator for dropbox and also for bitbuket.
After i purchase new iphone i restored it from my itunes backup but while opening authenticator app i don't see any of my account there. I was able to resetup it with my dropbox because i have still access it from my mac. But i don't recently logged to bitbucket and its asking for authenticator code. What i do now?

Same issue as what? Should this be a comment on another issue?

https://github.com/google/google-authenticator/issues/459

Yes the same issue. It wont sync with my backup?

No it will not. See other bug and the related android bug for more info.
tl;dr: It's not clear that this is possible to do without compromising security.

And please don't open a new 'issue' for the same issue.


Update license file with copyright details and update POM/gradle.build with link to LICENSE file in repo

Could you kindly please fill in the "Copyright [yyyy] [name of copyright owner]" section in the LICENSE file to make it an actual license, instead of a license template?
When and if done, could you also please update POM/gradle.build license's URL to point to the file on GitHub? (the URL should be something like "https://github.com/vavr-io/vavr/blob/master/LICENSE"; although, a URL to LICENSE for specific release version would be ideal).
(sorry, I have a strict legal department at the current employer)

I think you misread it. It is the Appendix, not the actual license.

Oops; thanks!


fix: add deprecation notice for trigger API

Please ensure your pull request adheres to the following guidelines:

[ ] make sure to link the related issues in this description. Or if there's no issue created, make sure you
describe here the problem you're solving.
[ ] when merging / squashing, make sure the fixed issue references are visible in the commits, for easy compilation of release notes

If the PR is changing the API specification:

[ ] make sure you add a "Not implemented yet" note the endpoint description, if the implementation is not ready
yet. Ideally, return a 501 status code with a message explaining the feature is not implemented yet.
[ ] make sure you add at least one example of the request and response.

If the PR is changing the API implementation or an entity exposed through the API:

[ ] make sure you update the API specification and the examples to reflect the changes.

Related Issues
Thanks for contributing!

@iuliag why is the trigger API being deprecated? Is there an alternative way to trigger audits on-demand as replacement?

Yes, see the deprecation notice: Please use the Slack commands to trigger audits on-demand.

:tada: This issue has been resolved in version 1.60.5 :tada:
The release is available on:

v1.60.5
GitHub release

Your semantic-release bot :package::rocket:


Header redesign proposal

[A: Header] 👍 , HeaderT#Value 👎

This is looking great, we have had this pending for a really long time

What is the ultimate plan with this v2 package?  Eliminate it when it's ready?

What is the ultimate plan with this v2 package? Eliminate it when it's ready?

Yeah it's just to keep both things compiling for now. Once I delete the old code, v2 is going away

Should there be an is still?
[error] /home/ross/src/http4s/ember-core/src/main/scala/org/http4s/ember/core/Encoder.scala:49:15: value is is not a member of org.http4s.v2.Header.Raw
[error]         if (h.is(`Content-Length`)) appliedContentLength = true

Should there be an is still?

no there is no need for this I don't think: although an is[HeaderType] method on Header.Raw is certainly possible, I think you can rewrite the code to not require that


Add jsdoc comments with Typedoc

Describe the Feature
I highly suggest it and I want to colab together on https://airesearch.wiki

/**
 * JS-PyTorch is a Deep Learning library with GPU.js acceleration in PyTorch API syntax.
 * @author [JS-PyTorch](https://eduardoleao052.github.io/js-pytorch/site/index.html)
 * @module torch
 *
 * Tensor Creation and Manipulation:
 * @function tensor(data, requires_grad = false, device = 'cpu') Creates a new Tensor filled with the given data
 * @function zeros(*shape, requires_grad = false, device = 'cpu') Creates a new Tensor filled with zeros
 * @function ones(*shape, requires_grad = false, device = 'cpu') Creates a new Tensor filled with ones
 * @function tril(*shape, requires_grad = false, device = 'cpu') Creates a new 2D lower triangular Tensor
 * @function randn(*shape, requires_grad = false, device = 'cpu', xavier = false) Creates a new Tensor filled with random values from a normal distribution
 * @function rand(*shape, requires_grad = false, device = 'cpu') Creates a new Tensor filled with random values from a uniform distribution
 * @function randint(low, high, *shape, requires_grad = false, device = 'cpu') Creates a new Tensor filled with random integers
 *
 * Tensor Methods:
 * @method tensor.backward() Performs backpropagation from this tensor backwards
 * @method tensor.zero_grad() Clears the gradients stored in this tensor
 * @method tensor.zero_grad_graph() Clears the gradients stored in this tensor and all tensors that led to it
 * @method tensor.tolist() Returns the tensor's data as a JavaScript Array
 * @property tensor.data Returns the tensor's data as a JavaScript Array
 * @property tensor.length Returns the tensor's length (size of first dimension)
 * @property tensor.ndims Returns the number of dimensions in the Tensor
 * @property tensor.grad Returns the gradients currently stored in the Tensor
 *
 * Tensor Operations:
 * @function add(a, b) Performs element-wise addition of two tensors
 * @function sub(a, b) Performs element-wise subtraction of two tensors
 * @function neg(a) Returns the element-wise opposite of the given Tensor
 * @function mul(a, b) Performs element-wise multiplication of two tensors
 * @function div(a, b) Performs element-wise division of two tensors
 * @function matmul(a, b) Performs matrix multiplication between two tensors
 * @function sum(a, dim, keepdims = false) Gets the sum of the Tensor over a specified dimension
 * @function mean(a, dim, keepdims = false) Gets the mean of the Tensor over a specified dimension
 * @function variance(a, dim, keepdims = false) Gets the variance of the Tensor over a specified dimension
 * @function transpose(a, dim1, dim2) Transposes the tensor along two consecutive dimensions
 * @function at(a, index1, index2) Returns elements from the tensor based on given indices
 * @function masked_fill(a, condition, value) Fills elements in the tensor based on a condition
 * @function pow(a, n) Returns tensor raised to element-wise power
 * @function sqrt(a) Returns element-wise square root of the tensor
 * @function exp(a) Returns element-wise exponentiation of the tensor
 * @function log(a) Returns element-wise natural log of the tensor
 *
 * Neural Network Layers:
 * @class nn.Linear(in_size, out_size, device, bias, xavier) Applies a linear transformation to the input tensor
 * @class nn.MultiHeadSelfAttention(in_size, out_size, n_heads, n_timesteps, dropout_prob, device) Applies a self-attention layer on the input tensor
 * @class nn.FullyConnected(in_size, out_size, dropout_prob, device, bias) Applies a fully-connected layer on the input tensor
 * @class nn.Block(in_size, out_size, n_heads, n_timesteps, dropout_prob, device) Applies a transformer Block layer on the input tensor
 * @class nn.Embedding(in_size, embed_size) Creates an embedding table for vocabulary
 * @class nn.PositionalEmbedding(input_size, embed_size) Creates a positional embedding table
 * @class nn.ReLU() Applies Rectified Linear Unit activation function
 * @class nn.Softmax() Applies Softmax activation function
 * @class nn.Dropout(drop_prob) Applies dropout to input tensor
 * @class nn.LayerNorm(n_embed) Applies Layer Normalization to input tensor
 * @class nn.CrossEntropyLoss() Computes Cross Entropy Loss between target and input tensor
 *
 * Optimization:
 * @class optim.Adam(params, lr, reg, betas, eps) Adam optimizer for updating model parameters
 *
 * Utility Functions:
 * @function save(model, file) Saves the model reruning data blob (for you to save)
 * @function load(model, loadedData) Loads the model from saved data
 */

Motivation [optional]
No response
Sample Code
No response
Would you like to work on this issue?
None

All of the main functions of the library already have JSDocs, and the documentation website has examples and further information. If you think there is more to be added with typedoc, let me know and I can work it in!


[splici Reference] Mixed R2 read length

Hi there,
I am very excited about your tutorial about using a splici reference with alevin-fry and would love to test it out.
I have one question about the read_length parameter that is used to define the flank length added to each intron:
In my single-cell data, I have some samples with 90bp R2 reads, and some with 150bp R2 reads. As far as I understood, it should be safe to go for a read_length of 90bp, right? Or do you advise something different?
Thanks a lot.
Best,
Tobi

Hi @TobiTekath,
Thanks for trying out the splici index and USA mode quantification!  We'd be very interested to hear your experience after you've had a chance to run it.
I'm going to ping @mohsenzakeri here as well, as he has done some testing regarding the effect of flank length choices in single-cell data.  However, I'll say that, as long as you plan to follow the tutorial in adding the S and A sub-matrices to get the final counts, I think that pretty much any choice of flank length between 90 and 150 should give very similar results.  Let me explain my thinking a bit below.

Setting a longer flank length : The effect of a longer flank length is that more sequence flanking the introns will be included in the "intron" sequence.  This will generally lead to some more reads being marked as "ambiguous" rather than strictly "spliced".  However, by adding the S and A matrices, you'll recover these reads anyway.

Setting a shorter flank length : On the other hand, if the flank length is set smaller than the length of some reads (say as 90), then some longer reads that span the intron-exon boundary will properly map to neither.  That is, if they only slightly extend into the intron, then they will extend past the end of the flank on the intronic sequence (and so won't map there) and the intronic part of the sequence won't be accounted for by the spliced sequence (and so they won't map there).  However, since, in a standard single-cell experiment, you are looking for the S+A counts anyway, and these fragments would have been regarded as U, failing to map them should not present a problem.  Further, I suspect there will be relatively few such fragments anyway, as they have to fall in a quite particular way at the intron-exon boundary for this to happen.

In short, for processing single-cell data and extracting the total "spliced" counts at the end, then any flank length in the range of your R2 lengths should perform well.  @mohsenzakeri can share some data from an experiment we performed varying the flank length on simulated data to see the effect.
Please let us know if you have any other questions, and we'd be happy to have your feedback once you've had a chance to quantify your data.
Thanks!
Rob

Hi @rob-p,
thank you very much for this quick but nonetheless extensive answer. Your outlined thoughts are extremely helpful for me.
Just as a note, that I will then go for longer flanking regions, as I am also interested in the U counts for velocity estimation. And as long as I add up S and A counts, that should not hurt.
Thanks again.

Hi @TobiTekath ,
As @rob-p mentioned the accuracy of the quantification with the splici index is pretty robust with respect to the flank length one chooses for building the splici index. You can take a look at the following results which is evaluated based on different flank lengths. In the following table, the accuracy of quantification of a simulated single cell RNAseq sample is displayed based on different metrics:

spearman correlation
mard_drop_nan: mean of relative differences after removing the entries which are zero both in the truth and the estimation
fp: the mean of number of genes in each cell which have count zero in the truth but are estimated to have a non-zero count
fn: the mean of number of genes in each cell which have non-zero count in the truth but are estimated to be unexpressed

flank-length
spearman
mard_drop_nan
fp
fn

85.0
0.988318
0.026321
0.010969
0.011832

90.0
0.988337
0.026280
0.010935
0.011830

95.0
0.988346
0.026261
0.010916
0.011830

100.0
0.988355
0.026242
0.010897
0.011832

105.0
0.988367
0.026216
0.010872
0.011832

110.0
0.988375
0.026199
0.010854
0.011834

115.0
0.988381
0.026189
0.010842
0.011836

120.0
0.988389
0.026172
0.010825
0.011836

125.0
0.988404
0.026144
0.010794
0.011837

130.0
0.988437
0.026081
0.010733
0.011836

135.0
0.988456
0.026042
0.010694
0.011838

140.0
0.988463
0.026029
0.010679
0.011838

145.0
0.988472
0.026010
0.010660
0.011839

I hope you find this auxiliary information helpful about the effect of the flank length on the quality of the estimations provided by alevin-fry. Feel free to let us know if you have any further questions.
Best,
Mohsen

Hi @mohsenzakeri ,
thank you very much for sharing this data - the approach indeed looks very stable. Now I am quite confident I will get meaningful results, regardless of the chosen read-length.
Best,
Tobi


Very vague and unhelpful error "implementation of std::iter::Iterator is not general enough" under certain circumstances

I've run into a really strange issue when using async-trait that I'm not sure what to do with.  It feels to me like a compiler bug, but I can't reproduce it without using async-trait so decided to start with an issue here and see where it goes.
I have a very simple project, with dependencies on only async-trait and itertools (which is also required in order to repro this behavior).  See this gist for the full source code.
I have the following async trait and impl:
#[async_trait]
trait DoSomethingAsync {
    async fn do_something<ITER: IntoIterator<Item = Foo>>(foos: ITER)
    where
        ITER: Send + 'static,
        <ITER as IntoIterator>::IntoIter: Send + 'static;
}

struct Doer {}

#[async_trait]
impl DoSomethingAsync for Doer {
    async fn do_something<ITER: IntoIterator<Item = Foo>>(foos: ITER)
    where
        ITER: Send + 'static,
        <ITER as IntoIterator>::IntoIter: Send + 'static,
    {
        // Compilation will fail with the message:
        // implementation of `std::iter::Iterator` is not general enough
        do_something(foos).await
    }
}

The definition of Foo doesn't seem to be important.  In this case it's:
struct Foo(String);

The function do_something is implemented thus:
async fn do_something<ITER: IntoIterator<Item = Foo>>(foos: ITER) {
    let foos: Vec<_> = foos.into_iter().collect();

    // If this line is commented out, then the unexpected behavior does not happen.
    // It seems the use of the Iterator implementation returned by `unique()` is somehow a part of
    // the problem.
    let foos = foos.iter().map(|foo| foo.0.to_lowercase()).unique();

    // If this line is uncommented, the unexpected behavior does not happen.  It seems that the
    // type inference involved in resolving `collect()`'s return type to `Vec<_>` is part of the
    // problem.
    //let foos: Vec<_> = foos.collect();
    let _uniques = do_something_with_uniques(foos.collect()).await;
}

async fn do_something_with_uniques(uniques: Vec<String>) -> Vec<String> {
    uniques.into_iter().collect()
}

When I compile this project, the error I get is:
error: implementation of `std::iter::Iterator` is not general enough
    --> src/main.rs:41:5
     |
41   | /     {
42   | |         // Compilation will fail with the message:
43   | |         // implementation of `std::iter::Iterator` is not general enough
44   | |         do_something(foos).await
45   | |     }
     | |_____^ implementation of `std::iter::Iterator` is not general enough
     |
     = note: `std::iter::Iterator` would have to be implemented for the type `std::slice::Iter<'0, Foo>`, for any lifetime `'0`...
     = note: ...but `std::iter::Iterator` is actually implemented for the type `std::slice::Iter<'1, Foo>`, for some specific lifetime `'1`

Note that the span of this error is the implementation of do_something on Doer.  Not the specific line calling do_something; the entire function body.
The error can be eliminated by changing this line:
let _uniques = do_something_with_uniques(foos.collect()).await;

to this:
let foos: Vec<_> = foos.collect();
let _uniques = do_something_with_uniques(foos).await;

But that change is deep into the call tree from where the error is being reported, and the error message itself is almost completely devoid of meaningful hints as to the nature of the problem.  I spent hours narrowing down a very deep call tree before I was able to isolate the problem.
I have an easy workaround, which is to not rely on type inference and explicitly pass foos as a Vec, but this was such a nasty bug to work through the least I can do is post it in case anyone else runs into it.
FWIW I ran into this with the latest release of async-trait, using Rust 1.41, but I've also reproduced it with nightly.

Reduced more:
use std::collections::HashMap;

struct Unique<I: Iterator> {
    i: I,
    m: HashMap<I::Item, ()>,
}

impl<I: Iterator> Iterator for Unique<I> {
    type Item = I::Item;
    fn next(&mut self) -> Option<I::Item> {
        unimplemented!()
    }
}

async fn do_something<I: IntoIterator<Item = String>>(foos: I) {
    let foos: Vec<_> = foos.into_iter().collect();
    let foos = Unique {
        i: foos.iter().map(|foo| foo.to_lowercase()),
        m: HashMap::new(),
    };
    let _uniques = do_something_with_uniques(foos.collect()).await;
}

async fn do_something_with_uniques(uniques: Vec<String>) -> Vec<String> {
    uniques.into_iter().collect()
}

fn f<I>(foos: I) -> impl Send
where
    I: IntoIterator<Item = String> + Send + 'static,
    I::IntoIter: Send + 'static,
{
    do_something(foos)
}

fn main() {}

Some more:
struct Unique<I: Iterator> {
    iter: I,
    item: Option<I::Item>,
}

async fn do_something() {
    let foos = Vec::<()>::new();
    let foos = Unique {
        iter: foos.iter().map(std::convert::identity),
        item: None,
    };
    async {}.await;
}

fn f() -> impl Send {
    do_something()
}

fn main() {}

Looks like https://github.com/rust-lang/rust/issues/64552, I believe the fix will need to be on the compiler side.


Unit test stub autogenerator

Address #74
Changes

Added new command create-tests in cli module.
Wrote logic for generating testcase of given python file

How I tested this

Tested with file test1.py

def pr(b: int, c: int) -> int:
    return b + c

def divide(b: pd.Series, c: pd.Series) -> pd.Series:
    return b/c

OUTPUT: test_test1.py
from pandas.core.series import Series

def test_divide():
    b: Series = Series() #TODO fill in
    c: Series = Series() #TODO fill in
    expected: Series = Series() #TODO fill in
    assert expected == test1.divide()

def test_pr():
    b: int = int() #TODO fill in
    c: int = int() #TODO fill in
    expected: int = int() #TODO fill in
    assert expected == test1.pr()

Notes
Checklist

[ ] PR has an informative and human-readable title (this will be pulled into the release notes)
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code passed the pre-commit check & code is left cleaner/nicer than when first encountered.
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future TODOs are captured in comments
[ ] Project documentation has been updated if adding/changing functionality.

@swapdewalkar thanks for this. Been a little busy so I haven't tested this out yet.  @zilto if you have time mind taking it for a spin?

Yes, sorry for the delay, got sick last Wednesday, but starting to feel better. Putting this on my TODO for tomorrow morning!

Hey @swapdewalkar! I tried running hamilton create-tests locally on a few files from examples/ and always received ModuleNotFoundError. Looking at the code, I think it makes a few assumptions about imports that will be difficult to uphold for CLI usage.
Could you add a minimal example under examples/testgen with a README including the steps you take for the command to work? After I'm able to try the feature, I'll have more feedback on it and the code


push the codeCov report as a comment to a pull request

Something like that: https://github.com/miyakogi/pyppeteer/pull/227#issuecomment-498782123
Don't know if it's somehow possible 😄

its possible
for open source:

the ABAP dev edtions cannot be put online on the internet providing services due to licensing
if its done on a fixed system, the code in pull requests are untrusted, so I'd probably not run it in a fixed system
that leaves spawning systems, I personally dont have the $ to spawn 32gb+ systems for each pull request/push

so, the way forward is to run the unit tests via the transpiler instead

Thanks, so I'll try it with the transpiler.


Update GitHub example

.npmrc is no longer needed
Updated instructions
updated package.json versions so it works independently of the parent project.
updated serverBuildDirectory since it wasn't working with the old path

@sergiodxa Sorry for the delay on this. Updated the code as per your comments and and updated so it works with v3.0.0. Let me know if you prefer to have this example in remix-auth-github and I'll do a PR on that repo.

@sergiodxa Sorry for the delay on this. Updated the code as per your comments and updated it so it works with v3.0.0. Let me know if you prefer to have this example in remix-auth-github and I'll do a PR on that repo.

Yeah it will be better to have the example of the strategy directly in the strategy repository instead.


Update to 4.4.2

The failure is with Maven and Groovy... I believe it's caused by https://github.com/micronaut-projects/micronaut-tracing/pull/559 which was in 6.5.2 of micronaut-tracing, but I'm not currently sure why

So previously we had the core processor as an api dependency, so it was a compile dependency when we pulled in the parent
Now it's coming through as runtime so it doesn't work when we try to do the processing...
I guess we need fix starter to add it as a compile dependency when using jaeger, groovy and maven


Update cluster.go help output

When reading the documentation, one may read --egress none and interpret to write --egress "" instead of none,, when updating the egress of cluster via cloudctl as none could mean to use an empty string.
The proposed approach is to add "--egress none" instead of --egress none, to have a visual border for the entire parameter.

Thanks for the contribution! Maybe it would even make sense to support --egress="" like for other flags and keep --egress=none for backwards-compatibility. What do you think?

I personally think that both variants are viable.  Right now i cant say which one would fit better as they are both pretty explicit. I guess i would tend to --egress none as it is very implicit on the expected behavior.


What is VEX and how CSAF VEX profiles are used?

Create short videos (~ 2 minutes long) explaining the content described in the title of this issue. This issue is tracked in the parent issue #30


Cleanup Coverity Scan Bug

Coverity scan is getting mad about our use of new / delete
in our unit tests, even though we mimic the standard library
(it's a false positive), so this patch moves this code to a
system header to prevent the scanner from see it. It also
will provide a generic way to do this for other unit tests
in the future.
Signed-off-by: “Rian<EMAIL_ADDRESS>

Coverage decreased (-0.02%) to 99.982% when pulling 564318c216c6d06a9f30dedec9b4bb10019aaae3 on rianquinn:fix_coverity_scan_new_delete_bug into a644f4d36cecbb701b733f9470265d0278cd2120 on Bareflank:master.

Coverage remained the same at 100.0% when pulling ee452864a19e5473a377d89cb1ae4bfe0afb7e9d on rianquinn:fix_coverity_scan_new_delete_bug into a644f4d36cecbb701b733f9470265d0278cd2120 on Bareflank:master.

Skipped the appveyor test as MS servers are rather slow today.


Remove handlers from HubConnection (#2628)

Merging back from 2.2

(History looks cleaner if I remember and just do it instead of merging the bots pr.)


gif.c: fix leaks in lzw encode/decode

Unless I missed something, some frees were missing.

Thanks, well spotted.
I see the GIF encoder/decoder in bmp.c had the same leak, so I fixed it there as well


How to access the created jodit-editor object in external function

Hi,
i have a simple beginner question.
I create the jodit-object in my document-ready section
$( document ).ready(function() {
   var editor = new Jodit('#test', {
        fullsize: false
    });
});

this works fine.
But how can i call/acces the created object in a function?
function myfunc() {
   editor.value = 'Test!'; // does not work, because editor is undefined within the function
   $('#test').html("Test!"); // Does not work
   $('#test').find(".jodit_wysiwyg").html("Test!"); // Does also not work
}

When i call the function above i get message
"Uncaught ReferenceError: editor is not defined"
Sorry, i know its a beginner question but it would be great if you could help me.
E.g. i want to load text into the editor after initialization.
Thanx for your help.
Best wishes
Daniel

For example, so:
var editor;
$( document ).ready(function() {
   editor = new Jodit('#test', {
        fullsize: false
    });
});

function myfunc() {
   editor.value = 'Test!'; // works
}

Or
$( document ).ready(function() {
   new Jodit('#someUniqueId', {
        fullsize: false
    });
});

function myfunc() {
   Jodit.instances.someUniqueId.value = 'Test!'; //works
}


Is't possibile to push data to the Umbraco or only read from it?

Is't possibile to push data to the Umbraco or only read from it?

At this moment UHeadless only supports reading data, though it is possible to create your own mutations on top of the existing framework. See: https://chillicream.com/docs/hotchocolate/defining-a-schema/mutations
Every time you see this in to documentation you just need to add it to the UHeadlessGraphQLOptions --> GraphQLExtensions section of the UHeadless options. Here the IRequestExecutorBuilder is exposed.
services
    .AddGraphQLServer()
    .AddDefaultTransactionScopeHandler();

Example:
services.AddUmbraco(_env, _config)
                .AddBackOffice()
                .AddWebsite()
                .AddComposers()
                .AddUHeadless(new()
                {
                    UHeadlessGraphQLOptions = new()
                    {
                        GraphQLExtensions = (IRequestExecutorBuilder builder) =>
                        {
                            builder.AddDefaultTransactionScopeHandler()
                            return builder;
                        },
                    },
                })
                .Build();

Note: Do not include .AddGraphQLServer() this is already added to the builder


Updated libcalico to 0.11.0, switched to official calico builder

Shouldn't we be pinning to master for the master branch?  This forces our hand to stay up to date.
When we do an actual release, we'd then pin it to a specific libcalico branch.

lgtm - great to have simplified this!


⚠ Bofrost.fr has degraded performance

In 1c02ae0, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1290 ms

Resolved: Bofrost.fr performance has improved in 7712cc3 after 8 minutes.


502 Bad Gateway errors

As reported by multiple users (Twitter, OSM World Discord).

(Browser console is full of 502 Bad Gateway errors.)

site is back up.  investigating root cause

the system is encountering a heavy spike in usage since yesterday and API optimization investigation is still ongoing.  Working with @mvexel to discuss solutions.

I believe we are in the clear.  Will continue to monitor.  Sorry for the delay.

We will be temporarily disabling some of our scheduled jobs, including the leaderboard.  Our recent influx of new tasks is causing some CPU bottlenecks.
Regardless, the site has been fully functional for the past 3 hours.  Still monitoring.


Update readme.md. - [closed]

In GitLab by @wknet123 on Jan 15, 2018, 09:12
Merges dev-gogs-test -> dev

In GitLab by @wknet123 on Nov 13, 2019, 10:24
closed


[WIP] ReactSlider extends appcompat widget

Summary

Changelog

[CATEGORY] [TYPE] - Message
Test Plan

Same here, let me know once this is ready to ship.


Printing issue

Is that possible to print the pdf file using this lib?

@Sunsiha I don't think that this library has a printing feature


Support for linux-yocto as kernel provider

Adds support for linux-yocto 6.6 and 6.10 against L4T 36.4.0.
A separate pull request will be opened against scarthgap/36.4.0 to backport support for linux-yocto 6.6 only there.

Rebased on master, after fixes to egl/gbm, display output works now

Thanks for the proposal, @kekiefer!
I have successfully tested this on a custom Orin NX based board, with the proposed changes applied via bbappend files in my board/distro layer.
In order to flash the image via the initrd-flash script, I needed a minor change to the init script because the USB-gadget sysfs interface seems to have changed slightly, see attached
init-flash-update-UDC-sysfs-interface.patch

In order to flash the image via the initrd-flash script, I needed a minor change to the init script because the USB-gadget sysfs interface seems to have changed slightly, see attached init-flash-update-UDC-sysfs-interface.patch

@akfaro thanks for tracking that one down! I'll rework this a bit so it can function across different kernels.

Today I've updated two things:

initrd flashing should be working on NX as well as AGX machines
fixed rtw 8822ce wifi configuration. I tried this again and realized I hadn't committed everything here. Looking into the crash, it's related to enabling ieee80211w (protected management frames) used by WPA3. Using WPA2 wifi will work.

There is a crash connecting wifi related to enabling ieee80211w (protected management frames) in wpa_supplicant used by WPA3, and has nothing to do with the 8822ce drivers as it occurs with other adapters as well. The problem relates crypto offload to tegra_se (built by the oot modules) as blocking this module from loading allows this function to work.

The crash in tegra_se is now resolved by porting a patch from the nv-tegra git repos. I intend to update some of the other oot module patches that do the same as the ones I've created, but the function should be the same. Functionally though, now I think this PR is about where it needs to be.

I've updated this pr to address a few prior concerns. I still need to go back through the oot patches to pick up nvidia's changes.
What's stopping me now is that master has cut a 6.10 linux-yocto. The kernel incorporates the patches we needed to add for 6.6 (yay) but the oot modules are pretty broken (boo). However, nvidia's downstream git repo has fixes for building with 6.10, so I'm going to spend a little more time and decide if it worth trying to support 6.10 yet, or waiting for the next L4T release with the next stamp for the oot modules that should be compatible with 6.10.

Well, I got the oot modules built and running with the 6.10 kernel, but it took 30+ patches from nvidia's git repo to make that happen. This is, I think, a few too many to pull into a bsp layer.
I'd like some feedback regarding how to proceed. These are the options:

We can get 6.6 done today, going with the current reasonably minimal changes to the kernel and oot modules maintained in-tree. Support for building the 6.10 is left off until we get r36.4 from NVIDIA, at which point the transition to 6.10 should be painless.
We add 6.10 support and 30+ patches for the oot modules so we can build against 5.15, 6.6, and 6.10
We add 6.10 support, and support a _git build for the oot modules to use with the 6.6 and 6.10 kernels. Based on feedback regarding the lack of stability of the nv-tegra git, we start mirroring the 3 oot modules repos on our github.

That's great, @kekiefer .  We can discuss the options at our next video meeting, assuming you can attend then.
On the whole, though: scarthgap core is on the 6.6 kernel, so using that as a starting point wouldn't be too bad, since we could back-port there. Updating to 6.10 could then happen in master, even if we haven't yet got the 36.4 drop from NVIDIA, since the 30+ patches would be relatively short-lived.
With that experience behind us (or while it's going on), we can consider the longer-term approach. Mirroring the relevant NVIDIA OOT repos (I count 7, 5 with drivers and 2 with device trees) could be a bit of a maintenance hassle, too, but maybe less than the hassle of maintaining patches. Either way would be OK, and hopefully the size of the OOT code base will shrink over time.

I'm scratching my head a bit regarding what to do about the failing layer checks. I thought they were getting picked up by find_sccs() in kernel-yocto.bbclass so I moved them to a tegra-specific override folder (in addition to only being included explicitly for the tegra override).

Thanks Matt, that did the trick

@kekiefer  Could you please rebase your branch to avoid having merge commit ?


Poker : new exercises

I submitted a new exercise about ranking between different poker hand. I wrote a part of the example code with the help of this course: https://www.udacity.com/course/viewer#!/c-cs212/l-48688918
Is there anything to do to add it to the exercises list?

Yepp, we're going to need the metadata here: https://github.com/exercism/x-common
And then it needs to be added to the config.json problems list.
Thanks!

Done

@kytrinyx And what about this one?

All good, thanks.


try simplifying random.multivariate_normal api

Standardize the behavior of shape arguments in jax.random. Also simplify the rank-polymorphic behavior of jax.random.multivariate_normal.
The basic idea is that, following NumPy and my own guesses as to what's least surprising, the shape of a randomly-sampled array is determined by either the shape argument to the sampler function or the shape of any parameter arrays.
Some sampler functions don't take any parameters: uniform, normal, cauchy, exponential, gumbel, laplace, logistic. (We're following the convention of not including scale parameters.) For these, the shape argument determines the result shape and has a default value of ().
Other sampler functions corresponding to random variables with a scalar range take one or two parameter arguments (bernoulli, beta, gamma, pareto, t). We could require these arguments to be scalars, and require users to vmap (over key arrays, parameter arrays, or combinations of the two) to produce vectors or arrays of samples. But I chose not to require using vmap because that makes the common use case less practical. As a result of that choice, we need to fix a convention for how the shapes of array parameters affect the result shape, especially if a shape argument is specified. Following NumPy, I implemented this convention: the default value of shape is None and that indicates that the result shape is computed by broadcasting together the parameter shapes. If a non-None value of shape is provided, then it determines the result shape (and parameter shapes must be broadcast-compatible with it).
One more detail needs to be worked out, which is how to handle the case of random variables with vector ranges (dirichlet and multivariate_normal). In particular: does shape specify the full result shape or the batch shape? Concretely, to sample 100 times from a multivariate normal, do we write random.multivariate_normal(key, mu, cov, shape=(100,)) or random.multivariate_normal(key, mu, cov, shape=(100, 3))? Following NumPy (and TensorFlow, and Pyro, and convenience) I followed the former: the shape argument specifies the batch shape.
Original comment:
@jekbradbury @aeftimia @fehiepsi  Building directly on #1419, this is an experiment in simplifying random.multivariate_normal, basically to remove all the rank-polymorphic behavior (which can be implemented using vmap instead).
Thoughts?

Thanks for those catches and suggestions!
@fehiepsi I'm split on whether to follow that NumPy-like rank-polymorphism convention, which is how I'd write things with vanilla NumPy, versus trying to be bold and rely on vmap for everything. I just noticed that your dirichlet code (the only other non-scalar / non-vectorized sampler) follows the NumPy-like shape-suffix convention.
I think I will change it to the NumPy-like convention, because having some vectorization built into primitives is convenient for expressiveness. If we don't do that, pretty much every user would end up using vmap here, and that's just redundant.

@fehiepsi actually, I think the shape behavior in beta (and dirichlet) are a bit inconsistent and surprising.
In [8]: random.beta(key, np.ones((2, 3)), np.ones((2, 3)), shape=(2, 3)).shape
Out[8]: (2, 3)

In [9]: random.beta(key, np.ones((2, 3)), np.ones((2, 3)), shape=(1, 3)).shape
Out[9]: (1, 2, 3)

We need to figure out a clear and consistent way for the output's shape to be computed from the input shapes of the parameters and the shape argument.
Here are some options:

The shape argument determines the output shape. In the above example, the second line would result in an error. More generally, the input arrays would be broadcast against each other, and the result should be a suffix of the value of the shape argument.
The shape argument specifies a prefix on the output shape, basically saying "add these leading dimensions". In the above example, the result shape would become (1, 3, 2, 3).

Are there others? Which do you like better? (I have a slight lean towards the former right now...)

I think the second option above would fit with a comment in the dirichlet docstring ("representing the batch shape"). But I'm liking more and more the idea that the shape specifies the full result shape, not just part of the result shape.

Hi Matt, I think the issue at beta sampler is:
np.broadcast_to(np.ones((2, 3)), (1, 3)).shape

will return (1, 2, 3), which is an unexpected behavior of np.broadcast_to. The expected behavior of random.beta(key, np.ones((2, 3)), np.ones((2, 3)), shape=(1, 3)).shape is to throw an error because parameters can not be broadcasted to the shape (1, 3). To me, it is good to have shape representing either full shape (=batch_shape + last_dim for multivariate distributions) or batch shape, as long as it is consistent. The only advantage of having shape representing batch shape is to match NumPy's behavior (for size arg). If I want to take 1000 samples from 3-D MVN distribution, either specify shape=(1000, 3) or shape=(1000,) is fine to me. The former makes the shape of the output more explicitly, while the latter is a bit less redundant.
My code snippet above will make the behaviour inconsistent, I meant
batch_shape = shape or broadcast_shapes(np.shape(mean)[:-1], np.shape(cov)[:-2])

instead of
batch_shape = broadcast_shapes(np.shape(mean)[:-1], np.shape(cov)[:-2], shape)

If you want to change shape meaning to full result shape, then the code should be
batch_shape = shape[:-1] if shape else broadcast_shapes(np.shape(mean)[:-1], np.shape(cov)[:-2])

Awesome, good thinking. And good example (drawing 1000 samples from an MVN) to distinguish the two good options, namely shape being batch shape and shape being full shape.
Sounds like treating shape as batch shape is the most common, as I'm told it's what TFP, Pyro, and even NumPy does. I think we should prefer that behavior on the grounds that it'll be the least surprising.

I updated the comment at the top of this thread to reflect the place I arrived at. @jekbradbury @fehiepsi if you have time, can you read over that and lmk what you think?

(I should add tests for this shape logic, but I need to move on to other things for now!)

I really like the change: shape=() -> shape=None. Approve! :D

Thanks, all!


Migrate LND from 32 bit to 64 bit Raspberry pi 4 (myNode BTC)

I want to upgrade my node to 64 bit for LND.
What's the suggested steps to do it without losing existing channels. I have those available on my 32 bit node.
Thanks

You can follow the "Option 1" of this step: https://github.com/lightningnetwork/lnd/blob/master/docs/safety.md#migrating-a-node-to-a-new-device
There is a warning about migrating between architectures in that document, but it looks like ARM32 -> ARM64 is safe to do (many RaspiBlitz and myNode machines were migrated recently, so far no problems were discovered).
I'm going to create a PR to remove the warning in the linked document (or reduce it to the migration path that is known to be buggy, which is Linux<->Windows).


Metadata is checked even when the file does not exist

https://github.com/pdsinterop/flysystem-rdf/blob/05cf9c72f023966afd74b81e4d69673617ab38fe/src/Flysystem/Adapter/Rdf.php#L181-L183
Something is going wrong in these lines - it looks to me like it should be assiging a metadata variable here?
In the lines just after this, it will try to read the file, even if the file does not exist.

possibly fixed in https://github.com/pdsinterop/flysystem-rdf/commit/442234a5cf924e4c1bdef70d24d833fabe23cff8 but needs review.

Reviewed. Updated the unit-test to match this new behavior. The only scenario where this might be an issue is when requesting a metadata file (Solid's describedby property) which does exist for a file which does not. But such a scenario should be considered wrong anyway, as the meta file should have been removed when the actual file was removed. (per the spec)


Rename Pokemon's baseStats/stats -> baseStoredStats/storedStats

I would probably rename these to storedStats and baseStoredStats; to make it clearer that they aren't the Pokémon's "actual" stats.

Originally posted by @Zarel in https://github.com/Zarel/Pokemon-Showdown/pull/5267

Can you also see if you can eliminate Gen 1's reliance on the modifiedStats table? It probably doesn't need to be separate from storedStats.

Can you also see if you can eliminate Gen 1's reliance on the modifiedStats table? It probably doesn't need to be separate from storedStats

It does not seem trivial. I don't know the precise details of how its supposed to work in Gen 1 + Stadium and don't trust the test coverage enough to make alterations. I also really am against potential behavior changing alterations in a refactoring commit.

calculateStat should probably also throw instead of forwarding to this.maxhp.
Or actually we should use the client approach, StatNameExceptHP.

Originally posted by @Zarel in https://github.com/Zarel/Pokemon-Showdown/pull/5267
This I can do. Commuting now, will change this in a bit and update the PR title.

Fair, we'll leave the modifiedStats table for later, then.

Looks good; thanks!

Could this have affected the attack and speed loss for burn and paralysis in Gen 1 Stadium?
Here is a replay https://replay.pokemonshowdown.com/gen1stadiumou-874684443
See turn 3 for speed being unaffected by paralysis and turn 31 for attack being unaffected by burn.

Hi @SamanthaLola, it agree that this code seems like a good suspect given its the only recent change (despite me deliberately trying to avoid messing around with modifiedStats: #5276)! Looking over it again, I don't see anything obvious - I'll try writing a test case maybe? Thanks for letting me know there is an issue and for providing logs :+1: