Possible breaking change between 2.45.4 and 2.47.6: Auth-token keeps getting deleted from localStorage on page refresh

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
When using @supabase/supabase-js with Twitch as an OAuth provider, the auth-token is saved to localStorage upon redirection, but is immediately removed after a page refresh. This issue occurs after upgrading @supabase/supabase-js from 2.45.4 to 2.47.6.
After twitch login redirection, we get a session, which is stored in localStorage. At this point it's the expected behaviour.
But after a single page refresh, or a route redirection, the token is deleted from localStorage, the user is not authenticated, and the session does not persist. This behavior breaks the login flow, which worked correctly in previous versions.
I checked every release but couldn't find any change that could cause this issue. I'm using the same Nuxt version to compare both supabase-js versions so it's likely not a Nuxt issue.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:
A Nuxt (3.13.2) project.
This works with 2.45.4 but not with 2.47.6:
useSupabase.ts composable :
import { createClient } from '@supabase/supabase-js'

export const useSupabase = () => {
  const config = useRuntimeConfig()
  return createClient(config.public.SUPABASE_URL, config.public.SUPABASE_KEY)
}

/pages/auth/redirect.vue :
const client = useSupabase()

onMounted(async () => {
  const { data: session, error } = await client.auth.getSession()
  if (session) {
    // Here we have a session, and the auth-token is stored in localStorage, it redirects successfully
    console.log('Session:', session)
    return navigateTo(`/a_vue_page.vue`)
  } else {
    console.error('Session error:', error)
  }
}

/pages/a_vue_page.vue :
const client = useSupabase()
const getSession = await client.auth.getSession()
// The session is null, and the auth-token in localStorage has been deleted
console.log(getSession )

const handleTwitchLogin = () => {
  client.auth.signInWithOAuth({
    provider: 'twitch',
    options: { redirectTo: `${config.public.BASE_URL}/auth/redirect` },
  })
}

Expected behavior
After redirection, the session token should remain in localStorage and the user should be authenticated. It used to work perfectly in 2.45.4. I do not exclude the issue being related with Nuxt, but since i'm using the exact same version there's definitely something happening between 2.45.4 & 2.47.6
System information

Nuxt: 3.13.2
Supabase-js: 2.45.4 & 2.47.6
Node.js: 18.20.4

The same with
"@supabase/ssr": "0.5.2",
"@supabase/supabase-js": "2.47.6",
"next": "14.2.18",
"react": "18.3.1",

Running into similar issues with cookies, randomly disappear after upgrading to 2.47.6.

Same issues as above in a Next app router using @supabase/ssr
"next": "^15.1.0",
"@supabase/ssr": "^0.5.2",

# works
"@supabase/supabase-js": "^2.46.2",
# cookies dont persist across refresh
"@supabase/supabase-js": "^2.47.6",

"next": "^15.1.0",
"@supabase/ssr": "^0.5.2",

Using Next App Router with boilerplate Next.js SSR setup from Supabase docs and sb cookies are no longer created or are disappearing during authentication.
Version @supabase/supabase-js   2.47.5 works as intended.
Issue started after updating to @supabase/supabase-js   2.47.6

Seeing the same issue
Version @supabase/supabase-js   2.47.5 works as intended.
Issue started after updating to @supabase/supabase-js   2.47.6

I'm not going crazy then. Noticed about an hour after the release but thought I must be missing something since there was no issue here for it.
Had to pin to a few versions ago to get it working again. An insidious one if you have the ^ in your package.json, everything works locally (until you do an npm install of course) but then deploying the app to production installs the most recent version and so this pretty serious auth bug is in your app.
I had
"@supabase/supabase-js": "^2.46.1",
So fixed it by going to
"@supabase/supabase-js": "2.46.1",
I might not have needed to go back that far but that's what was working for me locally.

I have been pulling my hair out ALL day on this, I dug into the logs and I see this now:
GoTrueClient@0 (2.67.0) 2024-12-13T03:44:06.283Z #_initialize() error detecting session from URL AuthPKCEGrantCodeExchangeError: Not a valid PKCE flow url.
    at SupabaseAuthClient._getSessionFromURL (models.mjs:1093:27)
    at async SupabaseAuthClient._initialize (models.mjs:178:41)
    at async eval (models.mjs:163:24)

I've tried even disabling PKCE flow and detect from URL. No matter what it is defaulted to true and it checks this pathway first and only.
Specifically this code from auth-js
  /**
   * IMPORTANT:
   * 1. Never throw in this method, as it is called from the constructor
   * 2. Never return a session from this method as it would be cached over
   *    the whole lifetime of the client
   */
  private async _initialize(): Promise<InitializeResult> {
    try {
      if (isBrowser() && this.detectSessionInUrl) {
        const { data, error } = await this._getSessionFromURL()
        if (error) {
          this._debug('#_initialize()', 'error detecting session from URL', error)

          if (isAuthImplicitGrantRedirectError(error)) {
            const errorCode = error.details?.code
            if (
              errorCode === 'identity_already_exists' ||
              errorCode === 'identity_not_found' ||
              errorCode === 'single_identity_not_deletable'
            ) {
              return { error }
            }
          }

          // failed login attempt via url,
          // remove old session as in verifyOtp, signUp and signInWith*
          await this._removeSession()

          return { error }
        }

From what I can see this.detectSessionInUrl is ALLLLWAYS set and so it tries the PKCE flow
      // Checks for mismatches between the flowType initialised in the client and the URL parameters
      if (!isRedirectFromImplicitGrantFlow && !isRedirectFromPKCEFlow) {
        if (this.flowType === 'implicit') {
          throw new AuthImplicitGrantRedirectError('Not a valid implicit grant flow url.')
        } else if (this.flowType === 'pkce') {
          throw new AuthPKCEGrantCodeExchangeError('Not a valid PKCE flow url.')
        } else {
          throw new AuthError('Invalid flow type.')
        }
      }

https://github.com/supabase/auth-js/commit/089c687b24da8d48de8302ea201c04dcf5e928a8
https://github.com/supabase/auth-js/commit/9f32d30e17954c5d4320b374a108617cda5ab357
It's somewhere in one of those two commits but I'm not familiar enough with the codebase.
It's never able to detect that it's an implicit flow and those two commits dropped recently.

I just wasted my evening debugging this... 🤦
Traced it down to the same lines above with this errors:

GoTrueClient@1 (2.67.0) 2024-12-13T04:10:26.192Z #_initialize() error detecting session from URL AuthImplicitGrantRedirectError: Not a valid implicit grant flow url.

This fixed it for me.
export const supabase = createClient<Database>(supabaseUrl, supabaseAnonKey, {
  auth: {
    detectSessionInUrl: false,
  },
});

2.47.5 is the latest safest version, staying locked here til this is fixed Lol RIP

v

I'm very upset with myself... I had a feeling it was just a "fresh release" issue about an hour ago and tried to downgrade, but forgot to remove the ^ 😮💨

If Supabase team ever seeeees this where are the rate limiting options for Realtime that were promised months ago, or ways to disable public from spamming messages with anon key.. wassup

lost hours debugging and logging this bug 🤦🏻♂ downgraded

Uff cost me an evening and a morning.. Reverted to 2.47.5, then found this issue report 🙃

Fix Merged https://github.com/supabase/supabase-js/pull/1337 and released: v2.47.7

""”””


Session file created in current directory with wsl option

Use aa788ad77dfa1559dfcca6311bb718b76f4690ed in Windows10
Steps to reproduce

run goneovim --wsl
close goneovim witth Alt+F4

A similar session file is created on the server side with remote attach.

@akiyosi
Thanks! Session files are no longer created with remote attach and wsl.


Sequence support is incomplete

Is your feature request related to a problem?
Sequence support is incomplete in TiCDC.
The current capability of TiCDC:

The DDL operation CREATE SEQUENCE and the SEQUENCE function in TiDB. When the upstream TiDB uses SEQUENCE, TiCDC ignores SEQUENCE DDL operations/functions performed upstream. However, DML operations using SEQUENCE functions can be correctly replicated.
2022/02/10, https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios

Besides, there are two flaws we found,

TiCDC have no idea about how to deal with DDLs below:CREATE SEQUENCE `SEQ1` start with 1 minvalue 1 maxvalue<PHONE_NUMBER>99999 increment by 1 nocache cycle;
CREATE TABLE t(k int not null, a int default next value for SEQ1, PRIMARY KEY (k));

TiCDC filters all SEQUENCE DDL, it means we lost SEQUENCE even if downstream is TiDB. We lose data in TiDB disaster recovery scenario.

Describe the feature you'd like
Support sequence feature completely when downstream is TiDB, and disable sequence completely when downstream is MySQL.
Describe alternatives you've considered
No response
Teachability, Documentation, Adoption, Migration Strategy
No response

Note that this also affects MariaDB-to-TiDB.
Example:
 "Message": "startLocation: [position: (mariadb-binlog.000001, 882), gtid-set: 0-1-3], endLocation: [position: (mariadb-binlog.000001, 1006), gtid-set: 0-1-4], origin SQL: [CREATE SEQUENCE s START WITH 100 INCREMENT BY 10]: unknown type ddl \u0026{ddlNode:{stmtNode:{node:{utf8Text: enc:0x6921ce0 once:0xc000f00360 text:CREATE SEQUENCE s START WITH 100 INCREMENT BY 10 offset:0}}} IfNotExists:false Name:0xc002510410 SeqOptions:[0xc000f00340 0xc000f00350] TblOptions:[]}",

@lance6716 @overvenus
I noticed this issue was originally about TiCDC and what I reported was about DM. Should I create a separate issue for DM or can we continue with this combined issue?


Increase timeout for deleting temp directory

Test case - FindInFile was failing due to smaller timeout. This test case failed in some VMs.

@mdewangan you need to sign brackets cla. The cla is at this place. http://dev.brackets.io/brackets-contributor-license-agreement.html


Internal Server Error

Describe the bug
After the local installation (no docker environment) and first login, if I click to Profile Settings -> Profile I get an Internal Server Error with the following entries in logs:
mix[34337]: [error] #PID<0.766.0> running LynxWeb.Endpoint (connection #PID<0.765.0>, stream id 1) terminated
mix[34337]: Server: X.X.X.X:80 (http)
mix[34337]: Request: GET /admin/profile
mix[34337]: ** (exit) an exception was raised:
mix[34337]:     ** (Postgrex.Error) ERRORE 26000 (invalid_sql_statement_name) l'istruzione preparata "ecto_626" non esiste
mix[34337]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:1054: Ecto.Adapters.SQL.raise_sql_call_error/1
mix[34337]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:952: Ecto.Adapters.SQL.execute/6
mix[34337]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:232: Ecto.Repo.Queryable.execute/4
mix[34337]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3
mix[34337]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:154: Ecto.Repo.Queryable.one/3
mix[34337]:         (lynx 0.12.4) lib/lynx/module/settings_module.ex:32: Lynx.Module.SettingsModule.get_config/2
mix[34337]:         (lynx 0.12.4) lib/lynx_web/controllers/page_controller.ex:160: LynxWeb.PageController.profile/2
mix[34337]:         (lynx 0.12.4) lib/lynx_web/controllers/page_controller.ex:5: LynxWeb.PageController.action/2

After restart also if I click on the logo (for go to homepage) I get the same error:
mix[53111]: [error] #PID<0.600.0> running LynxWeb.Endpoint (connection #PID<0.599.0>, stream id 1) terminated
mix[53111]: Server: X.X.X.X:80 (http)
mix[53111]: Request: GET /admin/projects
mix[53111]: ** (exit) an exception was raised:
mix[53111]:     ** (Postgrex.Error) ERRORE 26000 (invalid_sql_statement_name) l'istruzione preparata "ecto_658" non esiste
mix[53111]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:1054: Ecto.Adapters.SQL.raise_sql_call_error/1
mix[53111]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:952: Ecto.Adapters.SQL.execute/6
mix[53111]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:232: Ecto.Repo.Queryable.execute/4
mix[53111]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3
mix[53111]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:154: Ecto.Repo.Queryable.one/3
mix[53111]:         (lynx 0.12.4) lib/lynx/module/user_module.ex:18: Lynx.Module.UserModule.get_user_by_id/1
mix[53111]:         (lynx 0.12.4) lib/lynx/middleware/ui_auth.ex:65: Lynx.Middleware.UIAuthMiddleware.call/2
mix[53111]:         (lynx 0.12.4) LynxWeb.Router.browser/2

Additional context
Only a service restart can solve the error, but if you click again, the error happens again.

After restart also if I click on the logo (for go to homepage) I get the same error:
mix[53111]: [error] #PID<0.600.0> running LynxWeb.Endpoint (connection #PID<0.599.0>, stream id 1) terminated
mix[53111]: Server: X.X.X.X:80 (http)
mix[53111]: Request: GET /admin/projects
mix[53111]: ** (exit) an exception was raised:
mix[53111]:     ** (Postgrex.Error) ERRORE 26000 (invalid_sql_statement_name) l'istruzione preparata "ecto_658" non esiste
mix[53111]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:1054: Ecto.Adapters.SQL.raise_sql_call_error/1
mix[53111]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:952: Ecto.Adapters.SQL.execute/6
mix[53111]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:232: Ecto.Repo.Queryable.execute/4
mix[53111]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3
mix[53111]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:154: Ecto.Repo.Queryable.one/3
mix[53111]:         (lynx 0.12.4) lib/lynx/module/user_module.ex:18: Lynx.Module.UserModule.get_user_by_id/1
mix[53111]:         (lynx 0.12.4) lib/lynx/middleware/ui_auth.ex:65: Lynx.Middleware.UIAuthMiddleware.call/2
mix[53111]:         (lynx 0.12.4) LynxWeb.Router.browser/2

ok I think that I understood the issue:
In the Installation page when you're going to setup for the first time the application, at the application url entry, I setup the "external ip" that is the ip of the server (the app is configured to run on localhost but nginx act as reverse proxy).
Reinitializing the app using http://localhost:4000 seems working properly at the moment.

Hi @bitchecker, Can you provide more info regarding the postgresql database server and version? it sound to me like some feature is missing in database.

I think this might be related https://github.com/elixir-ecto/postgrex/issues/468.

Hi @bitchecker, Can you provide more info regarding the postgresql database server and version? it sound to me like some feature is missing in database.

It's a postgres server, release 16.

That makes sense now because pgbouncer doesn't support prepared statements. Can you try to run from the following new branch & let me know if it works. I can release it if it causes no issues to postgresql without pgbouncer setups.
$ git clone -b fix/issue-143 https://github.com/Clivern/Lynx.git

Now I'm not able to log in too:
mix[23678]: [error] #PID<0.653.0> running LynxWeb.Endpoint (connection #PID<0.652.0>, stream id 1) terminated
mix[23678]: Server: <IP_ADDRESS>:80 (http)
mix[23678]: Request: GET /login
mix[23678]: ** (exit) an exception was raised:
mix[23678]:     ** (Postgrex.Error) ERRORE 26000 (invalid_sql_statement_name) l'istruzione preparata "ecto_435" non esiste
mix[23678]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:1054: Ecto.Adapters.SQL.raise_sql_call_error/1
mix[23678]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:952: Ecto.Adapters.SQL.execute/6
mix[23678]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:232: Ecto.Repo.Queryable.execute/4
mix[23678]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3
mix[23678]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:154: Ecto.Repo.Queryable.one/3
mix[23678]:         (lynx 0.12.4) lib/lynx/module/install_module.ex:18: Lynx.Module.InstallModule.is_installed/0
mix[23678]:         (lynx 0.12.4) lib/lynx_web/controllers/page_controller.ex:21: LynxWeb.PageController.login/2
mix[23678]:         (lynx 0.12.4) lib/lynx_web/controllers/page_controller.ex:5: LynxWeb.PageController.action/2

Strange that i have a PgBouncer v1.23.1, PostgreSQL v16.6 & Ubuntu 24 and it works fine. I see they added the support https://github.com/pgbouncer/pgbouncer/discussions/973 from v1.21.0

Really, I recreated entirely the stack from zero.
I'm going to rebuild it again and let you know.

On installing the application, I get the same error:
mix[22444]: request_id=GBOfVNdQp9vXQOIAAAKh [info] Incoming POST Request to /action/install? and body %{"admin_email" =><EMAIL_ADDRESS>"admin_name" => "admin", "admin_password" => "REDACTED", "app_email" =><EMAIL_ADDRESS>"app_name" => "Lynx", "app_url" => "http://X.X.X.X/"}
mix[22444]: request_id=GBOfVNdQp9vXQOIAAAKh [info] Sent 500 in 1ms
mix[22444]: [error] #PID<0.561.0> running LynxWeb.Endpoint (connection #PID<0.560.0>, stream id 1) terminated
mix[22444]: Server: X.X.X.X:80 (http)
mix[22444]: Request: POST /action/install
mix[22444]: ** (exit) an exception was raised:
mix[22444]:     ** (Postgrex.Error) ERRORE 26000 (invalid_sql_statement_name) l'istruzione preparata "ecto_658" non esiste
mix[22444]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:1054: Ecto.Adapters.SQL.raise_sql_call_error/1
mix[22444]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:952: Ecto.Adapters.SQL.execute/6
mix[22444]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:232: Ecto.Repo.Queryable.execute/4
mix[22444]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3
mix[22444]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:154: Ecto.Repo.Queryable.one/3
mix[22444]:         (lynx 0.12.4) lib/lynx/module/install_module.ex:18: Lynx.Module.InstallModule.is_installed/0
mix[22444]:         (lynx 0.12.4) lib/lynx_web/controllers/misc_controller.ex:27: LynxWeb.MiscController.install/2
mix[22444]:         (lynx 0.12.4) lib/lynx_web/controllers/misc_controller.ex:5: LynxWeb.MiscController.action/2

I restarted the app, and I was able to finish the installation. The error always seems the same.
After the installation, I log in into the application, and I was trying to do something, but I get again the classic Internal Server Error with this in logs:
mix[22814]: [error] #PID<0.536.0> running LynxWeb.Endpoint (connection #PID<0.535.0>, stream id 1) terminated
mix[22814]: Server: X.X.X.X:80 (http)
mix[22814]: Request: GET /
mix[22814]: ** (exit) an exception was raised:
mix[22814]:     ** (Postgrex.Error) ERRORE 26000 (invalid_sql_statement_name) l'istruzione preparata "ecto_50" non esiste
mix[22814]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:1054: Ecto.Adapters.SQL.raise_sql_call_error/1
mix[22814]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:952: Ecto.Adapters.SQL.execute/6
mix[22814]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:232: Ecto.Repo.Queryable.execute/4
mix[22814]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3
mix[22814]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:154: Ecto.Repo.Queryable.one/3
mix[22814]:         (lynx 0.12.4) lib/lynx/module/install_module.ex:18: Lynx.Module.InstallModule.is_installed/0
mix[22814]:         (lynx 0.12.4) lib/lynx_web/controllers/page_controller.ex:85: LynxWeb.PageController.home/2
mix[22814]:         (lynx 0.12.4) lib/lynx_web/controllers/page_controller.ex:5: LynxWeb.PageController.action/2

I restarted the app again, and I tried to create a team, on the right I was able to see that the team was successfully created but here we go again with:
mix[22869]: [error] #PID<0.666.0> running LynxWeb.Endpoint (connection #PID<0.665.0>, stream id 1) terminated
mix[22869]: Server: X.X.X.X:80 (http)
mix[22869]: Request: GET /admin/teams
mix[22869]: ** (exit) an exception was raised:
mix[22869]:     ** (Postgrex.Error) ERRORE 26000 (invalid_sql_statement_name) l'istruzione preparata "ecto_402" non esiste
mix[22869]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:1054: Ecto.Adapters.SQL.raise_sql_call_error/1
mix[22869]:         (ecto_sql 3.11.2) lib/ecto/adapters/sql.ex:952: Ecto.Adapters.SQL.execute/6
mix[22869]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:232: Ecto.Repo.Queryable.execute/4
mix[22869]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3
mix[22869]:         (ecto 3.11.2) lib/ecto/repo/queryable.ex:154: Ecto.Repo.Queryable.one/3
mix[22869]:         (lynx 0.12.4) lib/lynx/service/auth_service.ex:72: Lynx.Service.AuthService.is_authenticated/2
mix[22869]:         (lynx 0.12.4) lib/lynx/middleware/ui_auth.ex:47: Lynx.Middleware.UIAuthMiddleware.call/2
mix[22869]:         (lynx 0.12.4) LynxWeb.Router.browser/2

Another strange behaviour is that every time that I restart the application, I don't need to log in into the app, but I'm already in...cookies and whatever should be cleaned at server restart, right?

I think that I got the issue!
I don't understand if with your branch, you disabled prepared statement or whatever, but for sure, pgbouncer was completely ignoring them (default behaviour).
Furthermore, I can also see that password are now masked with "REDACTED" string.

In fact, users shouldn't lose access during a server restart since they expect a seamless experience even during such events; losing access could lead to frustration for them. Lynx can operate behind a load balancer because it uses database sessions by default, so if one node goes down for any reason, user requests will be redirected to another node without interruption.

Oh ok, this is great! Thanks for clarification!

This change https://github.com/Clivern/Lynx/blob/fix/issue-143/lib/lynx/repo.ex#L9 shall solve the issue with named mysql statements for pgbouncer so if this branch works fine for you, please let me know!

At this point, I really should check to deploy server from master branch and see if it works too or not. As I said, pgbouncer, by default, is not configured to work with them, and now I updated the config (is the first time that I get this issue).

@Clivern,
I can confirm that it works with both branches now.
Maybe the new one seems a little bit faster but I don't have numbers from a good test case.

That's great to hear! i will be doing a few check, merge it to the master
branch and release a new version. Thanks!
On Mon, Dec 23, 2024 at 4:05 PM bitchecker @.***> wrote:

@Clivern https://github.com/Clivern,
I can confirm that it works with both branches now.
Maybe the new one seems a little bit faster but I don't have numbers from
a good test case.
—
Reply to this email directly, view it on GitHub
https://github.com/Clivern/Lynx/issues/143#issuecomment-2559771131, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMPA67Z3VGX4JZIRD76THD2HAKBRAVCNFSM6AAAAABUBAVCE6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJZG43TCMJTGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

The patch is released, please feel free to open a new issue if you face the issue again.


Memory keeps climbing in specific situations

Describe the bug
I am using a dynamic texture to draw text on a texture. However, I'm noticing the memory used going up and not coming down. I've asked on the forum (https://forum.babylonjs.com/t/cant-clear-dynamictexture-to-transparent-in-babylonreactnative/28933), but the conversation ran stale there, so I figured I should make a reproducible project.
To Reproduce
I've created a repository where I've recreated my situation: https://github.com/HedwigAR/BabylonCanvasIssue
I've found two situations where this memory issue happens, I've put them both in the project you can uncomment/
Situation one: https://github.com/HedwigAR/BabylonCanvasIssue/blob/3c1a6fd854bf0a43f6f59c54cc4519b4b578a250/App.tsx#L183
Situation two: https://github.com/HedwigAR/BabylonCanvasIssue/blob/3c1a6fd854bf0a43f6f59c54cc4519b4b578a250/App.tsx#L207
Expected behavior
I expect to be able to create new textures, disposing the old ones, to maybe have an impact on performance but not on the memory usage.
Screenshots
Here's the situation where the texture isn't being rendered on the mesh, but instead is rendered on the camera

Here's the profiler with the memory climbing during one of the two scenario's I've put in the project. At the end the whole project crashes.

Other

Platform: Android, didn't check on iOS

Let's close this for now. Please re-open if it still repros.


add 2 DayViewDecorator in 1 day

Can you help me how to add two DayViewDecorator in one day ?
Thanks you.

Use multiple decorators. Let's say you have decorator A and B and you add them as  decorators to your materialCalendarView. If the same dates are found in both decorators date list, then both decorator will decorate will be applied to the day.


(SERVER-571) Add puppet-agent libdir to ruby-load-path

Without this patch Hiera backend plugins distributed as modules are not
functioning as expected in Puppet Server 2.0.  The expected behavior is that
the plugin is usable in puppetserver after a successful agent run that has
synchronized plugins.
This patch addresses the problem by adding the
/opt/puppetlabs/puppet/cache/lib path to the ruby-load-path setting
which lines up with the Puppet Installation Layout.

+1 but @camlow325 and I had been discussing the possibility of putting this in for 2.1, in which case it will need to be re-targeted.

:+1: pending the outcome of the discussion with @joshcooper about the ruby-load-path libdir change.
I like the new test - might be good to try to get this into the core Ruby Puppet acceptance test suite at some point since I don't think there's anything Puppet Server-specific about it.
Also :+1: to @cprice404's suggestion that we target this at 2.1.x instead of master.

My +1 was premature.  :)  I hadn't understood the change in behavior between Puppet 3.x and Puppet 4.x, and now, having read @joshcooper 's comments, I'd prefer his proposal (consider this behavior to be a valid, breaking change) to the changes in this PR.  So I think I'm in favor of just closing this PR at the moment.
This thread is currently going on on both the Jira ticket and the PR, perhaps we could consolidate it on the Jira ticket since that will be easier to search for history in the future?

@camlow325 Are we closing this? Just going through PRs and this hasn't seen activity in 15 days, and Chris is proposing to close it and perhaps continue the discussion on the ticket.

I feel like we're at an impasse on this based on the discussion continuing on in the JIRA ticket.  I'm going to reassign SERVER-571 to @ahpook and move it to "needs information" for now.  Assuming that takes some time to sort out, the best course may be to just close this PR for now.  @jeffmccune - you okay with that?

@jeffmccune Closing this PR. Feel free to re-open if necessary.


feat: add Sha256 precompile

Before closing issue ensure we have a constraint count + a matching test with the exact interface.

Status update: round function is working using table lookups. Right now working on improving table lookups for shifts and rotations, and implementing full hash function.

Done in #689.


Ubuntu docker deployment has Vulnerabilities

Steps to reproduce the behavior (Required)

docker pull starrocks/artifacts-ubuntu:3.1.1
docker scout quickview

Expected behavior (Required)
No critical issues
As little as possible High issues
Real behavior (Required)
Please see attached screen capture

StarRocks version (Required)

3.1.3

Thank you for your feedback. We are gradually fixing the security issue recently. When we fix it, we will try to check again according to your method to see how to fix it.


Strictness Parameter

In the app.py, I can see that we have a parameter "strictness", where is this being passed onto?
I don't see any documentation in Azure Cognitive Search that uses this parameter.

Hi @miggytrinidad please see the documentation for Azure OpenAI On Your Data: https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/use-your-data#custom-parameters


Why is Visual Studio 2022 sending loads of requests to dc.services.visualstudio.com?

Runtime version (e.g. net461, net48, netcoreapp2.1, netcoreapp3.1, etc. You can find this information from the *.csproj file):
net5.0

Hosting environment (e.g. Azure Web App, App Service on Linux, Windows, Ubuntu, etc.):
asp.net webapi
Windows 10
Visual Studio 2022

What are you trying to achieve?
I would like the application to stop sending constant track requests to dc.services.visualstudio.com when debugging locally, these requests are polluting dev tools and often give 439 http statuses
as per this SO question, this never happened in VS 2019, and the ticket regarding this has a response from MS telling us to open a ticket here
What have you tried so far?
The suggested answer on SO is to disable ApplicationInsightsTelemetry in the application, but that does not work which is unsurprising as the issue seems to be specific to VS 2022

Have you enabled ApplicationInsights SDK in your application? If yes, it'll collect and send telemetry. You can disable it yourself, since you added the SDK.
If you are NOT adding ApplicationInsights SDK, and still telemetry is sent from your application when running from VS 2022 - report the issue to VS itself. (Help - > Send feedback ->Report a problem)

@cijothomas I have disabled it as per the SO answer , ie
#if !DEBUG
services.AddApplicationInsightsTelemetry();
#endif

and

#if DEBUG
TelemetryConfiguration.Active.DisableTelemetry = true;
TelemetryDebugWriter.IsTracingDisabled = true;
#endif

are you aware of any further disabling that one could do?
As mentioned, this has already been raised with MS but they told us to come here


Where used

Where an item has where used that is not a "references in description" and also has an additional "references in description" it would be a better user experience to suppress the additional entry

James to fix for the June release.

I've made a change such that this table is now ordered by name, and duplicates are removed as suggested.

@oughnic I am not sure this is what you meant. Can we have a look?
For example:
https://www.datadictionary.nhs.uk/attributes/clinical_terminology_code.html
and
https://v3.datadictionary.nhs.uk/version3test/GPDataSet/attributes/clinical_terminology_code.html

Example: https://www.datadictionary.nhs.uk/classes/care_activity.html
Can "references in description CARE ACTIVITY" be removed or suppressed  for the actual item?
Can the column "How used" be removed when in just says "references in description"?
For example, a Class lists Attributes, a Attribute lists Data Elements so why are these needed in Where Used?
Can this be investigated Post Migration?


[BUG] crc start failed at "Adding user's pull secret ..."

General information

OS: Linux
Hypervisor: KVM
Did you run crc setup before starting it (Yes/No)? Yes

CRC version
crc version: 1.5.0+e1c8fb8
OpenShift version: 4.2.14 (embedded in binary)

CRC status
ERRO The connection to the server api.crc.testing:6443 was refused - did you specify the right host or port?
 - exit status 1

Host Operating System
NAME="Red Hat Enterprise Linux Server"
VERSION="7.7 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.7"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.7 (Maipo)"

Steps to reproduce
I am using crc 1.5.0. It used to work, but start to fail yesterday even I cleanup all existing stuff, then download and install new crc.

crc setup
crc start

Expected
crc can be launched successfully
Actual
It failed at the step of "Adding user's pull secret ...".
But VM is launched, as I can ssh into it by running:
$ ssh -i ~/.crc/machines/crc/id_rsa core@$(crc ip)

And,
$ virsh -c qemu:///system list
setlocale: No such file or directory
 Id    Name                           State
----------------------------------------------------
 3     crc                            running

Also, api.crc.testing can be connected:
$ ping api.crc.testing
PING icp-console.apps-crc.testing (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from lab3-playground.cn.ibm.com (<IP_ADDRESS>): icmp_seq=1 ttl=64 time=0.169 ms

But, crc status returns failure:
$ crc status
ERRO The connection to the server api.crc.testing:6443 was refused - did you specify the right host or port?
 - exit status 1

Logs
WARN A new version (1.8.0) has been published on https://cloud.redhat.com/openshift/install/crc/installer-provisioned
INFO Checking if oc binary is cached
INFO Checking if running as non-root
INFO Checking if Virtualization is enabled
INFO Checking if KVM is enabled
INFO Checking if libvirt is installed
INFO Checking if user is part of libvirt group
INFO Checking if libvirt is enabled
INFO Checking if libvirt daemon is running
INFO Checking if a supported libvirt version is installed
INFO Checking if crc-driver-libvirt is installed
INFO Checking if libvirt 'crc' network is available
INFO Checking if libvirt 'crc' network is active
INFO Checking if NetworkManager is installed
INFO Checking if NetworkManager service is running
INFO Checking if /etc/NetworkManager/conf.d/crc-nm-dnsmasq.conf exists
INFO Checking if /etc/NetworkManager/dnsmasq.d/crc.conf exists
INFO Extracting bundle: crc_libvirt_4.2.14.crcbundle ...
INFO Creating CodeReady Containers VM for OpenShift 4.2.14-x86_64...
INFO Verifying validity of the cluster certificates ...
INFO Check internal and public DNS query ...
INFO Check DNS query from host ...
INFO Copying kubeconfig file to instance dir ...
INFO Cluster TLS certificates have expired, renewing them... [will take up to 5 minutes]
WARN API server is not ready after cert recovery process
INFO Adding user's pull secret ...
ERRO Error Setting cluster config: Failed to update user pull secret or cluster ID: Temporary Error: exit status 1
Temporary Error: exit status 1
Temporary Error: exit status 1
...

You can start crc with crc start --log-level debug to collect logs.
Please consider posting this on http://gist.github.com/ and post the link in the issue.

As per following error, looks like api server not even ready to serve the request :( can you delete it and run again but use --log-level debug and share the logs in a gist?
INFO Cluster TLS certificates have expired, renewing them... [will take up to 5 minutes]
WARN API server is not ready after cert recovery process

Yeah, I just finished it and uploaded here: https://gist.github.com/morningspace/113a5f85110d6957242a66a6ff9776ec
And, do notice below errors and it looks it's failed to update the cert?
sudo oc adm certificate approve csr-fbgvr --kubeconfig /etc/kubernetes/static-pod-resources/recovery-kube-apiserver-pod/admin.kubeconfig
DEBU SSH cmd err, output: <nil>: certificatesigningrequest.certificates.k8s.io/csr-fbgvr approved
DEBU oc invocation failed: The connection to the server api.crc.testing:6443 was refused - did you specify the right host or port?
DEBU error: Temporary Error: exit status 1 - sleeping 1s
DEBU retry loop 1
...

Are you performing these steps on a baremetal machine or cloud service?

It's a lab vm (VMWare) @gbraad

@morningspace any chance you give the latest version a try which doesn't need cert recovery step and see if that works?

Aha.. I see.. I was using an old version just because it's easy for me to expand the default 30GB disk size. Well, I can find time to try the latest one, which seem better since it doesn't need cert recovery, but I guess need to figure out the way to expand the disk size which I haven't tried yet.

Nested virtualization is not recommended. We have only tested this kvm+kvm or hyperv+hyperv, not any other combination. From experience with Minishift we generslly do not recommend this setup as described

Can we close this issue, as the used version is about 2+ months old (3 releases behind)

Sure, let me do this...

@morningspace Also can you confirm that latest release works as expected, disk resize manual process is discussed in https://github.com/code-ready/crc/issues/127 issue.

Yeah, I just tried the latest one, it works w/ the resize manual process. I've updated #127 just now. @praveenkumar


Implement ZeroMQ sender for export distro

currently, it's not supported in here
cc @drasko

To be determined if additional export connectors are something we do before or after export service relook/refactor.  We need a more plug-in or SDK style of architecture to allow export services to scale to vast numbers of connectors over time - without necessarily bloating the code base when you only need a few connectors in a use case.

Does implement it firstly then transplant it to adapt the new architecture(mode) is a consider idea?
We could let the connector hold into holding repository or a feature branch, no matter implement it now or soon, the main business logic is similar (for example the Send method). Just a opinion, follow your plan.

Yes - this a duplicate to #102.  Annotating and closing as such.  For what it is worth, we did decide at latest F2F to design new application services for Delhi with implementation scheduled for Edinburgh release.  Whether we add ZeroMQ into current export services (or only do as part of application services) would depend on needs and availability of resources.


update transaction init fee

update UInt64.fromUint(0) to  new UInt64([0, 0]), code consistency

Pull Request Test Coverage Report for Build 265

0 of 0   changed or added relevant lines in 0 files are covered.
10 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.7%) to 71.105%

Files with Coverage Reduction
New Missed Lines
%

src/model/namespace/NamespaceId.ts
2
72.73%

src/service/NamespaceService.ts
8
21.43%

Totals

Change from base Build 260:
-0.7%

Covered Lines:
1046

Relevant Lines:
1329

💛  - Coveralls


Ascom cannot import bundled assets on legacy circumstances

Please verify the version of auro-dropdown you have installed
v2.9.9
Please describe the bug
we're looking to import the auro-datepicker, auro-dropdown into the homelet on the Ascom homepage.
Reproducing the error
None
Expected behavior
No response
What browsers are you seeing the problem on?
No response
Additional context
No response

deleting as this is a duplicate of #199


Cables not connecting

Heat cables and fluid tubes seem not to connect at all (see picture). Using v1.12-1.6.3 together with forge <IP_ADDRESS>8
Can you help me what I'm doing wrong...

From the picture, it looks like you are using redstone heat cables & redstone fluid tubes. Those only connect when given a redstone signal. For normal use, you should be using the heat cables and fluid tubes that don't have redstone in the name.


Apply page redirect to thank you not working

@ozooner have any idea how it got broken?
Seems the form action is from back in the hashbang days.
https://www.dropbox.com/s/jfe8vcqg71fev73/Screenshot 2015-09-01 22.17.52.png?dl=0
Can we just redirect from the controller?
https://github.com/fadeit/fadeitdk/blob/master/src/app/apply/apply.controller.js

It was due to drupal site at danmind.ru/api redirecting to that page after form submission. Now it will redirect to http://fadeit.dk/thanks


Deal with a file with a large amount of lines

Imagine
> wc -l example1.wig
7028198 example1.wig

From
> wag step example1.wig
Fatal error: exception Failure("int_of_string")

To
> wag step example1.wig
Too many lines to handle

The bug is caused when ag command searches a single file. The number of lines is unrelated.


[BEAM-7283] Update aggregated javadoc versions during linking to point to javadoc.io

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @angoenka


Services API: do not change backend state when weight is changed in upsertService

Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[x] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[x] Are you a user of Cilium? Please add yourself to the Users doc
[ ] Thanks for contributing!

The API currently allows update/change of the backend state of a service through upsertService, but ONLY when a weight is changed. Otherwise the change is ignored (code).
This is prety counterintuitive as the API usage goes.
Also, in case a user does update his service, changing both a backend's state and weight, at this point, if a UpdateBackendsState would be called, updating the same backend to a state it originally was ( the state that would still be in here), this condition would make the backend be skipped in the update of all services selecting the backend, therefore leaving it's state as is, which I believe would not be expected.
Fixes: #issue-number
Backend state changes for a single service are no longer permitted ( use the updateServices API flag or CLI equivalent)

Cc @oblazek

Cc @oblazek

Hey :wave:, I already discussed this offline with @strudelPi, I believe this makes sense. Changing the state only with UpdateBackendsState should be more straightforward.

Hi @strudelPi :wave:
could you provide some more context please? It's not entirely clear to me what is changing and why

Hi @strudelPi wave
could you provide some more context please? It's not entirely clear to me what is changing and why

Hey, @jibi
sure, I'll try. From a user perspective you can currently update the backend state with API either with the updateServices flag, which will update all services that have this backend or with a regular service update. But with regular service update ONLY if you are also changing the weight  (see the removed line b.State = backends[i].State is in the condition where weight is changed, not state, nor both).
This, I believe, makes for a very strange user experience as if I went to update service with backend state and weight, those changes would happen. But if I only updated the service with backend state, nothing would happen to the state.

@strudelPi could you rebase this PR on top of main please?

/cc @oblazek Looks like the code this PR is updating was previously added by you.

see my comment https://github.com/cilium/cilium/pull/24560#issuecomment-1484540090, lgtm

Sorry, looks like this PR needs another rebase. There's been quite a bit of churn with the upcoming release.

Also, in case a user does update his service, changing both a backend's state and weight, at this point, if a UpdateBackendsState would be called, updating the same backend to a state it originally was ( the state that would still be in here), this condition would make the backend be skipped in the update of all services selecting the backend, therefore leaving it's state as is, which I believe would not be expected.

this issue is now stale as I removed the said condition in https://github.com/cilium/cilium/pull/24474
I reviewed the change now and I'm not actually really sure we want to keep the change to the code as is.
Now, IMHO the one problem this PR solves is that the API is not really UX consistent - that is... you can change backend state with upsert service with some calls (weight & state change) and not with others (just state change).
But I just noticed the terminating which I would also need to change so that ALL the backend state changes happen via the UpdateBackendsState call. Which I believe we cannot just remove.

Any propositions for this? @oblazek @aditighag


Fix for Issue #354. "Error getting Content from CmsEnvelopedData with AES128-GCM"

This is a fix for issue #354 . As I commented on the issue, I have limited knowledge about this so it would be nice if you can review this PR and ensure that this fix doesn't cause any incompatibility with other parts of the library.

This should now be fixed and will be in the 2.1.0 release, expected shortly.
This PR is in the right ballpark, but there is an actual ASN.1 type (GcmParameters) associated with this sequence, and also the (optional) second element of the sequence is actually the tag length (i.e. mac size) to use with GCM, so the parameters have to be of type AeadParameters in order to be able to properly capture the full information.
Also, for completeness we support all of Aes128Gcm, Aes192Gcm, Aes256Gcm, and the corresponding Ccm parameters too.


Week 22 Review Ticket

5.5-5.6
CPT Outline in relation to my project
Front End Demo

Post your reflections as a blog


Don't capture rustdoc output for transitive deps

We already started doing this for the compiler awhile back, so this just brings
rustdoc up to the same parity

r? @huonw
(rust_highfive has picked a reviewer for you, use r? to override)

r? @brson

@bors r+

:pushpin: Commit 95e2089 has been approved by brson

:hourglass: Testing commit 95e2089 with merge d23ddec...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64


tutorial

Hi! I'm not an advanced user of python so don't know how to use the package. I tryed to detrend a raster but couldn't do it. Could you give me some help on how to call the function once I installed the package?

Hi @Joaquin-Urruti ,
So you wanna first open the raster with the function openGeoTiff(). It will return the 2D array. You use this one on the function Detrend() which will detrend the raster.

Hi @ArcticSnow!
Thanks for the answer.
I'm trying to install the lib like I show in the pic but can't access the methods of rasterTool. I'm a bit lost sorry

I also tryed like this:

try
from dempy import rasterTool as rt

rt.openGeoTiff(file)

thank you Simon. I wasn't able to install on macos, I had some problem with open-cv

I installed in a new anaconda env in windows but couldn't make it work either.
I think there are several dependency problems in the package, I tryed to fix it but I couldn't...

I have had many issues of compatibilities between gdal and opencv. A trick I think I had was to install gdal with conda and opencv with pip. It is an ad-hoc solution. Both library are very useful but sadly not easily compatible.
Good luck


⚠ T:Riza Community Forum has degraded performance

In 63337f4, T:Riza Community Forum (https://community.triza.dev) experienced degraded performance:

HTTP code: 200
Response time: 1924 ms

Resolved: T:Riza Community Forum performance has improved in d80492e.


App closing in Android

Hello,
In android if you build a game, then close it using the home button, if you try to go back on the game using either the icon or the app switcher without force closing it first, the game crashes and won't reload until you force close it. It's due to the GL context not being destroyed on the app crossofff. I've got it worked out on my bransh so I'm submitting a PR for it.
Thanks!

Closed by https://github.com/EngoEngine/engo/pull/448


SSO expiry issue

To track the confusing issues where some commands indicate credentials have expired, but others don't.
See #49 and #50/#51.

Version 2.5.0 includes the --force and --skip-expiry-check flags.
Currently recommend that when encountering the expiry issue:

upgrade to at least 2.5.0 (can check current version with aws-sso-auth --version)
run aws-sso-auth --skip-expiry-check --verbose and check if that resolves the issue
if not, run aws-sso-auth --force --verbose and check if that resolves the issue

If that doesn't resolve the issue, report here the results of the following:
$ cat ~/.aws/sso/cache/*.json  | jq -r .expiresAt
$ cat ~/.aws/cli/cache/*.json  | jq -r .Credentials.Expiration

along with:

does the AWS CLI think your credentials are valid?
if so, what tool are you using that thinks your credentials are not valid?

$ cat ~/.aws/sso/cache/*.json  | jq -r .expiresAt
2023-06-29T16:48:23Z
$ cat ~/.aws/cli/cache/*.json  | jq -r .Credentials.Expiration
cat: '/home/davidb/.aws/cli/cache/*.json': No such file or directory
$ aws s3 ls
Error loading SSO Token: Token for https://isotoma-sso.awsapps.com/start does not exist

Broken by aws-cli update to version 2.11.7
Working with 2.9.0

Believe this is mitigated - as best as can be, with a workaround - in 2.8.0.

Closing as fixed.


Stop bindModal function creating a new instance of the clickFunction.

@incuna/js
please review.

@incuna/js Basically the problem here was that var clickFunction = ...  ran each time the bindModal function was called and created a new variable instance of clickFunction.
Hence when we ran element.off('click', clickFunction), the click function wasn't being unbound properly, as the bound reference was to another variable.
To solve this, we need to store the bound clickFunction for each directive somewhere so that we can unbind it when re-running the bind.
The initial idea was to return the clickFunction and store it in the directive link function, but this is a bit ugly and I think there must be a cleaner way...

Any other ideas?

Seems ok

@wytrych  Your seems ok seems like your not convinced.

Haha - it just means, I'm not sure if we can do it better, but happy to keep it like that :)

@henrahmagix  Changes made please rereview.

After the changelog change, good to go


App Idea: Digital Audio Workspace DAW

A Free and Open-Sourced Digital Audio Workspace(DAW)
Tier: Add corresponding tier (1-Beginner, 2-Intermediate, 3-Advanced)

This app would fit best under the 3-Advanced tier.

"What is the purpose of this application?"

A digital audio workstation is an application software used for recording, editing and producing audio files. DAWs come in a wide variety of configurations from a single software program on a laptop, to an integrated stand-alone unit, all the way to a highly complex configuration of numerous components controlled by a central computer. Wikipedia

User Stories

[ ] User can create original works of music
[ ] User can mix stems of unfinished recordings to produce a song
[ ] User can master final draft of song
[ ] User can save audio recordings of any kind
[ ] User can remix any audio brought into the DAW

Bonus features

[ ] User can write edit and record using MIDI
[ ] User can bring in and edit their own choice of sounds/samples

Useful links and resources

Wikipedia: Digital Audio Workstation
Wikipedia: Audio File Format
What is MIDI
What is a DAW
How to develop a DAW
Ableton Live - Coding the Digital Audio Workstation
Ableton Live

Example projects

LetsMakeMusic
Open DAW
Ardour
ZRythm

Hello everyone 👋
I hope this message finds you well. As you may know, the original repository for app ideas has not been updated in a while and is no longer actively maintained. However, I'm excited to let you know that a new repository has been created to continue this project (https://github.com/vincent0426/app-ideas).
The new repository aims to provide a comprehensive list of practical and achievable app ideas that developers of all levels can work on to improve their skills and build their portfolios. We welcome contributions from anyone who wants to add their own app ideas or improve the existing ones, and we are also looking for volunteers who can help maintain the repository and keep it up to date.
If you are interested in contributing or maintaining this project, please head over to the new repository (https://github.com/vincent0426/app-ideas) ⭐ and take a look at the existing issues and pull requests. Feel free to open a new issue if you have an app idea to suggest or if you have any questions about the project.
Thank you for your attention, and I hope to see you in the new repository soon! 💖

⚠ This message was generated by a robot 🤖, if this message reached you, consider leaving a star for this robot, repository link
⭐ https://github.com/aldairandre/github-bot ⭐

Hello everyone 👋
I hope this message finds you well. As you may know, the original repository for app ideas has not been updated in a while and is no longer actively maintained. However, I'm excited to let you know that a new repository has been created to continue this project (https://github.com/vincent0426/app-ideas).
The new repository aims to provide a comprehensive list of practical and achievable app ideas that developers of all levels can work on to improve their skills and build their portfolios. We welcome contributions from anyone who wants to add their own app ideas or improve the existing ones, and we are also looking for volunteers who can help maintain the repository and keep it up to date.
If you are interested in contributing or maintaining this project, please head over to the new repository (https://github.com/vincent0426/app-ideas) ⭐ and take a look at the existing issues and pull requests. Feel free to open a new issue if you have an app idea to suggest or if you have any questions about the project.
Thank you for your attention, and I hope to see you in the new repository soon! 💖

⚠ This message was generated by a robot 🤖, if this message reached you, consider leaving a star for this robot, repository link
⭐ https://github.com/aldairandre/github-bot ⭐

Hello everyone 👋
I hope this message finds you well. As you may know, the original repository for app ideas has not been updated in a while and is no longer actively maintained. However, I'm excited to let you know that a new repository has been created to continue this project (https://github.com/vincent0426/app-ideas).
The new repository aims to provide a comprehensive list of practical and achievable app ideas that developers of all levels can work on to improve their skills and build their portfolios. We welcome contributions from anyone who wants to add their own app ideas or improve the existing ones, and we are also looking for volunteers who can help maintain the repository and keep it up to date.
If you are interested in contributing or maintaining this project, please head over to the new repository (https://github.com/vincent0426/app-ideas) ⭐ and take a look at the existing issues and pull requests. Feel free to open a new issue if you have an app idea to suggest or if you have any questions about the project.
Thank you for your attention, and I hope to see you in the new repository soon! 💖

⚠ This message was generated by a robot 🤖, if this message reached you, consider leaving a star for this robot, repository link
⭐ https://github.com/aldairandre/github-bot ⭐


Gregwar/Image supports gaussianBlur, so should Grav

Since grav uses the GD Adapter of Gregwar/Image and has no option to change it, this should be safe to implement, when the latest Version of the Lib is used.

Maybe the composer.json should then change to require minimum version v2.0.21 of Gregwar/Image

FYI Grav already includes 2.0.21


Auth lee

Corrected component file paths
Added components/Auth directory
Moved Login.js and Register.js to Auth
Added AuthContainer component
Created Login.js form and Register.js form

Thanks!


"No results found" with Sqlectron 1.20.2 / 1.21.0 and Postgres 8.4.20

Sqlectron displays "No results found" in response to any query I run with Postgres 8.4.20. I can successfully get the results when connecting with pgAdmin 3, and I can also get results when connecting Sqlectron to Postgres 9.5.7 (but I'm stuck with 8.4 for the database I need to connect to). I tried this both with Sqlectron 1.20.2, and then again with 1.21.0.

I have ran the core tests with PG 8.4.22 and many tests failed. That means sqlectron right now does not support PG < 9. I can't work on adding support for that. But I will accept a PR from anyone interested on doing that.

@maxcnunes don't know if you have a policy for support or smth, but for me as postgres team drop support for 8.4 since july 2014 for me it can be leaved unfixed.
(btw the oldest supported version is currently 9.2 https://www.postgresql.org/support/versioning/ )

@eMerzh Good addition. I didn't remember checking out the supported versions. In that case would be only worth including support on sqlectron if it is a simple change. Otherwise would cause more bad than good.

@maxcnunes Well like I was saying in #329 this affects Amazon Redshift as well (the amazon version of bigquery). Redshift was forked from Postgres 8.0, so speaks postgres 8.x. Having it available even as a separate driver or some such would be really nice.

@maxcnunes I figured out the issue.
The results array is being filled with fields and rows, but the rowCount is null. So in executeQuery, if you do something like this:

      // Remove any "reference" to the remote IPC object
      const results = cloneDeep(remoteResult);
      results[0].rowCount = results[0].rows.length;

Then that works fine. Of course it's not the correct fix, the rowCount shouldn't be null in the first place, that happens in -core. Looking at postgresql.js:

function parseRowQueryResult(data, command) {
  const isSelect = data.command === 'SELECT';
  return {
    command: command || data.command,
    rows: data.rows,
    fields: data.fields,
    rowCount: isSelect ? data.rowCount : undefined,
    affectedRows: !isSelect && !isNaN(data.rowCount) ? data.rowCount : undefined,
  };
}

data.rowCount comes from the pg lib. I suspect the best fix would be to ensure it's set correctly in pg, but I don't know what exactly is going on for it not to work properly and I'm not familiar enough with the postgres protocol to dig into it further. However, in the mean time, changing the `rowCount above to the following will probably fix it:
rowCount: isSelect ? (data.rowCount || data.rows.length) : undefined

First of all let me say this project looks awesome! I was just notified of its existence via this issue.
I checked the binary protocol for<EMAIL_ADDRESS>and it doesn't return a rowCount value for a SELECT statement, so unfortunately data.rowCount is always going to be null since the backend isn't sending it to node-postgres.  There's literally no way to get it out of the protocol w/o counting rows returned AFAIK w/<EMAIL_ADDRESS>(including redshift).
I think @jleclanche's suggestion to check data.rows.length on the result is a safe way to go. You could even do rowCount: (data.rowCount || (data.rows || 0).length) which should always work and be future-proof if node-postgres ever decided to not allocate arrays of rows automatically on results of queries which return no rows.
Or maybe :crossed_fingers: one day amazon will update redshift to use the<EMAIL_ADDRESS>binary protocol and then we'll all be better.
I'm glad I found this lib though - definitely going to install it & use it when I'm developing apps. psql is nice, but it is 2017 after all. :smile:

Or maybe 🤞 one day amazon will update redshift to use the<EMAIL_ADDRESS>binary protocol and then we'll all be better.

Tell me about it!! I'm not getting my hopes up though.
Glad you like sqlectron; I just found it yesterday as well and I'm pretty psyched about it, it looks like it could definitely use some contributions :)

https://github.com/sqlectron/sqlectron-core/pull/45 should fix this issue.

Thanks @jleclanche for all the effort in this issue! I will publish later today a new version with your fixing. I'm just not sure this will be enough to consider the app supports PG 8.x. At least in the local test I had ran with 8.x seemed there was a lot of tests failing with PG 8.x such as generating scripts (select, create, and etc.) and canceling a running querying (I don't really remember which tests were). But if this small fixing already help you out in what you need that is awesome.

I'll keep reporting issues if I come across more. For the time being I mostly need read access to redshift.
I suspect tests might be more sensitive to changes to the protocol from 8->9 than clients are; most clients seem to support 8.0 (as in redshift) just fine, including psql 9.6.
The only issue I know of, that showed up in pgadmin4 and that seems to have shown up in a few other clients (but not sqlectron) is a spurious error on startup: ERROR: permission denied to set parameter "client_min_messages" to "notice".

Is there a way I can get this fix into the gui? I'm just trying to find a simple way to let sql newbies run a few queries on the database.
PS: I was resigned to this not working. All of you are awesome.


JSON stringify - unespected behavior - sorting keys by default

Tested versions
Reproducible in v4.3.stable.official [77dcf97d8]
System information
Windows 10 - v4.3.stable.official [77dcf97d8]
Issue description
This is not a bug actually.
Unespected and, in my opinion, uwanted behavior of the JSON.stringify method.
Gave me issues because I was storing a very basic list of ordered high-scores in a dictionary, with names as keys and scores as values.
Initially I thought there was a problem with my sorting algorythm, so it took me a while to find out that the method was resorting my data.
In my opinion the sort_keys: bool parameter should be false by default
Steps to reproduce
example code:
var data = {
  "b": 1000,
  "a": 200
}
print(data)
print(JSON.stringify(data))
will print
{ "b": 1000, "a": 200 }
{"a":200,"b":1000}
Minimal reproduction project (MRP)
json-stringify.zip

Note that the JSON format does not guarantee insertion order, so the the alphabetical sorting may be enabled by default to guarantee some form of consistency when retrieving data back as a Dictionary.

I see, so I guess in my case it would be simpler and more consistent using an array such as:
[{"name": "a", "score": 1000}, {"name": "a", "score": 200}]


Noise on Gradient of a GridFunction of H1 fes

Hello all,
After solving a block system, I have obtained the degrees of freedom associated with two GridFunction s Et and En created on finite element spaces that use the ND_FECollection and the H1_FECollection, respectively and on a 2D triangular mesh. I have computed the curl of Et (ND) and the gradient of En (H1), using GridFunction::GetCurl and GridFunction::GetGradient as:
ofstream OSCurlERet("mypath.txt");
Vector CurlEt,GradEn;
if (OSCurlERet.is_open())
{
   OSCurlEt.setf(ios::fixed);
   OSCurlEt.precision(17);
   for (int i=0;i<mesh->GetNE();i++)
   {
      ElementTransformation *Tr = mesh->GetElementTransformation(i);
      Et.GetCurl(*Tr,CurlEt);
      CurlEt.Print(OSCurlEt,1);
    }
}

Similarly, for the gradient:
                 En.GetGradient(*Tr,GradEn);
Although I would expect errors to rise as we are taking the derivative on the values computed already, I find the gradient extremely noisy, much higher than the noise noticed on the curl of the ND based GridFunction.
Did I use your functions incorrectly to compute the Gradient? Would you expect the solution to be much more noisy for the gradient of H1 than for the curl of a ND fes?
Thanks in advance.
Alvaro

Hello, @S-Villar ,
There are two things that I notice.
First, if the H1 and ND spaces are of the same order then the gradient of En will be a higher order polynomial than the curl of Et so you might simply be seeing more variation within the elements. For example, if you're using order=1 then the curl of Et will be constant within each element whereas the gradient of En will vary linearly.
Second, and probably more importantly, you don't seem to be specifying exactly where to evaluate your derivatives within the element.  This could lead to an appearance of randomness as different locations are chosen perhaps based on orientation of the elements.  The methods GetCurl and GetGradient evaluate the functions at the integration point that is set within the ElementTransformation object, Tr.  If you don't set this point explicitly using Tr->SetIntPoint(&ip); then the last point, whatever that was, will be reused.  Normally the integration points are obtained from integration rules but you may just want the element centers.  If this is the case you can use:
Tr->SetIntPoint(&Geometries.GetCenter(Geometry::TRIANGLE));
Best wishes,
Mark

Thank you @mlstowell. In fact that solved the issue perfectly. I was not choosing the integrationPoint and it was taking a random point. Thanks a lot and happy new year :D


[WIP] Add k8s_config

Add repository for k8s_config ansible role.

@jkupferer there is a formal repository request template (see this).
Would you be able to update the description to align with the template?

@sabre1041 I've submitted an issue... should I update the PR as well to match the issue?
https://github.com/redhat-cop/org/issues/77

@jkupferer Repository created: https://github.com/redhat-cop/k8s_config
Feel free to update the PR and remove the WIP status when you feel it is ready to review

WIP status removed. I came up with this configuration by simply referencing the way babylon was configured... though I have to admit I don't follow the logic of this yaml structure.


Migrate from uwsgi to gunicorn + make dockerfile suitable for prod

uwsgi requires the entire C compile toolchain so ends up raising docker image size to >500 MB and slows down the build.
Remove ARG=dev/test in dockerfile which seems to be unused. This also enables removal of apt-get update/upgrade which reduces image size further, down to 209 MB.
uwsgi was never included in requirements.txt as it wasn't needed for the dev setup. But as gunicorn is quick to download, have added it.

According to https://python-docs.readthedocs.io/en/latest/scenarios/web.html, Gunicorn is the "recommended choice for new Python web applications today".


add hex numeric support

Wow. This pull request is olddddddddddddd, but I love the inclusion of base as a param. Thank @qqshfox, much appreciated.


cuspatial on DB 10.4 runtime

run cuspatial on DB 10.4 runtime by init script, not docker

Close since we're going to crop cuSpatial examples.


Don't expose port 9103 to Cassandra pods

I am having k8s cluster and deploying k8cs with host networking set to true. For my case, host port 9103 is already used by some other process.
So It is not allowing to create Cassandra pods due to port conflict.
The port 9103 is not used for any purpose so it is good to not expose them on the cassandra pods which are being created.

9103 is the MCAC metrics port.

@burmanm ,that's correct. If we disable the MCAC in the k8ssandracluster yaml, the pod should not expose 9103 port ideally. Because no metrics will be emitted from that port. So , I believe that we no need to expose it in the pod. Correct me if I'm wrong?

Right, in that case (if the disable is used - but not mentioned in the original message), the port should not be exposed. But by default (at least as of 1.9.x) it should be.

Yep,I should have mentioned it clearly, by which release, this MCAC will be deprecated?


byte-order-marks at start of string appear to cause parse failures

I encountered this issue via nushell. I don't particularly thing nu is doing anything extra that would cause the problem; the nu code in question is at https://github.com/nushell/nushell/blob/71d604067aefa10148ed62063034bde0ba4dfeaf/crates/nu-command/src/formats/from/yaml.rs#L191 and it looks very vanilla to me from other uses of serde.
Anyway, for a small sample yaml file:
id: thing
foo: bar

I get parse errors if the file is saved with a unicode byte-order-mark at the beginning.  The yaml spec says they're explicitly allowed: https://yaml.org/spec/1.2.2/#52-character-encodings
To reproduce (in nushell)

❯ "id: thing\nfoo: bar" | save --raw test1.yaml

❯ "id: thing\nfoo: bar" | into binary | bytes add 0x[ef bb bf] | save --raw test2.yaml

❯ open test1.yaml
╭─────┬───────╮
│ id  │ thing │
│ foo │ bar   │
╰─────┴───────╯

❯ open test2.yaml
Error:   × Error while parsing as yaml
   ╭─[entry #8:1:6]
 1 │ open test2.yaml
   ·      ─────┬────
   ·           ╰── Could not parse '/tmp/test2.yaml' with `from yaml`
   ╰────
  help: Check out `help from yaml` or `help from` for more options or open raw data with `open --raw '/tmp/test2.yaml'`

Error: nu::shell::unsupported_input

  × Unsupported input
   ╭─[entry #8:1:1]
 1 │ open test2.yaml
   · ──┬─┬
   ·   │ ╰── value originates from here
   ·   ╰── Could not load YAML: did not find expected <document start> at line 2 column 1
   ╰────

# a workaround that removes the BOM again
❯ open --raw test2.yaml | decode utf8 | from yaml
╭─────┬───────╮
│ id  │ thing │
│ foo │ bar   │
╰─────┴───────╯

There is also this weirdness, that a single-line document doesn't break.
❯ "id: thing" | into binary | bytes add 0x[ef bb bf] | save --raw test3.yaml

❯ open test3.yaml
╭────┬───────╮
│ id │ thing │
╰────┴───────╯

here's a test I jammed into test_de.rs just below the existing test_byte_order_mark, that fails on the second case
fn test_byte_order_mark_2() {

    #[derive(Deserialize, PartialEq, Debug)]
    struct Struct {
        id: String,
        foo: String,
    }

    let yaml = str::from_utf8(b"id: thing\nfoo: bar").unwrap();
    let yaml_bom = str::from_utf8(b"\xEF\xBB\xBFid: thing\nfoo: bar").unwrap();

    let expected = Struct {
        id: "thing".to_owned(),
        foo: "bar".to_owned(),
    };
    test_de(yaml, &expected);
    test_de(yaml_bom, &expected);
}


fix(indexticker): more indicie and null indicator values support

What's changed?

Add more indicies

Europe 350
Global 100
Global 1200
NIKKEI -- this was previously commented out as it caused the app to crash (now fixed)
NZX 50

Add support for null indicator values

Resolves NIKKEI issue

example payload causing havoc before
https://query1.finance.yahoo.com/v8/finance/chart/%5En225?metrics=high?&interval=5m⦥=1d

Preview
https://github.com/user-attachments/assets/548bc32f-2629-4816-a771-f442ddb8c523

@M0ntyP PTAL?

Hey @matslina & @wayne-shih , sorry for the delay!
Not sure what PTAL means, but if you're looking for my approval to add these changes then go right ahead!

@M0ntyP =) sorry. "Please Take A Look".


Issue while using Timeout

Hi
I have tried to post the question on StackOverflow but didn't get the reply, so I am trying here also.
https://stackoverflow.com/questions/62317279/jodah-failsafe-library-timeout-is-taking-longer-then-expected
Can you please go through it and let me know what am I doing wrong

I answered on SO.
On Tue, Jun 16, 2020 at 8:18 AM ke7insud<EMAIL_ADDRESS>wrote:

Hi
I have tried to post the question on StackOverflow but didn't get the
reply, so I am trying here also.
https://stackoverflow.com/questions/62317279/jodah-failsafe-library-timeout-is-taking-longer-then-expected
Can you please go through it and let me know what am I doing wrong
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jhalterman/failsafe/issues/255, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADI7HIUZS3H53GDNORD3KTRW4FEDANCNFSM4N7JMO6A
.

@whiskeysierra I think it's slightly confusing that the Timeout policy is completely ignored for blocking calls - maybe a more desirable behavior would be to have a precondition in get(...) like
Preconditions.checkState(
    policies.stream().noneMatches(PolicyUtils::isTimeout),
    "Please use .withMaxDuration(...) instead of a timeout when using a blocking method like get(...). "
     + "Note that .withMaxDuration will not interrupt execution")`

or at least log.warn since starting to throw would be a breaking change.
Also, if the evaluation of the timeout policy is scheduled on a different thread than the thread that executes the blocking call, that different thread could in theory interrupt the thread executing the blocking call.
Anyways, leaving that aside, I'm also having some issues with Timeouts with getAsync(...):
RetryPolicy<Boolean> retryPolicy = new RetryPolicy<Boolean>()
    .handleResultIf(retry -> retry)
    .withMaxAttempts(-1);
Timeout<Boolean> timeout = Timeout.<Boolean>of(Duration.ofSeconds(1))
    .withCancel(true)
    .onFailure($ -> System.out.println("failure"))
    .onSuccess($ -> System.out.println("success"));
Failsafe
    .with(retryPolicy, timeout)
    .getAsync(ctx -> !ctx.isCancelled())
    .get();

This hangs forever (constantly printing "success"), while I would expect the timeout to cause the context to become canceled after 1 second, thus completing the future. Am I missing something?

Answering second part first, which will lead to a response to the first part. Some of this probably belongs on StackOverflow.

Am I missing something?

Several things, I believe.
From the way you wrote the code, I think you wanted to have the task repeat under a retry policy and have the timeout apply to the repeated execution. For that you need to change the order of the policies from with(retryPolicy, timeout) to with(timeout, retryPolicy). (See @whiskeysierra's comment on #253, and #254 and its related issues for more about why this is.) With this simple change, your code simply prints success once and exits, which I'm guessing is what you were expecting. (It works that way with the synchronous get instead of getAsync, too.)
But why does it behave the way it does with the policies in the order retryPolicy, timeout?
Most directly, the !ctx.isCancelled() expression is evaluated when the asynchronous task executes, but the timeout policy isn't scheduled to fire until 1 second has elapsed. Barring some unlikely execution scheduling, the task will complete successfully before the timeout fires, returning true, and the retry policy will obligingly retry ad infinitum.
If you tweak your code as follows to simulate some work during the task execution, it repeatedly fails rather than repeatedly succeeding (I limited the attempts to 3 to avoid the infinite loop):
...
    .withMaxAttempts(3);
...
Failsafe
    .with(retryPolicy, timeout)
    .getAsync(ctx -> {
	try {
	    TimeUnit.SECONDS.sleep(2);
	} catch (InterruptedException ex) {
	    // XXX swallow exception; bad policy in practice
	}
	return !ctx.isCancelled();
    })
    .get();

This code prints failure 3 times and exits by re-throwing the last TimeoutExceededException, which is how the retry policy reports its failure after it runs out of attempts.
Secondly, the argument to withCancel is not true for cancel and false for do-not-cancel. It is whether in addition to cancelling the Failsafe machinery is allowed to interrupt the execution. The code above behaves identically if you set withCancel(false), but you can see the difference if you run this code with different values for CAN_INTERRUPT:
...
    .withCancel(CAN_INTERRUPT)
...
Failsafe
    .with(retryPolicy, timeout)
    .getAsync(ctx -> {
	boolean cancelled = false;
	boolean interrupted = false;
	try {
	    TimeUnit.SECONDS.sleep(2);
	} catch (InterruptedException ex) {
	    // XXX swallow exception; bad policy in practice
	    interrupted = true;
	}
	cancelled = ctx.isCancelled();
	System.out.printf("cancelled=%s, interrupted=%s%n", cancelled, interrupted);
	return !cancelled;
    })
    .get();

With CAN_INTERRUPT set to true, you get 3 instances of:
cancelled=true, interrupted=true

When CAN_INTERRUPT is false, you get 3 instances of:
cancelled=true, interrupted=false

If you comment out the withCancel(CAN_INTERRUPT) line, you get 3 instances of:
cancelled=false, interrupted=false

Perhaps surprisingly, it makes no difference what value is returned by the task. That's because the retry policy above uses handleResultIf, which still allows for failure conditions to cause a retry, in this case, TimeoutExceededException. If you use something like the following, the retry will not try to handle the timeout (note that we test the result for nullity before testing its value):
    .handleIf((retry, f) -> retry != null && retry)

Also, and here's the beginning of a response to the first part of your comment:

I think it's slightly confusing that the Timeout policy is completely ignored for blocking calls

Timeout is not completely ignored for blocking calls. @whiskeysierra wrote on SO:

Timeout is best used in conjunction with an asynchronous operation, usually indicated by *Async methods.

And that's a reasonable rule of thumb, but in this case, changing getAsync to get (and omitting the final get) produces the same results. It works as you supposed:

...if the evaluation of the timeout policy is scheduled on a different thread than the thread that executes the blocking call, that different thread could in theory interrupt the thread executing the blocking call.

Note that, as described above, whether interruption is used depends on the argument passed to withCancel. The use of interruption can be extremely delicate, and not all blocking code is responsive to interruption, but if your tasks stick to standard library APIs that use throws InterruptedException to indicate that kind of responsivness then it should be possible to use timeout policies with them.
But even using withCancel(false), if the running task checks whether the execution context has been cancelled, it can be used in conjunction with a timeout policy. The reason to recommend asynchronous execution with timeouts is that the main thread is free to continue with other work while the timed execution proceeds.

For posterity, in addition to what @Tembrel mentioned, I should point out that the docs discuss cooperative cancellation and interruption, which can be used with either sync or async executions:
https://failsafe-lib.github.io/execution-cancellation/#handling-cancellation


Sparse set components in filters force sparse set iteration

To refresh on sparse sets vs table component storages:

Table iteration is 2-4x faster than sparse set iteration at the moment.
Adding and removing sparse set components is faster than tables.

If a query has any sparse set components, we must use sparse set iteration as we don't have a single query. This is suboptimal if the sparse set components only exist in the filters, e.g Query<&Dense, With<Sparse>. All of the actual data we need to iterate over exists in table storage though, so this is a needless cost.
This is a common and natural pattern, especially if you're using sparse set marker components, so fixing this problem would help ensure that sparse-set components actually accomplish their promised perf benefits in real applications.
@cart raised this on Discord.

I made a first attempt at this with #4800, but it's currently unsound due to Fetch::filter_fetch there being infallible. We could make Fetch::filter_fetch return Option<bool> or collapse it via Option::unwrap_or(false). Might try to refine this so we can remove the dense checks if need be.


Need support for the changed API handling of New Teams

Since the New Teams don't rely on any API tokens any more but a consent request the connection needs to be updated.

Interesting! Do you have any information? Api documentation or a equal recourse? I'm still using the old Teams, because Teams is missing the privacy setting for the token.

Ok. I found the new api docu. I will implement the changes shortly.

It's nearly done. Testing it today. It was a little bit complicated, as long as my Teams 2.1 on Mac is not supporting the 3rd Part API.

I am still using the Teams Classic for Mac. The new teams seems to be missing the API completely. There is a lot of discussion on the MS forums about this.
I don't mind staying on the older teams classic though.

I have also noticed that the API for mute function works perfectly.
However the other apis such as Webcam on.off or Blur background, although it works it does not detect the state of the changes.

I have also noticed that the API for mute function works perfectly. However the other apis such as Webcam on.off or Blur background, although it works it does not detect the state of the changes.

That is interesting. It is working for me. Maybe it is fixed with V2 of the Plugin. Teams classic is also supporting the new API (see readme).

New V2for the API is here. I tested it only with Teams classic on Mac. Because the new Teams is missing the 3rd party api integration on Mac. But Teams classic is also supporting the new API. So hopefully it will work also with Teams 2.x.
Please test and report. If everything works as expected, I can change the prerelease state to stable.

Seems to work great Denis - I'll report back if I find anything - I basically use this plugin all day every day as I pretty much live in Teams - Thank you so much for your hard work and support on this plugin - TouchPortal is my absolutely indispensable tool to manage my daily work life - and your plugin brings everything together making it easy to get things done - thanks again!!!!

I have tested this also, Works great.
You can close this issue now in Github :)

Seems to work great Denis - I'll report back if I find anything - I basically use this plugin all day every day as I pretty much live in Teams - Thank you so much for your hard work and support on this plugin - TouchPortal is my absolutely indispensable tool to manage my daily work life - and your plugin brings everything together making it easy to get things done - thanks again!!!!

Thank you very much for your kind words.
Btw. The new Teams on the Mac now also supports API 2.


Can n't unmount SMB folder from File Manager.

New folder was not registered in SMB app after creation but this folder still present in the File Manager.
I can not unmount this folder from File Manager.

@AndreyLavrov Could you confirm the debug console output? Probably, some error occurrd at the time, I guess. You can confirm the output by the following steps:
https://github.com/yoichiro/chromeos-filesystem-cifs/wiki/How-to-Capture-the-Console-Log-of-DevTools

The following steps are reproducing issue:

Install SMB/CIFS app
Starting the app
Change settings: Keep password = "Yes"
Setting values for IP Address, Port, User Name, Password then press "KEEP"
Press "Mount"
After step 5 a string for SMB folder was appeared in File Manager but all activity in an activity tracer and a console were stopped.
All other folders in File Manager works fine until you press on SMB folder. After that file list in File Manager can not be changed even if you click any folders. However if you click on files in the a "frozen" file list then application can launch yet.

@AndreyLavrov Hmm... Any errors not found in the output above... Sorry, I can't understand the situation... Well, in the next version, I intend to add a new UI to turn on the debug mode.

I have tried to trace SMB app as well as Files app and see no exceptions but one that is described below:
When I clicked to a "mounted" folder in the Files app then exception is fired exactly at the moment of swapping extension handler to Image Loader in the Files app. This exception is suppressed by Files app by a catch and have no console log but new handler for loader is undefined. May be problem there? May be I have no such hidden extension in my stable release?
Can you list here all extension IDs (with their names) that are reqired for SMB app? I will try to check all dependencies on my Chrome OS (43.0.2357.81 (64-bit)).

@AndreyLavrov Hmm... My SMB app has no dependent other apps/extensions... You should understand it by looking at the manifest.json file: https://github.com/yoichiro/chromeos-filesystem-cifs/blob/master/app/manifest.json

@AndreyLavrov Probably, I could reproduce your situation. I just released a new version 1.1.8. Could you confirm whether the new version works on your environment?

SMB ver. 1.1.8 have solved the issue!
Now I can unmount SMB shares on Windows 7 (Standalone) and Windows 2008 R2 (Member).
P.S. When I unmount SMB folder there are no errors in Files.app but there is same console output for SMB's background.js (see picture below). All mounting/unmounting procedures are working well for Windows  7 / Windows 2008 R2 folders. I think that issue could be closed.

@AndreyLavrov Good. :)


Use setupmeta for versioning, upgrade dependencies

Use setupmeta for tag-based versioning instead of hardcoded versions
Upgrade to latest dependencies

Coverage decreased (-1.6%) to 60.177% when pulling d8cad534e4efa37a7f4cb2cda2e98aaa97860c8a on setupmeta into e466a8bc2629b0e61b5a8c48206d72786cb0b3f9 on master.


Long text in labels cause overflow

Depending on the selected zoom, which alters the grid layout, this can get better or worse.

@daavoo why does it have \. btw? is it expected?

@daavoo why does it have . btw? is it expected?

It's expected but I have just noticed that it's unnecessary. I added a patch for escaping special characters that were breaking vega-lite rendering. However, it appears that only the field needs to be escaped and the labels/title can be unescaped.

Yep, I was asking specifically about \ (escaping) - should it be visible in the titles or not, was it part of the name?

@sroy3 spotted another issue with some text overflowing on zoom:

should it be visible in the titles or not, was it part of the name?

dvc-render needs to take care of not including the escaping in the title so it doesn't show on the UI

should it be visible in the titles or not, was it part of the name?

dvc-render needs to take care of not including the escaping in the title so it doesn't show on the UI

@daavoo do you have a ticket for that?

should it be visible in the titles or not, was it part of the name?

dvc-render needs to take care of not including the escaping in the title so it doesn't show on the UI

@daavoo do you have a ticket for that?

https://github.com/iterative/dvc-render/pull/82
Will be most likely available on next dvc release


Fixes a typo in source code

Well spotted!

Thanks. Got this one from livestream.

Geez, I'm a horrible speller. Merged.


Fix problem with empty env being written for default environment

Fixes #8681
Typo in condition to check for empty env.

Codecov Report

Merging #8682 (4769cab) into main (a8c3c3a) will increase coverage by 0%.
The diff coverage is 100%.

@@          Coverage Diff          @@
##            main   #8682   +/-   ##
=====================================
  Coverage     71%     71%
=====================================
  Files        384     384
  Lines      24651   24651
  Branches    3792    3792
=====================================
+ Hits       17632   17713   +81
+ Misses      5476    5390   -86
- Partials    1543    1548    +5

Impacted Files
Coverage Δ

...atascience/jupyter/kernels/jupyterKernelService.ts
78% <100%> (+1%)
:arrow_up:

...t/datascience/notebook/vscodeNotebookController.ts
80% <0%> (+<1%)
:arrow_up:

src/client/api/pythonApi.ts
65% <0%> (+<1%)
:arrow_up:

src/client/datascience/commands/commandRegistry.ts
40% <0%> (+<1%)
:arrow_up:

src/client/common/process/baseDaemon.ts
52% <0%> (+1%)
:arrow_up:

src/client/datascience/jupyterDebugService.ts
17% <0%> (+1%)
:arrow_up:

...client/datascience/commands/activeEditorContext.ts
94% <0%> (+1%)
:arrow_up:

src/client/datascience/raw-kernel/rawSocket.ts
84% <0%> (+1%)
:arrow_up:

src/client/common/process/pythonDaemonPool.ts
76% <0%> (+1%)
:arrow_up:

...ent/datascience/progress/kernelProgressReporter.ts
74% <0%> (+2%)
:arrow_up:

... and 22 more


Tk file picker crash

https://user-images.githubusercontent.com/98922449/219368759-fce7c487-ea44-40ea-8177-974895ee4790.mp4

Thanks for the report, confirmed. Bummer, I thought I had recently fixed this. Apparently not.

Hopefully this will do the trick. Please test if you have the time.

Okay, I will test it now

I've recreated what I did, and as I tried to play the tune, it crashed.

Thanks. Wow, this is getting stranger and stranger. I'll have to investigate a bit more in depth.

Alright, I'll need your exact tcl/tk version. In a terminal, run tclsh. Then, in tclsh
puts [info patchlevel]

Ctrl-D or exit quits tclsh.

Thanks. And if you check in your package manager, it probably says 8.6.13, right? The package in question is most likely called "tcl".

Just "tcl"? Version number for that is 8.6.11

Wow, just wow. Ok, thanks for now, I'm on it.

Found and fixed the problem causing the latest crash. Guess I should've paid more attention with my previous attempt at fixing the original bug. I'm hoping I also got rid of the latter this time. Please test if it works for you now.

Okay, I will test now.

It's fixed :+1:

Yay! Again, thank you so much for your support.

No problem


Added Codecov integration and badge

Motivation
We have code coverage now, so adding integration with Codecov to be able to see long-term trend in code coverage. Also adding badge using shields.io.
Progress

[x] Done Task
[ ] Todo Task

@trepel Can you rebase it to I merge?


Update the Travis

Made the bundle-audit and brakeman checks conditional so that they only run when the PR/Push is made to the master branch

@raycarrick-ed this PR sets a condition on the bundle-audit and brakeman tests that we discussed last Friday. It sets them up to only run against PRs to master. That way a gem security vulnerability won't hold up dev any longer.


ci: dm-radix repo for our equinor deployment of DM

closed by: https://github.com/equinor/dm-radix/commit/6b0f2dd34d04a04320493dd403f017611b24491c


dev-cmd: add update-python-resources command

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Description
The ultimate goal for this PR is to migrate homebrew-pypi-poet to be part of Homebrew.
Currently, this serves more as a wrapper to homebrew-pypi-poet than a rewrite. Ideally, this would be rewritten in ruby, but this is the first step.
Resolves #8032
Desired Optimizations

Figure out dependency tree without having to pip install the package

Unfortunately, there doesn't seem to be an easy way to do this
The good news is that adding this command makes it much easier to install. It takes care of creating the virtual environment and installing everything.

Rewrite code in Ruby

I'm not sure how exactly to go about this. homebrew-pypi-poet uses the pkg_resources package (which comes with pip) to find the dependencies. I haven't found a way to implement something like this in Ruby, but I'm certainly open to ideas.
A good option may be to run a smaller Python script that retrieves the dependencies, and then the generation of the resource blocks can be done in Ruby. This is good because it gives us more control over the resources. This also means that we don't have to wait for homebrew-pypi-poet to be updated if Homebrew changes something

Potential Issues

This is a very primitive solution. It relies on the resource blocks being in a specific format and does a simple Regex replace instead of a more intelligent solution.
This isn't designed to handle formulae that also have non-files.pythonhosted.org resources
This requires the formula name to be the same as the pip package (this might always be true but I'm not positive)

Todo

Separate the Python components (creating the dependency tree) from the Homebrew/ruby components (creating/updating resource blocks
Implement poet_lint
Determine which formulae to apply to (possibly using an allowlist). See https://github.com/Homebrew/brew/issues/8032#issuecomment-661979078
Extract this functionality so it can be called by bump-formula-pr

Questions

Is there an alternative way to find the requirements that doesn't need the package to be installed?
Are there ways to simplify the virtual environment creation/installation? I looked at the Virtualenv module (specifically virtualenv_create and pip_install) but it seemed like they weren't usable outside of a formula
What's the best way to update the resources? My current goal is to have ruby (rather than homebrew-pypi-poet) handle creating the resource blocks. I should then be able to update the blocks on a case-by-case basis which would eliminate the nasty regex replace going on right now.

Also, this may be useful to include as part of brew create for python formulae.

Here's the current status:

Call pipgrip on the package to find the dependencies required (and their versions)
Query the PyPI API to find the correct urls and sha256s for each resource
Replace existing urls and sha256s with the new ones from the API calls

Right now, this doesn't handle any additions or deletions of resources

I got tests passing for pipgrip in https://github.com/Homebrew/homebrew-core/pull/58380, so once that gets merged we can just use brew install pipgrip in the text here.

Alright, this is getting closer.
Currently, it:

works on formulae with existing resources
works on formulae that have no resources
adds and deletes resources as needed
is run automatically on brew create --python
is run automatically on brew bump-formula-pr

Ok, thinking about this in relation to https://github.com/Homebrew/homebrew-core/pull/58629 and https://github.com/Homebrew/homebrew-core/pull/58626, we probably want an extra argument to update-python-resources that lets us impose extra constraints. Maybe something like
      flag   "--constraints=",
             description: "Append these constraints when performing dependency resolution (e.g. `--constraints='cffi>1.11.3'`)"

The pipgrip maintainer pushed out a patch release that fixed the bug we identified with negative constraints. Once https://github.com/Homebrew/homebrew-core/pull/58643 is merged we shouldn't see that anymore. I think that introducing an extra --constraints flag would be good, but that can be done in a follow up IMO.

pipgrip 0.4.2 seems to no longer require --no-cache-dir in order to properly download resources. We could probably remove it if it seems to be fixed for everyone else as well.

Removing my review for now until this is considered ready to merge by others 👍🏻

@MikeMcQuaid will this be affected by style changes in #7867? I don't see an indicator that there are merge conflicts so I'm assuming it's okay.

Thanks! I'll leave this open until later today to give anyone else time to take a look if they want (and for the tests to run).

Pipgrip 0.5.0 is out now, so you may want to bump it and test with it prior to merging this.

Will do 👍
It also like I will need to rebase to have the brew style checks pass after #7867. I'll work on that when I have some time later.

I just pushed a minor change to clarify a comment (I forgot to update it when I made changes).
I'll merge this after CI passes. I'll be available for a few hours after in case there are any issue (not expecting any 😅)

Great work @Rylan12! 👏 👏 👏

Thanks for the reviews and helpful tips/comments, @jonchang, @dawidd6, @dtrodrigues, @MikeMcQuaid and @ddelange!
Special thanks to @dtrodrigues for testing this out on several homebrew-core PRs!
Special thanks also to @ddelange for spending time working with us to get this done and being so responsive!