Respect .env from yarn workspace root

Problem
Imagine the following project structure:
+ my-project
  - package.json -- the yarn workspace project
  - .env -- this file has all my settings, but is not loaded by prisma
  + packages
    + backend
      - package.json
      - .env -- this env file is also respected by prisma
      + prisma
        - prisma.schema
        - .env -- the env file that is loaded
    - frontend

The .env inside my yarn workspace root is not loaded, even though it is inside my project root.
Suggested solution
Make the .env loading more modular. Features I would really love to use:

Be able to set a path for my .env (maybe even with glob support!) file inside the prisma.schema. This way I can adapt to any requirements.datasource db {
  provider = "postgresql"
  env    = glob("../../../.env.*")
  url      = env("DATABASE_URL")
}

I use different variables for database host, user, password and database name for various reasons. Being able to concatenate variables when defining my database url inside the prisma.schema file would help a lot with flexibility:datasource db {
  provider = "postgresql"
  url      = interpolateEnv("postgresql://${DATABASE_USER}:${DATABASE_PASSWORD}@${DATABASE_HOST}:${DATABASE_PORT}/${DATABASE_NAME}")
}

Thanks for the issue. I can definitely see how in a multi-package setup like that you'd expect the .env to be at the root of all the packages. You could simulate this if you had one package.json at that level too. I'm guessing yarn workspaces doesn't like that though :-)
In your suggestion:
datasource db {
  provider = "postgresql"
  env    = glob("../../../.env.*")
  url      = env("DATABASE_URL")
}

Typically people have one .env for development, one for production. How would you switch based on environment?

Thanks for the issue. I can definitely see how in a multi-package setup like that you'd expect the .env to be at the root of all the packages. You could simulate this if you had one package.json at that level too. I'm guessing yarn workspaces doesn't like that though :-)
In your suggestion:
datasource db {
  provider = "postgresql"
  env    = glob("../../../.env.*")
  url      = env("DATABASE_URL")
}

Typically people have one .env for development, one for production. How would you switch based on environment?

"sort of" related but im just coming to prisma and first of all, this package is awesome, really liking where its going.
The biggest thing that bugs me though is is that prisma has an extremely complicated env requirement/setup. Im not really sure why a database package has taken on environment capturing as well. Especially as there are numerous tools to deal with env (cross-env, dotenv, dotenv-load, process.env, export ***=, and of course the numerous hosting setups).
All of these tools are either just there by design, or a quick npm install away. Wouldn't a well written guide on exposing env vars be much better than trying to cover all of the gotchas with the current setup?
My latest issue is that prisma isnt a first class dependency to the main project. The userland package requires an "app" package which is where the schema is defined and generated. On top of that this is all in a mono repo with workspaces, although i dont think this complicates the issue (it certainly does for other env reported issues).
Because prisma tries very hard to produce its own env loading, ive got a bit of weird setup where i load my own env (as an .env file is used for more than just prisma) and possibly have env related warnings because when not developing the "app" package there wont be an env file there.
It seems to me all of these issues go away should primsa just respect the current process env variables.
I think its safe to assume everyone generating prisma schemas understands the concept of env variables.

"sort of" related but im just coming to prisma and first of all, this package is awesome, really liking where its going.
The biggest thing that bugs me though is is that prisma has an extremely complicated env requirement/setup. Im not really sure why a database package has taken on environment capturing as well. Especially as there are numerous tools to deal with env (cross-env, dotenv, dotenv-load, process.env, export ***=, and of course the numerous hosting setups).
All of these tools are either just there by design, or a quick npm install away. Wouldn't a well written guide on exposing env vars be much better than trying to cover all of the gotchas with the current setup?
My latest issue is that prisma isnt a first class dependency to the main project. The userland package requires an "app" package which is where the schema is defined and generated. On top of that this is all in a mono repo with workspaces, although i dont think this complicates the issue (it certainly does for other env reported issues).
Because prisma tries very hard to produce its own env loading, ive got a bit of weird setup where i load my own env (as an .env file is used for more than just prisma) and possibly have env related warnings because when not developing the "app" package there wont be an env file there.
It seems to me all of these issues go away should primsa just respect the current process env variables.
I think its safe to assume everyone generating prisma schemas understands the concept of env variables.


fix: ruff rule F821 (undefined name)

Related to Issue #21, and is a continuation of PR #25 when ruff was initially introduced to the project.
Dependencies: PR #53 (deprecating MimicExplainer) must be merged in first, because that's one of the main offenders of F821.

Changes
The changes are quite major considering it involves mostly dead / unreachable code. Requesting a thorough review, but any review (even partial!) would be appreciated. I'll leave review comments in the relevant places later on to make code review a little easier for you guys, but here's the tl;dr:

Explanation.hstack method was using a non-existent variable "axis" (probably copied from the other helper methods like sum). The implementation as it is didn't make any sense, so I modified it to what I think made the most sense, which is to hstack the inner arrays and return a new Explanation object.
beeswarm plot function was using non-existent variables like title, sort, plot_type which came from the summary_legacy() function, within an unreachable code block meant for SHAP interaction values. I've commented out the block for now to prevent ruff from complaining, but we should look into re-implementing this functionality. -> Issue #56.
I revampedviolin plot code quite a bit. The original violin was essentially a copy-paste from the summary_legacy() function, so there's a lot of redundant code (including a call to a "non-existent" summary() function) checking for "bar" or "dot" plot types. These have all been removed. Violin plots don't support multioutputs (only bar plots support this), so that section has been removed as well.

I'll note that the code for violin is still in the "legacy" style. For e.g., it still accepts shap_values as a numpy array. Whereas beeswarm only takes in Explanation objects, which I think we should align to that convention. -> Issue #55.

The plot tests for violin in test_violin.py and test_summary.py were revamped. In particular, the original test was just an empty plot...

This is a major PR, great work! Would it be possible to break it into a few smaller PRs, to make it a bit easier to review?

This is a major PR, great work! Would it be possible to break it into a few smaller PRs, to make it a bit easier to review?

okay

I'll address the codecov issues in a separate PR. Please disregard coverage and review/merge the rest of the changes first. Thanks!


Use Theme, not Pillar

What does this change?

Replaces Pillar with Theme
Bumps @guardian/types to v3.0.0

Why?
To enable support of SpecailReport and Labs and we want to bring through PrintShop design type from /types

 Use Theme in atoms-rendering

 Use Theme in atoms-rendering


Extend Moderation

TODO :

[ ] add the ability to ban/kick users by just typing username/UserID
[ ] Unban

I'm gonna leave this until 0.4 so I can be lazy and just copy/paste code from Knife Bot so its easier to manage and so that I can easily port Knife Bot's lookups module.

Jumped to 0.4.0

Done in 7772054


Add expires/cache-control headers

As mentioned https://github.com/ianheggie/health_check/pull/20, I want to add Expires/Cache-Control headers to the status page responses to prevent false positives resulting from deliberate or accidental caching of successful responses.
Do you think this is a good idea?

I'd say that Cache-Control: Private should definitely be used here

Released in v2.1.0 (Sets response.headers['Last-Modified'] = Time.now.httpdate - thus it should be cached for one second and refreshed after that). I am testing using etag instead and allowing control over max-age (useful if the health checks take > 1 second)

Do we need "Cache-Control: Private" if last-modified and must-validate is set? Then Private could be used only when authentication required. Currently considerring:
      last_modified = Time.now.utc
      max_age = HealthCheck.max_age
      if max_age > 1
        last_modified = Time.at((last_modified.to_f / max_age).floor * max_age).utc
      end
      response.headers['Cache-control'] = 'private, no-cache, must-revalidate' + (max_age > 0 ? ", max-age=#{max_age}" : '')
      if stale?(:last_modified => last_modified)
         check health calls ....
      end

I have adjusted the code a bit so the programmer can adjust caching - see README


Implementation of core AWS Mediastore endpoints

@bpandola / @bblommers - could you help us figure out why the server test is failing? AWS MediaStore seems to be a bit weird, in that it only seems to have a single path for all endpoints at / - unless we're missing something...

Hey @jordan-dimov, there are a few other services where everything is send to /.
With that setup, AWS uses the X-Amx-Target header to determine which action we're trying to invoke.
Creating a container in AWS itself comes with this header:
X-Amz-Target: MediaStore_20170901.CreateContainer
Listing containers:
X-Amz-Target: MediaStore_20170901.ListContainers
The CognitoIdentity service has the same problem, so we just add the header when testing the server:
https://github.com/spulec/moto/blob/master/tests/test_cognitoidentity/test_server.py

Hey @jordan-dimov, there are a few other services where everything is send to /.
With that setup, AWS uses the X-Amx-Target header to determine which action we're trying to invoke.
Creating a container in AWS itself comes with this header:
X-Amz-Target: MediaStore_20170901.CreateContainer
Listing containers:
X-Amz-Target: MediaStore_20170901.ListContainers
The CognitoIdentity service has the same problem, so we just add the header when testing the server:
https://github.com/spulec/moto/blob/master/tests/test_cognitoidentity/test_server.py

Hey @jordan-dimov, there are a few other services where everything is send to /.
With that setup, AWS uses the X-Amx-Target header to determine which action we're trying to invoke.
Creating a container in AWS itself comes with this header:
X-Amz-Target: MediaStore_20170901.CreateContainer
Listing containers:
X-Amz-Target: MediaStore_20170901.ListContainers
The CognitoIdentity service has the same problem, so we just add the header when testing the server:
https://github.com/spulec/moto/blob/master/tests/test_cognitoidentity/test_server.py

@bblommers thank you, we have resolved these issues now

@bblommers thanks, I've made all the above changes :)


Unable to build with typst dev

Hello,
I'm trying to build your templates with the latest development version of typst and it's failing, find the log at: https://github.com/drupol/typst-document/actions/runs/4645000665/jobs/8220595334?pr=3
I think it's related to: https://github.com/typst/typst/issues/654

Oh thanks for pointing that out!


Update docfx.json

sometimes you have to play with the breadcrumb to work. This change should do it.

:warning: Validation status: warnings

File
Status
Preview URL
Details

project-rome-docs/Android/api-reference/relay/hosting/AppServiceProvider.md
:warning:Warning

Details

project-rome-docs/Android/how-to-guides/index.md
:warning:Warning

Details

project-rome-docs/Android/how-to-guides/getting-started-rome-android.md
:warning:Warning

Details

project-rome-docs/iOS/how-to-guides/getting-started-rome-ios.md
:warning:Warning

Details

project-rome-docs/iOS/how-to-guides/command-remote-devices-and-apps-ios.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/relay/core/MCDNotificationRegistration.md
:warning:Warning

Details

project-rome-docs/iOS/how-to-guides/user-activities-ios.md
:warning:Warning

Details

project-rome-docs/iOS/how-to-guides/index.md
:warning:Warning

Details

project-rome-docs/iOS/how-to-guides/hosting-ios.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/relay/commanding/MCDRemoteSystemConnectionRequest.md
:warning:Warning

Details

project-rome-docs/index.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/relay/core/MCDAccessTokenRequestStatus.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/discovery/index.md
:warning:Warning

Details

project-rome-docs/Android/how-to-guides/command-remote-devices-and-apps-android.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/discovery/RemoteSystemDiscoveryType.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotificationUserActionState.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/nearby-sharing/NearShareSender.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/core/AccessTokenRequestStatus.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotificationPriority.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/activities/useractivities/UserActivityState.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/activities/usernotifications/UserNotificationFilter.md
:warning:Warning

Details

project-rome-docs/Android/how-to-guides/user-activities-android.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotificationChange.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotificationUpdateStatus.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/commanding/AppServiceResponse.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/nearby-sharing/NearShareFileProviderImpl.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/activities/useractivities/UserActivitySessionHistoryItem.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/activities/useractivities/UserActivity.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/commanding/AppServiceRequestReceivedEventArgs.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotification.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/activities/usernotifications/UserNotificationUpdateStatus.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/index.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/activities/useractivities/UserActivitySession.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotificationReadStateFilter.md
:warning:Warning

Details

project-rome-docs/Android/how-to-guides/hosting-android.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/relay/discovery/MCDRemoteSystemApplication.md
:warning:Warning

Details

project-rome-docs/iOS/index.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/activities/usernotifications/UserNotificationReadState.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/activities/useractivities/UserActivityContentInfo.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/relay/discovery/MCDRemoteSystemDiscoveryTypeFilter.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/activities/usernotifications/index.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/core/UserAccount.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/relay/discovery/MCDRemoteSystem.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/discovery/RemoteSystemStatusType.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/activities/useractivities/UserActivityAttribution.md
:warning:Warning

Details

project-rome-docs/iOS/api-reference/relay/discovery/MCDRemoteSystemDiscoveryType.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/commanding/RemoteSystemConnectionRequest.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/core/UserAccountProvider.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/core/IApplicationRegistration.md
:warning:Warning

Details

project-rome-docs/Android/api-reference/relay/discovery/RemoteSystemPlatform.md
:warning:Warning

Details

This comment lists only the first 50 files in the pull request.

project-rome-docs/Android/api-reference/relay/hosting/AppServiceProvider.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 23: [Warning] Invalid file link:(~/Android/api-reference/relay/hosting/AppServiceConnection.md).
Line 31: [Warning] Invalid file link:(~/Android/api-reference/relay/hosting/AppServiceDescription.md).

project-rome-docs/Android/how-to-guides/index.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 12: [Warning] Invalid file link:(~/Android/how-to-guides/gettings-started-rome-android.md).
Line 14: [Warning] Invalid file link:(~/Android/how-to-guides/tbdGH).

project-rome-docs/Android/how-to-guides/getting-started-rome-android.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 8: [Warning] Invalid file link:(~/Android/how-to-guides/TBDGH).
Line 149: [Warning] Invalid file link:(~/Android/how-to-guides/hosting-android).

project-rome-docs/iOS/how-to-guides/getting-started-rome-ios.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 8: [Warning] Invalid file link:(~/iOS/how-to-guides/TBDGH).
Line 89: [Warning] Invalid file link:(~/iOS/how-to-guides/hosting-iOS).

project-rome-docs/iOS/how-to-guides/command-remote-devices-and-apps-ios.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 119: [Warning] Invalid file link:(~/iOS/how-to-guides/getting-started-rome-iOS).
Line 153: [Warning] Invalid file link:(~/iOS/api-reference/relay/discovery/MCDRemoteLauncherOptions.md).
Line 153: [Warning] Invalid file link:(~/iOS/api-reference/relay/discovery/MCDRemoteLauncher.md).

project-rome-docs/iOS/api-reference/relay/core/MCDNotificationRegistration.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 21: [Warning] Invalid file link:(~/iOS/api-reference/relay/core/NotificationType.md).
Line 51: [Warning] Invalid file link:(~/iOS/api-reference/relay/core/NotificationType.md).
Line 65: [Warning] Invalid file link:(~/iOS/api-reference/relay/core/NotificationType.md).

project-rome-docs/iOS/how-to-guides/user-activities-ios.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 197: [Warning] Invalid file link:(~/iOS/api-reference/activities/useractivities/UserActivitySessionHistoryItem.md).

project-rome-docs/iOS/how-to-guides/index.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 11: [Warning] Invalid file link:(~/iOS/how-to-guides/gettings-started-rome-ios.md).
Line 13: [Warning] Invalid file link:(~/iOS/how-to-guides/tbdGH).

project-rome-docs/iOS/how-to-guides/hosting-ios.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 137: [Warning] Invalid file link:(~/iOS/api-reference/relay/commanding/MCDAppServiceRequestReceivedEventArgs.md).

project-rome-docs/iOS/api-reference/relay/commanding/MCDRemoteSystemConnectionRequest.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 20: [Warning] Invalid file link:(~/iOS/api-reference/relay/commanding/MCDRemoteSystem.md).
Line 40: [Warning] Invalid file link:(~/iOS/api-reference/relay/commanding/MCDRemoteSystem.md).

project-rome-docs/index.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 42: [Warning] Invalid file link:(~/Xamarin/index.md).

project-rome-docs/iOS/api-reference/relay/core/MCDAccessTokenRequestStatus.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 18: [Warning] Invalid file link:(~/iOS/api-reference/relay/core/AccessTokenResult.md).

project-rome-docs/Android/api-reference/relay/discovery/index.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 14: [Warning] Invalid file link:(~/Android/api-reference/relay/discovery/RemoteSystiscoveryType.md).
Line 15: [Warning] Invalid file link:(~/Android/api-reference/relay/discovery/RemoteSystiscoveryTypeFilter.md).

project-rome-docs/Android/how-to-guides/command-remote-devices-and-apps-android.md

[Warning] Can't find output file for ./breadcrumb/toc.json
Line 213: [Warning] Invalid file link:(~/Android/api-reference/relay/discovery/RemoteLauncher.md).
Line 213: [Warning] Invalid file link:(~/Android/api-reference/relay/discovery/RemoteLauncherOptions.md).

project-rome-docs/Android/api-reference/relay/discovery/RemoteSystemDiscoveryType.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotificationUserActionState.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/nearby-sharing/NearShareSender.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/relay/core/AccessTokenRequestStatus.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotificationPriority.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/activities/useractivities/UserActivityState.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/activities/usernotifications/UserNotificationFilter.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/how-to-guides/user-activities-android.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotificationChange.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotificationUpdateStatus.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/relay/commanding/AppServiceResponse.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/nearby-sharing/NearShareFileProviderImpl.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/activities/useractivities/UserActivitySessionHistoryItem.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/activities/useractivities/UserActivity.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/relay/commanding/AppServiceRequestReceivedEventArgs.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotification.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/activities/usernotifications/UserNotificationUpdateStatus.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/index.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/activities/useractivities/UserActivitySession.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/activities/usernotifications/MCDUserNotificationReadStateFilter.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/how-to-guides/hosting-android.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/relay/discovery/MCDRemoteSystemApplication.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/index.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/activities/usernotifications/UserNotificationReadState.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/activities/useractivities/UserActivityContentInfo.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/relay/discovery/MCDRemoteSystemDiscoveryTypeFilter.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/activities/usernotifications/index.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/relay/core/UserAccount.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/relay/discovery/MCDRemoteSystem.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/relay/discovery/RemoteSystemStatusType.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/activities/useractivities/UserActivityAttribution.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/iOS/api-reference/relay/discovery/MCDRemoteSystemDiscoveryType.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/relay/commanding/RemoteSystemConnectionRequest.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/relay/core/UserAccountProvider.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/relay/core/IApplicationRegistration.md

[Warning] Can't find output file for ./breadcrumb/toc.json

project-rome-docs/Android/api-reference/relay/discovery/RemoteSystemPlatform.md

[Warning] Can't find output file for ./breadcrumb/toc.json

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


questions on reference format in resource file for Chinese

During the translation, I found many reference token in mesaage resource file.However the formats of them are inconsistent, i.e., some are like {0}, some are quatoed in '' like '{1}', while others are like "{1}".So, which is right is what I can not figure out.

Hi!
{0}, {1}, etc. are placeholders for additional text that should be inserted into the string. Leave them unchanged. They are quoted or not, depending on the context. For example:
Cannot evaluate "{0}" as {1}. will eventually become something like:
Cannot evaluate "2 + * 3" as mathematical expression. or
Cannot evaluate "ssin(x)" as function.
Sometimes single quotes are used if there is a single character inside, but this is actually not so important.
I do not know how quotes are handled in Chinese. If you have something similar, replace them accordingly of just delete them without affecting the placeholders.

So, maybe I got something wrong in message resource files.  If it's easy to correct, pls be kind to correct. Otherwise I will check the original resource files to change them back as what they were.
在 2024-02-09 17:22:32，"Ned Ganchovski" @.***> 写道：
Hi!
{0}, {1}, etc. are placeholders for additional text that should be inserted into the string. Leave them unchanged. They are quoted or not, depending on the context. For example:
Cannot evaluate "{0}" as {1}. will eventually become something like:
Cannot evaluate "2 + * 3" as mathematical expression. or
Cannot evaluate "ssin(x)" as function.
Sometimes single quotes are used if there is a single character inside, but this is actually not so important.
I do not know how quotes are handled in Chinese. If you have something similar, replace them accordingly of just delete them without affecting the placeholders.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Hi!
If placeholders are damaged, this will fail in runtime, not in compile time. So it will be difficult to catch.
Since you best know what you did, can you please go over the strings again and if you wiped some placeholders, can you please recover them. I have no one here currently available for this task.

Hi!
If placeholders are damaged, this will fail in runtime, not in compile time. So it will be difficult to catch. Since you best know what you did, can you please go over the strings again and if you wiped some placeholders, can you please recover them. I have no one here currently available for this task.

Ok, I will check and correct them back before pulling a request again.


Support Multipass shaders (buffer A ...)

part of #4
approximately 17.5% of public Shadertoys are multipass. Multipass allows up to 4 buffers (A through D) to be rendered as a texture. These can also be used to store data and enable quite some more experiences.
Some of the challenges include timing as well as cross inputs.
Buffer passes can seemingly take the exact same inputs as the main "Image" renderpass, including other buffers (and themselves?)
This PR starts to bloat a little and contains some refactor for the whole channel input concept... still in flux
Instead, will try to implement BufferTexture as a ShadertoyChannel subclass so it can hold for example the sampler settings.
Additionally, there will likely be a RenderPass base class and subclasses for Image, Buffer(a-d) and later cube and sound.
So the main Shadertoy class contains several render passes, and all of these get their inputs(channels) attached.
I even started to try and sketch it out - but will have to sleep through this for a few more days... my concepts change every day but I need to just try and work on the ideas for a bit.

The render order should be Buffer A through D and then Image. So you can keep temporal data, by using itself has an input.
TODOs:

[x] Refactor common code to ShadertoyChannel base class
[ ] additional tests cases for inferred input types, empty channels (caching conflict with pytests)
[x] dynamic headers
[ ] test coverage for examples in readme!(different PR)
[x] Working buffer
[x] working multiple buffers!
[x] tests for buffers
[x] multipass examples
[ ] (maybe) some debug mode where you can render the buffers to canvas? (you can use RenderDoc with "capture child processes")

Little update:
It seems to sorta work. But a bunch of stuff is still broken:

missing sampler filters fail to recreate some behavior, example: https://www.shadertoy.com/view/MfyXzV
having unsupported channels break the layout, example: https://www.shadertoy.com/view/ssjyWc
resizing the window breaks the nbytes of the previous frame - so maybe there needs to be a hook to the on_resize function to fill the new space (similar to behaviour when going fullscreen on the website)

new breaking examples found, that might be unrelated to this PR, but I will note them down for later reference:

some issue with resolution(maybe filters), but could be some of those fetching functions: https://www.shadertoy.com/view/X3c3WN
not sure: https://www.shadertoy.com/view/4X33zH
kinda has similarities to the issue with nested loops (https://github.com/gfx-rs/wgpu/issues/5246) https://www.shadertoy.com/view/MdX3Rr

I think I finally fixed the compatibility issue. There is some small visual issues which look like precision problems to me (not sure yet). And the performance is horrible it seems... Please let me know if you find any shaders that are broken (not due to missing features, wgpu bugs)
Will work on tests, examples and documentation to hopefully get this ready for next week.
E: found this one seemingly broken: >wgpu-shadertoy https://www.shadertoy.com/view/tsKXR3

I think this is finally ready for review - and I welcome some feedback.

This PR refactors the whole inputs/channels to be easily extendable with the missing channel types.
Multipass shaders are quite complex, but I learned quite a lot to get this running, but I think my implementation is what is minimally required for wgpu (with the redoing the sampler and pipeline).
resizing is really janky, since you download the texture and pad it with numpy only to upload it again - but I wanted to mirror the website (this includes breaking quite a few shaders)

Cool stuff!

@Korijn will you be able to help with a review with this? Would be great to get this merged and get a v0.2 released in the next couple of weeks.

This branch is pretty huge, I'll resume the review later, sorry, still getting used to my new work rhythm and finding a place for pygfx.

No worries, this sorta a large rewrite. Perhaps others can help too, time permitting.

Let me know if there are any specific parts of the diff I should focus my attention on first.

The part I am most unsure about is _update_textures Since it feels really inefficient to make a new texture for every single frame. That includes a new binding and sampler too. I tried to use TextureView instead which worked much better, but I couldn't get it to work when the Buffer passes also sample buffer inputs. I feel like I am missing something. The added overhead makes the example from the API tests run at like 45fps for example.

Maybe @almarklein can weigh in on that issue?

Is _update_textures called every frame? It seems to rebuild everything from scratch, from descriptors all the way to the pipeline. I don't have a clear understanding of what happens and the path that leads up to update_textures. But Ideally you want to re-use the textures. If that's not possible, you can probably at least re-use the layouts.

Is _update_textures called every frame?

yeah, it will be called for each renderpass, every frame and then also iterate through all channels... I think this whole method doesn't actually need to exist.
I will try to make some changes that simply use a texture view for all the channels. And then the buffer renders to a temporary render target texture before overwriting the old texture. This was likely the cause for usage conflicts I had on the previous attempt. As it's common to have the previous frame as one of the inputs.
Works already well, but I will try to run some more examples before I push the commits. And it will likely break resizing for which there are no tests in CI. (but resizing in this PR is horrible too).

Resizing now works again as it should. It's not the cleanest solution but it works.
I do feel like the performance is really bad again, but I need some proper ways to test that, as I am also using wgpu-py@main currently...
The two CI failures are sorta unrelated, one is deprecated actions and the other is python3.8 not happy with the excessive typing. Python 3.8 will be EOL in a few days - so I no longer care.
Will look at the PRs in wgpu-py that updated all the CI stuff and open something separate tomorrow.

My thesis is nearly submitted, so I can spent time again getting this finished.
For the performance issue I want to try the following: ping pong the render target to reduce the number of copies (which are likely the slowdown).
Also it might be the case that buffers don't followed the A-B-C-D order but instead the order in which they were added. Which I believe might be recorded in the json we get from the API. I will try to find some examples that proof the behavior.

CI failures are addressed in #36 which isn't included in this branch

found some more time to figure out the performance issues. I read somewhere that the queue is smart and might figure out of some copies and be avoided. Doesn't seem to make much difference. To avoid the guesswork I added some rudimentary profiling which still needs some work. But looking at the data already shows that something is up.

the slower rendertimes on the right are full screen (instead of small window). But the constant spikes are a problem - will find the time to run more experiments in the following days and try different systems (to rule out weirdness of Intel GPUs). Seems like something(I suspect the copies) is causing the GPU to hang for ~60m.

while making the vertex and fragment code templates simpler - I still need to do a yflip for the image pass. I couldn't find any setup for the gui canvas to accepted a flipped image. This works mostly fine, however I have been informed of dFdy which will behave different due to this flip. Here is an example showing the problem.
: it should be the same red version across the whole canvas, but only the part reading from buffer texture is, the image pass (which is flipped in the vertex stage) doesn't behave.
Perhaps there is a solution to this down the line in rendercanvas? I would love to migrate to that once this PR gets merged.

Perhaps there is a solution to this down the line in rendercanvas?

No, the definition of the viewport is simply part of the wgpu spec (https://wgpu-py.readthedocs.io/en/stable/guide.html#coordinate-system). IIRC this is reversed from OpenGL.

however I have been informed of dFdy which will behave different due to this flip.

Aha, I gues that one will be multiplied with -1 ... 🤔  can we tell users to use a custom dFdy that we provide?

can we tell users to use a custom dFdy that we provide?

Rewrite rules are one option, but can be really complicated, so there might be better ideas. Doing a whole renderpass or compute pass just to flip the out image also seems wasteful. Plus there might be other functionality that is currently broken which I don't know about yet.
I will track this as a standalone issue as it already exists before this PR too.


[seal]Updated to version 3.6.4

Describe the pull request

What does your PR fix?

Update Microsoft SEAL's version to 3.6.4 that includes bug fixes to allocation.

Which triplets are supported/not supported? Have you updated the CI baseline?

Tested x64-windows-static, x64-linux, x64-osx.
x64-windows/x86-windows are not supported as the library only supports static linkage in Windows.
No change to the CI baseline.

Does your PR follow the maintainer guide?

Yes
If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/
No

Thanks @WeiDaiWD :)


Bump our version to 3.0, clean up versions

Our own version is now separate from the EF Core version we depend on. This is important since during regular we need to have version 3.0.0 (the CI suffix will later be tacked on at the build server), while we depend on something like 3.0.0-preview.18572.1.
Note that still depend on EF Core 2.2, porting to 3.0.0-preview1 is ongoing in a separate branch.

Makes sense. Though, would it be simpler to just omit the VersionPrefix nodes in the project files and let Version (or VersionPrefix) flow from the Directory.Build.props file down to the .csproj files?

It would, but I have some painful history of some IDEs not always being able to process important properties properly when coming from outside the csproj (I once tried to make <TargetFramework> come from a csproj import and results were problematic). It may be totally fine, or not, I'm just not sure...

Another argument is that this makes it harder to make versions vary versions, e.g. when a plugin needs to be released out-of-band (like we just had in Npgsql).

Both are good points. I have a few projects set up with properties that flow from the .props file (rather than just variables that flow) and I do occasionally have to reload the solution for Rider (2018.2.3) to pick up the changes.
I'm okay with either setup, just wanted to suggest it in case you thought it would make the workflow simpler/easier to maintain.

@YohDeadfall merging this without your approval since it's very minor and we need to continue progress...
@austindrenski FYI I ended up going with your suggestion of including <VersionPrefix> in Directory.Build.props, we'll see how it goes...


chore: add clang-format configuration and reformat

Removed formatting conflicts and rebased on develop

Remake from https://github.com/LedgerHQ/app-hedera/pull/36


Figure out why GitHub doesn't auto-detect your license file.

See https://help.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license and https://licensee.github.io/licensee/
License detection is working for the https://github.com/VLSIDA/puffery repository for example.

I've filed a request about this before and there isn't a good solution. The problem is that there are multiple licenses due to the inclusion of some FreePDK stuff in the tech directory.

You could move that FreePDK stuff into its own repository?

This is a trade off of working "out of the box" vs a detected licence. I could possibly create a git submodule to get around this though...

Interestingly, it looks like it is detecting it as 3-clause BSD now and I didn't do anything!

I've still got a request in regarding my testing and code coverage badges though. GitHub is caching them incorrectly even though they are served from my gitlab with a "no cache" header as they instruct us to do.

Status badges fixed. These were a permissions problem on my gitlab instance so I just made it public.

This seems to be actually the problem;
tansell@tansell-glaptop:~/github/VLSIDA/OpenRAM$ ~/.gem/ruby/2.5.0/bin/licensee detect LICENSE
License:        NOASSERTION
Matched files:  LICENSE
LICENSE:
  Content hash:  49d7d639c8d78568b17a301b31162afec7162483
  License:       NOASSERTION
  Closest non-matching licenses:
    BSD-3-Clause-Clear similarity:  92.49%
    BSD-4-Clause similarity:        92.43%

It has two very close matches.

This should be fixed by #56

Seems to be working now!


Update GUI code to reflect recent config/data changes

Follow-on to #26; forgot about the GUI, sorry.
I think there's more we could do here (e.g. maybe better to point the GUI at a config_dir/data_dir and lets users browse rather than tie the app to a single config file) but this unbreaks things for now.

CI not passing on mixtral is pre-existing (😢) and unrelated.


Make log files easier to identify

Describe the solution you'd like
Use the .log extension instead of txt. The log extension is used by many applications to distinguish log files from regular text files.
Describe alternatives you've considered
None

That's a good idea also we should add an environment variable that takes to the folder where log is stored, it is difficult for normal users to go to the application data folder.

That's a good idea also we should add an environment variable that takes to the folder where log is stored, it is difficult for normal users to go to the application data folder.

The user can already access the log folder via settings.

The user can already access the log folder via settings.

Yeah, but it opens the folder in Windows Explorer. This app is meant to make user less reliant on Windows Explorer.

The user can already access the log folder via settings.

Yeah, but it opens the folder in Windows Explorer. This app is meant to make user less reliant on Windows Explorer.

I agree. It should use the app instead.

@R3voA3 @soumyamahunt No need. What if there's a bug that prevented access? Using File Explorer is better.

@R3voA3 @soumyamahunt No need. What if there's a bug that prevented access? Using File Explorer is better.

Every application can access its localdata folders without any permissions. So there wouldn't be any prevention in that case. If the app crashes on launch then user has to use explorer anyway.

@R3voA3 @soumyamahunt No need. What if there's a bug that prevented access? Using File Explorer is better.

Every application can access its localdata folders without any permissions. So there wouldn't be any prevention in that case. If the app crashes on launch then user has to use explorer anyway.

I'm not talking about permission. What if we had a bug where the app crashes when navigating or some other app bug that only occurs sometimes.

Then we should already start at ""What happens if the app crashes when navigating to the settings page".
Isn't is possible to open the log folder automatically in explorer if the app crashes? I know some applications which automatically zip all relevant data and copy it on the desktop for easy access.

In older versions of Files UWP, a BSOD like page will appear with options to retry and send feedback. We could restore that page and add the option to open log location.

The user can already access the log folder via settings.

Yeah, but it opens the folder in Windows Explorer. This app is meant to make user less reliant on Windows Explorer.

I agree. It should use the app instead.

@R3voA3 Using the app in this case can be a problem in the case the app is crashing when navigating to a directory.

It looks like the majority or in favor of switching to the file extension to log so I am approving this issue.

@Jaiganeshkumaran This issue should be resolved with #4442.


Feature/customized decoder

Related issue: https://github.com/pyr/riemann-kafka/issues/5
Make kafka-consumer support :decoder attribute, which should be a customized function that decode the kafka message and turn it into a sequence of riemann events.
Use case: riemann consuming kafka messages which are JSON instead of protobuf objects

+1

Hi @weichuliu, thanks for looking into this. I'm ok except for a few nitpicks, see comments inline.

@pyr Hi, thanks for reviewing. I updated the branch:

Rebased master branch
Removed version bumping in project.clj for that I will want to bump the version after customized encoder is also supported (will be in the next PR)
Updated error message according to comment

awesome, thanks @weichuliu


Motion detection doesn't work in general -- y21ga -- allwinnerV2 0.1.8

y21ga -- allwinnerV2 0.1.8
offline use no internet but wifi, no Yi app, no other app, just with web interface
Hi,
unfortunately I can't get my motion detection running, no matter which combination of settings I try (I've tried a lot). When I set the option "save video when a motion is detected" to off, the cam records constantly 1min-videos - this is correct behaviour as described there. I see the videos in the web interface in the Events section. When I activate this option, it should only record when a motion is detected, but no videos are recorded. Directing the cam on a near TV to ensure constant motion. I don't see new records in the Events section, nor on the SD card.
I thought maybe it's because date+time are not correct causing the system not to work correctly, so I set up a time server app (since I'm using the cam offline) and have correct date+time now - this did not solve the problem.
I also added a line in the eventsfile.sh like described in a similar issue by roleoroleo (https://github.com/roleoroleo/yi-hack-Allwinner-v2/issues/218). I kept the entry "y211ga", even that my model is y21ga - did not help. Then I renamed it to my model name - did not help.
I tried around with cloud dis-/enabled, recording with cloud dis-/enabled, with MQTT dis-/enabled and other settings. Reset the cam and hacked again. Would appreciate help.
Here are my current settings:
#camera.conf
SWITCH_ON=yes
SAVE_VIDEO_ON_MOTION=yes
SENSITIVITY=high
AI_HUMAN_DETECTION=no
SOUND_DETECTION=no
SOUND_SENSITIVITY=80
LED=no
ROTATE=no
IR=no
#system.conf
HTTPD=yes
TELNETD=no
SSHD=no
FTPD=no
BUSYBOX_FTPD=no
DISABLE_CLOUD=yes
REC_WITHOUT_CLOUD=yes
MQTT=no
RTSP=no
RTSP_STREAM=high
RTSP_AUDIO=no
SPEAKER_AUDIO=yes
ONVIF=no
ONVIF_WSDD=no
ONVIF_PROFILE=high
ONVIF_NETIF=wlan0
ONVIF_WM_SNAPSHOT=yes
NTPD=yes
NTP_SERVER=<IP_ADDRESS>:1
PROXYCHAINSNG=no
SWAP_FILE=no
RTSP_PORT=554
ONVIF_PORT=80
HTTPD_PORT=8080
USERNAME=
PASSWORD=
TIMEZONE=CET-1CEST,M3.5.0,M10.5.0/3
FREE_SPACE=0
FTP_UPLOAD=no
FTP_HOST=
FTP_DIR=
FTP_DIR_TREE=no
FTP_USERNAME=
FTP_PASSWORD=
FTP_FILE_DELETE_AFTER_UPLOAD=no
SSH_PASSWORD=
CRONTAB=

Try to enable motion detection from the app.
I know that you don't use the app but try to activate it  only for the startup configuration.

Enable cloud
Configure yuour settings from the app
Disable cloud

Try to enable motion detection from the app.
I know that you don't use the app but try to activate it only for the startup configuration.

Enable cloud
Configure yuour settings from the app
Disable cloud

I have the same problem. I did your suggestions, but the problem remained. :(
Model Suffix: y21ga
Firmware Version: 0.1.9

Let's start from scratch. We need to check if the problem is mqtt or the detection of the event.
If you use the app, does motion detection works?
Do you receive notification messages when a motion is detected?

Directing the cam on a near TV to ensure constant motion.

This is not a good idea because this is a single event, until the motion stops.
You have to alternate a still image with a movement.

my y21ga send a lot of MQTT motion message every 1/2/3 minutes... is bugged

Are you sure that the image doesn't change?
My cam sends a motion message when I leave the phone in the kitchen and the led blinks.


Fix: Avoid globals with more than 1 occurrence of '/'

Fixes https://github.com/godot-escoria/escoria-issues/issues/153

@StraToN  I'm confused. Wouldn't it make more sense to check in inventory_add whether the given global_Id doesn't have a "/" in its name?

@dploeger That would also make sense but in this PR I wanted above all to forbid a global having 2 / characters in its name. Since inventory_add calls set_global, I intended to catch all cases there.

Shouldn't have a global no / in the name at all? Even i/ is only a hack to work with inventory items. 🤔

We could indeed modify the global manager to separate globals from inventory globals instead. Technically, nothing blocks the use of / characters in globals. And I'm just thinking that could actually be useful to keep, so that gamedevs can kind of "classify" their globals.
Which would advocate for a change in inventory_add instead as you mentioned.
I'll change that tomorrow morning.


Improve existing URL regex for detecting URLs in governance proposal descriptions, to include fuzzy URL matching with or without protocol prefix

The original regex used to detect links in governance proposal descriptions assumed a mandatory protocol (http/https) prefix. A number of scam proposals work around the [external url] flag by omitting the protocol handler, allowing for URLs to be displayed. This PR introduced a fuzzy URL detection regex that attempts to remain neutral toward non-URL phrases, while still flagging possible obfuscated URL patterns with spaces (host.  example. com, or similar).
Specifically, this PR:

Adjusts the regular expression used to detect URLs to anchor on known 2 and 3 character top level domains, allowing for detection of potentially obfuscated URLs with spaces
Adjusts display of tooltips in proposal descriptions to include the specific URL that was not displayed
Adjusts proposal submission form to indicate to user that a potential URL was detected in description input
Refactors repeated logic functions (isExempted(), isWhitelisted()) to a gov util file referenced by both the description and new governance submission forms to eliminate duplication of code related to URL regex detection

Closing (superseded by #202)


Ensure functional testing is stable and reliable

💡 Summary
Functional testing is built to be an automated process to quickly and regularly validate that ScubaGear functions as intended.  Currently, some of the functional tests are failing regularly which impedes the value of those tests.  This epic is meant to collect these issues to support fixes that improve functional test stability (Defender) and possibly coverage (SPO module).
Motivation and context
Automated functional testing saves developers time and improves the overall quality of the ScubaGear tool.  Making functional tests more reliable and increasing their coverage will further increase code quality.
Implementation notes
Please provide details for implementation, such as:

Review and test updates to resolve nightly testing errors with Defender
Review possible updates to improve SharePoint automated testing related to SPO module
Resolve other recurring errors in automated functional tests

Acceptance criteria
The following issues are completed

[ ] #883
[x] #1055
[x] #1168
[ ] #1093
[ ] #1268 (Does not affect automated tests, warnings only)
[ ] #1235

It also looks like the smoke tests need a once over.  In particular, the markdown tests reference the wrong location for the baselines and fail on baseline update changes:
Testing/Functional/MarkdownChecks/ValidateMarkdowns.Tests.ps1

Ok, but they are distinct from the functional tests, so this problem would not be part of this epic.  I will make sure that a new issue is created for the smoke tests.

This epic has been completed.


Can't edit or insert item in smaller monitors (Click-"hitbox" is really small)

Umbraco version: 7.2.2
DTGE version: 0.1.1
Maybe an Umbraco grid problem
I have my 24" monitor standing on its side (in portrait mode) and this made it impossible to edit or "Click to insert item". Later (after I started writing on this issue) I moved my Umbraco window from the 24" to the 27" and everything started working as planned. When my browser window is smaller than 1250px the "hitbox" for my item is shifted to the side and shrinked it to around 20px wide.
Small but confusing problem. :)

Any how, awesome work! :+1:

I fear this may be a general "Grid" problem, but I can certainly have a look to see if there are any CSS tweaks we can make to improve the hit area for our editor at the very least.

Ok, I think I've replicated it. So you where pysically clicking the "click to insert item" label which will have been poking out of the box and where you were clicking, was technically out side of the dotted line area, is that right?
The hit area for the click event is the whole dotteed box area, so clicking anywhere within that should launch the dialog. I'll see if I can add something else to the label to get that to trigger the click aswell should you click on it outside the bounds of the box.

I have clicked around in both the green and red area (including the grey text box) and only the green area is opening the dialog.

What os / browser are you using?
On 24 Mar 2015 12:17, "Nathalie Larsson"<EMAIL_ADDRESS>wrote:

I have clicked around in both the green and red area (including the grey
text box) and only the green area is opening the dialog.
[image: click-dialog]
https://cloud.githubusercontent.com/assets/475458/6801394/794079a6-d227-11e4-85c5-ce23bb64665b.png
—
Reply to this email directly or view it on GitHub
https://github.com/leekelleher/umbraco-doc-type-grid-editor/issues/5#issuecomment-85474523
.

Windows 8.1, Chrome 41 and Firefox 35
But I think I found the problem, Umbraco Forms css (umbraco.forms.css) is overriding something and when I removed that file it worked perfectly. I will check if someone already posted about this on issues.umbraco.org or otherwise I will. :) Thanks anyway!

Cool. Nice detective work. :)
On 24 Mar 2015 12:40, "Nathalie Larsson"<EMAIL_ADDRESS>wrote:

Windows 8.1, Chrome 41 and Firefox 35
But I think I found the problem, Umbraco Forms css (umbraco.forms.css) is
overriding something and when I removed that file it worked perfectly. I
will check if someone already posted about this on issues.umbraco.org or
otherwise I will. :) Thanks anyway!
—
Reply to this email directly or view it on GitHub
https://github.com/leekelleher/umbraco-doc-type-grid-editor/issues/5#issuecomment-85481753
.

Closing as it seems to be a core / umbraco forms issue.


Consider replacing protobuf library

Consider replacing the protobuf library with https://github.com/bufbuild/protobuf-es

Done.


allowance threshold

if r.allowance <= 1.0 {
  r.count++            // increment throttled log
  return true, r.count // do throttle/limit
}

I think change the condition to r.allowance < 1.0 would make more sense

Thanks for the catch and suggestion!


Page still blank after successful deployment and one hour of waiting

I'm using a Standard: Medium app service plan. I tried the Microsoft fork of this (https://github.com/AzureWebApps/Ghost-Azure) and it worked fine after a couple minutes. But when I try this one it never displays anything.

I had similar issue, what I did to work around it was to delete all the resources from azure (at the resource group level) and followed the steps again.
I also had some issues with the "https" so when you are redirected to azure you end up with this link: https://deploy.azure.com/?repository=https://github.com/felixrieseberg/Ghost-Azure#/form/deploy
For it to work I had to change it to: https://deploy.azure.com/?repository=http://github.com/felixrieseberg/Ghost-Azure#/form/deploy
Let us know if it worked for you! :)

That's not really an option for me as I have many other websites running on my App Service Plan. :(

I tried again now creating a new everything (and then switching app service plans afterwards) and it definitely worked that way.

Should I close this now or should it also work by just specifying this repository?


Testcase failed

code:
	if err := m3.UpdateActivatedProbes([]manager.ProbesSelector{
		&manager.ProbeSelector{
			ProbeIdentificationPair: mkdirID,
		},
	}); err != nil {
		logrus.Error(err)
	}

As I add extra code for ebpfmanager, the solution seems to be, add
	if err := m3.Init(recoverAssets()); err != nil {
		logrus.Fatal(err)
	}

in examples/activated_probes/main.go L217
and also, re(init and attach) the probe if it's state is not running in UpdateActivatedProbes, I'll dig into it when I am free

close for temp until I fix this


Write custom geometry column name

Write custom geometry column name instead of default 'geom'.
The original geometry column name as stored in gdf.geometry.name is preserved when writing to postgis.

@schilli Looks good to me.  Ignore the failing build.  I need to clean up the testing procedures.  Thanks for bringing my attention back here.

Great!
I hope this does not have unwanted side effects for anyone who was expecting the column renaming...


release-plz incorrectly tagging a commit from squashed PR

Bug description
As of recently (not sure, but guessing #1761 or #1775), release-plz has started tagging the commit from the PR that has been squashed rather than the PR's commit to main.
This results in an undesirable timeline where the tags are spurs off of the mainline.
See most recent release from https://github.com/scouten-adobe/rp-sandbox for an example of this effect.

Would you like to work on a fix? [y/n]

Possibly, though I will be attending a conference and only sporadically available for the next week.
To Reproduce
Using the repo https://github.com/scouten-adobe/rp-sandbox, I was able to reproduce this with the following:

Make a trivial change; just enough to trigger a release. (See https://github.com/scouten-adobe/rp-sandbox/commit/8acc130e87bd314daa3d8b26ed115eb1557540fc.)
Wait for the release PR to be created. (See https://github.com/scouten-adobe/rp-sandbox/pull/21.)
Merge that PR.
Wait for the release to occur.
Check the commit history.

Expected behavior
The commit to main is tagged with the release. (In this case, that would be https://github.com/scouten-adobe/rp-sandbox/commit/e5e3e1bd3ac9f72078d94e9bd9d3d6e118cc0e72.)
Observed/unwanted behavior
The commit from the PR that was squashed is tagged with the release. (In this case, that was https://github.com/scouten-adobe/rp-sandbox/commit/cb4858a0e7bcf462165f02463d73b541e802fa69, which – because I delete PR branches automatically after merging – comes with the warning: "This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.")

For anyone else affected by this, freezing the GitHub action at<EMAIL_ADDRESS>(instead of the more generic v0.5 reference) seems to avoid this problem.

Ooops, sorry!
I tried to fix this in https://github.com/MarcoIeni/release-plz/pull/1801 but I need to test it before merging.

Thank you for quick fix! I'll watch for the new release.

released, let me know if it fixes this issue for you!

@MarcoIeni confirmed fixed in<EMAIL_ADDRESS>Thank you! 🙏🙏🙏

No worries, and sorry again for the trouble. 👍


2 important items in places that dont exist? - RE1

Version
3.2.6 (96b9792)
Seed
R810-5FL5-XNHH40VZZ7GZ9H0U03N9KWJ2996ZZZQZZZZZVZZZZZZZZZZ7G7YFUZZZZZ
Scenario
RE 1 (Jill)
Player Character
Misty
What happened?
this one confused me, so i couldnt find 2 items that i needed, the star crest and the square crank, so i looked at the seed log and both item were located in rooms starting with 7, re1 rooms only go up to rooms starting with 5, so this made no sense to me, i had to just give myself the items so i could continue.

All 600 rooms are 100 rooms for mansion 2, all 700 rooms are 200 rooms for mansion 2.
so 100 = 600, 101 = 601, 200 = 700, 201 = 701

OK well now I understand the 600 and 700 rooms, that would still be a problem tho right? If the crank and crest aren't obtainable until coming back from the guard house


Arch.exe not opening.

Describe the issue
Just extracted the Arch.zip folder, and tried opening Arch.exe, however it opens and closes immediately.
To Reproduce
Steps to reproduce the behavior:
Download latest release of ArchWSL. Extract Arch.zip and run Arch.exe.
Expected behavior
ArchWSL installer to open.
Enviroment:

Windows build number: 10.0.19043.1586
Security Software: AVG Antivirus Free, Malwarebytes Free
WSL version 1/2: 2
ArchWSL version: <IP_ADDRESS>
ArchWSL Installer type zip/appx/other clean/update: zip
Launcher version: 22020900

If you run Arch.exe from a command-line interface (Command Prompt, PowerShell, Windows Terminal, etc.), can you tell if any message presented to you?

Here is my experience using Arch installed via Scoop on Win11:
PS C:\Users\Jay\scoop\apps\archwsl\current> .\Arch.exe
Using: rootfs.tar.gz
Installing...
ERR: The system cannot find the file specified.
HRESULT: 0x80070002
Press enter to exit...

In my case it was because I didn't have the wsl2 kernel update applied.  After applying this and uninstall/reinstall, worked fine.

Same thing happens to me. First install of mine worked fine but did some things and GLIBC problem happened so I tried reinstalling to fix and now I can't open Arch on Terminal or Exe.


Timestamp issues with OBS / QSV encoder

Which version are you using?
v0.19.2
Which operating system are you using?

[x] Linux amd64 standard
[ ] Linux amd64 Docker
[ ] Linux arm64 standard
[ ] Linux arm64 Docker
[ ] Linux arm7 standard
[ ] Linux arm7 Docker
[ ] Linux arm6 standard
[ ] Linux arm6 Docker
[ ] Windows amd64 standard
[ ] Windows amd64 Docker (WSL backend)
[ ] macOS amd64 standard
[ ] macOS amd64 Docker
[ ] Other (please describe)

Describe the issue
I run a platform that has multiple streamers connecting to the streaming server in order for a central OBS to schedule them. In order to standardise the setup for all streamers, I'm looking to make a guide, sent to each streamer, on how to configure OBS on their side.
At the moment, using the 'auto-configuration wizard' seems to work for the majority of streamers, but there is one that has the error "(DTS is greater than PTS)" when they stream. This streamer connects via Windows 10 (as do all the other streamers), although they use 'QSV' encoder instead of 'x264' or the nVidia / AMD alternatives. From their side, it looks as if the stream is working (connected, no frame drops), but on the side that accepts the incoming stream, the stream starts for a split second then dies. This is also the case when playing the stream via other software on other machines (such as VLC's 'network stream').
If they switch from the 'QSV' encoder to 'x264', the stream works as it should. For this user, x264 results is much higher resource usage for much lower quality, and is untenable for their environment. If they stick with QSV and change the Output Mode from Simple to Advanced, then manually change the 'b-frames' value to 0 instead of the default (1 or 2 afaik), then the stream works.
All in all, I'm just trying to figure out why the default QSV encoder settings don't work, and if I need to alter my streamer documentation for those that use this encoder. Is it a bug, or is this just how it works with QSV?
Describe how to replicate the issue

start the server
publish a stream with OBS from an external machine ('alex' in this case), using the settings automatically configured after using the 'auto-configuration wizard' (QSV is the encoder).
read with a centralised OBS server (or any other software able to read the RTMP stream on any other machine)
stream appears to play for a split second before dying
check logs and see the below - closed (DTS is greater than PTS)

Did you attach the server logs?
yes (below)
Jul 18 11:04:31 [hostname] systemd[1]: Started rtsp-simple-server.service.
Jul 18 11:04:31 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:31 INF rtsp-simple-server v0.19.2
Jul 18 11:04:31 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:31 DEB path manager created
Jul 18 11:04:31 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:31 INF [RTMP] listener opened on :1935
Jul 18 11:04:37 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:37 INF [RTMP] [conn <IP_ADDRESS>:58249] opened
Jul 18 11:04:37 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:37 DEB [path alex] created
Jul 18 11:04:37 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:37 INF [RTMP] [conn <IP_ADDRESS>:58249] is publishing to path 'alex', 2 tracks
Jul 18 11:04:37 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:37 INF [path alex] runOnReady command started
Jul 18 11:04:37 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:37 INF [RTMP] [conn <IP_ADDRESS>:59812] opened
Jul 18 11:04:37 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:37 INF [RTMP] [conn <IP_ADDRESS>:59812] is reading from path 'alex'
Jul 18 11:04:40 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:40 INF [RTMP] [conn <IP_ADDRESS>:59812] closed (DTS is greater than PTS)
Jul 18 11:04:40 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:04:40 INF [path alex] runOnReady command exited with code 0
Jul 18 11:05:41 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:05:41 INF [path alex] runOnReady command stopped
Jul 18 11:05:41 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:05:41 DEB [path alex] destroyed (not in use)
Jul 18 11:05:41 [hostname] rtsp-simple-server[181260]: 2022/07/18 11:05:41 INF [RTMP] [conn <IP_ADDRESS>:58249] closed (EOF)

Did you attach a network dump?
no (not sure if the network matters here, considering all other streamers don't have this problem)

Hello, H264 streams generated with the QSV encoder declare into their SDP that there are 2 reordered frames at maximum:
max_num_reorder_frames = 2

But there seem to be at least 3 frames, i.e. frames are received in this order (the number is PTS, the number in parenthesis is DTS):
2 (-1)
3 (0
4 (1)
1 (2)

Consequently DTS > PTS since the server can't compute the initial delay to apply to the stream before starting decoding (that is usually equal to max_num_reorder_frames). Since increasing max_num_reorder_frames increases latency, at the moment i can't touch it and i don't have a solution for this issue.

Hi @aler9,
Thanks for the information. No problem if there's no solution - I'll just create a section of documentation that adds the correct configuration for those that use QSV. Thanks for your help.

Maybe a solution will be found, at the moment my knowledge is limited to the algorithm i explained above :)

Same issue exists in Nvidia ffmpeg encoder, max_num_reorder_frames should be 2 for b_ref_mode middle, but it is not.


Updates to articles/active-directory-domain-services and articles/advisor

articles/active-directory-domain-services/use-azure-monitor-workbooks.md
articles/advisor/advisor-high-availability-recommendations.md
articles/advisor/advisor-reference-performance-recommendations.md

@bluphy - Thanks for the typo fixes!


Feature Request: option to replace a part of a application adress with the current URL.

It would be great to be able to just set a port or a path as the url and the rest of the url would be taken from the current url.
So that if I open a Flame instance from "www.flame.com" a link would lead to "www.flame.com:8080" and if I open the same Flame instance via the IP Adress, the URL would lead to the :8080. With this option it would be easier to access the urls also via VPN access.

Can you elaborate more on that? I don't quite understand what this feature is about and based on the current description I don't think it's possible to implement.

Sorry if I described this too vaguely. The suggestion is that a user should be able to specify only part of the URL. To do this, a user could specify some sort of variable like , which would be replaced at runtime by Flame with the URL that is currently being used to access Flame. In Javascript, for example, this can be solved by window.location.href.

+1
This is useful when accessing flame with a local ip and a remote ip (e.g. trough a VPN, Tailscale etc.) and applications are running on the same server as flame.

Thx for this cool project. I would like to run Flame behind a http proxy. I would be necessary  to replace a part of a application adress of Flame with a configured prefix. This is a common use case when running multiple web-apps on the same server.
Would be a minor fix, wouldn't it?


Missing indices on TF_DCSA_OPS

As far as I understand the table creation code in GmDbDcsaSharedStorage the table TF_DCSA_OPS gets created without any indices. When it reads operations, the accessId is part of the query, resulting in a full table scan with each access.
Shouldn't we add an index for the accessId as well (incl. code for adapting an existing table)?

I have added an index that corresponds to the query:
https://github.com/hiconic-os/tribefire.extension.vitals.jdbc/commit/8e25f08512eb9d646d38fb761a6b73a7ef532ca9
There are tests, but not for a pre-existing table, so please verify there is no issue. The index will be created, that should not be the problem.

Works perfectly. I also tested the creation of the index with an existing table. Thank you!


:fire: Replaces args input argument with blacks_flags

This commit replaces the 'args' input argument with the 'black_flags' argument. This was done since @haya14busa pointed out that this argument is not available to users.

🧪 Test status: Successful (see https://github.com/rickstaa/action-test-repo/pull/24)


--set flag doesn't support indexing or path selection

The operator tpath package supports a rich syntax for selecting list items e.g.
containers.[name:discovery].spec
It would be nice for the --set flag to support a similar syntax. Right now there's no way to change values via CLI that are in lists.

Fixed in https://github.com/istio/istio/pull/20631.


Bug in pll.c

The pdiv line in this section
/// \tag::pll_init_finish[]
    if ((pll->cs & PLL_CS_LOCK_BITS) &&
        (refdiv == (pll->cs & PLL_CS_REFDIV_BITS)) &&
        (fbdiv  == (pll->fbdiv_int & PLL_FBDIV_INT_BITS)) &&
        (pdiv   == (pll->prim & (PLL_PRIM_POSTDIV1_BITS & PLL_PRIM_POSTDIV2_BITS)))) {
        // do not disrupt PLL that is already correctly configured and operating
        return;
    }

should read
        (pdiv   == (pll->prim & (PLL_PRIM_POSTDIV1_BITS | PLL_PRIM_POSTDIV2_BITS)))) {

It must be a logical OR, not an AND. An AND will always result in 0 and the check will always fail.

merged into develop


tree view can't load custom query

Laravel Version: 5.5
PHP Version: 7.1
Laravel-admin: 1.5.*

Description:
I tried to get tree-view works with custom query but $tree->query is never hit. On the contrary, $tree->branch hit with default query (show all data). What's wrong with my code below... Help me, thanks
Steps To Reproduce:
This is my code
`
public function index()
{
    return Admin::content(function (Content $content) {
        $content->header('Menu');

        $body = Menu::tree(function ($tree) {
            $tree->query(function ($model) {
                dd('hit query');
                return $model->where('type', 1);
            });

            $tree->branch(function ($branch) {

                $payload = " {$branch['title']}";

                if (!isset($branch['children'])) {
                    if (url()->isValidUrl($branch['uri'])) {
                        $uri = $branch['uri'];
                    } else {
                        $uri = admin_base_path($branch['uri']);
                    }

                    $payload .= "   $uri";
                }
                return $payload;
            });
        });

        $content->body($body);
    });
}

`

get the same problem.
did you fix it?

Hi, @z-song @ajaxangular i am also facing same problem, if you have found solution kindly update issue with answer.

$tree = $tree->query(function ($model) use ($role) {
return $model->where('role', $role);
});


x/tools/gopls: can't add new file to existing package

On master (4191b8cbba092238a318a71cdff48b20b4e1e5d8) when I add a new file to an existing package I get no ParseGoHandle for file://... when I try to use gopls functionality in the new file.
Note that in my editor the new file comes pre-populated with the package name based on the file's directory name (i.e. the bug only reproduces if the initial "didOpen" message already contains the "package foo" line). If I subsequently edit the package name then the file gets loaded normally.
Below is an RPC trace starting from opening the new file through the first "no ParseGoHandle" error:
[Trace - 05:01:19 PM] Sending notification 'textDocument/didOpen'.
Params: {
  "textDocument": {
    "uri": "file:///Users/muir/scratch/foo/bar.go",
    "languageId": "go",
    "version": 0,
    "text": "\npackage foo\n"
  }
}

[Trace - 05:01:19 PM] Received notification 'window/logMessage'.
Params: {
  "message": "2019/11/14 17:01:19 go/packages.Load\n\tpackages = 1",
  "type": 3
}

[Trace - 05:01:19 PM] Received notification 'window/logMessage'.
Params: {
  "message": "2019/11/14 17:01:19 go/packages.Load\n\tpackage = foo\n\tfiles = [/Users/muir/scratch/foo/foo.go /Users/muir/scratch/foo/bar.go]",
  "type": 3
}

[Trace - 05:01:19 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "diagnostics": [],
  "uri": "file:///Users/muir/scratch/foo/foo.go"
}

[Trace - 05:01:23 PM] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///Users/muir/scratch/foo/bar.go",
    "version": 1
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 1,
          "character": 11
        },
        "end": {
          "line": 1,
          "character": 11
        }
      },
      "rangeLength": 0,
      "text": "\n"
    }
  ]
}

[Trace - 05:01:23 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "diagnostics": [],
  "uri": "file:///Users/muir/scratch/foo/foo.go"
}

[Trace - 05:01:23 PM] Sending request 'textDocument/signatureHelp - (568)'.
Params: {
  "textDocument": {
    "uri": "file:///Users/muir/scratch/foo/bar.go"
  },
  "position": {
    "line": 2,
    "character": 0
  }
}

[Trace - 05:01:23 PM] Received response 'textDocument/signatureHelp - (568)' in 6ms.
Result: null

[Trace - 05:01:23 PM] Received notification 'window/logMessage'.
Params: {
  "message": "2019/11/14 17:01:23 no signature help\n\tAt = {2 0}\n\tFailure = no ParseGoHandle for file:///Users/muir/scratch/foo/bar.go",
  "type": 3
}

Thanks for the report. This sounds a lot like https://github.com/golang/go/issues/35949, so I will close this as a duplicate.

Duplicate of https://github.com/golang/go/issues/35949


Audience as an array - how to specify?

The README says an array is possible for aud. I specified an array of possible audiences:
verify_aud: true, aud: ['client1', 'client2', 'client3']

I'm seeing this when "client1" (for example) is passed in as aud:
  "Invalid audience. Expected ["client1", "client2", "client3"], received client1

Maybe I'm specifying the array wrong, but I'm not sure how else it would be done.

Hi @mahemoff,
can you please specify the jwt version you're using?

@mahemoff kijdr<elkftrkijgxyjkivgfds öjlkoidsevrgf mj-ö lkdnfhzbgrt
jgftjgfcjg cvkj


Run more test cases per fuzz job

Run 100k fuzz tests per run of the fuzz job.
Github apparently gives us six hours per job, so we can probably turn this up once we know how long that number takes on their infra.

I assume that if it returns a non-zero exit code, it'll email us like it does for other Actions failures?

oh. i route all that my github email to the trash, so I didn't even know that.


initial version

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@4be1551). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             master        #1   +/-   ##
==========================================
  Coverage          ?   100.00%
==========================================
  Files             ?         2
  Lines             ?         6
  Branches          ?         0
==========================================
  Hits              ?         6
  Misses            ?         0
  Partials          ?         0

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4be1551...36e67b6. Read the comment docs.


compose: Fix banners running off the screen.

[x] Still need to figure out how to make it work with touchpad.
[x] Discuss the heght of the uploads container.
[x] Other design questions?

Fixes: #25115.

Screenshots and screen captures:

I thought that the issue requires a change in the container size. Though it's not a problem for the container to be the same size as it currently is!

@alya we didn't previously have a maximum height for the compose banners area -- that's why it would just grow to infinite height with enough banners. So we need to choose something when adding a scrollbar. One option is to have it be the limit of the height possible on screen; another would be something like the 200px that this PR proposes.

Oh, I see, the question makes sense now. I think the code attached to #25118 may answer this question? E.g. I see:
.compose-banner-container {
    overflow: auto;
    max-height: max(25vh, 240px);
    flex-shrink: 0;
    scrollbar-width: thin;
}

If you are okay with them, I think it's ready for integration review.

Hmm, looks like a test is failing?

Seems OK to me in manual testing. There are probably some visual tweaks I'd make, but not necessarily worth worrying about prior to the compose box redesign.
@shameondev Do you understand why they scrollbar placement looks different for me vs. your screenshot above (to the right of the banners vs. on top). I confirmed the same with upload banners.

(I'm using Chrome on a Mac.)

I would also like to suggest changing the max function in max-height: max(25vh, 240px) to min, so we can have an appropriate view on small height screens.
If we use the max function, it will always use 240px for small screens and 25vh for larger ones. I think it's more important to have a nice view on small screens than to lose some height on larger ones.

I can't really evaluate this question without some screenshots comparing where the two would produce different outcomes, at least. I don't even know what 25vh means ;) (25% of the window height, perhaps?).
In any case, not a blocker for merging this bug fix.

Do you understand why they scrollbar placement looks different for me vs. your screenshot above (to the right of the banners vs. on top). I confirmed the same with upload banners.

Hmm, I don't see anything particularly special about this scrollbar. It looks the same to me everywhere. Perhaps it's related to your operating system or its version?
Please let me know if the scrollbar here is different from what you see everywhere else. If it is, I will investigate further. If not, I believe we can address it in another pull request.

The implementation looks reasonable to me except for the failing node test.

@shameondev Should this PR be retested, or is there low risk of any user-visible changes from your updates?

@alya, no, it shouldn't. I retested this manually, and we also have the e2e tests, which definitely help!

@timabbott The test is no longer failing, and the implementation has been updated based on feedback from @andersk .

So this had a few issues, but I've resolved them enough to be able to merge this:

The upload.js code was just appending directly into compose_banners, rather than using a proper scrollbar. This is why everyone was seeing different scrollbars for upload banners.
There's a couple calls from notifications.js added yesterday weren't migrated as well.
We ideally would have this function live in compose_banner.ts, and had a parameter for which element to append into -- this is required for banners that appear when editing a message. Moving it is blocked on scroll_util.js being migrated to TypeScript, which I @Lalit3716 said he will take care of tomorrow as a follow-up to b9223088f3b6b9d094e8efb6e0846628a990bf03 .  But that container issue is existing in a lesser form in https://github.com/zulip/zulip/issues/25230. @shameondev can you take over that issue? I don't think the contributor who has claimed it is likely to finish it on the schedule I'd want.

Following this PR:
$ git grep compose_banners | grep append
web/src/compose_validate.js:    ui.get_content_element($("#compose_banners")).append(new_row);

@timabbott @shameondev Raised #25304 for migrating scroll_util to typescript.


Feature/generate pdf

Reviewed. Looks good, left some comments (just to consider), needs a couple of tests.

Reviewed. Looks good, left two comments.

Reviewed. Looks great.


creating a huge array of values of type Nothing takes (approximately) forever

This takes ages...
import std.assert;

function main() {
    let array = [nothing;<PHONE_NUMBER>];
}

I think this can be fixed when the compiler has a concept of compile-time constants.


Use correct ledger view when forging a block

The first commit here is #1273.
Note that for block production to be entirely correct, we should also #1198.

bors r+


258 internal lists and simple matching

Work in progress :construction:
Fixes #258

As discussed: opening for review, will back out the draft matching code

I measured the proof runtimes and abort reasons, comparing to latest  master with latest foundry tests.
As expected, the list unification eliminates all aborts due to matching head or tail of a list.
https://gist.github.com/jberthold/0ad75adffa1e5490c423a704c7bd7dfc#booster-from-list-unification-branch-local-build

Full list unification
These are just some musings on fully fledged list unification. probably not useful here but wanted to keep this simewhere in case it is useful in the future:
list representation
KList {
  heads :: [t]
  rest :: [(t,[t])] --t is a variable/function symbol, [t] is a list of concrete elements
}

some helper functions:
-- unfolds a KList into a list of head elements, a middle with variables/functions potentially interspersed with more list elements
-- and a final list of tails
-- the mids list will contain `Left e`s where `e` is a variable or function application returning a list
-- `Right e` is a list element.
-- This function should never return something of the form (..., [...,Right e], ...)
unpackKList :: KList -> ([t], [Either t t], [t])

-- pair xs ys pairs up xs and ys into a list of tuples and returns the remains
pair :: [t] -> [t] -> ([(t,t)], [t], [t])

-- same as pair but pairs lists in reverse
pairRev :: [t] -> [t] -> ([(t,t)], [t], [t])

unify kl1@KList{} kl2@KList{} =
  case (unifyKLIst kl1, unifyKList kl2) of
    ((xs, [], []),(ys, [], [])) -> if length xs == length ys then ...unify xs ys... else ...fail different length lists...
    ((xs_h, xs_m, xs_t),(ys_h, ys_m, ys_t)) -> do
      let (paired_h, xs'_h, ys'_h) = pair xs_h ys_h
      let (paired_t, xs'_t, ys'_t) = pairRev xs_t ys_t
      ...unify paired_h...
      ...unify paired_t...
      unifyListMids ((map Right xs'_h) ++ xs_m ++ (map Right xs'_t)) ((map Right ys'_h) ++ ys_m ++ (map Right ys'_t))

unifyListMids :: [Either t t] -> [Either t t] -> ...
unifyListMids [] [] = ...done...
unifyListMids [] _ = ...fail...
unifyListMids _ [] = ...fail...
unifyListMids (Right x:xs) (Right y:ys) = do
  ...unify x and y...
  unifyListMids xs ys
-- unifyListMids (Left x@SymbolApplication{}:xs) (Left y@SymbolApplication{}:ys) = do
--   ...unify x and y...
--   unifyListMids xs ys
unifyListMids [Left x@Var{}] [y] =
  ...unify x and y...
unifyListMids (Left x@Var{}:xs) (y1:y2:ys) =
  try (...unify x with .List...; unifyListMids xs (y1:y2:ys)) <|>
  try (...unify x and y1   ... ; unifyListMids xs (y2:ys)) <|>
  unifyListMids (Left x@VarP{}:xs) (combine y1 y2: ys)
unifyListMids [y] [Left x@Var{}] =
  ...unify x and y...
unifyListMids (y1:y2:ys) (Left x@Var{}:xs) =
  try (...unify x with .List... ; unifyListMids (y1:y2:ys) xs) <|>
  try (...unify x and y1    ... ; unifyListMids (y2:ys) xs) <|>
  unifyListMids (combine y1 y2: ys) (Left x@VarP{}:xs)
unifyListMids (Left _:_) _ = ...fail...
unifyListMids _ (Left _:_) = ...fail...


Feature Request: Support custom shortcut keys

Agree, and I also want a command panel. I am trying

What is wrong with Alt+D ?

What is wrong with Alt+D ?

That it's used on Windows by Chrome to select the address bar. See: https://support.google.com/chrome/answer/157179?hl=en&co=GENIE.Platform%3DDesktop#zippy=%2Caddress-bar-shortcuts:~:text=Ctrl %2B l or-,Alt %2B d,-or F6

What would you use instead @ennioVisco ?

On windows and Linux I think F12 is used to open the developer tools. What about CTRL+F12?

I confirm it's very annoying with Linux.
What about CTRL+ALT+D ? Tested with Firefox, Google chrome, Chromium and Vivaldi. It's free...


[Bug] Command not found

I'm sure this is a user error as I am new to coding but when I try to use I get "command not found". Does this mean it wasn't installed properly?
I installed miniconda for this.

Thanks for the help!

I'm having the same issue, someone please help!

Can you try running
python -m spleeter separate -h ?
If that doesn't work, you probablyy need to go through the installation docs again.

My problem turned out to be that I didn't have Anaconda installed I only installed Miniconda, once I installed Anaconda it worked. Thank you!

I'm still having the same issue. I have conda 4.7.12
Just tried reinstalling and got the following. Sorry I'm new at all of this! Thanks for your patience!

Re installing worked though now I am running into the ffprobe error. I reinstalled using homebrew. Still no luck. Should I just wait till next release?


Feature Request: Uncollapse account tree one level at a time

Is it possible to set up the uncollapse of the account tree to uncollapse one level at a time?  That way if I collapse the whole thing, I can drill into specific levels (sometime I want to see the aggregation).
Happy to work on a PR if you could point me to the file that would control this (html/css is not my speciality).

Sounds like a helpful feature!
I have to think about if this should be the default-behavior. What about accessing this feature not by clicking on the uncollapse-rectangle, but ctrl-clicking?

That could work.  Personally I think it should be the default and ctrl clicking uncollapse all.

Maybe toggle the behavior in the settings?
Some pointers for a PR:

This should be relatively easy to implement, just modify the JavaScript-function that does the expanding/collapsing: https://github.com/aumayr/beancount-web/blob/master/beancount_web/static/javascript/main.js#L47-L58
For keyboard-related features: Mousetrap.js is already included (a JavaScript-library for handling keyboard shortcuts), used eg. here: https://github.com/aumayr/beancount-web/blob/master/beancount_web/static/javascript/main.js#L104-L117

OK I think you are right - this should be the default behavior (but, again, a setting to toggle this behavior would be nice).

ok, I got it working on my machine.  I think I would prefer if the default level was 2 and I could drill down further as needed.  What do you think about a setting that controls the default level of detail?

Can you send a PR so I can test it and see how it works?

PR sent - #118

Looks good!
Are you going to add the "ctrl-click"-feature as well?

I wonder if we should use ctrl-click or just have a button called expand-all?

Both:

ctrl-click for expanding all sub-accounts for the current node
In the table header, we could change "Accounts" to "Accounts (expand all)" (with "(expand all)" in a lighter color) and make that expand all nodes. The "(expand all)" could be hidden if everything is expanded (the default), and shown as soon as a node is collapsed.
A tooltip on each node for hinting at the "ctrl-click"-thing (easy: the title=""-attribute of the triangles)

ok, I'll take a crack at those.

I added a "Accounts (collapse all)" that collapses everything then changes to "Accounts (expand all)".
Haven't figured out ctrl-click.  Does mousetrap have that functionality? It seems like it is only for keyboard commands (not combinations)?

Merged PR #118 and added small changes in cc663a498421e11070b320ef7b1a288fa654515c

Did the collapse behavior change recently? It seemed to work nicely in the past, but now, this is what I see. I'm opening up the balance sheet and clicking on the expander of Assets:

initially, the entire hierarchy is expanded
if I collapse, then expand, the entire hierarchy is expanded (previously, it would only expand the first level)
if I want to see only the first level, what I need to do seems to be a bit non-intuitive:

doesn't work: collapse, then expand
doesn't work: collapse, then shift+expand
works: shift-collapse, then expand

Am I using this correctly?

Yes the account tree was reimplemented in #246. I wasn't really aware of the discussion here, but collapsing with a single click should be a self-inverse operation, after expanding it should just show the same tree that you just collapsed.
I find the behaviour now much more consistent as both a single click and shirt-click will have matching behaviour for collapsing and expanding. As a shortcut for expanding just the first level, we could add ctrl-click, as was suggested above.

I find the behaviour now much more consistent as both a single click and shift-click will have matching behaviour for collapsing and expanding.

The single-click behavior is indeed consistent, but I'm having trouble understanding the consistency in the shift-click behavior:

single-click: collapse-all or expand-all (works fine, and is intuitive)

shift-click: if I simply shift-click again and again, it behaves exactly the same as single-click (i.e., toggles between collapse-all and expand-all). however, if i shift-collapse, and then single-click-expand, it expands a single-level. I'm not understanding this behavior?

single-click: collapse-all or expand-all (works fine, and is intuitive)

Not "collapse all", just "collapse". It won't collapse any children-accounts (so you some children were collapsed, they'll still be if you expand again)

shift-click: if I simply shift-click again and again, it behaves exactly the same as single-click (i.e., toggles between collapse-all and expand-all). However, if I shift-collapse, and then single-click-expand, it expands a single-level. I'm not understanding this behavior?

Shift-click is "collapse all recursively" and "expand all recursively". So to only show the first level, you first collapse the root and all its children recursively, and if you then expand the root, its children will still be collapsed.

I believe that click-behaviour should behave as it does now. Not sure we really need shift-click actually (we also have the expand-all text that shows up in the table header)

Okay, now it all makes sense, and is intuitive as well, thanks for explaining!

I believe that click-behaviour should behave as it does now. Not sure we really need shift-click actually

Hmm, is there an alternative to "collapse all recursively" and "expand all recursively" ? If not, the shift-click is very useful and important.

(we also have the expand-all text that shows up in the table header)

Not sure what you mean by this. Are you talking about the Hold the Shift-key while clicking to expand all children balloon help?


NPM audit as part of the CI process

What should we do?

I'm new here, but when I try to install dependencies via NPM, I can see such a message:
48 vulnerabilities (3 low, 29 moderate, 14 high, 2 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

So, I'm thinking that the pipeline should not pass if there is at least one critical dependency (this is debatable).
Why should we do it?

I think that if right now we do not call the code with vulnerabilities that could be changed in the future and it is very hard to track down such cases. And of course, security vulnerabilities are evil :)

Thanks for opening your issue.
We do have measures in place to periodically update our dependencies through regular housekeeping, to make sure they are not vulnerable to well known threads. We do also have disclosure policy in place that anyone who found a critical issue actually affecting our code editor can use to report that in a responsible manner.
I'm against making npm audit a CI stage because it is meaningless mostly. For a little bit of context, please read this post on npm audit to better understand my sentiment.

Will leave this issue open as a reminder to do that in this development iteration.


Deal with unknown capture names when resolving query

This is a first step wrt solving #90. Panicking is a little extreme, but it's better than nothing; the ultimate goal (in PRs to come) is to make encountering unknown capture groups a parse error and bail-out gracefully.

Maybe this would be better as a draft, so I can add iterate through subsequent commits...

I'd ask the question this way: is this PR an improvement in its current state? If it is (I suspect that it is), let's merge, and you can make another PR later to improve further. Otherwise keep it as draft.

My understanding is also that it improves the current state and should be merged.


Unable to check available username

why do we should have AccessToken to check whether the username is available to assign to a new user 🤔

well it's register/search/?search=username

well it's register/search/?search=username

Yep


docs: add server.proxy configuration

All credit goes to u/konstantinblaesi.
If the server.proxy is not set, the following error is shown in the browser.
TypeError: Could not convert argument of type symbol to string.
  at webidl.converters.DOMString (node:internal/deps/undici/undici:1977:15)
  at webidl.converters.ByteString (node:internal/deps/undici/undici:1982:35)
  at Object.record<ByteString, ByteString> (node:internal/deps/undici/undici:1894:30)
  at webidl.converters.HeadersInit (node:internal/deps/undici/undici:3424:67)
  at Object.RequestInit (node:internal/deps/undici/undici:1951:21)
  at new Request (node:internal/deps/undici/undici:4835:34)

Reproducible in the following environment.
Binaries:
  Node: 20.14.0 - ~/.local/state/fnm_multishells/43230_1718006277694/bin/node
  npm: 10.7.0 - ~/.local/state/fnm_multishells/43230_1718006277694/bin/npm
  pnpm: 9.2.0 - ~/.local/state/fnm_multishells/43230_1718006277694/bin/pnpm
npmPackages:
  @vitejs/plugin-basic-ssl: ^1.1.0 => 1.1.0
  vite: ^5.2.13 => 5.2.13
  vitest: ^1.6.0 => 1.6.0

No I don't. I just found a working workaround for this issue.
Should I close this PR and convert it into an issue?

Yeah I would close this for now. It's good that we have additional information on the web of this workaround. But I think it would be better if you can (or someone else) investigate the bug first and open the issue in the correct repo 🙏


Self nested collection adding error

What I tried to do
Hello !
I use prisma2 to develop a comment feature.
Comments should be commented.
The comment model is self calling
Error
I get the following error
Oops, an unknown error occured! This is on us, you did nothing wrong.
Reason: called `Option::unwrap()` on a `None` value in src\libcore\option.rs:378:21
Please create an issue in the photonjs repo with

That's why I'm here.
Prisma Schema
Actual schema looks like
generator photon {
  provider = "photonjs"
}

datasource db {
  provider = "postgresql"
  url = [...]
}

[...]

model Comment {
  id         String     @default(cuid()) @id
  createdAt  DateTime   @default(now())
  updatedAt  DateTime   @updatedAt
  value      String
  author     User
  childs     Comment[]  @relation("comment_childs", onDelete: CASCADE)
  likes      Like[]
}

[...]

Resolver
return this.photonService.comments.update({
    where: {id: parentId},
    data: {
        childs: {
            create: {
                value,
                author: {connect: {id: user.id}}
            }
        }
    },
});

Main dependencies
{
  "prisma2": "^2.0.0-preview016.2"
}

Questions
Is it really a photon error or it comes from my resolver ?
(I'm not sure at all about the child: {create: { [...] } } to add comment to collection)
Error could comes from the @relation decorator ?
Thanks a lot.

I can confirm this as a bug.
I have posted a reproduction here: https://github.com/harshit-test-org/prisma-photonjs-294

Possible duplicate of: https://github.com/prisma/photonjs/issues/297

This will no longer panic in the query engine.


No app.tar.gz getting generated

When I generate a release using the 0.19.9 release I am not getting a tar.gz file.
I am just creating a sample umbrella project
I run the following commands in one of my apps
MIX_ENV=prod mix release

I see the release was created and it works fine, however there is no tar.gz file.  Is there a new option I need to pass in to generate the tar.gz file?
This is also making release updates a bit of a problem :)
Thanks!

Also I am running Elixir 1.1 with Erlang 18

Also tried the test app and did not get a .tar.gz file:
https://github.com/bitwalker/exrm-umbrella-test.git

Never mind .. it move .. should have done a find first I guess :P
New folder home is in the releases folder under the current (rel//release/0.0.1/.tar.gz)

@cjimison Yes sorry about the confusion, that change was made a while back for a few different reasons. If there are places in the documentation that haven't been updated let me know!