How to prompt for account selection and then check the cache for a token instead of always requiring a password?

When logging in with MSAL for .NET, the recommended approach is to attempt IClientApplicationBase.AcquireTokenSilent() first, using an account from IClientApplicationBase.GetAccountsAsync(), and if that fails, then prompt the user with something like IPublicClientApplication.AcquireTokenInteractive().
I am using the cache functionality from this repo to cache to a file and register it using RegisterCache().
What I am looking to do is to not use AcquireTokenSilent(), but instead to always show the list of accounts that are remembered using AcquireTokenInteractive(), and have the user select one.  If a token is then found in the cache for this account, then it logs them in.  If it does not, then it prompts for the password, then 2FA, etc.
Right now, this behaviour is only demonstrated if having already signed in while the app is running, which suggests that there's something being stored in memory which is not persisted into the cache file.
I should emphasise that AcquireTokenSilent() does seem to work, suggesting that the cache is working as intended.
Rough code being used:
var scopes = new string[] { "api://" + clientId + "/user.read" };

StorageCreationProperties storageCreationProperties = new StorageCreationPropertiesBuilder(cacheFileName, cacheDirectory).Build();
MsalCacheHelper cacheHelper = await MsalCacheHelper.CreateAsync(storageCreationProperties).ConfigureAwait(false);

IPublicClientApplication app = PublicClientApplicationBuilder.Create(clientId)
    .WithAuthority("https://login.microsoftonline.com/common/", true)
    .WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
    .Build();

cacheHelper.RegisterCache(app.UserTokenCache);

IAccount existingAccount = (await app.GetAccountsAsync().ConfigureAwait(false)).FirstOrDefault();

if (existingAccount != null)
{
    try
    {
        authenticationResult = await app.AcquireTokenSilent(scopes, existingAccount).ExecuteAsync().ConfigureAwait(false);
    }
    catch (MsalUiRequiredException)
    { }
}

// If this line is commented-out, the user is STILL prompted for a password
// unless this method has already run once and that user has entered their password
// and successfully logged in during this run of the app.
if (authenticationResult == null)
{
    try
    {
        authenticationResult = await app.AcquireTokenInteractive(scopes)
                                            .WithCustomWebUi(...)
                                            .ExecuteAsync()
                                            .ConfigureAwait(false);
    }
    catch (MsalClientException ex)
    { }
}

Right now the only alternative I can see is have the app display its own list of the available accounts in its own UI and then attempt AcquireTokenSilent() on the selected one.  This obviously means that, from a user-experience perspective, it would stand apart from the standard Microsoft authentication UI.
Is there a built-in way to accomplish the functionality that I've mentioned above?  Or is the approach I mentioned in the last paragraph my only option?  Is there any documentation available on this?

Hi @Metritutus ,
MSAL offers a fairly low level API, and does not do account management for you. Typically account management is done in 2 ways:

Single account applications

a. Most apps only deal with 1 account being logged in at one time. The first time the app starts, AcquireTokenSilent will fail and AcquireTokenInteractive takes over. b. The 2nd time the app starts, AcquireTokenSilent works. c. If the user wishes to change that account, they "sign out". You clear the cache and a. begins again d. If 2FA is needed, AcquireTokenSilent also fails (same exception, but different reason) and you call AcquireTokenInteractive again.
I suggest you add WithAccount(acc) to AcquireTokenInteractive for this case, to provide an optimized experience in the browser. Alternatively, provide WithLoginHint
You can also choose to play around with WithPrompt, which controls how the browser behaves.
Note that: WithAccoutn, WithLoginHint and WithPrompt are the only ways to control the behavior of the browser.

Multi-Account apps

Visual Studio is a multi-account app. It maintains several accounts signed in. It can , for example, display the Azure VMs you are using across all accounts / subscriptions etc. In this mode, you must write more code to define sing out experience but also to define things like "who's the current user".
I assume your app is "single account", so please see above. Note that If you skip on AcquireTokenSilent then:

users are prompted for tokens more often than they need to
if you ask AAD for tokens too often, they will throttle you

With regards to the app type, different users may potentially sign into it on a single machine (although only one-at-a-time), so it could probably be considered a multi-account app.  However, if this approach is not recommended, do let me know.
With regards to my request and 'account management' functionality, the functionality I was looking for seemed to be functionality that was already there.
If the application is already running, and one user (or more, I assume, although I confess I haven't two accounts to test on the dev-side yet) has already 'signed-in' during that run of the application, they are not prompted again for credentials by AcquireTokenInteractive().  It displays the list of accounts and clicking on the username will immediately sign the user in.  No further 2FA prompts are requested.
It is only between runs of the application that it will prompt for credentials if AcquireTokenInteractive() is used, and AcquireTokenSilent() must be used instead to avoid unnecessarily prompting the user.
If your recommendation is that GetAccounts() be used and the application display the list of accounts itself, then that is what I shall have to do, however I wanted to be sure I was not missing anything, as it looked like the desired functionality was already there and that there was something I specifically needed to do to enable it as desired.  Building a custom account list UI in the app itself does detract a little from the Microsoft sign-in look-and-feel experience.

Sorry for replying so late.
If different users access you app one at a time, and you log out (i.e. call app.RemoveAsync(accont)) one user before logging in the next, then it's still a single user app. As such GetAccounts should only return 1 and only 1 account (or 0 the first time), hence this pattern works:
var app = // create app and add token caching
try
   var theAccountOrNull = app.GetAccounts().SingleOrDefault();
   authResult = app.AcquireTokenSilent(theAccountOrNull); //

catch MsalUiRequiredException  // can get here is no account is in the cache or if MFA is required by AAD

   authResult = app.AcquireTokenInteractive()
                              .WithAccount(theAccountOrNull) // in case of MFA< don't show the user the whole list of accounts; instead fill in the username for him/her

See our samples for details: https://docs.microsoft.com/en-us/azure/active-directory/develop/sample-v2-code#desktop


Added doc for documenting well-known items/properties

Moved repo-specific docs to repo folder
Added a starter doc for documenting well-know items and properties - plan is to keep this up-to-date as we add these.

tag @dotnet/roslyn-analysis

👍


Cannot read property 'actionName' of null

Coming from this Firebase crash:
Non-fatal Exception: C7.w: Cannot read property 'actionName' of null
       at .onPress(address at index.android.bundle:1:5702163)
       at .anonymous(address at index.android.bundle:1:9338490)
       at .interceptAnonymousUser(address at index.android.bundle:1:9337226)
       at .onPress(address at index.android.bundle:1:9338362)
       at .t14(address at index.android.bundle:1:6877836)
       at .onPressAction(address at index.android.bundle:1:4520308)
       at .t23(address at index.android.bundle:1:4181560)
       at .apply((native):0:0)
       at .anonymous(address at index.android.bundle:1:4182712)
       at ._performTransitionSideEffects(address at index.android.bundle:1:789415)
       at ._receiveSignal(address at index.android.bundle:1:789003)
       at .onResponderRelease(address at index.android.bundle:1:787832)
       at .executeDispatch(address at index.android.bundle:1:1248060)
       at .executeDispatchesAndReleaseTopLevel(address at index.android.bundle:1:1253346)
       at .forEach((native):0:0)
       at .forEachAccumulated(address at index.android.bundle:1:1249576)
       at .anonymous(address at index.android.bundle:1:1253784)
       at .batchedUpdatesImpl(address at index.android.bundle:1:1314724)
       at .batchedUpdates$1(address at index.android.bundle:1:1253270)
       at .dispatchEvent(address at index.android.bundle:1:1253549)

This will be handled internally, no need for BZ.

This is done


Lagoon API for Environment Variables should allow upsert (insert or update)

The current API for environment variables is sub-optimal, if you are looking to ensure a variable matches a particular value.
Current process

Get the value (for comparison)
If the value exists, and is wrong, delete it
Insert the new value

This is a rather long process to do, to just set an environment variable.
Compounding factors
There is a large customer in region that synchronises a lot of environment variables, to ensure they are consistent with a configuration database that they maintain. The process takes around 30 minutes to run end to end.
Not only is this slow, the Lagoon API also experiences more load than is actually necessary.
Ideal solution
The environment variable add function should insert or update the value, and hide this detail from the end user.
Why this should not go in Lagoon CLI only
The Lagoon CLI project attempts to keep API parity with Lagoon, so features like this should be upstreamed to Lagoon, so all users benefit from it.

duplicate of https://github.com/amazeeio/lagoon/issues/1677
There is currently more work on how to manage variables (esp deleted ones) over at https://github.com/amazeeio/lagoon/pull/2348 - we will evaluate whether there is a solution for this here.


no default logging

haproxy has no default logging setup - not even of backend node states (down etc.).. IMHO it should have a default log config in global setup, that logs the minimum (not access log).

Hello! We are doing some house keeping and noticed that this issue has been open for a long time.
We're going to close it but please do raise another issue if the issue still persists. 😄


Apply cruft updates

Automatically generated PR from repo-conformance to apply updates using scruft.

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

Project coverage is 38.46%. Comparing base (a0618c8) to head (a3da6e2).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #10   +/-   ##
=======================================
  Coverage   38.46%   38.46%
=======================================
  Files           2        2
  Lines          78       78
=======================================
  Hits           30       30
  Misses         48       48

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


Does the dark theme support System.Windows.Controls.ToolBarTray

I have a toolbar in my project. when I changed the theme from light theme to dark theme. Only the toolbar stay same.
It seems like it doesn't support System.Windows.Controls.ToolBarTray  System.Windows.Controls.ToolBar

Yes, the ToolBar control is still not supported unfortunately. Sorry for that.
Please see #94 for a similar discussion.


Official website down

Hello,
Not sure where to report this but the related Apache website looks down:

Sorry, I would have post it to the mailing list but I can't find them without the main website.
Best,
Bruce

@PerfectSlayer, yes, thanks for the heads up. We are aware of the issue. It is an ASF-wide infrastructural problem, there are more project websites affected – INFRA is working on it. For the time being, you can use the staging website: https://logging.staged.apache.org

Thanks for the staging link @vy !
Feel free to close the issue as it looks like things are being taken care of 👌

As of this moment, website is back! :tada:


Update Axum examples to latest 0.6 release and streamline them a bit

Hi,
I updated the Axum examples to the latest 0.6 release and did a bit of housecleaning.
This should address #138

Thanks so much. I still have no idea what's going on with the CI on GitHub but assuming this passes on my local CI run I'll merge it. I really appreciate it.

@benwis I'm getting some errors when I run cargo test in integrations/axum, which are suggesting that either the implementation is a little off or the doctest is a little off. Could you take a look?
... view! { cx, <MyApp/> }).into_service());
    |                             ^^^^^^^^^^^^ method not found in `impl (Fn(axum::http::Request<Body>) -> Pin<Box<(dyn Future<Output = StreamBody<Pin<Box<(dyn futures_core::stream::Stream<Item = Result<axum::body::Bytes, std::io::Error>> + Send + 'static)>>>> + Send + 'static)>>) + Clone + Send + 'static`
    |
   ::: /Users/gjohnston/.cargo/registry/src/github.com-1ecc6299db9ec823/axum-0.6.1/src/handler/mod.rs:302:8
    |
302 |     fn into_service(self) -> HandlerService<Self, T, (), B>;
    |        ------------ the method is available for `impl (Fn(axum::http::Request<Body>) -> Pin<Box<(dyn Future<Output = StreamBody<Pin<Box<(dyn futures_core::stream::Stream<Item = Result<axum::body::Bytes, std::io::Error>> + Send + 'static)>>>> + Send + 'static)>>) + Clone + Send + 'static` here
    |
    = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
    |
2   | use axum::handler::HandlerWithoutStateExt;

If I add HandlerWithoutStateExt to the handler import in the doctest, I get
error[E0277]: the trait bound `HandlerService<impl (Fn(axum::http::Request<Body>) -> Pin<Box<(dyn Future<Output = StreamBody<Pin<Box<(dyn futures_core::stream::Stream<Item = Result<axum::body::Bytes, std::io::Error>> + Send + 'static)>>>> + Send + 'static)>>) + Clone + Send + 'static, (axum_core::extract::private::ViaRequest, axum::http::Request<Body>), (), Body>: Handler<_, _, _>` is not satisfied
   --> src/lib.rs:160:15
    |
21  |     .fallback(leptos_axum::render_app_to_stream("leptos_example", |cx| view! { cx, <MyApp/> }).into_service(...
    |      -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Handler<_, _, _>` is not implemented for `HandlerService<impl (Fn(axum::http::Request<Body>) -> Pin<Box<(dyn Future<Output = StreamBody<Pin<Box<(dyn futures_core::stream::Stream<Item = Result<axum::body::Bytes, std::io::Error>> + Send + 'static)>>>> + Send + 'static)>>) + Clone + Send + 'static, (axum_core::extract::private::ViaRequest, axum::http::Request<Body>), (), Body>`
    |      |
    |      required by a bound introduced by this call

@gbj Are you sure you're in the right branch? cargo check in integrations/axum builds normally for me

Looks good to me!


Discrepancy with pricing page

Why limit is 55 computes if in the pricing doc says 100? Also, why size are Px while in the pricing are Ix?

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

ID: 89e5f812-460e-d4ae-b265-37fe062c6cb5
Version Independent ID: 9b47bf02-e610-72d9-e399-e3068bb08647
Content: How to Configure an App Service Environment v1
Content Source: articles/app-service/environment/app-service-web-configure-an-app-service-environment.md
Service: app-service
Product: unspecified
GitHub Login: @ccompy
Microsoft Alias: ccompy

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

@smoms Please note that this document is for the older App Service Environment Version 1. The pricing page that you reference is for the newer App Service Environment Version 2, which supports more instances and uses the Isolated tier instances.
I would suggest reading through this document, which discusses App Service Environment V2 and with the differences between V1 and V2.
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and tag me in your reply. We will gladly continue the discussion.


Issue with Rails 4.1

Unable to install with Rails 4.1:
Bundler could not find compatible versions for gem "mail":
In Gemfile:
rails (= 4.1.0) ruby depends on
actionmailer (= 4.1.0) ruby depends on
mail (~> 2.5.4) ruby
gmail (>= 0) ruby depends on
  mail (2.5.3)

This issue was moved to gmailgem/gmail#113


Flow typed support

Add initial flow support for a library to resolve issue #11

Looks good to me 👍


[FORMATTING] CASE statements in SUM()

Usage

How are you calling / using the script?

I'm using https://inferrinizzard.github.io/prettier-sql/

What SQL language(s) does this apply to?

The bug will not occur only if I use AWS or DB2

Describe the bug
Bugs occur when there are CASE statements in SUM().

When there is only one SUM(CASE ...), like

select sum(case a when foo then bar end) from quaz

Expected Output
SELECT
  SUM(CASE a
  WHEN foo
  THEN bar END
)
FROM
  quaz

Actual Output
SELECT
  SUM(CASE a
  WHEN foo
  THEN barEND
)
FROM
  quaz

Note there should be a space before the END .

When there is something else after SUM(CASE ...), like

select sum(case a when foo then bar end), b from quaz

Expected Output
SELECT
  SUM(CASE a
  WHEN foo
  THEN bar END
  )
  , b
FROM
  quaz

Actual Output
An Error Occurred, please report this at:
https://github.com/inferrinizzard/prettier-sql/issues

Stack Trace:
TypeError: Cannot read properties of null (reading '1')
    at https://unpkg.com/prettier-sql@latest/dist/prettier-sql.min.js:1:9589
    at Array.map (<anonymous>)
    at https://unpkg.com/prettier-sql@latest/dist/prettier-sql.min.js:1:9539
    at I.value (https://unpkg.com/prettier-sql@latest/dist/prettier-sql.min.js:1:9715)
    at I.value (https://unpkg.com/prettier-sql@latest/dist/prettier-sql.min.js:1:8987)
    at I.value (https://unpkg.com/prettier-sql@latest/dist/prettier-sql.min.js:1:8800)
    at Module.VT (https://unpkg.com/prettier-sql@latest/dist/prettier-sql.min.js:1:184856)
    at HTMLTextAreaElement.format (https://inferrinizzard.github.io/prettier-sql/index.js:42:31)

This occurs for BigQuery as well.
But I was able to circumvent it by setting my Line Width to 40 (the issue occurs at 60 and 80).
Additionally, it doesn't occur consistently. If I have 8 such SUM(CASE ... END) statements in a row, it may only be the last 3 that get the incorrect formatting. In may case, turning NULL END into NULLEND.

I can't seem to reproduce the final error you reported but there is a fix out for the END spacing issue in #79

I can't seem to reproduce the final error you reported but there is a fix out for the END spacing issue in #79

Please select the CommaPosition option to before.


Floating wIndow position is not retained when toggling between 'tile' and 'floating' state

Hyprland Version
Hyprland, built from branch  at commit<PHONE_NUMBER>117f7f150c6f2a2ce4dede6e8cbb25 dirty (). Tag: v0.28.0  flags: (if any)
Bug or Regression?
Bug
Description
Floating wIndow position is not retained when toggling between 'tile' and 'floating' state.
How to reproduce

Open any window as 'floating'. Do not define any window rules for it (except float and size).
Switch its state to 'tile'.
Make the window 'floating' again. The floating window position is changed (as compared to its position at item 1).

Crash reports, logs, images, videos
No response

not a bug. Intended behavior.

not a bug. Intended behavior.

Well... What was the reasoning behind that decision? Because it's somewhat frustrating when an untiled window is displayed in an unexpected position and partially off the screen instead of being displayed where it was the last time before tiling.


Review all middleware options usage

I think we are pretty close to having the consistent pattern for options usage in middlewares from the discussion last week:

All middleware should take IOptions<TOptions> instead of directly taking an instance of TOptions
UseMiddleware should have the follow two overloads:

UseXyz(options => options.Whatever = "yar") // use shared options from DI, and apply action to tweak
UseXyz(new TOptions() { Whaterver = "yar" }) // forget about what's in DI, just use this instance

Introduce a new abstract Options<TOptions> base class that implements IOptions<TOptions> by simply returning this, that all the framework options can dervice from to easily get this behavior for free.

I can make a pass through all the repos to make things consistent assuming we all agree that this what we want...
Thoughts @divega @lodejard @davidfowl ?

Should we also have the empty overload of UseXyz() to pull options from DI without touching them?

The base class doesn't work well, I tried that option and it fails miserably with AuthenticationOptions since it gets in the way of the base options classes.  We probably have to use a wrapper like @pinpointTownes suggested that's only used in the UseXyz overloads (alternative implementation of IOptions basically)
I think UseXyz() should exist where appropriate, its definitely not always appropriate for middleware that requires configuration keys etc

Should we also have the empty overload of UseXyz() to pull options from DI without touching them?

@divega that's more or less the pattern I recently suggested to @HaoK (except that my approach was still compatible with named options): https://github.com/PinpointTownes/Security/commit/26b511f3d294f4b9545e1fbc57e4ef5226672118#commitcomment-12263892

We probably have to use a wrapper like @pinpointTownes suggested that's only used in the UseXyz overloads (alternative implementation of IOptions basically)

Ideally, you could even use it everywhere you have to deal with IOptions<TOptions> (like MemoryCache, whose constructor requires IOptions<MemoryCacheOptions>):
public static MemoryCache Create(MemoryCacheOptions options) {
    return new MemoryCache(new Options<MemoryCacheOptions>(options));
}

var cache = MemoryCache.Create(new MemoryCacheOptions {
    CompactOnMemoryPressure = false
});

If we go the wrapper route, we should probably just enhance the existing OptionsManager implementation of IOptions to support this usage rather than a different duplicate class with a very similar name and purpose

Interesting. I also suggested a wrapper when we met. My variation had a static method that would wrap any T instance into an IOptions. Think Options.Create(new XyzOptions { Whatever = x }). The main push back was discoverability.

BTW, if the base class is just for convenience it would be OK for options that need their own base classes to implement IOptions<T> on their own, correct?

Yes this is what I ended up doing for the security auth options

Looks like we've settled on not using IOptions for middleware options in general


Support CUDA 11.0

This PR is to support CUDA 11.0.

Could you add FP16 headers under cupy/core/include/cupy/_cuda/ and update cupy/core/core.pyx (compile_with_cache)?
Could you add compute_80 support in cupy/cuda/compiler.py and cupy_setup_build.py?
I guess it's better to cache check_availability results as it's call is now frequent. So far I'm unsure if how much it affects performance, so I think it's ok to discuss this in separate issue orPR.

Thanks for the feedback, @leofang and @kmaehashi . I think I've incorporated all the feedback into the source code, so could you check it again?

It is failing to build in the Travis CI, but id doesn't seem to be related to my fix... Could you check it?

I think something might go wrong with Sphinx, so Travis keeps complaining today. Possibly the latest release is backward incompatible?

Hi @anaruse, I realized that the changes I made in #3430 need attention for CUDA 11 support. Would you like me to help you here?

Thank you for letting me know that, @leofang.
I think I resolved the conflicts to the updated master branch and also added csc2csrEx2() to be consistent with the change in #3430.
Could you check if this is OK?

LGTM!
I tested the build locally with CUDA 11.0 RC.
pfnCI, test this please.

Jenkins CI test (for commit c1cf00faae8db5873af75786fa7480881614fd34, target branch master) failed with status FAILURE.

Test failures are caused by SciPy 1.5.0 and not related to this PR.

Thanks for the support @anaruse 👍

@kmaehashi This pull-request is marked as to-be-backported, but the corresponding backport PR could not be found. Could you check?

@kmaehashi This pull-request is marked as to-be-backported, but the corresponding backport PR could not be found. Could you check?

@kmaehashi This pull-request is marked as to-be-backported, but the corresponding backport PR could not be found. Could you check?

@kmaehashi This pull-request is marked as to-be-backported, but the corresponding backport PR could not be found. Could you check?

@kmaehashi This pull-request is marked as to-be-backported, but the corresponding backport PR could not be found. Could you check?

Is there anything I can help with this PR backport?
I'm not familiar with the backport procedure in CuPy, but can I squash this PR commits, merge it into the v7 branch, and then resolve the conflicts?

@kmaehashi This pull-request is marked as to-be-backported, but the corresponding backport PR could not be found. Could you check?


Sample time vs CPU utilisation

The documentation states the following figures:
The approximate CPU percentage used for each sample rate is:

sample  cpu
 rate    %

  1     25
  2     16
  4     11
  5     10
  8     15
 10     14

How were these numbers measured?
On my B+ board the sample rate of 10 us causes definitely a few percentages less utilization than 5 us.

Frankly I don't remember.  They are guide figures.  I think I was running https://www.youtube.com/watch?v=2vq0Q4dD6KE at the time to get some idea myself.


Allow defaultValue to be a function that returns a value

This wont pass TS:
args: {
      effectiveDate: t.arg({ type: 'Date', required: false, defaultValue: () => new Date() }),
    },

Error:
Type '() => Date' is not assignable to type 'Date'.ts(2322)

defaultValue corresponds to graphql-js default value, and default values are serialized and printed as part of the schema, and exposed in graphiql.  Using a function that dynamically generates the default function would not work in these situations.  It would be possible write a plugin that does something like this, potentially adding it a new option (maybe just default), but in core, defaultValue needs to align with how this works in graphql-js.

I think in this case, what I would do is destructure the args arg with a default value for date.  That will get evaluated when the resolver runs

makes sense. thanks for the quick reply! closing


Problem Tagging Comics, if the Comic include a (:) in title

Hi,
I have just started using comictagger and using it with metron.cloud.
So far I am happy with it. I use the cli variant, to tag my comics.
I just found out, I have problems tagging comics, which include a ":" inside series name.
Example: Conan: Serpent War
https://metron.cloud/series/conan-serpent-war-2020/
I think this is because the filename don't include any ":".
The ":" is replaced with a minus "-" in my files.
Example:
Conan: Serpent War (Series Name) -> Conan - Serpent War (File Name).
I am using this command for tagging my files:
comictagger.exe --recursive --save --parse-filename --online --met-username xxx --metron-key xxx --type cix --overwrite --save-on-low-confidence --no-abort --interactive --verbose c:\temp
Is there an alternative command line parameter, which I can use, to find a match on this?

can you attach the logs from %LOCALAPPDATA%\ComicTagger\logs


[docs] Section headers feel weird

The Section headers turn my cursor into an unexpected resizing look, also the "#" link is a bit out of place.

Thank you reporting!
The "#" is supposed to be small and placed right above the Title.
The cursor is also supposed to be "s-resize".
But I fixed the description which wasn't supposed to be so close to title.


HTTPS Server / Microsoft ADFS response?

Dealing with ADFS
It forcing to use HTTPS
Is there a way with the SPDemo.exe to have the server it creates, to be HTTPS with supplied cert files?

I was able to modify the saml.http.server.pas to use HTTPS.
Now ti figure out how to parse the ADFS XML response.  Doesn't match Auth0.com's so it blows up a little bit with missing fields like NameID ... and then if i remove that, it won't parse/show any attributes returned.

well I have the HTTPS part working... since it uses INDY and OpenSSL and such.
I have it so it works mostly, using HTTPS://LOCALHOST
I have gotten A little closer on things....  I can generate this XML SAML Request and fire it off...
`<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="BE3E313B52424C72BB8DACE18F39E690"
Version="2.0"
IssueInstant="2024-11-24T12:00:00Z"
Destination="https://server.com/adfs/ls/"
AssertionConsumerServiceURL="https://localhost/assertion">
<saml:Issuer>http://server.com/adfs/services/trust</saml:Issuer>

<samlp:NameIDPolicy
    Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
    AllowCreate="true" />

<samlp:RequestedAuthnContext Comparison="exact">
    <saml:AuthnContextClassRef>
        urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
    </saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>

</samlp:AuthnRequest>`
Using this as my SAML request, I finally get to a point, I can put in a user name and password.
But then fails afterwards about the SAML request not doing the whole back and forth signing section?
Not 100% sure yet what to do here.  I assume use Sign PubKey and EncPubKey ? but what to exactly do/use, i haven't gotten that far yet...
Error details: MSIS7085: The server requires a signed SAML authentication request but no signature is present.
If I skip the SAML request, and go straight to a login page... and go through the process there, this is what the ADFS SAML response looks like...
<samlp:Response ID="_70940581-b4df-46b1-a3d7-0bada1f1288a" Version="2.0" IssueInstant="2024-11-25T04:47:10.534Z" Destination="https://LOCALHOST/assertion" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" 	xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"> 	<Issuer 		xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://server.com/adfs/services/trust 	</Issuer> 	<samlp:Status> 		<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/> 	</samlp:Status> 	<Assertion ID="_14f49bf4-7640-4a23-8638-6fe9e048628a" IssueInstant="2024-11-25T04:47:10.534Z" Version="2.0" 		xmlns="urn:oasis:names:tc:SAML:2.0:assertion"> 		<Issuer>http://server.com/adfs/services/trust</Issuer> 		<ds:Signature 			xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 			<ds:SignedInfo> 				<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> 				<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/> 				<ds:Reference URI="#_14f49bf4-7640-4a23-8638-6fe9e048628a"> 					<ds:Transforms> 						<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> 						<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> 					</ds:Transforms> 					<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> 					<ds:DigestValue>NBZEtf3yX8NLLedRxvHACDMIhjt5ZiNHkubdMLGvqms=</ds:DigestValue> 				</ds:Reference> 			</ds:SignedInfo> 			<ds:SignatureValue>azTfGqEcaRdZvjUS92PlWp1Z5zPmKgKbi0nxipvqq6/kFTeeQlBo6R9j9f8kZpkazuHEfoc6USsTVyNvrd/twEofQeg==</ds:SignatureValue> 			<KeyInfo 				xmlns="http://www.w3.org/2000/09/xmldsig#"> 				<ds:X509Data> 					<ds:X509Certificate>MIIDdTCCAl2gAwIBAgIQQTdRlWQcV4dEN/KSKkeZhzANBgkqh+fFUUsxjevItqS4VkgYIaNh0OVtgOP+yWuyIZ6BsuH75CfzNl0PTmZaCIZfkK/Jkkg==</ds:X509Certificate> 				</ds:X509Data> 			</KeyInfo> 		</ds:Signature> 		<Subject> 			<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> 				<SubjectConfirmationData NotOnOrAfter="2024-11-25T04:52:10.534Z" Recipient="https://LOCALHOST/assertion"/> 			</SubjectConfirmation> 		</Subject> 		<Conditions NotBefore="2024-11-25T04:47:10.534Z" NotOnOrAfter="2024-11-25T05:47:10.534Z"> 			<AudienceRestriction> 				<Audience>http://someserver.com</Audience> 			</AudienceRestriction> 		</Conditions> 		<AttributeStatement> 			<Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"><EMAIL_ADDRESS>		</Attribute> 			<Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"> 				<AttributeValue>steven c</AttributeValue> 			</Attribute> 			<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/role"> 				<AttributeValue>CP Dev</AttributeValue> 			</Attribute> 			<Attribute Name="EmployeeNumber"> 				<AttributeValue>54</AttributeValue> 			</Attribute> 		</AttributeStatement> 		<AuthnStatement AuthnInstant="2024-11-25T04:47:09.220Z"> 			<AuthnContext> 				<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthnContextClassRef> 			</AuthnContext> 		</AuthnStatement> 	</Assertion> </samlp:Response>
Hopefully this helps? ... So far this demo has taught me a number of things and I have been able to tweak it and change it to do what I need.  But still got a bit more to figure out. The ADFS server setup, I have no control over, and have to bug people for details and help.

I pulled the two X509 certs from the meta data file.
I take it that this gives me the
"Sign PubKey" and "Enc PubKey" from the IDP tab...
On the "Service Provider" tab, there are 4 keys to set?
I was able to generate 2 pem files.
sp-private-key.pem  ( this has the password set during generation ? )
sp-cert.pem ( this is what i take is the public file )
Then for "Sign PrivKey" this would be set to sp-private-key.pem
Then for "Sign PubKey" this would be set to sp-cert.pem
I don't know what the next two drop downs are for and what to set... "Enc PrivKey" and "EncPubKey"    ( btw its labeled as encPutKey .... )
Also... do I need a password field or something somewhere to set a password for the sp-private-key?
In the function SignRequest, i had to modify this line
{code}
LSignatureContext.LoadKey(TBytesStream.Create(AKey.Data), AKey.Format, True);
{code}
into
{code}
LSignatureContext.LoadKey(TBytesStream.Create(AKey.Data), AKey.Format, 'mypasswordhere', True);
{code}
For it to get past that part. It would fail loading without a password.
But it gets to this line
{code}
LSignatureContext.Sign(LXMLDocument);
{code}
and crashes out it looks in the openssl libeay32.dll
{code}
:776ddd59 ntdll.RtlIsZeroMemory + 0x99
:776e6ff3 ;
:776ed96b ;
:776803f1 ;
:7763f6f6 ntdll.RtlFreeHeap + 0x46
:110d268c ; C:\Software\Delphi-SAML\Demos\bin\libeay32.dll
:1100269d libeay32.CRYPTO_free + 0x1d
System.TInterfacedObject._Release
System._IntfClear(???)
:00c4f287 @IntfClear + $13
SAML.http.Server.GetAuthnRequest($4873850,$487A750)
{code}

Doing more messing around...
I did find i needed this in the INI file
SSOBinding=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
HTTP-POST by itself wasn't good enough.
I've been spending hours and hours a day on this... but only getting a bit further.. maybe?
I might have to throw in the towel and say to management that Delphi can't do SAML.
At least when it comes to ADFS.
I can't get anywhere on this.
I even setup my own 2022 Server and ADFS and got to same point.


Automated cherry pick of #3750: Update latest CI testbed to 1.24 and adjust related script

Cherry pick of #3750 on release-1.5.
#3750: Update latest CI testbed to 1.24 and adjust related script
For details on the cherry pick process, see the cherry pick requests page.

/test-all
/test-flexible-ipam-e2e


Uglification failed

{ message: 'Unexpected token: punc (.)',
filename: 'bin/assets/ngbp-0.3.2.js',
line: 50958,
col: 0,
pos: 1840357,
stack: 'Error\n    at new JS_Parse_Error (/Users/praghavan/kaleidoscope/src/main/ui/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js:196:18)\n    at js_error (/Users/praghavan/kaleidoscope/src/main/ui/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js:204:11)\n    at croak (/Users/praghavan/kaleidoscope/src/main/ui/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js:680:9)\n    at token_error (/Users/praghavan/kaleidoscope/src/main/ui/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js:688:9)\n    at unexpected (/Users/praghavan/kaleidoscope/src/main/ui/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js:694:9)\n    at /Users/praghavan/kaleidoscope/src/main/ui/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js:784:17\n    at /Users/praghavan/kaleidoscope/src/main/ui/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js:727:24\n    at /Users/praghavan/kaleidoscope/src/main/ui/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js:1474:23\n    at Object.parse (/Users/praghavan/kaleidoscope/src/main/ui/node_modules/grunt-contrib-uglify/node_modules/uglify-js/lib/parse.js:1484:7)\n    at /Users/praghavan/kaleidoscope/src/main/ui/node_modules/grunt-contrib-uglify/tasks/lib/uglify.js:39:27' }

Uglifying source "bin/assets/ngbp-0.3.2.js" failed.
Warning: Uglification failed.
Unexpected token: punc (.).
Line 50958 in bin/assets/ngbp-0.3.2.js
Use --force to continue.

I'm having the same issue. It seems that uglify is mixing the CSS files from vendor_files.css (in build.config.js) into the final Javascript file. I'm researching and the only thing I can find is that uglify doesn't support CSS minifying at all, so I don't get it why it's included in the configuration file as an option for uglify.

Do you have any update on this? Could you provide any info about how did you solve this issue?


feat(sermver): insert dependency changes to changelog

Relates to #314, #417
Hello, this PR inserts dependency changes to changelog, e.g.:
# change log

# [1.0.0](https://github.com/foo/bar/compare/v0.6.0...v1.0.0) (2022-01-04)

### Dependency Updates

* `new-lib` updated to version `0.1.7`
* `ui` updated to version `0.1.6`

The main changes are as followed:

getDependencyRoots returns dependency root paths & project names
tryBump returns project version and dependency changes
versionProject no longer generates changelogs via _runStandardVersion, instead uses _generateProjectChangelogs & insertChangelogDepedencyUpdates (in utils/changelog.ts) which inserts dependency changes generated from tryBump.

Tests have been updated according to changes made
Please understand that it is only my first time using rxjs and there may be some misuse of it's usage pattern. Please let me know if there should be changes made.

Finally got your work merged onto main, thanks a lot for your time!


Get the size and start address of the stack segment

Hi, there!

In MIR, it is very convenient to use MIR_BSTART to get the current stack pointer of the function, but I wonder if there is any way to get the size and start address of the stack segment.

@vnmakarov
Thanks for your reply!
Yes, stack switching that saves function context is a very useful feature, and I will need it. I'm trying to implement delimited continuations in a DSL, and if MIR provides stack switching primitives, then I can implement it in a "linked-list of fibers" way without converting it to continuation-passing style. At the same time, I'm curious if the current MIR stack will grow automatically (similar to GCC's split stacks), which would make it easier to implement such language runtimes.

OK.  I'll think what MIR features should be added to make possible fibers implementation and split stacks.


Combine field parameters into FieldParams dataclass

WIP:
Staged on top of #13

@JanosJiri thanks for taking a look. I think I am going to defer merging this and split this into smaller PRs. There were a lot of manual changes here and I don't want to inadvertently break something, since we currently don't have any numerical tests.

Closing in favor of #17


Custom logging metrics

How do I add custom logging metrics? I.e. reward and custom environment variables

Hi @ricky-ma , the easiest way to add custom logging metrics is to update the DetailedPerAgentStatistics class and update the running stats variable (https://github.com/instadeepai/Mava/blob/57ae3c8562e77b21e4cfa72b91fa65665f77aa04/mava/wrappers/environment_loop_wrappers.py#L238).
To make this easier, in one of pull requests, we have added a check (https://github.com/instadeepai/Mava/blob/831ea52f292b231cfbbff86e57cfc8b3d3ceb39d/mava/wrappers/environment_loop_wrappers.py#L242) to read if your env has a get_stats function and if it does, we add the information to our logging metrics. Here is an example of a get_stats function (https://github.com/instadeepai/Mava/blob/831ea52f292b231cfbbff86e57cfc8b3d3ceb39d/mava/systems/tf/madqn/execution.py#L82). Once this PR is merged (hopefully end of this week or early next week), you only need to implement a get_stats method in your environment and our loops will handle the rest.

Awesome, looking forward to this. Thanks!

@KaleabTessera Hi there, any updates regarding this PR? No rush!

@ricky-ma Unfortunately the PR with these changes is still a WIP. You work directly off this branch - https://github.com/instadeepai/Mava/tree/feature/smac-env-upgrades . The custom logging metrics should work as mentioned above, we just have some other fixes in this branch before we can merge it in.

@KaleabTessera Thanks, just tested with this branch and it seems like the get_stats() function isn't being called? I'm using a custom PettingZoo environment w/ MADQN. I've tried debugging here:
https://github.com/instadeepai/Mava/blob/feature/smac-env-upgrades/mava/wrappers/pettingzoo.py#L635
and here:
https://github.com/instadeepai/Mava/blob/831ea52f292b231cfbbff86e57cfc8b3d3ceb39d/mava/systems/tf/madqn/execution.py#L82
It seems like neither of these functions are being called. Any idea what's going on? Appreciate the help!

@ricky-ma Can you confirm that your MADQN has this line - https://github.com/instadeepai/Mava/blob/ae0cb9913bc2e7341f3188f6445ad4546c0826dc/mava/systems/tf/madqn/system.py#L520 .
Then here (https://github.com/instadeepai/Mava/blob/ae0cb9913bc2e7341f3188f6445ad4546c0826dc/mava/wrappers/environment_loop_wrappers.py#L147), DetailedPerAgentStatistics checks if your environment has a get_stats() method and if it does, it calls it and gets the dict returned and appends it to the running stats.
If you are using a custom PZ environment, are you wrapping it with PettingZooParallelEnvWrapper? It should work either way, as long as the environment has a callable get_stats method.

Ahh I see the problem. I've been trying to log stats each step, but the default is to write to the logger after each episode - got it working now. Thanks for your help!


[OPENJDK-1165] install tar in the runtime images

oc rsync requires either tar or rsync to be present in the container images. oc cp requires tar. Install tar in the runtime images so that both oc commands function. This results in a negligible (+0.6MiB) increase in container size.
https://issues.redhat.com/browse/OPENJDK-1165
tar and rsync are already present in the builder images.

@jmtd  I always though the runtime images omit the tar for extra security. (less attack surface) But was for sure annoying not having the oc cp command.
FYI tried latest /ubi9/openjdk-17-runtime  and /ubi8/openjdk-17-runtime and neither have tar.
[jboss@con1 tso]$ tar
bash: tar: command not found

here the labels of the image:
ubi8
LABEL "release"="2.1705573231" "distribution-scope"="public" "vendor"="Red Hat, Inc."
 "build-date"="2024-01-18T10:36:52" "architecture"="x86_64" "vcs-type"="git" "vcs-ref"="12aac04fffa038f171574a2c3f057a2c253f5c27" "url"="https://access.redhat.com/containers/#/registry.access.redhat.com/ubi8/openjdk-17-runtime/images/1.18-2.1705573231"

ubi9
LABEL "release"="1.1705573249" "distribution-scope"="public" "vendor"="Red Hat, Inc."
"build-date"="2024-01-18T10:50:38" "architecture"="x86_64" "vcs-type"="git" "vcs-ref"="3481e465a49a7ad88fb81bcbac9cb4e38389f931" "url"="https://access.redhat.com/containers/#/registry.access.redhat.com/ubi9/openjdk-17-runtime/images/1.17-1.1705573249"

FYI tried latest /ubi9/openjdk-17-runtime and /ubi8/openjdk-17-runtime and neither have tar.

Yes we haven't shipped this yet; it'll go out in version 1.18 which we are aiming for towards the back end of February. We try to promptly push tags when we ship a new version, so to see which features are shipped or not, it's worth looking at the latest tag. (this reminds me...)


Document data index in compact architecture

create a README.md how the data index works.

https://github.com/apache/incubator-kie-kogito-apps/pull/2002


Always pass youtube url to player

Hi, I don't understand enough about Perl to figure this out myself, but I think a setting or a new *VARIABLE* to always pass "youtube_video_url" to the selected player, even when pipe-viewer is falling back to the Invidious API to grab search results and comments would be nice.
Invidious nodes tend to be a little slower, and plugin support in the youtube-dl project (I removed the --no-ytdl arg in my config) for it is understandably slightly less maintained than its support for youtube itself. In my case mpv's "ytdl-format" setting isn't working as-is, and I think the reason might be that youtube-dl doesn't know how to select video resolutions with Invidious.
pipe-viewer's "-2", "-3" arguments do work, and I saw something to do with resolution in the config file, but I'd still enjoy the faster speed of watching videos from youtube itself, and unlike the rest of the API, that point will only ever fail if you get a http 503.

Hi. There is the *URL* special token than can be used for passing the YouTube URL to a video player.
See also: https://github.com/trizen/pipe-viewer/issues/13

Whoops! Sorry.

I realise I'm posting on a closed issue, but I finally figured out what
seemed so different between loading a video through pipe-viewer and
through mpv by itself. When loaded through pipe-viewer, audio seems to
become momentarily desynced with the video when seeking, even being mute
for a second or two. This is because I had pipe-viewer configured to
force its own audio stream into mpv (is this default behaviour? I
wouldn't really be able to tell). By commenting out mpv's "audio"
argument in .config/pipe-viewer.conf, I was able to fix this. Now it's
indistinguishable to loading a youtube video URL in mpv directly.


Suggestion: Include Neutrino as a way to get started.

There's a community supported neutrino preset out there for Preact.
This is one of the quickest way to get started with the library. Consider adding it to the documentation.
The basic getting started steps are:
yarn add --dev neutrino neutrino-preset-preact
yarn add preact preact-compat

mkdir src && touch src/index.js src/App.js

App.js
import { Component } from 'preact'

class App extends Component {
  render () {
    return (

Hello World!

    )
  }
}

export default App

index.js
import { render } from 'preact'
import App from './App'

let root
function init () {
  root = render(<App />, document.getElementById('root'), root)
}

init()

if (module.hot) module.hot.accept('./App', init)

package.json
...
  "scripts": {
    "start": "neutrino start",
    "build": "neutrino build"
  },
  "neutrino": {
    "use": [
      "neutrino-preset-preact"
    ]
  }

npm start
and you're good to go with hot reloading and all.

That seems like a reasonable alternative for those not using preact-cli.  Not sure where it fits in the existing documentation, likely needs to be slotted in somewhere new (which is good, we need to change up the information architecture quite a bit)

@developit hey, author of the preset here. Let me know if you need some changes to the preset.
I'm thinking of creating a one step tool (a la create-react-app), that uses neutrino to bootstrap the app :smile:
I think that will massively simplify the process of creating and using a preact app further.

Hey, just found this thread, author of Neutrino here. We have a scaffolder in the works for Neutrino that will work with all our projects types, and that will include preact as well. This is slated to ship with Neutrino v8.
My suggestion would be to hold off on documenting using Neutrino and preact in this manner until we ship that, which should occur within the next 3 weeks.


"Please enable the data profiler by following the documentation" - link broken

Affected module
This affects the UI
Describe the bug
When you don't have the profiler enabled and you click on the "Profiler & Data Quality" tab, you will get the following message:
"Data Profiler is an optional configuration in Ingestion. Please enable the data profiler by following the documentation"
... followed by a link to the documentation which is incorrect.
The link points to:
https://docs.open-metadata.org/connectors/ingestion/workflows/profiler
When it should be pointing to here instead:
https://docs.open-metadata.org/v1.4.x/how-to-guides/data-quality-observability/profiler
Because the profiler documentation was moved to the how to section in release 1.4
To Reproduce
Assuming you haven't enabled the profiler, click on any table, and then click on the "Profiler & Data Quality" tab for that table. You will see a message like the following:

Then click on the "here" link in that message and you will get a "Page not found :(" message.
Expected behavior
You should see the profiler documentation, and not get a "Page not found :(" message.
Version:

OS: Windows
OpenMetadata version: 1.4.1
OpenMetadata Ingestion package version: 1.4.1

Looking into it

closed by https://github.com/open-metadata/OpenMetadata/pull/17140


Add a hook for injecting files to tarfile with a Docker build context

Proposed change
I'd like to propose adding a hook that would allow to add files directly to the tarfile that's used as a Docker build context. See: https://github.com/jupyter/repo2docker/blob/d674eceeba77ec3fd16b7123bf248b0aede2bf7e/repo2docker/buildpacks/base.py#L493-L521
Right know, there's an implicit assumption that all files injected to the context are a part of r2d itself:
https://github.com/jupyter/repo2docker/blob/d674eceeba77ec3fd16b7123bf248b0aede2bf7e/repo2docker/buildpacks/base.py#L516
Rationale
This feature is useful(/necessary) for developing custom buildpacks as repo2docker plugins (following @yuvipanda's suggestion: https://github.com/jupyter/repo2docker/issues/487#issuecomment-479794426) in case they need to inject their own script files.
Alternative options
Alternative, would be to somehow modify base template and get_build_script_files to take into account that files can reside outside of repo2docker repository. However, this sounds a lot more invasive.
How much effort will adding it take?
Not much, because I'm a lazy bum:
--- a/repo2docker/buildpacks/base.py
+++ b/repo2docker/buildpacks/base.py
@@ -488,6 +488,10 @@ class BuildPack:
             appendix=self.appendix,
         )

+    def add_files_to_docker_context(self, tar, filter=None):
+        """Inject files directly to the tar file used as the Docker build context."""
+        pass
+
     def build(self, client, image_spec, memory_limit, build_args, cache_from, extra_build_kwargs):
         tarf = io.BytesIO()
         tar = tarfile.open(fileobj=tarf, mode='w')
@@ -514,12 +518,15 @@ class BuildPack:
         for src in sorted(self.get_build_script_files()):
             src_parts = src.split('/')
             src_path = os.path.join(os.path.dirname(__file__), *src_parts)
-            tar.add(src_path, src, filter=_filter_tar)
+            if os.path.isfile(src_path):
+                tar.add(src_path, src, filter=_filter_tar)

         tar.add(ENTRYPOINT_FILE, "repo2docker-entrypoint", filter=_filter_tar)

         tar.add('.', 'src/', filter=_filter_tar)

+        self.add_files_to_docker_context(tar, filter=_filter_tar)
+
         tar.close()
         tarf.seek(0)

Who can do this work?
I volunteer as a tribute!

I thought get_build_script_files already supported this, but it does not!
        for src in sorted(self.get_build_script_files()):
            src_parts = src.split('/')
            src_path = os.path.join(os.path.dirname(__file__), *src_parts)
            tar.add(src_path, src, filter=_filter_tar)

So we make all paths here relative to the repo2docker package dir. I think this was done here as a convenience. I think we should modify it to be:

If a relative path (doesn't start with /) is given, keep current behavior.
If an absolute path is given (starts with /), don't do any path mangling.

I think this wouldn't be too invasive, and help you accomplish what you want in the stage of the buildpack you'd like.
Does that work?

That would work, but there is a caveat: There are actually three paths:

physical path of the file outside of build context
path of the file in the build context
path where the file is copied from the build context to the container.
Coincidentally (or by design) relative path used in 1. is equal to 2. in r2d. When you start using absolute path it will break that assumption, which is implicitly used in other places.

@yuvipanda correct me if I'm wrong, but AFAICT in order to support absolute path I'd need to make the following changes:

Convert get_build_script_files to output files in a format that would account for all paths, e.g.:

{
    'path_to_file_in_build_context': ('path_to_file_on_host', 'dest_path_in_the_container')
}

Modify base template to take 1. into account:

COPY {{ src }} {{ dst[1] }}

Modify BuildPack.build to use new format of get_build_script_files.

Do you want me to proceed with that?

Hmm, that's a good catch! I'll admit to not having thought about that.
What do you think about this:

Keep the mapping be 'path_in_host': 'path_in_container'
Generate filenames for all path_in_host, maybe with converted path + a hash. Put the files under generated filenames into the build context
Modify the Dockerfile generated to use the generated filename as source

Is there a case where we'd want the developers / users to control what the path in the build context is? I think we can abstract that out as an implementation detail here. What do you think?

@yuvipanda that's fine with me! I can't think of any possible scenario where the filename inside the docker build context would matter.

@Xarthisius awesome! Do ping when you have a PR. ❤


Ability to output the JSON without the

Hi and thanks !
I'd like to output the raw JSON-LD in a separate output file (to process it as an RDF data file). For this I would like to output the JSON without the

Hi @tfrancart , I added a new shortcut that outputs without the script tag. It's called just jsonLd:
{% jsonLd meta, type, tags %}


add antiforgery header when uploading document

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

@JeremyLikness looking for another set of eyes on this.
Basically we were getting a 500 error when we tried to upload files from the UI to Azure Blob Storage. These changes address that.


Shader vec2 parameter behaving as float in UI

I have a shader that has several vec2 parameters however 2 of them show as vec2 in the CanvasItemMaterial parameter UI but only accept a single value (left/right limit).  Note the type icon is for a vector but only a single value is editable.  These two started life as float parameters and it seems the change to being vec2 confused something.  Exiting and restarting godot did not fix it.  Running 1.1Stable on Windows 7 64 bit.

They appeared like this in the scene XML:

After manually editing the XML and reopening the scene, they show correctly and are editable:

Ok, that seems to be a deserialization bug, when the type has changed..

Is this also valid in the current master branch/nightly builds?

Can't confirm on dde6396f221672d34d178c75f4080c1e87612aea

Let's assume it is fixed in master, feel free to reopen if it's not the case.


Basic auth support

Hello there!
Thanks for the great work, I happened to read about the project on Reddit a few days ago while I was searching for a rqlite crate for my uni project.
I added basic auth support because my nodes are secured as described here.
Happy to help,
Emiliano

Hi,
First of all, thanks a lot!
I added error handling for this functionality and updated the builder function to make the API clearer.
Please let me know if there's anything else you'd like to discuss or add :)
Otherwise, I plan to merge this soon!

Hey thank you!
No I just wanted to add this functionality since the crate itself is really good.
I was only wondering if the crate will have any trouble with HTTPS requests, but I don't think so, right? I didn't investigate yet this option since I'm really early in the project.

I just added HTTPS functionality, so it should work, see #5

super!


Update CI badge

Description
Update CI badge

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
see 7 files with indirect coverage changes
:loudspeaker: Thoughts on this report? Let us know!.


.NET 8.0 has Windows Arm64 Installer

Describe the bug
Windows on arm must install .NET 8.0(x64)
Expected behavior
.NET 8.0 has Windows Arm64 Installer
Desktop (please complete the following information):

OS: [e.g. Windows 11 on ARM]
Version [e.g. 2.40]

The installer calls this WinAPI method to get the OS architecture:
    [DllImport("kernel32.dll", SetLastError = true)]
    private static extern bool IsWow64Process2(IntPtr process, out ushort processMachine, out ushort nativeMachine);

I don't have access to a Arm64 machine right now to be able to test it properly.


az group export: query/output parameters not supported

The --Query switch is not working for the az group export command and either no information is available or all resource information in the resource group is displayed as a result.
Is there a way to modify --Query or get only specific resources (eg NSGs only)?
Same problem as below?
https://github.com/Azure/azure-cli/issues/5777

@Juliehzl Please take a look.

add to S165.

Is there an update for this issue?


[Middleware] Hydration node mismatch

Environment
Nuxt project info:

Operating System: Darwin
Node Version:     v16.12.0
Nuxt Version:     3.0.0-27396610.ed4f4f5
Package Manager<EMAIL_ADDRESS>Bundler:          Vite
User Config:      css, build, publicRuntimeConfig
Runtime Modules:  -
Build Modules:    -

Reproduction
Middleware (is global auth.global.ts ) code :
export default defineNuxtRouteMiddleware((to, from) => {
    // return a function 'onGetCookie' with undefined or the value
    const { onGetCookie } = useCookieManager();

    const protectedRoutesName = ['adminer'];

    if (protectedRoutesName.includes(to.name as string) && !onGetCookie("authenticated")) {
        console.log("Redirecting to auth page");

        return navigateTo('/auth');
    }
})

Describe the bug
The console show this :

Additional context
No response
Logs
No response

I just render all routes need authentication client side and therefore no hydration no mismatch.

I just render all routes need authentication client side and therefore no hydration, no mismatch.

Yeah, I think it is a good idea. Adding routeRules to nuxtConfig file helped me:
routeRules: {
    "/admin": { ssr: false },
    "/cart": { ssr: false },
    "/profile": { ssr: false },
  },


4268 add WbEntityVariable class

Fixes #4268
Changes proposed in this pull request:

Add a WbEntityVariable class

@j-sal your pull request still contains older changes, so you have probably not updated your master branch? See the "Files changed" tab, which contains a lot of changes unrelated to this PR, and the commit log in this PR.

Replaced by #4311.


Linux Running python setup.py install Failed

Hi Team!
my server's nvcc:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_Mar__8_18:18:20_PST_2022
Cuda compilation tools, release 11.6, V11.6.124
Build cuda_11.6.r11.6/compiler.31057947_0

torch.__version__ : 1.13.1

Linux platform

python: 3.8

GPU: NVIDIA A100-SXM4-80GB

I tried to use python setup.py install to build the source code. The first information is below:
running install
.../miniconda3/envs/test/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
.../miniconda3/envs/test/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` and ``easy_install``.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://github.com/pypa/setuptools/issues/917 for details.
        ********************************************************************************

!!
  self.initialize_options()
running bdist_egg
running egg_info
writing flash_attn.egg-info/PKG-INFO
writing dependency_links to flash_attn.egg-info/dependency_links.txt
writing requirements to flash_attn.egg-info/requires.txt
writing top-level names to flash_attn.egg-info/top_level.txt
reading manifest file 'flash_attn.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.cu' under directory 'flash_attn'
warning: no files found matching '*.h' under directory 'flash_attn'
warning: no files found matching '*.cuh' under directory 'flash_attn'
warning: no files found matching '*.cpp' under directory 'flash_attn'
warning: no files found matching '*.hpp' under directory 'flash_attn'
adding license file 'LICENSE'
adding license file 'AUTHORS'
writing manifest file 'flash_attn.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
building 'flash_attn_2_cuda' extension
Emitting ninja build file .../flash_attn/flash-attention/build/temp.linux-x86_64-cpython-38/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)

Then, I got a few warnings, like below:
[1/49] c++ -MMD -MF .../flash_attn/flash-attention/build/temp.linux-x86_64-cpython-38/csrc/flash_attn/flash_api.o.d -pthread -B .../miniconda3/envs/test/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I.../flash_attn/flash-attention/csrc/flash_attn
-I.../flash_attn/flash-attention/csrc/flash_attn/src
-I.../flash_attn/flash-attention/csrc/cutlass/include
-I.../miniconda3/envs/test/lib/python3.8/site-packages/torch/include
-I.../miniconda3/envs/test/lib/python3.8/site-packages/torch/include/torch/csrc/api/include
-I.../miniconda3/envs/test/lib/python3.8/site-packages/torch/include/TH
-I.../miniconda3/envs/test/lib/python3.8/site-packages/torch/include/THC
-I/usr/local/cuda/include
-I.../miniconda3/envs/test/include/python3.8 -c -c .../flash_attn/flash-attention/csrc/flash_attn/flash_api.cpp -o .../flash_attn/flash-attention/build/temp.linux-x86_64-cpython-38/csrc/flash_attn/flash_api.o -O3 -std=c++17 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=flash_attn_2_cuda -D_GLIBCXX_USE_CXX11_ABI=0

cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
.../flash_attn/flash-attention/csrc/flash_attn/flash_api.cpp: In function ‘void set_params_fprop(Flash_fwd_params&, size_t, size_t, size_t, size_t, size_t, size_t, size_t, size_t, size_t, at::Tensor, at::Tensor, at::Tensor, at::Tensor, void*, void*, void*, void*, float, float, int, int)’:
.../flash_attn/flash-attention/csrc/flash_attn/flash_api.cpp:47:38: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct Flash_fwd_params’; use assignment or value-initialization instead [-Wclass-memaccess]
     memset(&params, 0, sizeof(params));
                                      ^
In file included from .../flash_attn/flash-attention/csrc/flash_attn/flash_api.cpp:13:
.../flash_attn/flash-attention/csrc/flash_attn/src/flash.h:51:8: note: ‘struct Flash_fwd_params’ declared here
 struct Flash_fwd_params : public Qkv_params {
        ^~~~~~~~~~~~~~~~

I thought these warnings didn't seem to be very serious. But next second, I got thousands of errors， like below:
...
ptxas /tmp/tmpxft_0028657b_00000000-6_flash_bwd_hdim32_fp16_sm80.ptx, line 89563; error   : Array indexing on non-array
ptxas /tmp/tmpxft_0028657b_00000000-6_flash_bwd_hdim32_fp16_sm80.ptx, line 89563; error   : Immediate addresses allowed only for .local state space
ptxas /tmp/tmpxft_0028657b_00000000-6_flash_bwd_hdim32_fp16_sm80.ptx, line 89563; error   : Address expected for argument 0 of instruction 'cp.async'
ptxas /tmp/tmpxft_0028657b_00000000-6_flash_bwd_hdim32_fp16_sm80.ptx, line 89569; error   : Array indexing on non-array
ptxas /tmp/tmpxft_0028657b_00000000-6_flash_bwd_hdim32_fp16_sm80.ptx, line 89569; error   : Immediate addresses allowed only for .local state space
ptxas /tmp/tmpxft_0028657b_00000000-6_flash_bwd_hdim32_fp16_sm80.ptx, line 89569; error   : Address expected for argument 0 of instruction 'cp.async'
...

...
ptxas /tmp/tmpxft_0028657b_00000000-6_flash_bwd_hdim32_fp16_sm80.ptx, line 87725; error   : Unknown symbol 'B'
ptxas /tmp/tmpxft_0028657b_00000000-6_flash_bwd_hdim32_fp16_sm80.ptx, line 87821; error   : Unknown symbol 'B'
ptxas /tmp/tmpxft_0028657b_00000000-6_flash_bwd_hdim32_fp16_sm80.ptx, line 87844; error   : Unknown symbol 'B'
...

Basically, there are just these two types of errors, and each of them repeats thousands of times.
Then the compile process terminated.
I don't know why these errors occurred; I haven't made any modifications to the source code.
Thanks

Can you try installing with pip install flash-attn --no-build-isolation? It will download the pre-compiled CUDA wheel.

Can you try installing with pip install flash-attn --no-build-isolation? It will download the pre-compiled CUDA wheel.

Thanks a lot for your quick response!
Yeah, I can successfully install flash attention with pip install flash-attn --no-build-isolation, but I want to do some modifications to the csrc source code latter, so I hope I could compile the code with python setup.py install or python setup.py develop and then observe the corresponding output results.

For development I use the pytorch docker image from nvidia.

For development I use the pytorch docker image from nvidia.

But I don't have sudo on the server and the server don't have docker on it. I'll try to figure out the env difference between mine and the pytorch docker image. Thanks

Can you try installing with pip install flash-attn --no-build-isolation? It will download the pre-compiled CUDA wheel.

And Dr.Dao, is the pre-compiled CUDA wheel  located at the env's site-packages folder and named flash_attn_2_cuda.cpython-38-x86_64-linux-gnu.so? If I utilize the PyTorch Docker image to generate the .so file on my personal computer and then transfer the .so file to the server using scp, will it execute successfully?


Mention that only OSX/MacOS

Looks like Windows & Linux compatibility won't happen for a long time, if ever.

There are open issues for both, see https://github.com/wulkano/kap/issues/20, https://github.com/wulkano/kap/issues/31 and https://github.com/wulkano/aperture.js/pull/7.

Hi there @tomByrer. We actually do explicitly state that Kap is OSX/Mac OS only in both places that we offer downloads.

Thanks for the fast feedback!
I was thinking about something near the the big, green, "Get App" button on your website, which IMHO is the most obvious download link.    There is a faded gray specs 4 elements away, maybe that can be bolder & moved closer?


No object-detection in live-demo?

Thanks for this great repo. This was exactly what I was searching for.
But when I start the demo no objects are marked. I see the message: "YOLO inference took 4899.555000000001 milliseconds." on the console and tried with the usual classes: "person", "cup", "mobile", "keyboard" ...
but nothing is detected.
Is there something special to be done?

That's interesting, it seems like the model is running successfully (though a bit slow). Just to sanity check: you or the objects you're trying are being held still for ~5 seconds in front of your webcam? It could be potentially a lighting/image quality issue as well.
You can clone the demo, and try using tf.fromPixels on a static image and see if it'll properly detect objects. You can do that by swapping out the <video> element with <img> in index.html, and passing in the img element into the Webcam constructor in index.js, and probably commenting out  webcam.setup()

The static image should have 416 dimension at all?

The input image should be 416x416(x3 for channels). @senthil090 are you running into the same issue of no objects being detected?

@MikeShi42 yes i got a same issue.

@senthil090 If possible, can you try detecting on this static image and letting me know if you get any detections? Just to eliminate any possibility of it being an image quality issue. https://i.imgur.com/Ojk3PB4.jpg
(Assuming you're testing with tfjs-yolo-tiny-demo) You can detect on a static image by replacing the video element in index.html with an img element with the src pointing to the above image. You can then pass the img element into the Webcam constructor and comment out the webcam.setup() in line 19.

@MikeShi42 i checked with the image given by you and replaced the video element. this time i got Error: Indices must be of dtype int32 error in console.

@senthil090
If someone encounters the int32 error,
I solved this by adding .toInt()
to occurrences of:
tf.tensor1d(keep_indx)
tf.tensor1d(indices_arr)
Becomes:
tf.tensor1d(keep_indx).toInt()
tf.tensor1d(indices_arr).toInt()


Tech/add linters

https://github.com/benetherington/node-TOM-discord-bot/issues/12

@benetherington here's a little welcome back from holidays gift :gift:

😍
Oh, this is lovely, thank you. I'm almost done with what I'm working on right now, I should be able to take a look at this in the next two days.
BTW, I'm very proud of what I'm working on right now. benetherington/salvage-search. I just did a GIANT rewrite that includes what I consider some very pretty handwritten frontend work. Pretty for me, anyway. :) The project is totally useless to almost everyone who doesn't work on the crash study that is my day job. For us, though, this thing is kinda blissful. :)

Cool! Once this is merged, I'll add a tool that automatically lints files on each commit.
I'll have a look at your other project :grin:

I'm excited for automated linting, thank you. I'd appreciate more info. I didn't know you could configure git to run scripts, or is this a github action?

Not on github, it's local.
It's called git hooks.
The tool I'll set up is husky.
An alternative I use for ruby (but works for most languages) is overcommit.
Here's documentations about hooks, no need to read them all, just pick one that suits you :smiley:
https://git-scm.com/docs/githooks
https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks
https://githooks.com/
https://www.geeksforgeeks.org/git-hooks/ (warning big "pliz sign up" modal, at least there's a :x: on top to close it)
https://www.hostinger.com/tutorials/how-to-use-git-hooks/ (warning the cookie banner takes half the page)
For longer term follow up, you can set up codeclimate on your open source projects


Update performance benchmarking docs for v21.2

Update our performance benchmarking docs for v21.2. Requires coordination with Product and Engineering. See also:  https://cockroachlabs.atlassian.net/wiki/x/LQCPOw.

Looks like we won't be doing this for the 21.2 cycle. We can leave the performance overview page referencing 19.2 and 21.1.
cc @awoods187


add image xib or stroyboard  resource  by different person in one project  conflicts always coming

add image xib or stroyboard  resource  by different person in one project  conflicts always coming

It is recommended to put the generated file in your gitignore. R.swift will regenerate the file for you when you build and this will prevent conflicts in generated code.
Alternatively; just run R.swift again. It will regenerate the file for you and solve the conflict.


docs: revise documentation for best image practices

This PR adds information about compression, priority, cumulative layout shift, and using rem (#11791).

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Edits

[x] Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.

@benmccann When working with some SVG, I noticed if I put it in a component like I see suggested often, I notice that the SVG nodes get parsed by Svelte and end up duplicated in the prerendered HTML as well as the JavaScript bundle.
If you do {@html \...`}at least the nodes aren't all parsed and tracked withclass` applied to them, but the string is still duplicated in the JavaScript.
For this reason I opted to link to the SVG like so:
<img
		src="/svg/above-the-fold.svg#key"
		width="876"
		height="240"
		alt=""
		draggable="false"
		class="unselectable"
		loading="eager"
		fetchpriority="high"
	/>

This works. However this file is only 5kb so I decided it might be best to inline it again, but to avoid having it duplicated in the JavaScript bundle, I put it inside the <body> tag of app.html and linked to the symbols like so:
	<svg aria-hidden="true" focusable="false" class="unselectable">
		<use href="/#key" />
	</svg>

Do you think an explanation like this would be worth adding to the best image practices documentation?

Do you think an explanation like this would be worth adding to the best image practices documentation? Is there some other way to have svelte not duplicate the SVG in JS?

I tend to think that we shouldn't document this for a couple of reasons. The first is that it probably only helps for images in your layout - if it's on a sub-page then you're including the image on the page without necessarily using it. The bigger issue in my mind though is that this doesn't seem like the ideal long-term fix. Instead, Svelte should figure out how to support something like partial hydration. See https://github.com/sveltejs/kit/issues/1390 for a discussion of that. It's something we're thinking about, but won't get too soon as it's tricky to figure out what to do. I'll post some updated thoughts there shortly.

@benmccann What about a <svelte:body> tag as a stopgap for now?

I think there may have been a <svelte:body> in the past, which did something a bit different, so that could end up being confusing. Anyway, I don't think anything's likely to happen until after the initial release of Svelte 5 as everyone's focused on that at the moment.
I'm not sure what you think about my suggestions above, but if you don't have any objections to them I could merge them into my PR. I did have one question about whether there are any references for more detailed info here: https://github.com/sveltejs/kit/pull/11792#discussion_r1483391622

I did have one question about whether there are any references for more detailed info here:

Here was my reply to that (you may have missed):

Main point was to have more information that just "set priority" which was unclear to me as someone just starting to read about image optimizing and this document being on of the launching points. From what I gather decoding is something you can try and see if it helps with for example lighthouse score or from wht you can observe on throttled cpu/network, but it is not likely to make a big difference. I found this to be a good resource that touches on this as well as the other things:
https://web.dev/learn/design/responsive-images
As it seems you want to keep this document terse, I think a link to a resource like that would be good here regardless of what you decide.

That website explains:
https://web.dev/learn/design/responsive-images#preloading_hints

The decoding attribute will not change how fast the image decodes, but merely whether the browser waits for this image decoding to happen before rendering other content.
In most cases this will have little impact, however in certain scenarios it can allow the image or content to be displayed slightly faster. For example, for a large document with lots of elements that take time to render, and with large images that take a while to decode, setting sync on important images will tell the browser to wait for the image and render both at once. Alternatively, setting async can allow the content to be displayed faster without waiting for the image decode.
However, the better option is usually to try to avoid excessive DOM sizes and ensure responsive images are used to reduce decoding time meaning the decoding attribute will have little effect.

Furthermore, from MDN:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/decoding
No

preference for the decoding mode; the browser decides what is best for the user. This is the default value, but different browsers have different defaults:
Chromium defaults to "sync".
Firefox defaults to "async".
Safari defaults to "sync" except in a small number of circumstances.
In reality, the differences between the two values are often difficult to perceive and, where there are differences, there is often a better way.
For images that are inserted into the DOM inside the viewport, "async" can result in flashes of unstyled content, while "sync" can result in small amounts of jank.
For images inserted into the DOM outside of the viewport, modern browsers will usually decode them before they are scrolled into view and there will be no noticeable difference using either value.

As we are discussing what is best for an above-the-fold high-priority image, this line seems pertinent:

For images that are inserted into the DOM inside the viewport, "async" can result in flashes of unstyled content, while "sync" can result in small amounts of jank.

However, there is other info there about decoding often having a defualt of sync already, and general idea that it shouldn't need to be set on a typical website... However, libraries like unpic default to setting the value to async, although I don't know if they have a solid technical reason for that or not.

Thanks. MDN says:

In reality, the differences between the two values are often difficult to perceive and, where there are differences, there is often a better way.

And web.dev says:

In most cases this will have little impact, however in certain scenarios it can allow the image or content to be displayed slightly faster. ... However, the better option is usually to try to avoid excessive DOM sizes and ensure responsive images are used to reduce decoding time meaning the decoding attribute will have little effect.

Given that it seems to have little impact I think I'll remove that part


Use @objc for  #selector()

Add @objc on methods that call #selector. Can you add on you code and update the podspec?
Thank
J

Hi @marmelroy,
can you merge this and create the podspec, please?? I need this feature to pass the test on Jenkins.


How can i add reset password ?

Maybe you could describe your plan in a bit more detail?
In our projects, we invalidate issued session tokens when a person changes their password. The session token used to make the password change request is not invalidated.

I want to  add enpoint change_passwort

@Barolina No problem. You might want to revoke other sessions also when you change password:
user_sessions = SessionToken.objects.active().filter(user=request.user)
if getattr(request, "auth", None) is not None and isinstance(request.auth, dict):
    session_id = request.auth["sid"]
    user_sessions = user_sessions.exclude(id=session_id)
user_sessions.update(revoked_at=timezone.now())

Thanks you


Docker image for ARM build

ARM Docker image added.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: artiomn:x: Artiom N.Artiom N. seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Font Rendering in LUbuntu OS

I'm using monaco font, OS: LUbuntu.
after upgrade to new vscode, font not good enough rendering.

Both fonts in the terminal and dropdown menu seem off, so @bpasero and @Tyriar.
@jongbatax What's your editor.fontFamily and terminal.integrated.fontFamily?

Doesn't matter what font I use. All look jerky.
If I install ttf fonts from M$ (Arial, Verdana, Helvetica et al.) it's getting even worse.
Characters are misplaced and random pixel artifacts show all around the fonts.

@octref I use monaco font, both editor and terminal....now i change to monospace, it's little help, but waiting vscode fix this font problem and back to monaco font....

Does the Insider have the same problem on your machine? https://code.visualstudio.com/insiders/

Duplicate https://github.com/Microsoft/vscode/issues/35675


jsDump fails on DOM node in Safari

See http://bassistance.de/i/1a186f.png
Fails on running the regular QUnit testsuite in Safari. With very similar results in PhantomJS.

Looks like this got fixed with cf76f1a9cecdf4bc1be39e8577e8bbed70187e4b


Escape "</script" when inlining strings

Fixes #382

should this also account for the <!-- case mentioned in https://github.com/babel/babili/issues/382#issuecomment-273873585 ?

We could just use jsesc then. Especially since it's already used by Babel.


Daily notification with different title and body

Is it possible to have daily notifications at the same time with different title and body?
Now I'm sending notifications from FCM every day with random title and body, but I would like to switch to local notifications, because they will be shown when the device is offline. I have a list of possible titles and bodies, which should be selected randomly.

Unfortunately not, especially on iOS.
What you can do is to create a new notification with same ID. The old one will be replaced, even a scheduled.

You have to take time to understand IDs and Also Please use them,
I also had those issues. But The Community of Awesome Notification is so awesome, they told me to use IDS, when I used IDs, I never had the problem with anything..

Understood. This library is very easy and simple to use, and I loved it. But, may I ask, can flutter_local_notifications library able to create daily notifications at the same time with different title and body and overcome this problem ?

Understood. This library is very easy and simple to use, and I loved it. But, may I ask, can flutter_local_notifications library able to create daily notifications at the same time with different title and body and overcome this problem ?

No. flutter_local_notifications definitely can't do it, since it's a more limited library than awesome_notifications.

Hi! Sorry for taking so long to respond to your issue on GitHub. I was focused on releasing the new 0.7.0 version of awesome_notifications and awesome_notifications_fcm and i didn't had time enough to do both. But now I can answer all your questions.
So now i'm asking you to recreate this topic using the new issue template. There's a lot of missing informations that i need to understand your problem, and all the instructions are already in the new issue template. Also, remember to check beforehand if your issue was posted by another user.
So I will automatically close all previous issues so far.
Sorry for the inconvenience and i will be waiting for your new issue request.
Thank you so much for your support!


Move to Circle 2.0

From any of our jobs in Circle CI:

We only have about one more month to go!
Could potentially help with #2271.

A hint from @bboreham in https://github.com/weaveworks/scope/pull/3295#issuecomment-409531361:

I've tended to use pre-build build images for speed. E.g. https://github.com/weaveworks/weave/pull/3270/files , https://github.com/weaveworks/service-conf/blob/master/.circleci/config.yml

Anyone else feels like having a stab at it? @bboreham @leth @guyfedwards

Happy to pick it up 👍

I don't think I am going to have much time this week to look at this, anyone else has some time, @bboreham @leth ?

Duplicate of #3217


Rails 7.1 compatibility hack

This adds an or-equals set of @connection to @unconfigured_connection if it isn't set post super(). https://github.com/rails/rails/commit/d86fd6415c0dfce6fadb77e74696cf728e5eb76b changes the name of that ivar in AbstractAdapter and in stable 7-1 https://github.com/rails/rails/blob/7-1-stable/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb it has been changed yet again!

I think we pulled this into https://github.com/BookBub/lello/pull/29527 so closing this


[WIP] Dynamic Import Syntax Support

I have no idea why I thought this would be easy.  I have not written/seen OCaml before, so I just had a crack.  It does not pass the test I've added.
Looking for a bit of advice as to where to go from here.  I'm kinda stuck at this point if we're honest.  My train of thought was 'Look at the estree definition and try and find similar examples in the code base'. That's where the train ended 🚂.
This adds support for dynamic import syntax, which makes Flow support Webpack 2's code splitting, etc.  Attempts to fix #2968

hmmm.  interesting.  I have signed the CLA.

I'm not very familiar with dynamic imports, @jeffmo is this something on your radar?

Yea, I can run through this this week

It looks like this goes for syntax support but it doesn't hit the typechecker portions.
So I'll pick this up where you left off and try to get something out in the next few days
Thanks for getting the ball rolling!
(I'm going to leave this PR open while I iterate on things)

thanks @jeffmo. I had literally no idea what I was doing, so I'd be keen to see the diff once you're done.

@deecewan: Just landed things over here: https://github.com/facebook/flow/commit/25e89d84fcd421644bf99045d4fc8ef0be448df9
It looks like we haven't cut the v0.45 release branch yet either, so should hopefully make it into that release

Nice! Thanks a bunch for fixing that up.

Great news!

Works with 0.46.0


decapitalization on tokens with added spaces

I expected revtok.tokenize('Hello', decap=True) to produce [' CAP ', 'hello '] or something similar, but it instead yields [' Hello '].

At first glance, it seems like removing https://github.com/jekbradbury/revtok/blob/105750d71157a7e261762f193fe632da1565f0c5/revtok/tokenizer.py#L49 would give the behavior that I expect.

https://github.com/jekbradbury/revtok/commit/f74500ee2e7bf2f309ea9200c2f0955971496240


.net6 DateOnly issues in an Update statement

Sorry to bombard you, but I've got another issue with the DateOnly stuff, this time on an update query.  I included a DateOnly in a where clause of an update statement, and got the following exception:
Unhandled exception. System.AggregateException: One or more errors occurred. (One or more errors occurred. (No mapping exists from object type System.DateOnly to a known managed provider native type.))
 ---> System.AggregateException: One or more errors occurred. (No mapping exists from object type System.DateOnly to a known managed provider native type.)
 ---> System.ArgumentException: No mapping exists from object type System.DateOnly to a known managed provider native type.
   at Microsoft.Data.SqlClient.MetaType.GetMetaTypeFromValue(Type dataType, Object value, Boolean inferLen, Boolean streamAllowed)
   at Microsoft.Data.SqlClient.SqlParameter.Validate(Int32 index, Boolean isCommandProc)
   at Microsoft.Data.SqlClient.SqlCommand.BuildParamList(TdsParser parser, SqlParameterCollection parameters, Boolean includeReturnValue)
   at Microsoft.Data.SqlClient.SqlCommand.BuildExecuteSql(CommandBehavior behavior, String commandText, SqlParameterCollection parameters, _SqlRPC& rpc)
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean
returnStream, Boolean isAsync, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String method)
   at Microsoft.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String methodName)
   at Microsoft.Data.SqlClient.SqlCommand.BeginExecuteNonQueryInternal(CommandBehavior behavior, AsyncCallback callback, Object stateObject, Int32 timeout, Boolean inRetry, Boolean asyncWrite)
   at Microsoft.Data.SqlClient.SqlCommand.BeginExecuteNonQueryAsync(AsyncCallback callback, Object stateObject)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl(Func`3 beginMethod, Func`2 endFunction, Action`1 endAction, Object
state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory`1.FromAsync(Func`3 beginMethod, Func`2 endMethod, Object state)
   at Microsoft.Data.SqlClient.SqlCommand.InternalExecuteNonQueryAsync(CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at Microsoft.FSharp.Control.AsyncResult`1.Commit() in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 393
   at Microsoft.FSharp.Control.AsyncPrimitives.QueueAsyncAndWaitForResultSynchronously[a](CancellationToken token, FSharpAsync`1 computation, FSharpOption`1 timeout) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 1045
   at Microsoft.FSharp.Control.AsyncPrimitives.RunSynchronously[T](CancellationToken cancellationToken, FSharpAsync`1 computation, FSharpOption`1 timeout) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 1071
   at Microsoft.FSharp.Control.FSharpAsync.RunSynchronously[T](FSharpAsync`1 computation, FSharpOption`1 timeout, FSharpOption`1 cancellationToken) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 1366

When I generate the schema with .net5 and run the same query, I get no errors.
The query looked like:
    do! Async.Ignore <| updateAsync (ContextType.Create (openContext connStr)) {
      for row in table<MyDB.dbo.MyTable> do
      set row.timestamp updated.timestamp
      where (row.date = updated.date) // <- row.date here is a DateOnly
    }

Thanks for posting the issue.
Fortunately, it should be a fairly easy fix this time.

This should issue should be fixed now for all parameters (regardless of their origin).


feature - post excerpts

[ ] Refactor .html and .scss for addition of {{ post.excerpt }} variable to each post title
[ ] Attach event listener to parent element to listen for click on dynamically added post titles
[ ] Toggle view for post excerpt with additional link for viewing entire post
[ ] While I'm in there, how about updating those social media postings in the posts layout, champ

#52


Introduce iceoryx_core package below iceoryx_platform

Brief feature description
It may makes sense to introduce a package below platform. Here should reside packages with no dependencies at all. For instance a basic logger and the error handler.
Furthermore we could add here generic cmake building blocks which are used throughout the project.
See also this comment: https://github.com/eclipse-iceoryx/iceoryx/pull/1629#discussion_r968639242

cc @elBoberido


Update go.mod to resolve containerd version issue

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

25 of 25 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 64.034%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1362

Relevant Lines:
2127

💛  - Coveralls


[Bug]: register_buffer should be used rather than registering a no_grad parameter

Prerequisites

[X] I have tried updating UtilsRL but nothing works.
[X] I have checked both open and closed issues but found nothing that helps.

UtilsRL version
0.4.4
System info
Ubuntu 20.04
What I am expecting
When creating a tensor which needs save&loading but not training inside a module, it is recommended to use register_buffer rather than creating Parameter(..., requires_grad=False). The former method avoids returning the tensor when calling Module.parameters().
What actually happened
None.
A minimal piece of code to reproduce the problem
No response
Any additional messages which might help
Related to this issue.
Urgency
Not a big problem.

In some cases, we want to calculate gradients by ourselves so as to better deal with post-calculation processing.
nn.Parameter with requires_grad=False will cause RuntimeError: One of the differentiated Tensors does not require grad.
There is a simple example:
import torch as t
import torch.nn.functional as F
from torch import nn

class Net(nn.Module):

    def __init__(self):
        super(Net, self).__init__()
        self._x = nn.Parameter(t.Tensor(2, 2))
        self._y = nn.Parameter(t.Tensor(2, 2), requires_grad=False)

    def forward(self, input):
        return input @ self._x @ self._y

    def calculate_gradient_manually(self, out):
        tge = t.randn((1, 2))
        loss = F.mse_loss(out, tge)
        grads = t.autograd.grad(loss, self.parameters(), retain_graph=True)
        return grads

if __name__ == "__main__":
    inp = t.randn((1, 2))
    net = Net()
    out = net(inp)
    print(net.calculate_gradient_manually(out=out))

By running the above code, we will get the wrong message: RuntimeError: One of the differentiated Tensors does not require grad. But if we change the way to register parameters within a nn.Module class just like the official code doing, we could fix/avoid (in future complex programs maybe) this problem:
import torch as t
import torch.nn.functional as F
from torch import nn

class Net(nn.Module):

    def __init__(self):
        super(Net, self).__init__()
        self._x = nn.Parameter(t.Tensor(2, 2))
        self.register_buffer("_y", t.Tensor(2, 2))

    def forward(self, input):
        return input @ self._x @ self._y

    def calculate_gradient_manually(self, out):
        tge = t.randn((1, 2))
        loss = F.mse_loss(out, tge)
        grads = t.autograd.grad(loss, self.parameters(), retain_graph=True)
        return grads

if __name__ == "__main__":
    inp = t.randn((1, 2))
    net = Net()
    out = net(inp)
    print(net.calculate_gradient_manually(out=out))

Also, parameters registered by using this kind of method whether requiring gradients or not could be saved/loaded through .state_dict()/.load_state_dict().

Hello,
I agree that register_buffer should be a preferable way to create a no_grad buffer. From PyTorch docs, it is deemed as a convention that the module's parameters all require gradient.
Thanks for providing the snippets and the explanation. There is an upcoming patch (#12) to fix this problem : )

PR #12 fixed this. Closing this issue.


feat: add commit linting

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


NBs becoming untrusted in save hook

Currently NBs become untrusted when saving, if using the save hook.

I've been looking into this and there seem to be quite a few issues with Jupyter's trust system with hooks completely disabled. I'm not sure when/why these first appeared. See section below for more.
One idea would be to allow users to opt-in to completely disabling the trust system for notebooks in nbdev repos by configuring a repo-specific setting (e.g. trust_nbs = True). I'm not yet sure if this is possible or if its a good idea, will tinker some more. Another idea would be to deal with the current behaviour until its fixed upstream (or try make a PR). @hamelsmu @jph00 what do you think?
Jupyter trust issues
Creating a cell of any type breaks trust in Notebook
I haven't seen an issue tracking this in the Notebook repo. https://github.com/jupyterlab/jupyterlab/issues/9765 is similar but is in Lab.
Repro:

Open any notebook
Trust it (click the "Untrusted" button on the top-right)
Create a cell of any type - it should remain trusted (should show "Trusted" on the top-right)
Refresh the page - it will now be untrusted

This isn't the case in Lab. For example, creating a code cell with source "1" keeps trust in Lab.
Markdown cells break trust in Lab
This is being tracked in: https://github.com/jupyterlab/jupyterlab/issues/12889. It's a different issue to the previous and only affects Lab.
Repro:

Open any notebook
Trust it (open the command prompt and run "Trust Notebook")
Create a blank code cell or markdown cell - it should now be untrusted (should show a shield with an x in the bottom-right)
Trust it - still untrusted
Refresh the page - still untrusted