Logout loop

Hello!
I have been debugging this problem for some time on and off now so I thought I might give it a shot and hear if anyone in here could help lead me in the right direction.
I am using oidc-client v1.10.1 in an Angular 8 app and IdentityServer4 v3.1.0. The oidc-client is set up to use a cookie service as the userStore. Both angular app and backend run HTTPS with self-signed certificate.
All has been working swell up until some time ago (maybe a couple of months back, but been busy addressing other stuff so only got around to it now), where I started experiencing a weird loop when logging out of the application.
I am still not sure if it is an oidc-client, IdentityServer or Chrome 80+ cookie issue. The weird thing is, it works fine in e.g. Edge but not in Chrome. But the same code does work in Chrome when built and deployed to our testing environment, but not when running in my local development environment, via Angular's ng serve. I have also tried serving the production build in my development environment but it still doesn't work. To me it's very weird that I, in the exact same browser on the exact same code, can log out without any issues on test environment but not development.
I should say that I have read a couple of links about cookies and the SameSite attribute at https://www.thinktecture.com/en/identity/samesite/prepare-your-identityserver/ and
https://docs.microsoft.com/en-us/aspnet/core/security/samesite?view=aspnetcore-3.1.
I can log in, fetch resources from API, etc., just fine. But if I click "Log out", I get directed to IdentityServer, logged out, redirected back to my "Logged out" page and here is when the problem occurs. Once I land on the "Logged out" page, it's like the application tries to log me in again and then immediately logs me out again. This continues forever where I just see my "Logged out" page getting loaded over and over..
I have tried fiddling with the frontend cookie service and the domain, secure and sameSite parameters but nothing has helped. I have also tried to add some cookie policies to the IdentityServer application (likeMicrosoft.AspNetCore.Http.CookieSecurePolicy.Always and = Microsoft.AspNetCore.Http.SameSiteMode.None (also tried Strict and Lax)) but it didn't help.
In the network tab I see the following (starting from when I click the "Logout" button):

https://identityserver-dev.vur.dk/connect/endsession?...
https://identityserver-dev.vur.dk/Account/Logout?logoutId=...
https://spa-dev.vur.dk:4200/loggedout (when I look at the request headers for this request, I still see Cookie: oidc.user%3Ahttps%3A%2F%2Fidentityserver-dev.vur.dk%3Av.., is this wrong?)
Angular site loads with CSS, JS, etc.
https://identityserver-dev.vur.dk/.well-known/openid-configuration
https://identityserver-dev.vur.dk/connect/checksession
https://identityserver-dev.vur.dk/connect/authorize?client_id=..
https://spa-dev.vur.dk:4200/assets/oidc/silent-renew.html
Then it just repeats from the top again, with https://identityserver-dev.vur.dk/connect/endsession?..., forever..

I am also logging quite a bit to the Chrome console and the following is what happens:
logout
main.1a860df815b8a6cf680d.js:1 getting a cookie: oidc.user:https://identityserver-dev.vur.dk:vur.identity.authentication
main.1a860df815b8a6cf680d.js:1 getting a cookie: oidc.user:https://identityserver-dev.vur.dk:vur.identity.authentication
main.1a860df815b8a6cf680d.js:1 removing cookie: oidc.user:https://identityserver-dev.vur.dk:vur.identity.authentication
main.1a860df815b8a6cf680d.js:1 UserManager.removeUser: user removed from storage
main.1a860df815b8a6cf680d.js:1 user$ update null
main.1a860df815b8a6cf680d.js:1 UserManager.signoutRedirect: successful
main.1a860df815b8a6cf680d.js:1 back from signoutRedirect..
:1 A cookie associated with a resource at http://spa-dev.vur.dk/ was set with `SameSite=None` but without `Secure`. It has been blocked, as Chrome now only delivers cookies marked `SameSite=None` if they are also marked `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5633521622188032.
Navigated to https://spa-dev.vur.dk:4200/loggedout
main.1a860df815b8a6cf680d.js:1 [WDS] Live Reloading enabled.
main.1a860df815b8a6cf680d.js:1 AppComponent init()
main.1a860df815b8a6cf680d.js:1 UserManagerAccessorService init()
main.1a860df815b8a6cf680d.js:1 getting a cookie: oidc.user:https://identityserver-dev.vur.dk:vur.identity.authentication
main.1a860df815b8a6cf680d.js:1 getting a cookie: oidc.user:https://identityserver-dev.vur.dk:vur.identity.authentication
main.1a860df815b8a6cf680d.js:1 user$ update null
main.1a860df815b8a6cf680d.js:1 UserManager.getUser: user loaded
main.1a860df815b8a6cf680d.js:1 LoggedOutComponent init
oidc-client.min.js:1 UserManager.getUser: user not found in storage
main.1a860df815b8a6cf680d.js:1 ResponseValidator._processSigninParams: Response was error login_required
main.1a860df815b8a6cf680d.js:1 logout
main.1a860df815b8a6cf680d.js:1 getting a cookie: oidc.user:https://identityserver-dev.vur.dk:vur.identity.authentication
main.1a860df815b8a6cf680d.js:1 getting a cookie: oidc.user:https://identityserver-dev.vur.dk:vur.identity.authentication
main.1a860df815b8a6cf680d.js:1 removing cookie: oidc.user:https://identityserver-dev.vur.dk:vur.identity.authentication
main.1a860df815b8a6cf680d.js:1 UserManager.removeUser: user removed from storage
main.1a860df815b8a6cf680d.js:1 UserManager.signoutRedirect: successful
main.1a860df815b8a6cf680d.js:1 back from signoutRedirect..
loggedout:1 A cookie associated with a resource at http://spa-dev.vur.dk/ was set with `SameSite=None` but without `Secure`. It has been blocked, as Chrome now only delivers cookies marked `SameSite=None` if they are also marked `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5633521622188032.
Navigated to https://spa-dev.vur.dk:4200/loggedout
main.1a860df815b8a6cf680d.js:1 [WDS] Live Reloading enabled.
main.1a860df815b8a6cf680d.js:1 AppComponent init()
main.1a860df815b8a6cf680d.js:1 UserManagerAccessorService init()
main.1a860df815b8a6cf680d.js:1 getting a cookie: oidc.user:https://identityserver-dev.vur.dk:vur.identity.authentication
main.1a860df815b8a6cf680d.js:1 getting a cookie: oidc.user:https://identityserver-dev.vur.dk:vur.identity.authentication
main.1a860df815b8a6cf680d.js:1 user$ update null
main.1a860df815b8a6cf680d.js:1 UserManager.getUser: user loaded
main.1a860df815b8a6cf680d.js:1 LoggedOutComponent init
oidc-client.min.js:1 UserManager.getUser: user not found in storage
main.1a860df815b8a6cf680d.js:1 ResponseValidator._processSigninParams: Response was error login_required

As you can see, there are some warnings in there about a cookie being blocked by Chrome because of SameSite="None" without "Secure".
Finally, the IdentityServer log shows the following:
2020-04-02 14:03:49.487 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/connect/endsession?id_token_hint=eyJhbGciOiJSUzI1NiIsImtpZCI6IjhGQTE5NUM5OEIxOEMxNTI1MDNFMkQ2Q0M2RjhEQzUxOTNCRjM1MTAiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJqNkdWeVlzWXdWSlFQaTFzeHZqY1VaT19OUkEifQ.eyJuYmYiOjE1ODU4MjkwMTEsImV4cCI6MTU4NTg1NzgxMSwiaXNzIjoiaHR0cHM6Ly9pZGVudGl0eXNlcnZlci1kZXYudnVyLmRrIiwiYXVkIjoidnVyLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uIiwibm9uY2UiOiI2ZmZjYWZiNmI3ZmI0YTY5ODRkOWIxN2Q2MzQ0OWNmZiIsImlhdCI6MTU4NTgyOTAxMSwiYXRfaGFzaCI6IjRzN1REeUFlZjluY2pYMW1MRmNwMWciLCJzX2hhc2giOiJ6Um5vdXFmaHRPV3RrSXV6RkdhRkFBIiwic2lkIjoiZkVzOHRFNkVuTDQtLUkxT3Z3U1dudyIsInN1YiI6InZNbFdOa3FsOHA4bURmbkJYUHNIZ1V6QVduQT0iLCJhdXRoX3RpbWUiOjE1ODU4MjkwMTEsImlkcCI6InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphYzpjbGFzc2VzOlg1MDkiLCJhbXIiOlsiZXh0ZXJuYWwiXX0.xo4AT8dM1xJqpQSn5sWVBPs5QaRkJY7Abxx7wKSToJRPf94j-tUuBilQPrME59kROmzxLhzIDA2P249nocjer7Mj74AbygR4Krg3xTXtIIHNu7W3aTyfJCihDPL8Oem092MUaiaUDJ0CD3oCBzPUCALdXDUwiOMnuHbLpXVsaPRmZ9w7DBSLRdNtGHkya_LQM1g7w20FVYeJPpEagrU5sf1oRRVwhGheryDXGBY7YLrLJYYlh6oy96DYtNcPLMxhPjXt8FTXisJvHQDfXCY4Btdxch_9ZopwXXv8NIBkNAKkqu2m5jqIPvXCk1Z4XAlQoZzVOx1ZcFVuq84NbqoGsQ&post_logout_redirect_uri=https%3A%2F%2Fspa-dev.vur.dk%3A4200&triggerExternalSignout=true
2020-04-02 14:03:49.488 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.EndSessionEndpoint" for "/connect/endsession"
2020-04-02 14:03:49.489 +02:00 [Information] End session request validation success
EndSessionRequestValidationLog { ClientId: "vur.identity.authentication", ClientName: "KC.VUR", SubjectId: "vMlWNkql8p8mDfnBXPsHgUzAWnA=", PostLogOutUri: "https://spa-dev.vur.dk:4200", State: null, Raw: [("id_token_hint": "***REDACTED***"), ("post_logout_redirect_uri": "https://spa-dev.vur.dk:4200"), ("triggerExternalSignout": "true")] }
2020-04-02 14:03:49.489 +02:00 [Information] Request finished in 2.2665ms 302
2020-04-02 14:03:49.495 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/Account/Logout?logoutId=CfDJ8MxbnKAIwCpOok7SxTzFrn3x6l48KL7N05R9O9-HxoLWSjWbFNCuVUMSVKRJPGVUcHKDv_EdMVsS8RSRPx3BE0ePHHc0DtpBgIqINdGdR28T3XswTXovwP7x-Lg4KB_juHUbLHjmXSRCBBxRPNvRoW9a1FbdSjcNhNtKqqaE4z8SEjHs3IQjihai7RfmIuHFNYs48QfhqW4IU-oKPxC1jQcFXTJuzk4dp3XZtEoequ88N5kE1XNNREzHc-SJEnYAaAYfYYrT8eiibqscy4ny76DIM-lOCAriSswiDged7Vr6jP3xnlnUg50YuJWAw-UQ-fThn2nPelXN_ERQqG-8W1QVD4biNgcoEPWBAAKhpef_NA2FtK65e490OUbN_Zc6fr87DqnWuvCg1MBSZmyo08hH4X2YUrV4PcDPeOGDsg5IMTTDUhYj3oeMkUPOBH2MJJzr8TW103aPpcxMXXLKMK7k20iuMnJcRbKGN8qFuV5jRZniwkkx4VcOnLs428ISo41y8kqmIqTPzb8DaGV2Oy-1G5KHxKqTY8wJNzJtcCtxhDfLxPaiUhZ_zMJcMAMCiA
2020-04-02 14:03:49.495 +02:00 [Information] Executing endpoint '"SFU.VUR.IdentityServer.Controllers.Account.AccountController.Logout (SFU.VUR.IdentityServer)"'
2020-04-02 14:03:49.495 +02:00 [Information] Route matched with "{action = \"Logout\", controller = \"Account\"}". Executing controller action with signature "System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] Logout(System.String)" on controller "SFU.VUR.IdentityServer.Controllers.Account.AccountController" ("SFU.VUR.IdentityServer").
2020-04-02 14:03:49.497 +02:00 [Information] AuthenticationScheme: "idsrv" signed out.
2020-04-02 14:03:49.497 +02:00 [Information] Executing RedirectResult, redirecting to "https://spa-dev.vur.dk:4200/loggedout".
2020-04-02 14:03:49.497 +02:00 [Information] Executed action "SFU.VUR.IdentityServer.Controllers.Account.AccountController.Logout (SFU.VUR.IdentityServer)" in 1.5257ms
2020-04-02 14:03:49.497 +02:00 [Information] Executed endpoint '"SFU.VUR.IdentityServer.Controllers.Account.AccountController.Logout (SFU.VUR.IdentityServer)"'
2020-04-02 14:03:49.497 +02:00 [Information] Request finished in 2.6192ms 302
2020-04-02 14:03:50.214 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/.well-known/openid-configuration
2020-04-02 14:03:50.215 +02:00 [Information] CORS policy execution successful.
2020-04-02 14:03:50.215 +02:00 [Information] CORS policy execution successful.
2020-04-02 14:03:50.215 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.DiscoveryEndpoint" for "/.well-known/openid-configuration"
2020-04-02 14:03:50.216 +02:00 [Information] Request finished in 1.5605ms 200 application/json; charset=UTF-8
2020-04-02 14:03:50.288 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/connect/checksession
2020-04-02 14:03:50.288 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.CheckSessionEndpoint" for "/connect/checksession"
2020-04-02 14:03:50.288 +02:00 [Information] Request finished in 0.5174ms 200 text/html; charset=UTF-8
2020-04-02 14:03:50.358 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/connect/authorize?client_id=vur.identity.authentication&redirect_uri=https%3A%2F%2Fspa-dev.vur.dk%3A4200%2Fassets%2Foidc%2Fsilent-renew.html&response_type=id_token&scope=openid&state=629b046867a04d8a8c503493af938e11&nonce=365297014d5f495691dbd6c2bb5e60b7&prompt=none
2020-04-02 14:03:50.358 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.AuthorizeEndpoint" for "/connect/authorize"
2020-04-02 14:03:50.360 +02:00 [Information] Showing error: prompt=none was requested but user is not authenticated
2020-04-02 14:03:50.360 +02:00 [Information] AuthorizeRequestValidationLog { ClientId: "vur.identity.authentication", ClientName: "KC.VUR", RedirectUri: "https://spa-dev.vur.dk:4200/assets/oidc/silent-renew.html", AllowedRedirectUris: ["https://spa-dev.vur.dk:4200/callback", "https://spa-dev.vur.dk:4200/assets/oidc/silent-renew.html"], SubjectId: "anonymous", ResponseType: "id_token", ResponseMode: "fragment", GrantType: "implicit", RequestedScopes: "openid", State: "629b046867a04d8a8c503493af938e11", UiLocales: null, Nonce: "365297014d5f495691dbd6c2bb5e60b7", AuthenticationContextReferenceClasses: null, DisplayMode: null, PromptMode: "none", MaxAge: null, LoginHint: null, SessionId: "", Raw: [("client_id": "vur.identity.authentication"), ("redirect_uri": "https://spa-dev.vur.dk:4200/assets/oidc/silent-renew.html"), ("response_type": "id_token"), ("scope": "openid"), ("state": "629b046867a04d8a8c503493af938e11"), ("nonce": "365297014d5f495691dbd6c2bb5e60b7"), ("prompt": "none")] }
2020-04-02 14:03:50.361 +02:00 [Information] Request finished in 3.36ms 302
2020-04-02 14:03:50.532 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/connect/endsession?id_token_hint=eyJhbGciOiJSUzI1NiIsImtpZCI6IjhGQTE5NUM5OEIxOEMxNTI1MDNFMkQ2Q0M2RjhEQzUxOTNCRjM1MTAiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJqNkdWeVlzWXdWSlFQaTFzeHZqY1VaT19OUkEifQ.eyJuYmYiOjE1ODU4MjkwMTEsImV4cCI6MTU4NTg1NzgxMSwiaXNzIjoiaHR0cHM6Ly9pZGVudGl0eXNlcnZlci1kZXYudnVyLmRrIiwiYXVkIjoidnVyLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uIiwibm9uY2UiOiI2ZmZjYWZiNmI3ZmI0YTY5ODRkOWIxN2Q2MzQ0OWNmZiIsImlhdCI6MTU4NTgyOTAxMSwiYXRfaGFzaCI6IjRzN1REeUFlZjluY2pYMW1MRmNwMWciLCJzX2hhc2giOiJ6Um5vdXFmaHRPV3RrSXV6RkdhRkFBIiwic2lkIjoiZkVzOHRFNkVuTDQtLUkxT3Z3U1dudyIsInN1YiI6InZNbFdOa3FsOHA4bURmbkJYUHNIZ1V6QVduQT0iLCJhdXRoX3RpbWUiOjE1ODU4MjkwMTEsImlkcCI6InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphYzpjbGFzc2VzOlg1MDkiLCJhbXIiOlsiZXh0ZXJuYWwiXX0.xo4AT8dM1xJqpQSn5sWVBPs5QaRkJY7Abxx7wKSToJRPf94j-tUuBilQPrME59kROmzxLhzIDA2P249nocjer7Mj74AbygR4Krg3xTXtIIHNu7W3aTyfJCihDPL8Oem092MUaiaUDJ0CD3oCBzPUCALdXDUwiOMnuHbLpXVsaPRmZ9w7DBSLRdNtGHkya_LQM1g7w20FVYeJPpEagrU5sf1oRRVwhGheryDXGBY7YLrLJYYlh6oy96DYtNcPLMxhPjXt8FTXisJvHQDfXCY4Btdxch_9ZopwXXv8NIBkNAKkqu2m5jqIPvXCk1Z4XAlQoZzVOx1ZcFVuq84NbqoGsQ&post_logout_redirect_uri=https%3A%2F%2Fspa-dev.vur.dk%3A4200&triggerExternalSignout=true
2020-04-02 14:03:50.532 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.EndSessionEndpoint" for "/connect/endsession"
2020-04-02 14:03:50.533 +02:00 [Information] End session request validation success
EndSessionRequestValidationLog { ClientId: "vur.identity.authentication", ClientName: "KC.VUR", SubjectId: "unknown", PostLogOutUri: "https://spa-dev.vur.dk:4200", State: null, Raw: [("id_token_hint": "***REDACTED***"), ("post_logout_redirect_uri": "https://spa-dev.vur.dk:4200"), ("triggerExternalSignout": "true")] }
2020-04-02 14:03:50.533 +02:00 [Information] Request finished in 1.7676ms 302
2020-04-02 14:03:50.537 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/Account/Logout?logoutId=CfDJ8MxbnKAIwCpOok7SxTzFrn1h5HyJPO8vj2n5VFqq7WBLikADyk3jnV9nt3JgIj09IHbLDLYEO2yvzYQPIAA6SRKIPQYVT8AexhC_YQBcH1D9VIMgep7-MsKymmJDBJJFhJ93NcOehbeNdvMdrg2mwNgj4If2uIIVwXJvVenNMf-9oQtRByJVo8uw6bg3-zZBALpY2f0zvlUxGBLxlFB2UuikSbwoq4oz8I-LAn6p0UI8-stlggZ--Dse5tu3i4QpjIDSl6zUImyPtckaDzRAzXSdNZC2x5QA3UrAndnvsnkk8Rcru8h4Z_U8O_XEEdimaM9jiYFBRbiqaLQuAiT7SpChPbGkP7CuNFsWZD6COEEPDJNYgn9fnKjT_mIeOq9htF-tjOT8urDgHnwBqePGsPo
2020-04-02 14:03:50.537 +02:00 [Information] Executing endpoint '"SFU.VUR.IdentityServer.Controllers.Account.AccountController.Logout (SFU.VUR.IdentityServer)"'
2020-04-02 14:03:50.538 +02:00 [Information] Route matched with "{action = \"Logout\", controller = \"Account\"}". Executing controller action with signature "System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] Logout(System.String)" on controller "SFU.VUR.IdentityServer.Controllers.Account.AccountController" ("SFU.VUR.IdentityServer").
2020-04-02 14:03:50.541 +02:00 [Information] Executing RedirectResult, redirecting to "https://spa-dev.vur.dk:4200/loggedout".
2020-04-02 14:03:50.541 +02:00 [Information] Executed action "SFU.VUR.IdentityServer.Controllers.Account.AccountController.Logout (SFU.VUR.IdentityServer)" in 3.4364ms
2020-04-02 14:03:50.541 +02:00 [Information] Executed endpoint '"SFU.VUR.IdentityServer.Controllers.Account.AccountController.Logout (SFU.VUR.IdentityServer)"'
2020-04-02 14:03:50.541 +02:00 [Information] Request finished in 4.6867ms 302
2020-04-02 14:03:51.140 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/.well-known/openid-configuration
2020-04-02 14:03:51.140 +02:00 [Information] CORS policy execution successful.
2020-04-02 14:03:51.140 +02:00 [Information] CORS policy execution successful.
2020-04-02 14:03:51.141 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.DiscoveryEndpoint" for "/.well-known/openid-configuration"
2020-04-02 14:03:51.141 +02:00 [Information] Request finished in 0.7068ms 200 application/json; charset=UTF-8
2020-04-02 14:03:51.208 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/connect/checksession
2020-04-02 14:03:51.208 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.CheckSessionEndpoint" for "/connect/checksession"
2020-04-02 14:03:51.208 +02:00 [Information] Request finished in 0.424ms 200 text/html; charset=UTF-8
2020-04-02 14:03:51.252 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/connect/authorize?client_id=vur.identity.authentication&redirect_uri=https%3A%2F%2Fspa-dev.vur.dk%3A4200%2Fassets%2Foidc%2Fsilent-renew.html&response_type=id_token&scope=openid&state=ae4ef7e52fe445d0b69548b44b3c07c1&nonce=ac043236720c430fb9f4db112b3520b3&prompt=none
2020-04-02 14:03:51.253 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.AuthorizeEndpoint" for "/connect/authorize"
2020-04-02 14:03:51.253 +02:00 [Information] Showing error: prompt=none was requested but user is not authenticated
2020-04-02 14:03:51.253 +02:00 [Information] AuthorizeRequestValidationLog { ClientId: "vur.identity.authentication", ClientName: "KC.VUR", RedirectUri: "https://spa-dev.vur.dk:4200/assets/oidc/silent-renew.html", AllowedRedirectUris: ["https://spa-dev.vur.dk:4200/callback", "https://spa-dev.vur.dk:4200/assets/oidc/silent-renew.html"], SubjectId: "anonymous", ResponseType: "id_token", ResponseMode: "fragment", GrantType: "implicit", RequestedScopes: "openid", State: "ae4ef7e52fe445d0b69548b44b3c07c1", UiLocales: null, Nonce: "ac043236720c430fb9f4db112b3520b3", AuthenticationContextReferenceClasses: null, DisplayMode: null, PromptMode: "none", MaxAge: null, LoginHint: null, SessionId: "", Raw: [("client_id": "vur.identity.authentication"), ("redirect_uri": "https://spa-dev.vur.dk:4200/assets/oidc/silent-renew.html"), ("response_type": "id_token"), ("scope": "openid"), ("state": "ae4ef7e52fe445d0b69548b44b3c07c1"), ("nonce": "ac043236720c430fb9f4db112b3520b3"), ("prompt": "none")] }
2020-04-02 14:03:51.254 +02:00 [Information] Request finished in 1.419ms 302
2020-04-02 14:03:51.409 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/connect/endsession?id_token_hint=eyJhbGciOiJSUzI1NiIsImtpZCI6IjhGQTE5NUM5OEIxOEMxNTI1MDNFMkQ2Q0M2RjhEQzUxOTNCRjM1MTAiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJqNkdWeVlzWXdWSlFQaTFzeHZqY1VaT19OUkEifQ.eyJuYmYiOjE1ODU4MjkwMTEsImV4cCI6MTU4NTg1NzgxMSwiaXNzIjoiaHR0cHM6Ly9pZGVudGl0eXNlcnZlci1kZXYudnVyLmRrIiwiYXVkIjoidnVyLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uIiwibm9uY2UiOiI2ZmZjYWZiNmI3ZmI0YTY5ODRkOWIxN2Q2MzQ0OWNmZiIsImlhdCI6MTU4NTgyOTAxMSwiYXRfaGFzaCI6IjRzN1REeUFlZjluY2pYMW1MRmNwMWciLCJzX2hhc2giOiJ6Um5vdXFmaHRPV3RrSXV6RkdhRkFBIiwic2lkIjoiZkVzOHRFNkVuTDQtLUkxT3Z3U1dudyIsInN1YiI6InZNbFdOa3FsOHA4bURmbkJYUHNIZ1V6QVduQT0iLCJhdXRoX3RpbWUiOjE1ODU4MjkwMTEsImlkcCI6InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphYzpjbGFzc2VzOlg1MDkiLCJhbXIiOlsiZXh0ZXJuYWwiXX0.xo4AT8dM1xJqpQSn5sWVBPs5QaRkJY7Abxx7wKSToJRPf94j-tUuBilQPrME59kROmzxLhzIDA2P249nocjer7Mj74AbygR4Krg3xTXtIIHNu7W3aTyfJCihDPL8Oem092MUaiaUDJ0CD3oCBzPUCALdXDUwiOMnuHbLpXVsaPRmZ9w7DBSLRdNtGHkya_LQM1g7w20FVYeJPpEagrU5sf1oRRVwhGheryDXGBY7YLrLJYYlh6oy96DYtNcPLMxhPjXt8FTXisJvHQDfXCY4Btdxch_9ZopwXXv8NIBkNAKkqu2m5jqIPvXCk1Z4XAlQoZzVOx1ZcFVuq84NbqoGsQ&post_logout_redirect_uri=https%3A%2F%2Fspa-dev.vur.dk%3A4200&triggerExternalSignout=true
2020-04-02 14:03:51.409 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.EndSessionEndpoint" for "/connect/endsession"
2020-04-02 14:03:51.410 +02:00 [Information] End session request validation success
EndSessionRequestValidationLog { ClientId: "vur.identity.authentication", ClientName: "KC.VUR", SubjectId: "unknown", PostLogOutUri: "https://spa-dev.vur.dk:4200", State: null, Raw: [("id_token_hint": "***REDACTED***"), ("post_logout_redirect_uri": "https://spa-dev.vur.dk:4200"), ("triggerExternalSignout": "true")] }
2020-04-02 14:03:51.411 +02:00 [Information] Request finished in 2.2249ms 302
2020-04-02 14:03:51.418 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/Account/Logout?logoutId=CfDJ8MxbnKAIwCpOok7SxTzFrn2WATuNF-Bsi8xSsWQ0q7l1wLvbmm_R1AJMMb3IDGUHlVvGueCY2msp058pY6tLgUzq8YMBkW2cPu6GMSBxnonDgaQr1KOTM99Z_qbv99z9CeuOdRJ-Y9JgiO2nMNJz9_pKd6UYkpuBCOS_vylT4elIrNgq_TratJ4QZCgyQ3rA3QWmV6MFLvYgPB-2lrZDaF7uaxlwgAr4LASqxiSxeOya7SZnoFeyzMCUjuAIqK0yZlxtQzBqmEXhWOnkjhzobIAPWuf2xgmf92EoW9JkeLTHvoaay6QJgMlULDGJFaWl7gqWG2OtW9a3pSfh0J5v6YzTyHBFS1iH-nyPirb6ktAv_xYhDMznJnmrSHa1v29oeL1h1T1Lo0nY6AtrRjNF3CI
2020-04-02 14:03:51.418 +02:00 [Information] Executing endpoint '"SFU.VUR.IdentityServer.Controllers.Account.AccountController.Logout (SFU.VUR.IdentityServer)"'
2020-04-02 14:03:51.418 +02:00 [Information] Route matched with "{action = \"Logout\", controller = \"Account\"}". Executing controller action with signature "System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] Logout(System.String)" on controller "SFU.VUR.IdentityServer.Controllers.Account.AccountController" ("SFU.VUR.IdentityServer").
2020-04-02 14:03:51.419 +02:00 [Information] Executing RedirectResult, redirecting to "https://spa-dev.vur.dk:4200/loggedout".
2020-04-02 14:03:51.419 +02:00 [Information] Executed action "SFU.VUR.IdentityServer.Controllers.Account.AccountController.Logout (SFU.VUR.IdentityServer)" in 0.676ms
2020-04-02 14:03:51.419 +02:00 [Information] Executed endpoint '"SFU.VUR.IdentityServer.Controllers.Account.AccountController.Logout (SFU.VUR.IdentityServer)"'
2020-04-02 14:03:51.419 +02:00 [Information] Request finished in 1.4033ms 302
2020-04-02 14:03:51.961 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/.well-known/openid-configuration
2020-04-02 14:03:51.961 +02:00 [Information] CORS policy execution successful.
2020-04-02 14:03:51.963 +02:00 [Information] CORS policy execution successful.
2020-04-02 14:03:51.963 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.DiscoveryEndpoint" for "/.well-known/openid-configuration"
2020-04-02 14:03:51.964 +02:00 [Information] Request finished in 3.2178ms 200 application/json; charset=UTF-8
2020-04-02 14:03:52.018 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/connect/checksession
2020-04-02 14:03:52.018 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.CheckSessionEndpoint" for "/connect/checksession"
2020-04-02 14:03:52.019 +02:00 [Information] Request finished in 0.4014ms 200 text/html; charset=UTF-8
2020-04-02 14:03:52.070 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/connect/authorize?client_id=vur.identity.authentication&redirect_uri=https%3A%2F%2Fspa-dev.vur.dk%3A4200%2Fassets%2Foidc%2Fsilent-renew.html&response_type=id_token&scope=openid&state=f16d470a870c4ae98113e6285b63abc1&nonce=0a08cbee6f96480c9d064bcaa3bd36e9&prompt=none
2020-04-02 14:03:52.070 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.AuthorizeEndpoint" for "/connect/authorize"
2020-04-02 14:03:52.071 +02:00 [Information] Showing error: prompt=none was requested but user is not authenticated
2020-04-02 14:03:52.071 +02:00 [Information] AuthorizeRequestValidationLog { ClientId: "vur.identity.authentication", ClientName: "KC.VUR", RedirectUri: "https://spa-dev.vur.dk:4200/assets/oidc/silent-renew.html", AllowedRedirectUris: ["https://spa-dev.vur.dk:4200/callback", "https://spa-dev.vur.dk:4200/assets/oidc/silent-renew.html"], SubjectId: "anonymous", ResponseType: "id_token", ResponseMode: "fragment", GrantType: "implicit", RequestedScopes: "openid", State: "f16d470a870c4ae98113e6285b63abc1", UiLocales: null, Nonce: "0a08cbee6f96480c9d064bcaa3bd36e9", AuthenticationContextReferenceClasses: null, DisplayMode: null, PromptMode: "none", MaxAge: null, LoginHint: null, SessionId: "", Raw: [("client_id": "vur.identity.authentication"), ("redirect_uri": "https://spa-dev.vur.dk:4200/assets/oidc/silent-renew.html"), ("response_type": "id_token"), ("scope": "openid"), ("state": "f16d470a870c4ae98113e6285b63abc1"), ("nonce": "0a08cbee6f96480c9d064bcaa3bd36e9"), ("prompt": "none")] }
2020-04-02 14:03:52.074 +02:00 [Information] Request finished in 3.5976ms 302
2020-04-02 14:03:52.358 +02:00 [Information] Request starting HTTP/2.0 GET https://identityserver-dev.vur.dk/connect/endsession?id_token_hint=eyJhbGciOiJSUzI1NiIsImtpZCI6IjhGQTE5NUM5OEIxOEMxNTI1MDNFMkQ2Q0M2RjhEQzUxOTNCRjM1MTAiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJqNkdWeVlzWXdWSlFQaTFzeHZqY1VaT19OUkEifQ.eyJuYmYiOjE1ODU4MjkwMTEsImV4cCI6MTU4NTg1NzgxMSwiaXNzIjoiaHR0cHM6Ly9pZGVudGl0eXNlcnZlci1kZXYudnVyLmRrIiwiYXVkIjoidnVyLmlkZW50aXR5LmF1dGhlbnRpY2F0aW9uIiwibm9uY2UiOiI2ZmZjYWZiNmI3ZmI0YTY5ODRkOWIxN2Q2MzQ0OWNmZiIsImlhdCI6MTU4NTgyOTAxMSwiYXRfaGFzaCI6IjRzN1REeUFlZjluY2pYMW1MRmNwMWciLCJzX2hhc2giOiJ6Um5vdXFmaHRPV3RrSXV6RkdhRkFBIiwic2lkIjoiZkVzOHRFNkVuTDQtLUkxT3Z3U1dudyIsInN1YiI6InZNbFdOa3FsOHA4bURmbkJYUHNIZ1V6QVduQT0iLCJhdXRoX3RpbWUiOjE1ODU4MjkwMTEsImlkcCI6InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphYzpjbGFzc2VzOlg1MDkiLCJhbXIiOlsiZXh0ZXJuYWwiXX0.xo4AT8dM1xJqpQSn5sWVBPs5QaRkJY7Abxx7wKSToJRPf94j-tUuBilQPrME59kROmzxLhzIDA2P249nocjer7Mj74AbygR4Krg3xTXtIIHNu7W3aTyfJCihDPL8Oem092MUaiaUDJ0CD3oCBzPUCALdXDUwiOMnuHbLpXVsaPRmZ9w7DBSLRdNtGHkya_LQM1g7w20FVYeJPpEagrU5sf1oRRVwhGheryDXGBY7YLrLJYYlh6oy96DYtNcPLMxhPjXt8FTXisJvHQDfXCY4Btdxch_9ZopwXXv8NIBkNAKkqu2m5jqIPvXCk1Z4XAlQoZzVOx1ZcFVuq84NbqoGsQ&post_logout_redirect_uri=https%3A%2F%2Fspa-dev.vur.dk%3A4200&triggerExternalSignout=true
2020-04-02 14:03:52.358 +02:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.EndSessionEndpoint" for "/connect/endsession"
2020-04-02 14:03:52.360 +02:00 [Information] End session request validation success
EndSessionRequestValidationLog { ClientId: "vur.identity.authentication", ClientName: "KC.VUR", SubjectId: "unknown", PostLogOutUri: "https://spa-dev.vur.dk:4200", State: null, Raw: [("id_token_hint": "***REDACTED***"), ("post_logout_redirect_uri": "https://spa-dev.vur.dk:4200"), ("triggerExternalSignout": "true")] }

It's a bit of a mouthful but I hope someone can guide me further since I am stuck right now..
Kinds regards,
Nicklas

As you can see, there are some warnings in there about a cookie being blocked by Chrome because of SameSite="None" without "Secure".

Any time you see this, it means the cookie is not being kept by the browser. IOW, it's as if the cookie were never issued.

@brockallen Could you elaborate more? Can I find out which cookie the warning is about? There must be something setting a cookie in a way that Chrome no longer allows?

You should be running/testing everything over https to avoid this issue. Browser vendors have fundamentally changed the semantics of cookies (which is technically a breaking change).

Everything should be running HTTPS. But I now see what you mean, http://spa-dev.vur.dk/ in the warning is not HTTPS.. Hmm.

i'm not sure if this suggestion can help you. I stumbed over a weird issue which library works perfectly in Firefox but not Chrome. One of thing which I tried is remove all extension related to cookie in browser which seems fix some weird issues.
Other things can be caching information in storage try to empty all of them and do everything again.

All set on this issue -- can we close?


Rename use cases

We need to rename the use cases so that they fit a standard with descriptive names. John O. has created a list of name changes.

I am starting on the convection_allowing_models use cases.

Beginning name changes for medium range use cases.

Finished convection_allowing_models use cases. Moving on to precipitation.

Finished precipitation cases except for precip_continuous.conf and ruc-vs-s2grib.conf since we haven't decided on what to do with these cases.
Moving on to s2s and space_weather.

Finished s2s and space_weather, on to tc_and_extra_tc

Finished tc_and_extra_tc except for tc_stat_filter.conf since we haven't decided on what to do with this case.

Finished Medium range use cases

All of the use cases are now named following the new standard.


[#753] map key subview mapping not working

Added test case to reproduce the issue.

You forgot respect the oracle identifier length limitation: https://travis-ci.org/Blazebit/blaze-persistence/jobs/506712373#L2740

Instead of excluding Oracle from the tests, please name the tables and other objects accordingly to be able to run these tests there too. Also, please add a comment on class level about why the excludes are necessary.


Prompt lookup decoding

This PR implements a example for the "Prompt Lookup Decoding" technique:
https://github.com/apoorvumang/prompt-lookup-decoding
using a local Mistral model.

This approach works best on input-grounded tasks such as summarization, document QA, code editing etc where there is a high overlap in input and output.
It replaces the draft model in speculative decoding with a simple ngram search of the input tokens. Similar to speculative decoding it has no impact on output.

There is an ongoing PR for speculative decoding (#149) and I imagine we'll want to sync our implementations before merging. I've mostly followed #149 but some things differ mainly because #149 uses a Llama model (with loading from HF) and I load a local Mistral model. The Mistral and Llama example implementations are inherently different which also leads to some minor differences.
I have confirmed speedups through a simple repetition test:
with prompt lookup (accepted draft tokens in blue)

without prompt lookup

Haha awesome I was actually planning this after finishing my speculative decoding but didn't get to it, glad someone else did! :D

Haha awesome I was actually planning this after finishing my speculative decoding but didn't get to it, glad someone else did! :D

thanks for laying the groundwork! I had a review comment on your PR that was ignored but I think its quite important, any thoughts on that?

I had a review comment on your PR that was ignored but I think its quite important, any thoughts on that?

What was your comment, I couldn't find it?

You've since changed that part of the code but it was about this line in mydecoder.py file:
new_tokens = sampled[: max(1, num_to_accept + 1)]
I'm fairly confident the accepted tokens should be num_to_accept + 1, meaning we accept the num_to_accept tokens that match in draft and sampled but also the first  mismatch because that token was correctly sampled using a accepted token history.

Yea I think you are correct and it should have that behavior now. Let me know if you still think it's an issue.

Yea I think you are correct and it should have that behavior now. Let me know if you still think it's an issue.

Nice, looks good! I like that you avoided main model sampling and instead just compare draft / main probs directly. Do you have a reference for the codes, not familiar with the calculations? note: model_probs is overwritten on line 97 not sure what the intention was

Nice, looks good! I like that you avoided main model sampling and instead just compare draft / main probs directly. Do you have a reference for this code, I haven't seen this before?

Everything there except the inclusion of the delta parameter came from the original paper. See Algorithm 1 and section 2.3.

note: model_probs is overwritten on line 97 not sure what the intention was

The intention is to normalize them since the raw output of the model is not normalized.

Everything there except the inclusion of the delta parameter came from the original paper. See Algorithm 1 and section 2.3.

Thanks!

The intention is to normalize them since the raw output of the model is not normalized.

I missed the - in model_probs -= on line 100. I was reading it as model_probs =, hence my confusion.

Hey @LeonEricsson I like this PR a lot but TBH I'm not entirely sure what to do with it.
The prompt look up decoding is a bit niche to dedicate a whole example to it. So one thing we could do is try and merge it into the speculative decoding example (and support different draft model strategies). The only challenge there is that I changed it to be a T5 example instead of a more traditonal causal LM.
So I see a couple options for moving forward (both of which involve integrating into speculative decoding).

Do this prompt decoding but using T5 instead
Change the speculative decoding example to use an LLM and see if we can actually get something faster. IMO if we tried something like code gen (where the output space is a little more regular), it might work a lot better.

What do you think?

Gotchu, it could probably slide into the speculative example; just want to make sure it remains modular and requires minimal effort to reimplement for users.
I haven't looked through the speculative example thoroughly since the change to T5 but I'll give it a look and try to decide what's most appropriate between 1) and 2). Does T5 vs LLM really change that much in decoder.py?
Would you like a new PR for 1) and/or 2) or keep it all here?

I haven't looked through the speculative example thoroughly since the change to T5 but I'll give it a look and try to decide what's most appropriate between 1) and 2). Does T5 vs LLM really change that much in decoder.py?

Not really that much TBH

Would you like a new PR for 1) and/or 2) or keep it all here?

Whatever is easier for you.

just want to make sure things remain modular as to not strain users attempting to understand and reimplement the examples

I very much agree with that goal. These examples are meant to be instructive and hackable (hence simple). With that in mind, I would say worry a bit less about code duplication and a bit more about keeping the actualy implementation simple and modular.
For example if you need to make a different class in decoder.py or a different file all together that may be ok.

I haven't looked through the speculative example thoroughly since the change to T5 but I'll give it a look and try to decide what's most appropriate between 1) and 2). Does T5 vs LLM really change that much in decoder.py?

Not really that much TBH

Would you like a new PR for 1) and/or 2) or keep it all here?

Whatever is easier for you.

just want to make sure things remain modular as to not strain users attempting to understand and reimplement the examples

I very much agree with that goal. These examples are meant to be instructive and hackable (hence simple). With that in mind, I would say worry a bit less about code duplication and a bit more about keeping the actual implementation simple and modular.
For example if you need to make a different class in decoder.py or a different file all together that may be ok.

I've begun implementing a PromptLookupDecoder class inside the speculative decoder.py file. I think this is the best way to keep things readable. I'm trying to make things work with T5, I don't have the time to rewrite SpeculativeDecoder for LLM right now (think the goal should still be to change this to LLM, not sure how valuable a T5 example is for most practitioners but maybe it's more popular than I think it is?). The only crux is that T5 outputs a mask token <extra_id_0> at the beginning of it's response which will never happen again; it ruins a lot of the early drafts generated through prompt lookup (although the effects of this diminish with larger prompts).

I'm trying to make things work with T5, I don't have the time to rewrite SpeculativeDecoder for LLM right now (think the goal should still be to change this to LLM, not sure how valuable a T5 example is for most practitioners but maybe it's more popular than I think it is?).

I don't disagree. I would prefer the example to work with an LLM instead of T5. If you prefer to wait, I might have some time to look into it a bit more this weekend / next week.

I'm trying to make things work with T5, I don't have the time to rewrite SpeculativeDecoder for LLM right now (think the goal should still be to change this to LLM, not sure how valuable a T5 example is for most practitioners but maybe it's more popular than I think it is?).

I don't disagree. I would prefer the example to work with an LLM instead of T5. If you prefer to wait, I might have some time to look into it a bit more this weekend / next week.

I have done most of the work now, just got to debug this one error then it should be ready (started a draft PR #237). That being said I don't mind updating PromptLookupDecoder if you have some time over to fix Speculative.
Please double check and make sure you're satisfied with the division of speculative // prompt lookup in #237, I'd be happy to change things around if needed.

Implementation moved to #237.


How does from() handle partial dates?

Description of the Issue and Steps to Reproduce:
My team and I are trying to use moment().from(dateOfBirth) to calculate a person's age. Our unit tests started failing on July 1st. We expected '17.5' to be truncated to give us an age of '17 years', but our tests are now failing saying that '18 years' does not equal '17 year'.
  it('moment().from() should work as expected', () => {
    const firstHalfOfYear = '2018-01-19';
    const secondHalfOfYear = '2018-07-01';
    const testDate = '2001-01-01';

    expect(moment(firstHalfOfYear).from(testDate, true)).toBe('17 years', 'from() fails in first half of the year');
    expect(moment(secondHalfOfYear).from(testDate, true)).toBe('17 years', 'from() fails in second half of the year');
  });

Re-reading the docs on https://momentjs.com/docs/ it isn't clear to me what the expected behavior really should be.
Environment:
Karama 2.0.2
Jasmine-core 3.1.0
Moment 2.22.2
Browser: Chrome 67.0.3396.99 (Windows)
console.log( (new Date()).toString())
console.log((new Date()).toLocaleString())
console.log( (new Date()).getTimezoneOffset())
console.log( navigator.userAgent)

returns:
Mon Jul 02 2018 10:10:07 GMT-0400 (Eastern Daylight Time)
VM2630:2 7/2/2018, 10:10:07 AM
VM2630:3 240
VM2630:4 Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36

I guess fromNow is the most relevant bit of the documentation, and says:

Range
Key
Sample Output

320 to 547 days (1.5 years)
y
a year ago

548 days+
yy
2 years ago ... 20 years ago

That could probably be clearer, but basically it says that years are rounded, not floored.
i.e. "17 years" describes the range from 16.5 to 17.5 years, not the range from 17 to 18 years.

Thank you, @ashsearle . That clarifies the matter for me.


discussion: representing DAG in stream plan?

After https://github.com/singularity-data/risingwave/pull/2263 gets merged, we can considering representing the plan as a DAG.
Case 1: Delta Join
The delta join lookup matrix is no doubt a DAG.
Case 2: CTE
The with part can be re-used in streaming, instead of creating a new plan tree whenever the with part is used.
In these two cases, we all need to represent the streaming plan as a DAG.
Some considerations:

Should we directly generate fragments in to_stream function?
Or should we have some kind of intermediate representation of DAG plan?
Can column pruning, distribution derivation, etc. be applied on DAG plan?
What should be the output of explain?
...

Welcome to discuss!

Do you mean DAG in protobuf or in rust Plan tree?

Inside Rust.

The logical plan may also need to be a DAG for with/CTE, if we do not want to detect duplicated subtree and merge them back.
However, some logical plan optimizer rules may be assuming the plan is a tree, and the same subtree from with may be optimized to different plan subtrees.

use PlanNode to express DAG
because our plan nodes' inputs are represented RC, our PlanNode can express a DAG plan. also, the plan node id can identify the plan node.
not use PlanNode DAG in logical phase
I think the to_stream function will give a DAG with PlanNode. and on that DAG we can do some specific optimization on stream plan, such as delta join rewrite. although the CTE will generate a DAG, I prefer to treat the common subgraph as different subtrees with the same content. And after to_stream we can try to find the same part on that DAG and rewrite it.

the common subgraph on DAG might prevent some optimizing, such as some predicate push-down
our batch execution actually doesn't support processing a DAG plan.

fragmenter directly process PlanNode DAG
now in #2263 the planNode is converted to post and then fragmented, it is same behavior with meta fregmentor. but after remove fragmenter from meta to frontend, the fregmentor can process the PlanNode tree or DAG directly.
new visitor and rewriter for PlanNode DAG
the old prune_col, plan_visitor, plan_rewriter can be used on PlanNode DAG. so we can give a new plan_dag_visitor and plan_dag_rewriter. The plan_dag_visitor will have a Set to store what nodes have been visited. and the plan_dag_rewriter will have a Map<PlanNodeId, PlanNodeRef> to store the nodes have been rewritten

What may be the most significant efforts to change from tree to DAG? The traversal algorithm?


refactor: add types for use-main query

Closing this as we need better context on how to approach this topic


Update bricksmith to 3.0

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Thank you for the contribution. It was merged directly as 596b2027a419b1a3443142cd46d3b55667edcdce. Your contribution is still credited to you.


isServer

An isServer function could be useful, to do different things between the rendering to the DOM and rendering to a string.

Implemented.


Disable default entities

There does not appear to be a way to disable loading default entities. For example, I'd like to replace the entity definition for f which is defaulted to Finder. Using the following it allows me to launch firefox but the cheatsheet lists both Finder and Firefox for the same key in the entity mode.
s = spoon.Ki
-- Create new Ki applications
local Application = s.Application
local GoogleChrome = Application:new("Google Chrome")
local Firefox = Application:new("Firefox")
local VSCode = Application:new("Visual Studio Code")
-- Define custom entity workflows
local entityEvents = {
    { nil, "g", GoogleChrome, { "Entities", "Google Chrome" }},
    { nil, "f", Firefox, { "Entities", "Firefox" }},
    { nil, "v", VSCode, { "Entities", "VSCode" }},
}
-- Use relevant application entities that can have multiple windows to be available in select mode
local selectEntityEvents = {
    { nil, "g", GoogleChrome, { "Entities", "Google Chrome" }},
    { nil, "f", Firefox, { "Entities", "Firefox" }},
    { nil, "v", VSCode, { "Entities", "VSCode" }},
}
s.workflowEvents = {
    defaultEntities = {},
    entity = entityEvents,
    select = selectEntityEvents,
}
s.defaultEntities = {}
s:start()

Hi @jokajak, you were close!
The Ki.defaultEntities variable is there mostly for reference, to expose the underlying entities, so setting that to {} won't actually do anything (or it might throw errors when you try using the default shortcuts to use those entities).
If you intend to disable all shortcuts, Ki.defaultWorkflowEvents may be what you're looking for. You can use Ki.defaultWorkflowEvents.entity = {} if you want to disable the default shortcuts for entities specifically.
If what you want is to override a single shortcut, you can simply set your custom entity events to Ki.workflowEvents (as you're already doing) and the start method will override them, which is why that Firefox shortcut is working for you.
The duplication you see in the cheatsheet is actually visual bug, thanks for reporting it! I'll see about putting out a fix for it when I can.

Resolved in #9


Plugin doesn't create route53 records

Hey there,
Glad I found this plugin, I'm trying to use it to create a route53 record then point it to the desired  Cloudfront distribution, but it doesn't create the records!
I have followed the example thoroughly even adding the other plugins thinking that they must be in, however I couldn't get it to work
Do I miss something?
See below part of the serverless that concerning the plugin
service: common

package:
  individually: false

plugins:
  -serverless-website-domain
  -serverless-certificate-creator
  -serverless-s3-sync
  -serverless-cloudfront-invalidate

custom:
  shared: ${file(../environments/${opt:stage}.yml), file(../environments/default.yml)}
  domainComponents: #Key not needed, just used as example.
    withWWW: www.${self:custom.shared.packagesAlias}
    withoutWWW: ${self:custom.shared.packagesAlias}
  websiteDomain:
    cloudfrontOutputKey: !GetAtt PackagesCloudFrontDistribution.DomainName
    domain: ${self:custom.shared.packagesAlias} #must be hostedZoneDomain or subdomain of it
    edgeLambda:
      redirect:
        basicAuthCredentials: false
        from: ${self:custom.shared.packagesAlias}
        to: http://www.${self:custom.shared.packagesAlias}
  s3Sync:
      - bucketName: ${self:custom.shared.showsPackagesBucket}
        localDir: ./dist
  customCertificate:
      certificateName: ${self:custom.shared.domainCertificateARN}
      hostedZoneNames: dodo.xxxx.com
      subjectAlternativeNames:
        - ${self:custom.shared.packagesAlias}
  cloudfrontOriginId: packages
  cloudfrontInvalidate:
    - distributionIdKey: !GetAtt PackagesCloudFrontDistribution.Id
      items:
        - "/index.html"

variablesResolutionMode: 20210219

Appreciate your assistance with this issue
Thanks

Closing this issue as the plugin works just fine after debugging the code in there I found that I was using the lambda edge option which was causing the plugin to create 4 records instead of 2, I think the documentation can be a bit clearer of these options
Thanks


FIX: threading definitions when POLARSSL_THREADING_C is disabled

This pull request fixes threading.h when used in single threaded applications. It protects definitions with
POLARSSL_THREADING_C.
Details:
The threading.h defines the following regardless of whether POLARSSL_THREADING_C is defined:
/*
 * The function pointers for mutex_init, mutex_free, mutex_ and mutex_unlock
 *
 * All these functions are expected to work or the result will be undefined.
 */
extern void (*mbedtls_mutex_init)( mbedtls_threading_mutex_t *mutex );
extern void (*mbedtls_mutex_free)( mbedtls_threading_mutex_t *mutex );
extern int (*mbedtls_mutex_lock)( mbedtls_threading_mutex_t *mutex );
extern int (*mbedtls_mutex_unlock)( mbedtls_threading_mutex_t *mutex );

/*
 * Global mutexes
 */
extern mbedtls_threading_mutex_t mbedtls_threading_readdir_mutex;
extern mbedtls_threading_mutex_t mbedtls_threading_gmtime_mutex;

I'll resubmit using MBEDTLS instead of POLARSSL


VS CODE getting stuck on ZEN MODE when hitting alt + tab multiple times

VSCode Version: Latest version of vs code  (20-05-2018)
OS Version: Windows 10

Steps to Reproduce:

Get in vs code open a project , get in ZEN MODE ( ctrl + K Z )
Hit (alt + tab) multiple times, spam it than your whole pc is stuck and only mouse can move

Does this issue occur when all extensions are disabled?: Yes/No
No

So when you disable extensions, this issue goes away?

I disabled extensions and it still occurs

Please follow these steps to file better perfomance issues
https://github.com/Microsoft/vscode/wiki/Performance-Issues
Also only try to repro with insiders.
Can you also repro if you just go to full screen? And not zen mode


ContentsManager

Subtask of #1
These modules requires a client for the CS3APIs. An example can be seen here: https://github.com/cs3org/wopiserver

@JarCz you can clone this project and set the configurations as mentioned in the readme. If you need help setting up jupyter, let me know. For setting up Reva you already know how to do it, right?

Yes, I've some knowledge about Reva.

@JarCz I've added the methods that require implementation. Please try to run Jupyterlab with the required configurations (described in the readme) to see if it works (by working, I mean fails. You are supposed to see in the logs all the NotImplementedError exceptions popping up).
I've also added the methods for the checkpoints but ignore them for now. I will create a separate issue for those.
Documentation:

Base class: notebook/services/contents/manager.py
Jupyter implementation for a local FS: notebook/services/contents/largefilemanager.py and notebook/services/contents/filemanager.py


Convert Framework tests to xunit

Ok, here's the first go at converting to xunit.  I was hoping to use project.json instead of packages.config for easier merges with the xplat branch (which is why we're doing this in the first place), but I spent way too much time trying to figure out how to assemble the right set of xunit assemblies in the output directory, which the legacy nuget approach just handled transparently.  So here we are.

  Much of the rest was mechanical.

Ok, I'm pretty sure the latest PR build is failing because xunit emits a warning for a skipped test, and the presence of a warning causes Jenkins to report failure?
Build succeeded.

                   "d:\j\workspace\microsoft_msbuild_prtest\build.proj" (BuildAndTest;Rebuild target) (1) ->
                   "d:\j\workspace\microsoft_msbuild_prtest\src\dirs.proj" (Test target) (2:2) ->
                   "d:\j\workspace\microsoft_msbuild_prtest\src\Framework\UnitTests\Microsoft.Build.Framework.UnitTests.csproj" (Test target) (10:2) ->
                   (Test target) ->
                     d:\j\workspace\microsoft_msbuild_prtest\dir.targets(81,5): warning : Microsoft.Build.UnitTests.EventArgs_Tests.TestDeserialization [SKIP] [d:\j\workspace\microsoft_msbuild_prtest\src\Framework\UnitTests\Microsoft.Build.Framework.UnitTests.csproj]

    1 Warning(s)
    0 Error(s)

Time Elapsed 00:00:18.21

How do we want to handle that?

for easier merges with the xplat branch

The xplat branch uses NUnit right now, so I assume this will change as well?

@akoeplinger Yes, our plan for #6 (which this is a part of) is to move both master and xplat to xunit.  It seemed easier to do it here first and merge that down, and I've proof-of-concepted that path already (I wrote a simple tool to help deal with the one-merge-conflict-for-every-test situation).
I expect my next PR to be merging this down to xplat and getting tests running on xunit+coreclr there.

@rainersigwald ok, sounds good. Just a heads up: xunit 2 is currently broken on Mono 4.0 (fails during test discovery), so you'd need to use Mono 4.2 which is currently in the alpha channel.

Looks good! At least till it merges with xplat :smile:

LGTM

Ah, I was wrong about the reason for the CI failure.  Chasing that down now.

Ok, for posterity:  The problem with the CI build was that CI runs RebuildWithLocalMSBuild.cmd, which calls build.cmd /t:Rebuild.  When combined with my change to build.cmd that added /t:BuildAndTest, building, cleaning, and testing happened in a funny order: cleaning last.  That caused output binaries to be deleted, meaning they weren't present for the "rebuild post-bootstrap" phase, failing the build.


POC: Graph visualization

User story

As a development team
We want to test the selected framework and bring up a graph visualization
So that we confirm that the selected framework works properly.

Acceptance criteria

Take existing data from the internet (e.g. https://rahulnyk.github.io/knowledge_graph/) or dummy data to try creating a graph visualization to ensure the framework works as expected.
First version of expected API output to use input into graph visualization framework.

Definition of done (DoD)

Added only after week 5
The same for all features
Here goes the project specific part

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

I have created this POC - Graph visualization in Codesandbox. Here is the link for it.


[Launcher] Add settings for indexing message

Add a toggle in settings to hide indexing message

@jyuwono Version 0.20 solves this?

@crutkas Issue can be closed.
(At the moment i am logged in with the app where i can't do this. :-( )

@crutkas Issue can be closed.
(At the moment i am logged in with the app where i can't do this. :-( )

Swipe the comments panel up, all the way down you'll find the close button :)

@crutkas Issue can be closed.
(At the moment i am logged in with the app where i can't do this. :-( )

Swipe the comments panel up, all the way down you'll find the close button :)

I know. But because if have no full access (only triage permission) the button is missing on Issues created by others. I think this is a bug and I have submitted feedback to the app team.


[PE-D][Tester E] Find command only works for full word

Find command only filters in tutors with words in name that perfectly match the keyword.
This causes inconvenience for users when they do not remember the exact spelling of a name.
(For e.g., my name is a particularly difficult one to spell)
It can be better by filtering in tutors that also partially match the keyword.

Labels: type.FeatureFlaw severity.Low
original: nknguyenhc/ped#2

This was a decision made to have a more predictable search behaviour at the loss of search capability.
We will consider whether this will change in the future later.


webContents.downloadURL saves to userData folder by default

On OS X, webContents.downloadURL saves to [userData]/Downloads instead of ~/Downloads by default
Electron 0.36.3

Not sure if this is a bug, If neither session.setDownloadPath or downloadItem.setSavePath in will-download event is set. It will default to Downloads in respective app folder or the last saved download directory.

~/Downloads seems to be a better location for default download dir.


Application no execute

Hello i'm problem in run main.go.
Go version 1.9.2
go get -u cloud.google.com/go/...
go get -u cloud.google.com/go/speech/apiv1
go run main.go
Result:
../../cloud.google.com/go/longrunning/autogen/operations_client.go:26:2: cannot find package "google.golang.org/api/iterator" in any of:
        /usr/local/go/src/google.golang.org/api/iterator (from $GOROOT)
        /home/jefferson/Projects/GO/src/google.golang.org/api/iterator (from $GOPATH)
../../cloud.google.com/go/longrunning/autogen/operations_client.go:27:2: cannot find package "google.golang.org/api/option" in any of:
        /usr/local/go/src/google.golang.org/api/option (from $GOROOT)
        /home/jefferson/Projects/GO/src/google.golang.org/api/option (from $GOPATH)
../../cloud.google.com/go/longrunning/autogen/operations_client.go:28:2: cannot find package "google.golang.org/api/transport" in any of:
        /usr/local/go/src/google.golang.org/api/transport (from $GOROOT)
        /home/jefferson/Projects/GO/src/google.golang.org/api/transport (from $GOPATH)

What happens if you try to "go get" those packages individually?

I'm remove all packages and reinstall.

I'm hitting this issue just by including cloud.google.com/go/longrunning. Here's the build output:
..\cloud.google.com\go\longrunning\autogen\operations_client.go:26:2: cannot find package "google.golang.org/api/iterator" in any of:
	C:\Go\src\google.golang.org\api\iterator (from $GOROOT)
	C:\Users\steventricanowicz\go\src\google.golang.org\api\iterator (from $GOPATH)
..\cloud.google.com\go\longrunning\autogen\operations_client.go:27:2: cannot find package "google.golang.org/api/option" in any of:
	C:\Go\src\google.golang.org\api\option (from $GOROOT)
	C:\Users\steventricanowicz\go\src\google.golang.org\api\option (from $GOPATH)
..\cloud.google.com\go\longrunning\autogen\operations_client.go:28:2: cannot find package "google.golang.org/api/transport" in any of:
	C:\Go\src\google.golang.org\api\transport (from $GOROOT)
	C:\Users\steventricanowicz\go\src\google.golang.org\api\transport (from $GOPATH)

I'm running

Windows 10 1803 (Build 17134.648)
go version go1.11.5 windows/amd64

When I try to go get those packages individually, I get
> go get -u google.golang.org/api/iterator
# cd C:\Users\steventricanowicz\go\src\google.golang.org\api; git pull --ff-only
fatal: not a git repository (or any of the parent directories): .git
package google.golang.org/api/iterator: exit status 128

It seems weird that this is a bad install problem considering it's the exact same packages missing. But if that were the case, what's the best way to remove all the packages as @jeffersonsc did?

Okay, for anyone coming across this issue, what I did was delete all the packages in my GOPATH (I moved everything under $GOPATH/src to a backup directory) and built again. This pulled everything back down and it seemed to resolve the issue. Not sure what it was but at least there's a good workaround.


chore: release main

:robot: I have created a release beep boop
1.5.0
1.5.0 (2023-01-16)
Features

added fancy new GRPC feature to eventarc (21e940e)

Bug Fixes

fixed feature in root of channel (5589ac5)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/bcoe/google-cloud-java/releases/tag/v1.5.0 :sunflower:


Definition of 'NSString' must be imported from module 'Foundation.NSString' before it is required

I'm getting the following error:
Mixpanel/MPLogger.h:15:35: Definition of 'NSString' must be imported from module 'Foundation.NSString' before it is required
Mixpanel/UIImage+MPImageEffects.m:102:9: In file included from Mixpanel/UIImage+MPImageEffects.m:102:
All frameworks deemed as necessary have been included. I though at first it could be a duplicate issue, but haven't found any reference to this being the case. Someone can help? Thanks.

Indeed, "MPLogger.h" should have these lines near the top:
#import <Foundation/NSString.h>
#include <stdarg.h>

XCode initializes new projects with a ProjectName-Prefix.pch file in Supporting Files file that includes  <Foundation/Foundation.h> in all source files in a project. We have basically relied on that feature of XCode to provide the foundation classes like NSString, NSDictionary, etc. but we probably should include the Foundation classes import explicitly for projects that don't have a .pch file.

@alex-hofsteede I would be thankful if an update could be provided with these modifications.

@pedro380085 sounds like this is related to https://github.com/mixpanel/mixpanel-iphone/issues/215 should be fixed with the next release.


graphql: use new GraphiQL version

This PR updated the built-in GraphiQL to use latest version of GraphiQL (which also addressed a security issue).
It also comes with a nice new dark theme, support for cool side bar and it's branded now :)  Also, everything needed by GraphiQL is not bundled, so we no longer depend on external CDN for serving GraphiQL of graph-node ;)
Closes https://github.com/graphprotocol/graph-node/issues/3187
TODO

[x] Some minor CSS fixes

Nice! cc @tilacog or @leoyvens as David is out this week
@dotansimha are there still some pending css changes?

Nice! cc @tilacog or @leoyvens as David is out this week @dotansimha are there still some pending css changes?

Yeah, a few more fixes are needed (see the weird white inputs on the left :D), and I wanted to make sure it's working well with subscriptions

LGTM :+1:
Checked out and it is working fine in my local environment

I wanna tease a bit and mention that I am also working on tab support which will follow soon 🚀


added compact-throughput

Matching the doc for ent. up with OSS. Adding the compact-throughput along with the default values.

Thank you, @mprintz!
If remove "we will allow" does it change the meaning..sounds like customers can change this value?
that we will allow TSM compactions to write to disk.

Hey, @mprintz  thoughts on comments above?
We're moving all content in this v1 repository to the docs-v2 repository...would love to get your thoughts before we transfer content.


NoPCM and SWHS Cross-Reference

In my overview of the contents of the NoPCM and SWHS SRS files, the only notable discrepancies in content (outside of the absence of PCM) appeared to be the removal of:

any reference to energy calculations
(by extension) the definition of Thermal Conduction and Transient
Assumption 20 and Likely Change 5 (refer to the SWHS SRS)

Additionally there was no Traceability Matrices and Graphs section (7) in NoPCM but I assume this is because there is less content that can reference each other? The Characteristics of Intended Reader section (2.3) is also missing but I know that section should be added to the NoPCM SRS.  Aside from this last point, is there a reason why this other material is absent?  If not, should I add it? Thanks.

I'm going to say yes to adding the missing content. I doubt there was a strong reason for it to be left out ( @smiths can correct me on that if I'm wrong).

Yes, I agree with @szymczdm.  Please add the missing content.  There should be Traceability matrices and graphs for NoPCM.  Yes, please also add the characteristics of the intended reader.
Why are the energy calculations removed?  We should still output the energy in the water.  We don't have any PCM, but there is no reason to not include the water's energy.

Please disregard the point on Likely Change 5, that should be removed, misread what the sentence meant.

I think everything that needed to be added has been added. Any other missing content is addressed in issue #312. Closing this issue for now.


azd provision broken with incorrect subscription

Describe the issue:
Exception has been occured while execue test-templates.sh
Repro Steps:
Run command: bash ./test-templates.sh -t <template_name> -b staging -c false
Error Message:

Environment:
Azd Version: azd version 0.3.0-beta.6-daily.1947218 (commit e20ee4e6819f464f1f19d768d62bfaef493d46d8)
OS: Linux desktop, MacOS desktop, WSL, Codespace, DevContainer,
All Templates:
https://github.com/Azure-Samples/todo-csharp-cosmos-sql
https://github.com/Azure-Samples/todo-nodejs-mongo
https://github.com/Azure-Samples/todo-nodejs-mongo-aca
https://github.com/Azure-Samples/todo-nodejs-mongo-swa-func
https://github.com/Azure-Samples/todo-python-mongo
https://github.com/Azure-Samples/todo-python-mongo-aca
https://github.com/Azure-Samples/todo-python-mongo-swa-func
https://github.com/Azure-Samples/todo-csharp-sql
https://github.com/Azure-Samples/todo-python-mongo-terraform
https://github.com/Azure-Samples/todo-nodejs-mongo-terraform
https://github.com/Azure-Samples/todo-csharp-sql-swa-func
https://github.com/Azure-Samples/todo-java-mongo
https://github.com/Azure-Samples/todo-java-mongo-aca
The infomation of loginned azure account

Expected behavior:
Run bash ./test-templates.sh -c false -t <template_name> -b staging -c false can run successfully.
@rajeshkamal5050 for notification.``

Modify its subscription by executing command azd config set defaults.subscription 'faa080af-c1d8-40ad-9cce-e1a450ca5b57'. Now, this issue will not reproduce. We will close the issue.


[Ollama AI] Can't find "Add Server" Action

Extension
https://www.raycast.com/massimiliano_pasquini/raycast-ollama
Raycast Version
1.80.0
macOS Version
14.5 (23F79)
Description
Unable to find Add Server Action on Manage Model action

Steps To Reproduce

Install Ollama App
Search for Manage Model Action
Hit Command + K to see action available

Current Behaviour
See that no Add Server action available
Expected Behaviour
Add Server action should be available.

You need to run the command for view is Actions menu 😊.

@raycastbot assign me

@raycastbot close this issue


Avoid granting Linux capabilities

My task was to run your Helm chart on K8s cluster with restrictive pod security policy. The worst problem I encountered was that you grant Linux capabilities in order to bind 80 port inside of container. As a result I was not able to run these images in any way without rebuilding them reverting this operation. That's why I propose you to use other port inside of containers and map it externally to 80 during running a container.
My second issue I resolve with this commit is introducing support of custom Docker registry. On my environment I do not have direct Internet access and need to prefix images with registry address to be able to download them.
I also increased initial delay values for probes at 2 deployments because on my environment these pods need more time to got up and too early starting checking readiness caused with continuosly restarting these pods.

@dholbach can you please review?

@dholbach can you please review?

Or maybe @rndstr ?

@dholbach can you please review?

Or maybe @rndstr ?

Or maybe @Ottovsky ? Thanks.

@shiresky please update the Deployments templates with the new apiversion, this has already been fixed on the last merge. Also I would suggest to set the port numbers in values.yaml and use 80 as default, then modify the templates to not add the capabilities section if a different port is used, this way it will be consistent with the other supported deployment methods.


ISPN-14273 fixes docs errors and config examples in the CLI guide

https://issues.redhat.com/browse/ISPN-14273
needs backport to 14.0.x

Fixes docs errors
updates config examples for distributed and replicated caches

@karesti are you in available for review?


Float on per app basis?

Hello,
Apologies if this has been brought up before but I was unable to find anything.
Is there a way to configure chunkwm to always float certain apps/windows (e.g. system preferences)? If so how would I go about that?
Thanks

chunkc tiling::rule --owner \"System Preferences\" --state float

You can use the rules system as stated above.

Is there way to set for floating windows to display always in the center?

There's chunkc config window_float_center 1, but since commit 53a02e this does only apply to user-initiated float, so this wouldn't work for windows floated because of tiling rules.


Add support for native classes

Fixes #3. Supports @tagName, @className, @classNames, @classNameBindings, @attribute and @attributeBindings decorators from @ember-decorators/component.
Built on top of #43, so should be merged first.
To Do:

[x] support @className decorator
[x] support @attribute decorator

thanks @simonihmig 🙏


upgraded errai version

this should be merged together with
https://github.com/AppFormer/uberfire/pull/780
https://github.com/kiegroup/droolsjbpm-build-bootstrap/pull/482


Ctrl-Tab doesn't work in a terminal window

Demo: https://i.imgur.com/HcF4WCi.mp4

Fix incoming in #1601. As a workaround in the meantime you can add a keybinding like:
{ "key": "<C-TAB>", "command": "workbench.action.openNextRecentlyUsedEditorInGroup" }


Anyway to set self-defined left and right delimiters for katex formulation?

Although in the end of readme.md, it suggests the property of  defaultOptions of katexConfigProvider can manipulate something related, I tried but failed.  What I did is based on the live example on JS Bin as follows:
angular.module('app', ['katex'])
    .config('katexConfig', katexConfig);

katexConfig.$inject = ['katexConfigProvider'];

function katexConfig(katexConfigProvider) {
  katexConfigProvider.defaultOptions = {delimiters : [{left: '#!@#$', right: '#$#!@', display: false}]};
};

As is stated above, I try to pass the option object which is defined according to auto render options to katexConfigProvider.defaultOptions. On this basis, I hope the formulations can be identified by self-defined delimiters in the way of  #<EMAIL_ADDRESS>However, it is not recognized. Therefore I don't know if there is any way to achieve this target provided by angular-katex. Otherwise I can only use the native katex on which I can successfully do this. Looking forward to hear from you! Thanks!

The config recipe only received one argument: a function. Try with the following code:
angular.module('app', ['katex'])
    .config('katexConfig', katexConfig);

katexConfig.$inject = ['katexConfigProvider'];

function katexConfig(katexConfigProvider) {
  katexConfigProvider.defaultOptions = {delimiters : [{left: '#!@#$', right: '#$#!@', display: false}]};
};

Here is a working example: http://jsbin.com/fekaleg/2/embed?html,js,output


Add test for kuka_kr6 using random robot poses.

I added a test that can be used for any robot, but this implementation only tests the kuka kr6 r700 robot.
The test uses random joint values to create a reachable pose.
Then it solves the inverse kinematics for this pose.
Finally, it check's if the forward kinematics of all solutions result in the same pose. (Only for valid joint solutions.)
I wrote the same test for types float and double. This is probably superfluous, but the functionallity was there, so I though I might as well test it.
Important note: I added the test as a ROS node to the CMakeList.txt because I do not know how to do it properly without burying the test results in a lot of verbose output.
Feel free to suggest how I can improve it :)

I know the catkin tools testing interface really sucks, but should we stick to it  and make this a test anyway?

Totally agree, I will change it. I can probably find a way to still just run it as a node locally.

I'm struggling to keep my git repositories and ROS-workspaces organized. It will probably take some time to figure this out and add the changes.
Thank you for the feedback, @Jmeyer1292, I'm learning a lot!

Migrated these changes to #4. Thanks @JeroenDM.


[Event Request] codeunit 5940 ServContractManagement procedure CheckDimValuePosting()

Please can you add the following event/code at the start of the above procedure...
OnBeforeCheckDimValuePosting(ServContract, LineNo, IsHandled);
if IsHandled then
    exit;

with a local variable...
var
    IsHandled: Boolean;

The event publisher would be...
[IntegrationEvent(false, false)]
local procedure OnBeforeCheckDimValuePosting(ServContract: Record "Service Contract Header"; LineNo: Integer; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 11061.


Systematically batch front-end updates

Description
The current implementation of State as a context manager is beneficial because it enables batching of front-end updates. This can lead to significant performance improvements, particularly when handling numerous variables.
However, I believe this should be the default behavior for all callback invocations.
Is there ever a scenario where the front-end should be updated before the backend code has finished executing? In most cases, updating the front-end mid-execution could lead to inefficiencies or potential inconsistencies.
Would it make sense to adopt this as the default to ensure smoother and more efficient performance?
Impact of Solution
Better performance is expected.
We might want to hide the context manager nature of State after this.
Acceptance Criteria

[ ] Ensure new code is unit tested, and check code coverage is at least 90%.
[ ] Create related issue in taipy-doc for documentation and Release Notes.
[ ] Check if a new demo could be provided based on this, or if legacy demos could be benefit from it.
[ ] Ensure any change is well documented.

Code of Conduct

[X] I have checked the existing issues.
[ ] I am willing to work on this issue (optional)

Need to discuss this with CD Team, refreshing UI while running a callback might be desirable
Could we make the use of the state context manager optional ?
the best thing would be to be able to opt out from the call back ...

any input @FlorianJacta @AlexandreSajus ?

We could expose an API on the State class that developers would explicitly call when entering the callback, indicating that synchronicity is required. That could be necessary when dealing with properties that are transient by nature such as 'rebuild'.

It seems fine. With the progress control, we should provide examples of how we can change the message and progress of the control during the function execution. I guess that comes with invoke_callback


Add Warning for Users Without Secure Lock Screen

Both provisioning and presenting a credential in wallet require a secure lockscreen (ie. the user has set a pin/pattern/password). In order to improve UX when a user does not have one set, the PR adds a dialog to warn the users when functionality is blocked.

Fixes #534

I started with a simpler solution which doesn't provide a button that redirects to the phone's settings (so that they can easily set a PIN right away), but could add this functionality if desired (it would require making the warning dialog its own activity so that it can launch intents)

I moved the warnings about not having a secure lock screen for provisioning + presenting through QR to MainScreen as suggested (though the warning from attempting presentation through nfc still lives in PresentationActivity). However, I opted to keep the WarningDialog (which is based on Dialog) since AlertDialog requires a confirmation and dismissal button+flow, which doesn't make the most sense in this version of the warning. Ideally we wait on using AlertDialog until we redirect to settings, which would be our confirmation flow.

However, I opted to keep the WarningDialog (which is based on Dialog) since AlertDialog requires a confirmation and dismissal button+flow, which doesn't make the most sense in this version of the warning. Ideally we wait on using AlertDialog until we redirect to settings, which would be our confirmation flow.

I'm not sure I understand what this means but you can absolutely use AlertDialog for this in a way where it only shows a single button. Just don't set dismissButton
The benefit of using AlertDialog is that you get the proper look and feel for free, for example the screenshot with your initial dialog has the following problems

text isn't left-aligned
the "I understand" button doesn't look like a button
font sizes

and so on.
Also, I'm not sure "I understand" is the best text for the button. Im this particular case I would just use "OK".


feat(clustering): change the format of lmdb hash value

Summary
KAG-5556, also fixed spec/02-integration/09-hybrid_mode/11-status_spec.lua
Checklist

[ ] The Pull Request has tests
[ ] A changelog file has been created under changelog/unreleased/kong or skip-changelog label added on PR if changelog is unnecessary. README.md
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Issue reference

Fix #[issue number]

Why is this necessary? Why can't a zero be stored?

@dndx please take a look

It may not be a good solution.


Resnet Initialization

Hi,
line 115 should be:
n = m.kernel_size[0] * m.kernel_size[1] * m.in_channels

according to https://arxiv.org/pdf/1502.01852.pdf

See https://github.com/facebook/fb.resnet.torch/issues/106#issuecomment-250561079


Editorial project collection header

📲 What
Adds a header view to the "Go rewardless" project collection that reads "These projects need your support".
🤔 Why
It's part of the designs.
🛠 How

Conditionally configure a table view header with the copy
also updates a couple of the "Go rewardless" feature strings, so some additional screenshots needed to be re-recorded

👀 See

♿ Accessibility

[x] Works with VoiceOver
[x] Supports Dynamic Type

🏎 Performance

[ ] Optimized Blended Layers (screenshots)

✅ Acceptance criteria

[ ] Navigate to the editorial project collection - you should see "These projects need your support" as a table view header.

Danger has errored
[!] Invalid Dangerfile file: SIGHUP. Updating the Danger gem might fix the issue. Your Danger version: 6.0.9, latest Danger version: 6.1.0
 #  from Dangerfile:8
 #  -------------------------------------------
 #  swiftlint.strict = true
 >  swiftlint.lint_files inline_mode: true
 #
 #  -------------------------------------------

  Generated by :no_entry_sign: Danger