Custom Filters

I would like to implement my own custom (command-line) filters, that apply to on like HOSTS or ROLES. An example would be REGIONS, or extending HOSTS to match SaltStack minion IDs as well as FQDNs/IPs.
However, filter.rb and configuration.rb are rather 'closed', making it difficult to do this, and I have to monkey-patch in my own filters.
I am aware of using property filtering to restrict individual tasks to certain targets in the deploy, but that is not quite what I'm looking for.

My gut reaction is that this is not something that we want to support in Capistrano core. However I understand your frustration about the lack of a clean extension point for you to add custom filtering.
Perhaps the best way to accommodate this is via a custom task. You could write a rake task called regions that accepts an argument (in other words, it can be invoke by regions[arg]). That task could go through the list of defined servers and remove the ones the don't match the filter.
cap production regions[123] deploy

We might need to change Capistrano to provide a method for you to remove a server, but doesn't seem like a big deal.
Would something like that work?
Ultimately if we're going to support this, I would like it to be done with the smallest change possible. I don't see custom filters as a common use case, so the solution would have to be very low risk.

I think that even simpler would just to be to open up the list of filters in configuration.rb for appending. Monkey-patching or refining if I want to change the behaviour of HOSTS or ROLES is not too bad.

OK, can post a quick patch or open a PR with what you have in mind? We can work from there.

I'm a fan of making this possible. I personally use hostnames and the host regex option to accomplish it at present. My use case is that we have several locations, and we prepend a two char location code to our server names. For example, our servers at our main location are hqsomething01, while our servers in our California location are casomething01. So I can limit a deploy by running cap prod --hosts=^hq deploy.
But if we didn't have the servers named this way, I'd need more granular deployment capabilities as defined above.
I'll help out as I can.
Incidentally, a hack which can accomplish this is using env variables. For example you can set up your config/deploy/production.rb like so:
if ENV['REGION_ONLY'] == 'ca'
  server 'casomething01', roles: [:blah, :app, :db, :web]
end

Then you would invoke Capistrano like so:
REGION_ONLY=ca cap production deploy

@mattbrictson I created a pull request that should suffice ; I'll add tests if you point me to where to add them.

Custom filters were added in 3.7.0 via #1777.


Add an action which logs the time a task has spent in a configured column

This is useful, to track the time a task has spent in your work column.
I just duplicated the TaskLogMoveAnotherColumn task and adapted it to my needs. I'm not so deep into the hole code base, so I dont know if I could have fetched the project activities somewhat smarter or if thats ok.

There is a new feature introduced in the current master, it's called "task transitions", that record all task column moves with the time spent in the origin column and the person that does the action.

Closed because there is task transitions now.


WIP: Improvements

Remove duplicate notebook from examples

@chemik-bit @filip-michalsky
Immediate improvements needed , in the order of importance:

Add instructions of how to run the frontend to the main README.

Record a loom video showing a conversation via the new UI

Improve robustness of the SalesGPT API, add more tests!


Vulnerabilities warning

Node: v18.8.0
npm: 8.18.0
# npm audit report

nth-check  <2.0.1
Severity: high
Inefficient Regular Expression Complexity in nth-check - https://github.com/advisories/GHSA-rp65-9cf3-cjxr
fix available via `npm audit fix --force`
Will install<EMAIL_ADDRESS>which is a breaking change
node_modules/svgo/node_modules/nth-check
  css-select  <=3.1.0
  Depends on vulnerable versions of nth-check
  node_modules/svgo/node_modules/css-select
    svgo  1.0.0 - 1.3.2
    Depends on vulnerable versions of css-select
    node_modules/svgo
      @svgr/plugin-svgo  <=5.5.0
      Depends on vulnerable versions of svgo
      node_modules/@svgr/plugin-svgo
        @svgr/webpack  4.0.0 - 5.5.0
        Depends on vulnerable versions of @svgr/plugin-svgo
        node_modules/@svgr/webpack
          react-scripts  >=2.1.4
          Depends on vulnerable versions of @svgr/webpack
          node_modules/react-scripts

6 high severity vulnerabilities

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

Looks to be an issue with svgr
Fixed with:
npm i @svgr/webpack -D

# added to package.json

"overrides": {
    "@svgr/webpack": "$@svgr/webpack"
},


chore: add promptfoo Guru link on Gurubase.io

Hello team,
I'm the maintainer of Anteon. We have created Gurubase.io with the mission of building a centralized, open-source tool-focused knowledge base. Essentially, each "guru" is equipped with custom knowledge to answer user questions based on collected data related to that tool.
I wanted to update you that I've manually added the promptfoo Guru to Gurubase. promptfoo Guru uses the data from this repo and data from the docs to answer questions by leveraging the LLM.
In this PR, I showcased the "promptfoo Guru", which highlights that promptfoo now has an AI assistant available to help users with their questions. Please let me know your thoughts on this contribution.
Additionally, if you want me to disable promptfoo Guru in Gurubase, just let me know that's totally fine.

Very cool project.  We've found some inaccuracies in the Guru outputs (e.g. https://gurubase.io/g/promptfoo/write-promptfoo-config-claude-bedrock), so we're going to hold off merging for now.  Feel free to reach out when you think it's a good time to reconsider :)


EID-1480: Spike fetch country encryption cert at runtime

This will be handled as part of the multi-country refactoring work. Closing.


Modify Auth API to support CBS Integration

Modifications to Auth API to support...

[x] Login for CBS, ECMPS, & Quartz applications
[ ] Single Sign-On (SSO) from either CBS, ECMPS, & Quartz applications
[ ] CROMERR Signing ceremony for submisisons

*** User Story ***
As an Authenticated ECMPS User, when I have logged in on any EPA service and have a valid session, I would like to remain logged in across any CBS/EPA Product
As an Authenticated ECMPS User, when I have data to submit to the EPA the system ensures that I follow the proper CROMERR Signing ceremony and allows me to sign & submit data
Notes

9/1 - CBS Is currently working on integrating with Easey-Auth. Ticket will be used as a placeholder while integration continues

Link to CDX CROMERR

Need to determine with Chris to see how we want EPA members to interact with the workspace for beta.

Bumped to PI 9 to wait for auth integration

OBE

As of 9/22 no updates from the integration meeting. Will close ticket after testing it

Test Only Ticekt


Is it possible to provide a Tensorflow 2 compatible version of this code?

This code is a very good example of using the deep learning technique on the symbolic regression problem. However, up to now, the most up to date deep learning algorithms are implemented in Pytorch and Tensorflow 2. So, is it possible to provide a Tensorflow 2 compatible version of this code? By the way, I know that I can directly enable TensorFlow 2 to run TensorFlow 1 code by disabling all TensorFlow 2 features. Nonetheless, this function does not support the "contrib" package of Tensorflow 1, which is widely used in this project.

Hi, thank you for your interest! We may be able to migrate to TF2, but unfortunately it's not a very high priority for as we focus on new features and research methods. We would be happy to accept a PR that adds compatibility for both TF1/2.


Upstream sync df92191e4d8..1b1d09c2f

Why
Keep in sync with upstream
What
Sync with for commits df92191e4d8..1b1d09c2f on upstream
Tests
Local and CI via https://github.com/signalfx/signalfx-dotnet-tracing/pull/463

@pjanotti, I have checked all changes. I have a common list of issues, as I was not able to use GitHub UI to add comments directly to the files

.azure-pipelines\steps\clone-repo.yml - should be removed. We are not using Azure pipelines

docs\RUNTIME_SUPPORT_POLICY.md - should be either removed or adjusted to our needs

profiler\test\Datadog.Profiler.IntegrationTests\Helpers\EnvironmentVariables.cs - UseNativeLoader USE_NATIVE_LOADER env var name does not include common prefix. Could you pelase doube check it?

AppSec related changes should be removed

tracer\src\Datadog.Trace\Tagging\WafConstants.cs
tracer\src\Datadog.Trace\Metrics.cs - a lot of const realtetd to AppSec
tracer\test\Datadog.Trace.Security.Unit.Tests - remove all files
tracer\test\Datadog.Trace.Security.IntegrationTests - remove all files
tracer\test\benchmarks\Benchmarks.Trace\Benchmarks.Trace.csproj - remove references to appsec/waf
tracer\test\benchmarks\Benchmarks.Trace\AppSecBodyBenchmark.cs - remove file
Datadog.Trace.Security.slnf - can be removed
tracer\build_build\Build.GitHub.cs - around kune #445 we are probably not using this code, but there is a reference to AppSec (for generaring release notes)
Consider to full search AppSec and remove leftovers

Grpc documentation - there is not documentation for SIGNALFX_TRACE_GRPC_TAGS nor there is no comment that we are supporting it.

There is no documentation for SIGNALFX_TRACE_METHODS

tracer\src\Datadog.Trace\ClrProfiler\AutoInstrumentation\AspNet\AspNetWebApi2Integration.cs - line 27, other context keys are prefixed by __SignalFx.Tracing instead of __Datadog.Trace

Installer

tracer\src\WindowsInstaller - Based on what I see there are no changes related to new target (net6.0) in our, non-shared installer.
Did you have chance to test instrumentation for .NET 6.0 with the installer? It is important due to changes in tracer\src\Datadog.Trace.ClrProfiler.Managed.Loader\Startup.NetCore.cs
tracer\build_build\PrepareRelease\SetAllVersions.cs - old/non-shared installer removed, why?

I think the change of the Id in shared\src\msi-installer\Tracer\EnvironmentVariables.wxs can bring trouble. You would need to test at least the MSI update and repair scenarios.

Thanks for the feedback @Kielek and @pellared. The following commits should cover the items pointed above:
951342e1d (HEAD -> upstream_sync_merge, fork/upstream_sync_merge) Merge branch 'upstream_sync_merge' of github.com:pjanotti/signalfx-dotnet-tracing into upstream_sync_merge
8f7029add Remove left-over SIGNALFX_INTEGRATIONS
21157ca88 Fix path from 'tracer/bin/tracer-home' to 'tracer/bin/dd-tracer-home'
10804fde5 Restore version update for WindowsInstaller.wixproj
ed0a69c6d Fix MSI
552dcc832 Fix AspNetWebApi HttpContextKey
de4774d05 Quick doc for SIGNALFX_TRACE_METHODS
af690640c Add info related to gRPC instrumentation
b1e4f6915 Add instructions for new instrumentations
76805723a More AppSec related removals
af7cfca36 Remove AppSec references
c594df34c Add the SIGNALFX_ prefix to USE_NATIVE_LOADER
fb101bb23 Remove RUNTIME_SUPPORT_POLICY.md
b463b0dd6 Remove azure-pipelines files
MSI built locally was validated for netcoreapp3.1 and net6.0


[Browsing]: Implement an existing web browser agent

What problem or use case are you trying to solve?
Currently we do not have a very powerful agent for browsing the web, but this could be rectified by implementing existing work on web browsing.
Do you have thoughts on the technical implementation?
Given that we are implementing web actions through browsergym (#1469), a natural choice of a web agent to implement would be BrowserGym's demo_agent which also gets good scores on benchmarks such as WebArena.
Describe alternatives you've considered
There are many other web browsing agents, so other strong browsing agents that are easy to implement could be considered.
Once we have a dedicated web browsing agent, we could also incorporate richer web browsing into our coding agents, which would improve the coding agents' abilities to do complex tasks.
Additional context
Blocked by #1469

This has been solved by BrowserAgent


I wish I could give this project 10 stars ... works great, well designed, very complete, awesome

Kudos @jpeiffer for your library!! ❤


Fix "No such file or directory" problem when cleaning "veth*.ifstate"…

… files
See #3081 for a discussion.
Let Ansible ignore errors from the find command because there is no option to let the find commmand ignore errors from the -delete action.
Root cause of the problem must be a race condition where files that have been identified during the Find phase have been removed before these files are processed in the Action phase.

PG 1 / 2424 completed with one failed test that is in no way related to the change introduced by this PR.

@csantanapr please attend to this PR.


libvdpau: pull a few upstream commits

Motivation for this change

:-1:  I mainly wanted to try if it fixes the Darwin failure by accident.
[ ] Also, I've been getting a line from vlc:
postproc filter error: Unsupported input chroma (VDV0)

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after; no difference)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

/cc https://github.com/NixOS/nixpkgs/pull/54306

Closing now that we have merged staging-next.

Superseded by https://github.com/NixOS/nixpkgs/pull/56539.


Table Column: watch more prop & rename showTooltipWhenOverflow.

Please makes sure these boxes are checked before submitting your PR, thank you!

[ ] Make sure you follow Element's Contributing Guide.
[ ] Rebase before creating a PR to keep commit history clear.
[ ] Add some descriptions and refer relative issues for you PR.

show-tooltip-when-overflow 的测试挂了

@Leopoldthecoder 发现了，在写另一个 Bug，这个一会看。

冲突啦


Add support to updatable virtual tables

Fix #730, #900
TODO
[ ] simple implementation at least for test / example.
[ ] eponymous updatable VTab

I don't understand why 6d885c8 doesn't compile.
Maybe because of https://github.com/rust-lang/rust/issues/60502 ?

We might have to explicitly put it as a const or something, and return a reference to that. Const promotion doesn't work that reliably.
It's possible that keeping this const isn't viable also.


Fix timedOut not being reset on retry.

Hi 👋
Was integrating with the new retry functionality introduced in #82 , really nice feature, the docs showcase using the retry prop when the timedOut prop has been set to true. However, the prop doesn't get reset on retry so the Loading component continues to received timedOut: true and never updates to the loading.
Simple fix just to default timedOut: false when you retry
Thanks for this great library!

heya its the two month bump @jamiebuilds


Improve Theme Toggle Button Icons

Replace the current day and night icons on the theme toggle button with more visually appealing and intuitive icons to enhance user experience and clarity.

This issue is not assigned already, this is unique can you please recheck and assign it to me.

we dont want any change in toggle button :) thanks


Add a description to each rule

It would be helpful to include the description property for each rule. Personally, I like to use a simple script which uses meta information such as the URL (which is included for this plugin's rules) and the description (which is not currently included) for each rule.
I would recommend copying the descriptions from the README.
More information about the properties of a rule can be found here: https://eslint.org/docs/developer-guide/working-with-rules#rule-basics
If this suggestion is supported, I would be happy to submit a pull request implementing it.

Great suggestion! I'd prefer that the readme content be generated from the rule metadata, like here.


Open source dataset for training

This is not really an issue, but I don't know other better ways to share this info.
I have collected two pixiv datasets that can be used for training the PaintsChainer or other sketch coloring neural networks. Both of them should be useful. The first is a total of around 6000 pairs of sketch-colored images collected on pixiv. The second is a huge list of pixiv image page ids I used to train sketch-coloring networks. If you scrape all of them you should get around 1 million images.
Both of them are shared here: https://github.com/jerryli27/pixiv_dataset
If you feel that there are better places to share this dataset, please let me know and I can close this issue.

Thank you for sharing.
But in fact, you don NOT need to check the sketch-colored images one by one, because the neural network already has the ability to handle UNPAIRED images.
https://github.com/junyanz/CycleGAN

Thanks for your comment. Did anyone try CycleGAN on sketch colorization task (especially for anime sketches)?

Thank for your datasets

Thanks for your comment. Did anyone try CycleGAN on sketch colorization task (especially for anime sketches)?

Did you find it now?


User Detail on Admin Dashboard Page UI

Improve UI on the user detail page on admin dashboard.

UI improvement will not be done.


Quiz mode's strokes behavior is buggy when going fast

I noticed that some strokes could then not be rendered with the final color (various shades of gray and not the final black for instance), probably because their opacity animation was stopped before completing (you can experience this on the demo site quite easily).
In some cases they would even stay lingering after end of quiz mode. Note that this might be a second issue. I'm willing to work on that the next days of this week.

Ack, this looks like another regression from #24. Previously svg.js would force animations to end at their final value if they were canceled early, but that functionality wasn't carried over when replacing the library.

This may be been fixed by #46, but animations will need a rewrite to make sure they're solid in all situations.

Closing as this should have been fixed. If it's still occurring we can reopen.

I indeed could not reproduce the problem on my end with the same setup. Thanks for the fix.


XRE-14362: Adding methods & events to DisplayInfo & PlayerInfo

Reason for change: Adding APIs to VAP plugins to provide
device properties for premium apps.
Plugins updated: DisplayInfo, PlayerInfo & HdcpProfile
Test Procedure: check ticket
Risks: Low

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


allow react 0.13 rc releases. can't use <=0.13.x or <0.14.0 because of npm 2.0

@redonkulus addresses #77

CLA is valid!

Coverage remained the same at 100.0% when pulling f722457f0f060409e10046c3543969961b1999b0 on allowReactRC into 25868beba74f3dd89225063e6f17eae9caafab01 on master.

:shipit:

One build failed though.

fluke with npm install on io.js.  restarted the build

For some reason, github is not getting updated even though the restarted travis build succeeded: https://travis-ci.org/yahoo/flux-router-component/builds/52335441
Merging


Proto buffer initial setup

Please, don't merge! I just make it work for protoc on cmake. Then get my changes (e3f914eb9cd2c36379b72f93a597a49c6e801558) to your branch and play around with protobuf 😄

I noticed that I pushed my changes to your branch, I'm so sorry. For keeping good practice I should've done on my repo.

I noticed that I pushed my changes to your branch, I'm so sorry. For keeping good practice I should've done on my repo.

No no man don't worry :)

Please, don't merge! I just make it work for protoc on cmake. Then get my changes (e3f914e) to your branch and play around with protobuf 😄

I rebuilt the container but I still get the following when trying to load the cmake project:
[cmake] CMake Error at /opt/cmake/share/cmake-3.22/Modules/FindProtobuf.cmake:493 (file): [cmake]   file STRINGS file "/usr/local/include/google/protobuf/stubs/common.h" [cmake]   cannot be read. [cmake] Call Stack (most recent call first): [cmake]   CMakeLists.txt:6 (find_package)

Please, don't merge! I just make it work for protoc on cmake. Then get my changes (e3f914e) to your branch and play around with protobuf 😄

I rebuilt the container but I still get the following when trying to load the cmake project:
[cmake] CMake Error at /opt/cmake/share/cmake-3.22/Modules/FindProtobuf.cmake:493 (file): [cmake] file STRINGS file "/usr/local/include/google/protobuf/stubs/common.h" [cmake] cannot be read. [cmake] Call Stack (most recent call first): [cmake] CMakeLists.txt:6 (find_package)

I'll rebuild here and check again, I probably did something last night while I was sleepy and I forgot to push haha

Please, don't merge! I just make it work for protoc on cmake. Then get my changes (e3f914e) to your branch and play around with protobuf 😄

I rebuilt the container but I still get the following when trying to load the cmake project:
[cmake] CMake Error at /opt/cmake/share/cmake-3.22/Modules/FindProtobuf.cmake:493 (file): [cmake] file STRINGS file "/usr/local/include/google/protobuf/stubs/common.h" [cmake] cannot be read. [cmake] Call Stack (most recent call first): [cmake] CMakeLists.txt:6 (find_package)

I'll rebuild here and check again, I probably did something last night while I was sleepy and I forgot to push haha

I just checked and it works on https://github.com/codespaces (which is basically vscode on web). Probably you need to delete the build folder (some annoying cache could be the problem) and the run Rebuild container on vscode (you need to be in this branch before doing it),

Please, don't merge! I just make it work for protoc on cmake. Then get my changes (e3f914e) to your branch and play around with protobuf 😄

I rebuilt the container but I still get the following when trying to load the cmake project:
[cmake] CMake Error at /opt/cmake/share/cmake-3.22/Modules/FindProtobuf.cmake:493 (file): [cmake] file STRINGS file "/usr/local/include/google/protobuf/stubs/common.h" [cmake] cannot be read. [cmake] Call Stack (most recent call first): [cmake] CMakeLists.txt:6 (find_package)

I'll rebuild here and check again, I probably did something last night while I was sleepy and I forgot to push haha

I just checked and it works on https://github.com/codespaces (which is basically vscode on web). Probably you need to delete the build folder (some annoying cache could be the problem) and the run Rebuild container on vscode (you need to be in this branch before doing it),

Yes, that was it, thanks!

@caiopiccirillo
I felt like the virtual interfaces were too specific so I templated them so that we can generalize the methods names (GetValue instead of a too specific GetAngle) and enforce a minimal set of pure virtual functions to the classes that derive from it. Let me know what you think about it (ignore the actuators for now, take a look at the sensor part :) ).
commit

@caiopiccirillo I felt like the virtual interfaces were too specific so I templated them so that we can generalize the methods names (GetValue instead of a too specific GetAngle) and enforce a minimal set of pure virtual functions to the classes that derive from it. Let me know what you think about it (ignore the actuators for now, take a look at the sensor part :) ).
commit

Great job! you're thinking ahead, because I was waiting for you to push the changes and I was going to suggest this 😄. I saw some things that we could improve, so I'll make a review and you can fix it also for the actuator part.


Datastore - support custom maps

fixes #2334

This is the second merge request resulting from requests I have made. That leads me to wonder if it is possible for me to become a contributor to this project. Is there a process in place?

@ashesfall We welcome contributions! All you have to do is open a pull request.
Here's contributor guide.


New version: pizzaboxer.Bloxstrap version 2.2.0

Pull request has been created with WinGet Releaser v2 :rocket:
Microsoft Reviewers: Open in CodeFlow

Defer this PR until #102611 has some resolution.

@wingetbot waivers Add Validation-Unattended-Failed

The issue in previous PRs is that the dependency needs to be x86, but the x64 version is installed by default. Not sure how to specify dependency architecture. Would it be possible to upgrade the package to use the x64 dependency?

The issue in previous PRs is that the dependency needs to be x86, but the x64 version is installed by default. Not sure how to specify dependency architecture. Would it be possible to upgrade the package to use the x64 dependency?

Oh, I didn't realize that. The problem is that I publish both x64 and x86 versions of the application (for now), so I guess I could choose the option of not publishing x86 versions to Winget?

The issue in previous PRs is that the dependency needs to be x86, but the x64 version is installed by default. Not sure how to specify dependency architecture. Would it be possible to upgrade the package to use the x64 dependency?

Oh, I didn't realize that. The problem is that I publish both x64 and x86 versions of the application (for now), so I guess I could choose the option of not publishing x86 versions to Winget?

Thinking on this again, the x86 version needs to use the x86 dependency to work on 32-bit OSes. This is an issue with our validating, not your package. I'll work to solve this in my processes.

The issue in previous PRs is that the dependency needs to be x86, but the x64 version is installed by default. Not sure how to specify dependency architecture. Would it be possible to upgrade the package to use the x64 dependency?

Oh, I didn't realize that. The problem is that I publish both x64 and x86 versions of the application (for now), so I guess I could choose the option of not publishing x86 versions to Winget?

Thinking on this again, the x86 version needs to use the x86 dependency to work on 32-bit OSes. This is an issue with our validating, not your package. I'll work to solve this in my processes.

Thank you. I appreciate the response, though I wouldn't mind only publishing the x64 version since x86 usage is very small (about 4%) from my stats, and it's due to be removed very soon anyway.


FreeBSD rc scripts should be properly formatted for sensu-api and sensu-server

The way they are structured now, the services do not come up at boot.  Documentation is available here:
https://www.freebsd.org/doc/en/articles/rc-scripting/
https://www.freebsd.org/doc/en/books/porters-handbook/rc-scripts.html

Hi @inferiorhumanorgans,
As this is a build-specific issue, I've opened another issue against the sensu-build repo (https://github.com/sensu/sensu-build/issues/175).


unfinished inference outputs

Hi~ Congratulations to your wonderful work on mPLUG-Owl3! I try to infer some videos but the outputs seem to be limited to under 100 words? There should be some words in the inference results but seems to be deleted. Whats the reason for this issue, please?
Examples of inference results:
['The video quality is low, with noticeable pixelation and a lack of sharpness. The colors are washed out, and there is a significant amount of noise present. The focus is not consistent, and there is motion blur, particularly in the moving vehicles. The exposure is uneven, with some areas overexposed and others underexposed. There is also a noticeable camera distortion, particularly in the edges of the frame. The composition is chaotic, with no clear subject or focal point. Overall, the']
['The video shows a busy street with cars and trucks driving in different directions. The camera captures the movement of the vehicles and the surrounding environment. The quality of the video is not very clear, but it is still possible to make out the different colors and shapes of the vehicles. The video provides a glimpse into the hustle and bustle of a busy street, with cars and trucks moving in different directions. The video is shot from the perspective of a car, giving the viewer a sense of being in the']

I see. It's because the default max_new_tokens is set as 100.


SimpleFileManager and Support Korean

Hello. This is MoorDev.
Korean Support and SimpleFilemanager(https://assetstore.unity.com/packages/tools/gui/runtime-file-browser-113006 or https://github.com/yasirkula/UnitySimpleFileBrowser) apply.
This code can Open VRM file on Android.
and Korean support too.
This is my first git using. sorry.

Sorry! I miss some file! Please forget this!


Right clicking a component a lot adds up the reactive color again and again

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
When I right click a component that has the typical material design click behavior, the color of this reaction adds up. So when the tinting is grey the component gets black. When the tinting is white it gets completely white.
Expected Behavior 🤔
When I right click it, the tint can stay as long as the context menu is open. But then it should go away slowly. Or when clicked after a right click, it does not "add up".
https://user-images.githubusercontent.com/41862965/108120899-3f10a380-70a2-11eb-8a14-aa075f510a14.mov
Steps to Reproduce 🕹
Steps:

https://codesandbox.io/s/issue-c54tu

Context 🔦
No problem but it is a strange behavior.
Your Environment 🌎
Safari and Chrome.
"@material-ui/core": "^4.11.3",
"@material-ui/icons": "^4.11.2",

`npx @material-ui/envinfo`
System:
OS: macOS 11.2.1
CPU: (8) x64 Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
Memory: 107.60 MB / 8.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.15.4 - /usr/local/bin/node
npm: 7.5.4 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
Homebrew: 3.0.0 - /usr/local/bin/brew
pip3: 21.0.1 - /usr/local/bin/pip3
RubyGems: 3.0.3 - /usr/bin/gem
Utilities:
Make: 3.81 - /usr/bin/make
GCC: 4.2.1 - /usr/bin/gcc
Git: 2.24.3 - /usr/bin/git
Clang: 1<IP_ADDRESS> - /usr/bin/clang
Servers:
Apache: 2.4.46 - /usr/sbin/apachectl
SDKs:
iOS SDK:
Platforms: iOS 14.0, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
IDEs:
Nano: 2.0.6 - /usr/bin/nano
Vim: 8.2 - /usr/bin/vim
Xcode: 12.0.1/12A7300 - /usr/bin/xcodebuild
Languages:
Bash: 3.2.57 - /bin/bash
Perl: 5.28.2 - /usr/bin/perl
PHP: 7.3.24 - /usr/bin/php
Python: 2.7.16 - /usr/bin/python
Python3: 3.9.1 - /usr/local/bin/python3
Ruby: 2.6.3 - /usr/bin/ruby
Databases:
SQLite: 3.32.3 - /usr/bin/sqlite3
Browsers:
Chrome: 84.0.4147.135
Safari: 14.0.3

It doesn't look like this bug report has enough info for one of us to reproduce it.
Please provide a CodeSandbox (https://material-ui.com/r/issue-template-latest), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem.
Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve

We had similar reports in #4134, #15937, #11696.

I can't reproduce, what's the mouse click sequence?

We had similar reports in #4134, #11696, #15937, and #16240.

Please be aware that these were probably caused by a different issue and fixed in https://github.com/mui-org/material-ui/pull/16142 or https://github.com/mui-org/material-ui/pull/16250

Oh sorry did not find the other issues. I searched for right click in the issues list. I'm just right clicking it.
The speed and position where i click the button does not matter in Safari. I just have to right click the button or element all the time When I click another element sometimes the ripple goes away, sometimes it stays - depends on how often i right clicked the element I think.
I'm using this version: "@material-ui/core": "^4.11.3"

@juliushuck In your codesandbox, how does it look like with a recording?
I can reproduce on Safari. In the following video I do:

left click
right-click
right-click

https://user-images.githubusercontent.com/3165635/108512098-06024a00-72c1-11eb-9d42-8863c7194b8a.mp4

https://user-images.githubusercontent.com/41862965/108513675-31863400-72c3-11eb-9510-45eded29051f.mov
Here I do:

Left click the button -> Temporary tint
Right click the button -> Tint stays
Right click the button -> Tint stays
Left click somewhere else -> Tint stays
Left click the button -> Tint goes away

I think I have the same behavior as you here.


Failed to download video

My CMD output with verbose flag:
"I:\Program Installers\YouTube-DL\youtube-dl.exe" -o "PATH/%(title)s.%(ext)s" https://www.youtube.com/playlist?list=PLFyi2v9igyDDCyozHyQjXZs95mWeIWiQR --playlist-start 46 --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-o', 'PATH/%(title)s.%(ext)s', 'https://www.youtube.com/playlist?list=PLFyi2v9igyDDCyozHyQjXZs95mWeIWiQR', '--playlist-start', '46', '--verbose']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2018.06.04
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg N-91254-g2bd26dea66, ffprobe N-91254-g2bd26dea66
[debug] Proxy map: {}
[youtube:playlist] PLFyi2v9igyDDCyozHyQjXZs95mWeIWiQR: Downloading webpage
[download] Downloading playlist: Ideas
[youtube:playlist] PLFyi2v9igyDDCyozHyQjXZs95mWeIWiQR: Downloading page #1
[youtube:playlist] playlist Ideas: Downloading 149 videos
[download] Downloading video 1 of 149
[youtube] i2IqtFRJsiU: Downloading webpage
[youtube] i2IqtFRJsiU: Downloading video info webpage
[youtube] {22} signature length 43.44, html5 player vflUpPEZ9
[youtube] i2IqtFRJsiU: Downloading player https://www.youtube.com/yts/jsbin/player-vflUpPEZ9/en_US/base.js
ERROR: Signature extraction failed: Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\youtube.py", line 1199, in _decrypt_signature
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\youtube.py", line 1110, in _extract_signature_function
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\youtube.py", line 1171, in _parse_sig_js
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\common.py", line 880, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by RegexNotFoundError('Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\youtube.py", line 1199, in _decrypt_signature
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\youtube.py", line 1110, in _extract_signature_function
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\youtube.py", line 1171, in _parse_sig_js
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\common.py", line 880, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\youtube.py", line 1199, in _decrypt_signature
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\youtube.py", line 1110, in _extract_signature_function
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\youtube.py", line 1171, in _parse_sig_js
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptg2apcao\build\youtube_dl\extractor\common.py", line 880, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

updating fixed the problem.
Thanks for fixing this bug!


'Edit' a form - MySQL database with PHP (CRUD)

Description
I'm trying to 'edit' a job name in the MySQL database by clicking 'edit'.  I'd then like for the job name to change back to an input field, like it is when you 'create' a job.
I have the 'delete' function working and used some code from that, but at the moment the web app is just refreshing.
I'm not sure how to write the html/php for the front-end.
If I remove
mysqli_close($con);    header("Location: /www.studioplanner.com");
then the URL will show that it's targeting a job, for example '../edit.php?id=49' , so that's a start?
Here is the code I've used for the front end -
                                  `!-- Title -->
                                <div class="title full-width client-<?php echo $client; ?>">

                                	<?php echo $type; ?>
                                    <?php echo $jobtitle; ?>

                                    <!-- Delete -->
                                    <form action="delete.php?id=<?php echo $row['id']; ?>" method="post" name="planner">
                                        <input class="button transition-250" id="submit" type="submit" name="vote" value="x">
                                    </form>

                                    <!-- Edit -->
                                    <form action="edit.php?id=<?php echo $row['id']; ?>" method="post" name="planner">
                                        <input class="button transition-250 edit" id="submit" type="submit" name="vote"
                                              value="edit">
                                    </form>

                                </div>

                        <!-- Form -->
                        <form action="create.php?people=<?php echo $people_title; ?>&day=<?php echo $day_title; ?>"
                          method="post" name="planner">
                            <input class="transition-250" style="border-color: #d1d1d1; font-size: 14px;" type="text" id=""
                               name="job" placeholder="" required>
                            <input class="update-button transition-250" id="submit" type="submit" name="vote" value="ADD"
                              style="">
                        </form>  `

Stack
PHP, MySQL
Working Environment
Mac, VS Code
Chrome
Screenshots

then the URL will show that it's targeting a job, for example '../edit.php?id=49' , so that's a start?

It is difficult to understand without seeing more of the project. Do you have a GitHub link to the project?
I can take a guess... can you change your header("location: view.php?id={$id}") to redirect to the view page

@eddiejaoude Thanks Eddie, that's a good idea.  This will take me to a 404 once I click edit, whereas I'm hoping to stay on the page, however I may need to create a replica page to 'edit' each job...


Syncing versions

Would be nice if we could sync the version from package.json to the other JSONs. In my case, I want to keep my composer, bower and package JSONs in sync, version-wise.
is that be possible to be added?

That's a great idea!  In fact, it probably makes sense for that to be the default behavior. It'll be a major version bump, since it's not backward-compatible, but no big deal.  And there will be an argument for people who want to allow different versions in different files.  Something like this:
Bump the minor version number in package.json (by default), and then set the version number in other files (bower.json, component.json) to the same value as package.json.
bump --minor

Prompt for the new version number, based on the current version in package.json (by default).  Once the user chooses a version, set that version in all files (package.json, bower.json, component.json)
bump --prompt

If specific file names are listed, then first file is the "master" file, and its version number will be used. This also allows you to specify files other than the default ones (package.json, bower.json, component.json).
Bump the minor version number in bower.json (the first file), and then set the version number in the other files (package.json, some_other_file.json) to the same value as bower.json.
bump --minor bower.json package.json some_other_file.json

Prompt for the new version number, based on the current version in bower.json (the first file).  Once the user chooses a version, set that version in all files (bower.json, package.json, some_other_file.json)
bump --prompt bower.json package.json some_other_file.json

If you want to allow different version numbers in each file, then you just add the --different-versions flag.  That makes it work the same as it does today, but also still allows you to specify a custom list of files to be updated.  Each file will be updated separately, based on the existing version number in that file.

Sounds totally fine with me! Ill just add it as an NPM script and that should have it. :)
When can I expect the bump to happen?

I'm super busy right now, so it might be a few weeks before I get this done.  Feel free to send me a pull-request if you want it sooner and feel like implementing it yourself in the meantime.

Ahh okay. :) Well I'll consider it. I have quite some code going myself (the activity tab on my profile gives it away, haha)

I just released version 5.0.0, which resolves this issue.


Migrate Pixel wiki to here

In case you didn't know: the wiki is just a git repo that's cloneable and pushable and this will preserve history, formatting and the sidebar.

Nice thanks for that! One force-push later and the wiki has been migrated!


Fix URL parameters decoding

These changes will enable URL decoding on the query parameters passed in requests. Along with URL decoding this contains minor optimizations at few places in the code and pep8 lint fixes.
Issue #36

Looks good @vedarthk. It would be nice if we have a test because there is a [unit test already for api_request_builder] (https://github.com/Aplopio/rip/blob/master/tests/unit_tests/django_adapter/test_api_request_builder.py#L1)

@vedarthk this PR has been stale for long. Can we merge it


Support backup & restore of user calendar groups

Currently Corso discovers, backs up, & restores all the calendars listed in user's default calendar group. Extend this support to other calendar groups belonging to the user.
E.g.:
A user's calendar in a specific calendarGroup.
GET /me/calendarGroups/{id}/calendars/{id}
GET /users/{id | userPrincipalName}/calendarGroups/{id}/calendars/{id}

@pandeyabs @ryanfkeepers is this issue still relevant?

@gmatev
It's a consideration we need to evaluate for restore-in-place.  But not before then, I think.


int with newtype results in a space leak

So I've been working on some forward compatibility for a project. And while doing so, bumped formatting from 6.2.5 to 6.3.4. And started observing that our application started consuming memory until it ran out.
I've built the follow reproduction case: https://github.com/angerman/formatting-space-leak
The core being:
newtype NewWord = NewWord
    { getNewWord :: Word64
    } deriving (Eq, Ord, Num, Enum, Real, Integral)

instance Buildable NewWord where
  build = bprint ("#"%int)

which exhibits the following heap profile: https://github.com/angerman/formatting-space-leak/blob/master/space-repro.svg
Note: having int = base 10, seems to produce the expected result.

Looking at the folded in definition of shortest:
shortest :: (Real a) => a -> Builder
shortest = B.build . T.decodeUtf8 . L.toStrict . L.toLazyByteString . L.doubleDec . realToFrac
{-# NOINLINE[0] shortest #-}

and from text-format
shortest :: (Real a) => a -> Builder
shortest = B.build . C.toShortest . realToFrac
{-# RULES "shortest/Double"
    forall x. shortest (x::Double) = B.build (C.toShortest x) #-}
{-# NOINLINE[0] shortest #-}

where C is Data.Double.Conversion.Text.
This might be some unexpected fallout from the dropping of double-conversion?

I'm actually a bit surprised at the definition of shortest now that I look at it. It must have come up from a big refactor. I think we could drop most of those intermediate functions.

Let me load up your repro project and I'll fix this.

Oh, wait:
instance Buildable NewWord where
  build = bprint ("#"%int)

Your instance is an infinite loop! int :: Buildable a => F.Format r (a -> r)

Change it to:
instance Buildable NewWord where
  build = bprint ("#"%int) . getNewWord

The thing I don’t fully understand is: why did this work with 6.2.5?

I’ll update the repro in ~30min to illustrate, that the same code with a minor change in imports did terminate with 6.2.5, and just the version bump resulted in the illustrated behavio

That was using T.shortest: http://hackage.haskell.org/package/formatting-6.2.5/docs/src/Formatting-Formatters.html#int from text-format.
It was based on Integral, now it's using the Buildable instance.
Pretty tricky maintenance issue when classes change. :thinking:

Sorry to bother you more about this :(
right now the definitions of build and int are identical.
https://github.com/chrisdone/formatting/blob/23cd3950d0a1a02af11a8362b4013bcf836a5a25/src/Formatting/Formatters.hs#L106-L112
And also looking at #40, can we maybe bring back int as
int :: Integral a => Format r (a -> r)

similar to what bin and oct are?
https://github.com/chrisdone/formatting/blob/23cd3950d0a1a02af11a8362b4013bcf836a5a25/src/Formatting/Formatters.hs#L220-L230
PS: also note that asInt returns 1.23456789e8 for 123456789.

If you redefine int as base 10, does this fix the problem for you?

That's basically what I did here: https://github.com/angerman/formatting/commit/a922965aa58d523feb3174ed994f12b4c4788719
and have been using for the last few hours.

OK, can you PR that and I'll merge it?

Sure. Will do after dinner.


Items get wrapped in a

React emits this warning when I try using InfiniteScroll in a table:
Warning: validateDOMNesting(...):
 cannot appear as a child of
.
See Component > tbody > InfiniteScroll > div.

This is how I'm using it:

    ...

    <InfiniteScroll>
      {
        users.map((row, key) =>

            ...

        )
      }
    </InfiniteScroll>

InfiniteScroll seems to be wrapping the children in a div which unfortunately causes the warning.

Use it like this:

    ...

  <InfiniteScroll element="tbody">
    {
      users.map((row, key) =>

          ...

      )
    }
  </InfiniteScroll>

How did I miss that?! Thanks!

This seems to break when trying to use with a React Component
<InfiniteScroll element="Card">

doesn't trigger the refresh at the bottom


Reducing Required File Sizes

Hi.
With the increasing number of plugins, releasing on GitHub starts taking too much time for uploading required files for StudioRack.
Allowing audio formats other than wav greatly helps here. Opus seems good, mp3 is okay. Also, is it possible to provide links rather than file? Once published, audio demos rarely changes between releases.
Another point is to allow using same *.zip file for Linux, Mac, and Windows. Perhaps it's already working like this, but it's not clear from docs. I'd like to have a clarification.

Hello!
Audio formats
100% agree. I already investigated alternative audio formats other than .wav files. I landed on using:
.flac for lossless audio
.ogg for lossy audio
If you look at the registry feed, you can see I have already started converting existing .wav files to .flac
https://studiorack.github.io/studiorack-registry/
I wanted to keep the audio preview different for each release, allowing plugins to evolve their sound over time. But this should greately reduce the audio filesize/transfer time.
Zip files
It is possible to share the same .zip file for Linux, Mac, Windows. However it means:

Users will download unnecessary extra bytes
Plugins will be installed, even though they may not be compatible

I prefer separating them into separate .zip files as this also allows separate download buttons on the site:

CI pipelines
Potentially there could be an optimization in your pipeline steps. Is this the correct location?
https://github.com/ryukau/VSTPlugins/actions
It appears the majority of time is spent in the build stage, not the upload stage?

One potential thing you could try is to remove:
git clone --recursive https://github.com/steinbergmedia/vst3sdk.git
As this is is running every time, and not cached. You can add the code as a git submodule instead. On the repo locally do
git submodule add https://github.com/steinbergmedia/vst3sdk.git
This will add as a git submodule and version to the exact commit you are testing against.
Then in your GitHub CI code add the following:
     - name: Checkout code
       uses: actions/checkout@v2
       with:
         submodules: recursive

This will ensure the dependent code is checked out, but also will be cached if the VST3 commit doesn't change.
Check out my automated plugin build here:
https://github.com/studiorack/studiorack-workflows/blob/main/.github/workflows/steinberg.yml
I have a template example using it here:
https://github.com/studiorack/studiorack-template-steinberg

Ogg is a container format. Do you mean ogg vorbis, or is it allowed to use any codec that works with ogg container? For example, I can rename .opus to .ogg and they works fine on my environment.

On CI, I download artifacts, locally run packaging scripts, then only upload added or changed plugins through GitHub release page on browser. I started wondering what would happen if the internet connection is cut off by a moment.
I'm pretty sure the above releasing process can be automated with GitHub Actions. I was being lazy on CI, but this is good time to improve it. Thank you for the information!

Ogg
I am using Ogg Vorbis as it has 80% browser compatibility vs Ogg Theora which only as 35% so far.
https://caniuse.com/?search=ogg
It is also the default settings for ffmpeg (converting files quickly between formats):
$ ffmpeg -i adlplug.flac -b:a 128k adlplug.ogg
Input #0, flac, from 'adlplug.flac':
  Metadata:
    encoder         : Lavf58.76.100
  Duration: 00:00:02.00, start: 0.000000, bitrate: 242 kb/s
  Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
Stream mapping:
  Stream #0:0 -> #0:0 (flac (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
Output #0, ogg, to 'adlplug.ogg':
  Metadata:
    encoder         : Lavf58.76.100
  Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp (16 bit), 128 kb/s
    Metadata:
      encoder         : Lavc58.134.100 libvorbis
size=      27kB time=00:00:01.98 bitrate= 113.1kbits/s speed=54.4x
video:0kB audio:23kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 19.199627%

Opus could potentially be another option, but I haven't looked into it yet:
https://caniuse.com/?search=opus
Definitely check out my CI templates. You could have the whole process automated.
I have it setup so the CI process only runs tests for git commit, but for git tag it will run the entire pipeline and build the artifacts.

Thanks for the answers! It helps a lot.


Updated names-generator.go

Added some adjectives
Added some names

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:Morgy93/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~3
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Oh my gosh, I am not able to sign the last commit, because it's always an automatic merge I MUST do even if I'm "Already up-to-date!".

@Morgy93 could you come on IRC and ping me? I'll help you get this done well :)

i think megan fox and jk rowling are cool buttttt idk if in the theme of the generator

Not so sure about Satya either.... no offense to the guy!

I was wondering why this list is so tiny .. now I understand.
If I was maintaining this, I would've taken some "most important men/women in history" list and added all of them. Just for the fun.
@jfrazelle How can some suspicious_fox or berserk_fox not be in the theme of the generator? =) And don't forget about the adoring_fox .. which is ambiguous .. somehow. =D


[Bug] Popout Player Forever Loading

Describe the Bug

Screensharing or video chat does works fine when NOT popped out. However once popped out, it loads forever and doesn't show video.
To Reproduce

Get in call, get another person to video chat, popout player.
Expected Behavior

Seeing video of myself and the other people in call.
Screenshots

Discord Version

Stable
Additional Context

I'm also getting this issue.
I believe this bug appeared when I had to get the new installer and re-install to my stable Discord.
Discord Version:
Stable 65245 (7d159d7)
BBD 0.3.5
Host 0.0.307
Injector 0.6.2
Windows 10 64-Bit (10.0.19041)

The problem is that even though the window doesn't have its own preload script, it leaks through from the main window somehow while the enableRemoteModule setting doesn't.
You can restore the original preload setting like this process.electronBinding("command_line").appendSwitch("preload", currentWindow.__originalPreload);
Look at the bottom of the attached file to see how it can be implemented.
preload.zip

Hey thanks for finding this. Looks like Discord creates the popout window using the current webContents instead of an options object, but I'm not entirely certain why the preload itself is run again in this case. I am still looking into that part of things. Is there any reason you check if process is undefined?

@Xelus22 Can you try reinstalling BD and then see if the issue persists?

I am the user who wrote the post https://github.com/rauenzi/BetterDiscordApp/issues/423. Even if I reinstall both discord and bd several times, the same symptom appears.

Can you ensure that after installing BD your injector is up to date? Install BD on Discord Stable then find this file: %localappdata%\Discord\app-0.0.307\resources\app\betterdiscord\preload.js and see if you can find the line process.electronBinding("command_line").appendSwitch("preload", currentWindow.__originalPreload); toward the bottom of the file. If it isn't there, your injector isn't the latest version.

@Xelus22 Can you try reinstalling BD and then see if the issue persists?
@rauenzi
I have just tested and it works great 💯 now.

Thanks a lot 👍

Ah, there is no specific reason to check process, it's just a habit of mine because of all the internal electron changes that happened in the past.


Add kubevirt.io as the vendor for each resource

What this PR does / why we need it:
Each resource is now labelled with a  instancetype.kubevirt.io/vendor of kubevirt.io to denote their origin.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/lgtm
/approve


Implemented unlimited texture quantity support

Also updated the README.md to reflect the changes.

Awesome! Thanks

Released 0.3.2


Package for Debian bookworm

There is no package for Debian bookworm and when I try to install the bullseye package I end up with a dependency error :
The following packages have unmet dependencies:
 websocket-tcp-relay : Depends: libssl1.1 but it is not installable

Regards,

Hi @dentarg,
Just tested it and it's working like a charm.
Many thanks!


Bundles run for ConfiguredCommand and Command

I would like to be able to specify that some of my bundles be run before a ConfiguredCommand or Command is run, when I don't need the entire environment built up.
I would be happy to provide a pull request, if this would fit in with the project.
The way I would like to implement it:
Add additional Bundle interfaces so that we have 4 versions:

Bundle has a run that takes no arguments
ConfiguredBundle's run takes a configuration
EnvironmentBundle's run takes a configuration and an environment
ServerBundle's run is a duplicate of EnvironmentBundle

A Command will call run on any Bundles.
A ConfiguredCommand will run all ConfiguredBundles and all Bundles.
etc.
Would this be acceptable?
There is a problem with backwards compatibility, however.  The currently existing ConfiguredBundle would be an EnvironmentBundle in the above naming scheme.

I believe this is addressed by https://github.com/dropwizard/dropwizard/pull/1360

@oillio If a Bundle doesn't require a valid Environment, why use a Bundle at all and not just load your stuff in the Application#initialize() method directly?

The primary use case is when I need configuration data, but not environment data.  Config data is not available in Application#initialize.
If I was implementing the ConfiguredBundle/EnvironmentBundle setup described above, I would want to implement the basic Bundle as well to round the implementation out and match the Command implementation.  It would be useful to have a consistent interface across any of my dropwizard libraries.  It would be better to just always provide a bundle, instead of sometimes provide a bundle, sometimes provide some other object that must be run in initialize.

hi there Im new to open source and would love to contribute to DropWizard. Can anyone help me get started? Or is DropWizard for people who are more experienced in open source?

Hey @amirhmd, welcome to open source and Dropwizard :tada:.

We have the dropwizard-user forum where you can help answer questions and may be the easiest route to helping out.
If you're interested about getting the word out: write or share blog posts or projects using Dropwizard.
If you fancy yourself a wordsmith, documentation can always be improved!
If there's an open issue that's needs work (either via code or in design), input is always welcomed

When in doubt ask on the forums, open an issue, or raise a pull request
If you want to work on this particular issue (and hence why you commented on this issue), it may be best to draw up a tentative pull request showing how this might work (and what/if backwards compatibility is at risk).


Try fix Concurrent Bug

Coverage decreased (-0.002%) to 44.523% when pulling 75817dc39b3e750ae58e1740a84fb402999f32fd on FixConcurrentBug into 27eeae4e016b839a5f541ae90efc24903143d23b on master.


add subcommand to set up the crowbar db during the upgrade

depends on: https://github.com/crowbar/crowbar-init/pull/33

 (3) Add crowbarctl support for crowbar init (upgrade subcommand)

For the hound issues see: https://github.com/crowbar/crowbar-client/pull/106

Do we want to add the validation here?

Do we want to add the validation here?

I could create a new mixin for the database parameter validation

+1

looks good +1


Resource Usage not dropping after scaling down replicas in a deployment

This issue occurred while following https://github.com/cloudera/yunikorn-core/blob/master/docs/user-guide.md
I am using docker-for-desktop Kubernetes on my Mac
I am scheduling an nginx service via yunikorn as mentioned in the guide. I am editing the nginx deployment to scale up the number of replicas to a high number which cannot be spawned due to unavailability of resources (some pods are pending). Now, when I edit the deployment again to scale down the number of replicas, the resource usage and number of running applications do not update on the yunikorn UI though k8s dashboard shows that the pods have been deleted.  Also on the UI, under the cluster info tab, the application and container counts do not seem to be getting updated in this scenario.

Steps to reproduce:
I started from a fresh setup of yunikorn on docker-for desktop

Did a nginx deployment as in the examples

Edited the deployment to scale up the replicas to 5. Only 3 were scheduled, 2 were pending

Again edited the deployment to scale down the number of replicas to 1. But yunikorn UI is not showing the change. Moreover, editing the deployment to make the number of replicas 2 from here also does not work. yunikorn still seems to think that resource is being used by 3 pods while it is not the case.

had closed the issue by mistake. please consider this open

Top of git log on my local

Thanks @abhranilc, I should have some tomorrow to replay what you did here and see what happens. I have tried to update replicas in a deployment, but I just hope all the newly created pods are having desired info as we expected, such as applicationId, queue name.

hi @abhranilc
I just tried the scenario of scaling a deployment from 1 to 3 to 5. On my laptop, scale-up to 3 is fine and all pods are scheduled; scale-up to 5 left 2 pods pending, but that is expected because I can see warnings from K8s UI that saying the resource is not enough to launch all 5 pods. That's why I get 3 running, 2 pending. So this seems to work fine.
Then I tried the scale-down, it also works. After my deployment scales from 3 to 1, I was able to see containers get released from log, and then I go to the UI. The application page shows only 1 allocation left, and queues page also have updated the capacity being used.
Am I missing anything here?
Thanks

Got the issue reproduced after some offline discussion with @abhranilc . Looks like this issue can be triggered after a deployment scales beyond node's capacity, when we scale down after that, seems like containers somehow were not properly released. Looking into this now.


ToC sometimes doesn't use the full available height

do you have a screenshot of it or conditions when it happens ? I can take a look at it at some point.

open docs, click the "expand all" button, scroll down


pa_address-/service-edit introduce filter to point out objects with same name in full Panorama DG hierarchy but different type: object / objectgroup / [Region] for address-edit

Is your feature request related to a problem?

Describe the solution you'd like

Describe alternatives you've considered

Additional context

address object precedence:
if same name is available at upper level, these object type are taking precedence, in this order

Region
EDL
AddressGroup
Address

example:
object name OBJ, available:

at parentDG (addressgroup) and childDG address, and used in childDG secPolicy => addressgroup from parent is used;

object name of EDL/addressgroup/address is equal an Region name => Region always take precedence

object name of EDL / addressgroup are equal => EDL take precedence

addressgroup and address at same DGlevel with same name not possible

EDL and addressgroup with name at same DGlevel is possible

same for service:

ServiceGroup
Service


Make plugin work in unsaved buffers

I added a not_saved guard to make the plugin work in unsaved buffers, as requested in issue #42.

Thank you so much @smaxtastic for providing this features for the wordcount plugin! Much appreciated! Please just file some issues or PRs if you have more ideas for the plugin! :heart:


Lighthouse complains about old flexbox spec

When I run Lighthouse on my website it complains about old flex box spec being used. It doesn't like for example display: webkit-box.
Is this something that could be configurable if you don't need to support really old browsers?

V3 it supports turning off prefixing so you could use that when it's released.

Would that turn things off completely or does it allow for partial prefixing based on a database like caniuse similar to postcss autoprefixer?

It's an on/off option. What are all the properties that Lighthouse complained about?

You can turn of prefixing in V3. I'm still open to case by case conditional prefixing but am unsure how such an API would work. Closing this, but we can continue to discuss here if you have some ideas.

@thysultan Thanks. I'm afraid I can't be of much help for that either.
It was complaining only about the use of old flexbox properties. But Lighthouse seems to ignore it now 😕. Maybe they've updated the tests. The webkit-box properties are clearly still in my css.


issues with priovate key password in keystore

Looks like this may have inadvertently caused another issue. One of my developers is seeing an issue with the private key password.
Looking at the source code of cert-utils-operator which we use to generate keystore from tls secrets – I noticed that it is changed recently to fix frequent restarts of the pods every time the operator is restarted.. Below is the issue and the commit that fixes it.
https://github.com/redhat-cop/cert-utils-operator/issues/110
https://github.com/redhat-cop/cert-utils-operator/commit/c55ca62a3d9b67529476744c07eaa9097a648486#diff-266e243251ed42b2e1bcf54f2a041cdd69176644a9f4b4e2ec140edd32ea56e3L179

But the problem here is when the private key is being created and added to the keystore – it is added without any password – this line: https://github.com/redhat-cop/cert-utils-operator/blob/c55ca62a3d9b67529476744c07eaa9097a648486/controllers/secrettokeystore/secret_to_keystore_controller.go#L265
It needs to be changed to []byte(getPassword(secret)) instead of []byte{} – which means it is setting up empty password for the private key. And to test my hypothesis – I tried accessing the private key inside the keystore using an empty password and I was able to access it just fine.
So to sum it up – Keystore password is set to “jbosscert” and key password is set to empty string when the JKS files are generated.
jdziedzic I am not sure I'm following. We were not setting the key password before the change.
Also is the expectation that we put the password for the Key? Why is the key-level password needed?
If so is it going to be the same password as the keystore? I don't udnertsand how java apps work in this space, but we have only one field to specify a password, not two.
Also just to understand by your observation the way the code works now is that it generates an empty password for the key and jbosscert password for the keystore regardless of the password you set?

@raffaelespazzoli the previous behavior of the operator was that the private key generated from the secret and the keystore file were both using the same password which was set on the annotation cert-utils-operator.redhat-cop.io/java-keystore-password or changeme.
Current behavior is that the keystore uses the right password we set but private key is using an empty string as the password.

Also is the expectation that we put the password for the Key? Why is the key-level password needed?

Yes. setting password for the private key entries gives an extra layer of security to decrypt the private key after unlocking the keystore with the store password. In general key password inside the keystore is set to be same as that of the keystore password too, which is the default behavior that keytool utility follows as well.

but we have only one field to specify a password, not two.

I think that is ok. If we just make sure the same password is set in both cases, it will do, just like before.

We were not setting the key password before the change.

It also appears like the upstream keystore-go library changed how keystores are generated which may have changed the behavior as well. So at that time, the module used the keystore password as the key password but it has since been changed to support setting password for the private key which i think, have caused the issue we are seeing now.
hope this helps.

Any chance we could get a release cut for this now that its merged, so we can upgrade the operator in our OpenShift clusters?


Fix overlap on menu when >1 notifications

This actually appears to happen in the default hud too:

I tried to make it a little less sucky:


Contact us image overflow in small screen devices

Description
There is overflow of contact us image in devices below 340px width. The image cuts off and does not diplay completely.
I want to fix this issue. Kinly assign.
Screenshots

Any additional information?
No response
What browser are you seeing the problem on?
Chrome
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

@Devil1205 go for it

@Devil1205 go for it

I have fixed the issues and created a PR. Kindly check and merge @rohansx .

done


Polar Graphing Example Added

The example is pretty self explanatory,
uses some trigonometry and linear algebra
to make pretty drawings.
BTW @flagxor I know you were(and probably
still are) looking for a ROTATE function,
I've got the JS logic, but I don't know how
to implement it in the context of the parser
so @ me and we can get that pull request together

Whoops the copyright header test definitely failed because of my code formatter lemme fix that


Milestone 3 Feedback

Marking:
-1 Interactive Dash app with R and ggplotly: Visualizations (Mapping and ploty controls need to be fixed)
-1 Interactive Dash app with R and ggplotly: Accuracy
-.5 Interactive Dash app with R and ggplotly: Quality
Suggestions:
Great job at implementing the app on R. The deployed app on Heroku looks very clean. I like the color schemed used which is very simple. For suggestions, I would remind this group that it is wise to implement more than one graph type for milestone 4. In addition, there seems to be some mapping issues in full screen, and the median yearly salary is displayed at the bottom, maybe this information should be placed elsewhere such as the middle. Another suggestion includes having the programming experience adjustable bar be able to have a lower limit as well as an upper limit. Lastly the ploty controls are on top of the titles of your figures and should be fixed with spacing.

Hi Andy, thank you for your informative feedback!
All these issues are going to be addressed in Milestone´s 4 reflection.


Can I use arwes in non-react project?

Great work! I cannot wait to utilize this project UI kit right away at the first sight of arwes. But as I went through the demo code, seems it's best used with reactjs? Is it possible to apply it in non-reactjs project? like vuejs or plain html files?

Hi @ReInventTheWheel ! Thanks for trying out Arwes!
The project is still in alpha version, it means the support and extensibility is limited. In theory, you can execute Arwes in other tools system such as Vue. And since React can be used with plain JavaScript without any problem, you could do that with Arwes. But there isn't documentation on how to do it for now.
If you have any other question, feel free to ask.


Allow simple editing of home page from page management interface

Editing the home page: To edit the text on the home page, you have to (1) know the values of the variables to edit, which are in all.properties in the theme; (2) provide a custom template. Alternatively, you could just edit the all.properties variable values if you want to keep the same variables and page structure as in the default template. In either case, this is not user-friendly enough to be a UI-accessible feature for non-theme developers.

Move to VIVO project JIRA.


District wise Active, Recovered, and  Death report

Is your feature request related to a problem? Please describe.
As of now only state-wise Active, recovered and death report is displayed. I have seen the data source and it has District wise recovered and death data. The number is slightly increasing so for batter understanding can we include Active, Recovered and Death count for District as well.

In addition to that daily increase-count would be helpful more to granular analysis.

Duplicate of #675

@shuklaayush:- UI Behavior is different here.
Asking to have data in the table view. #675 issue locked to have data in a summary view.
Data requirement in this API:- https://api.covid19india.org/state_district_wise.json
I would like to take this.

Hey @DhiralKaniya, I understand that you want to have it displayed on the table. But the thing is that, for us, it doesn't really matter. If we have the data, we can display it anywhere. The problem right now is that we don't the district level data for active, recovered and deaths. You can verify this in the API that you've linked.


Sidebars Don't Open on Page Load

When navigating to /account/profile, as an example, on page load the sidebar does not open.  The console shows the following Exception:
TypeError: Cannot read property 'getAttribute' of null
    at Object.e [as accessFunction] (ba5e814….js?meteor_js_resource=true:145)
    at ba5e814….js?meteor_js_resource=true:145
    at o.Computation._compute (ba5e814….js?meteor_js_resource=true:9)
    at new o.Computation (ba5e814….js?meteor_js_resource=true:9)
    at Object.o.autorun (ba5e814….js?meteor_js_resource=true:9)
    at Object.q.history.navigate (ba5e814….js?meteor_js_resource=true:145)
    at .<anonymous> (ba5e814….js?meteor_js_resource=true:145)
    at ba5e814….js?meteor_js_resource=true:90
    at Function.e._withTemplateInstanceFunc (ba5e814….js?meteor_js_resource=true:90)
    at n (ba5e814….js?meteor_js_resource=true:90)

Seems like a race condition.

The problem is in canvas.js in the openSidebar method.  document.querySelector(data.element) returns null even though data.element is defined and valid.  The page must not be fully loaded by the time this method executes.
The Thriver.history.navigate method is responsible for calling this method, and uses Tracker.autorun to wait for the History collection to be populated, but that still happens before the page is fully loaded.

Seems to work fine now.


e2e: Fix artifacts collecting

What this PR does / why we need it:
Due to https://github.com/actions/upload-artifact/issues/602
Hidden folders are skipped.
We are using .output, so it was skipped and artifacts were not collected in case of an error.
Rename it to fix the problem.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

@maiqueb @qinqon
can you review please ?
it worked once i tried to inject an err


[Deploy] Zalo

Service

Zalo
Link to your repository

https://github.com/laituanmanh32/franz-recipe-zalo

I made one for my personal use, didn't realize someone already made something like this, however gonna link my repo incase @adlk want the official svg in it https://github.com/survfate/recipe-zalo


(5.1) Typo: 400 instead of 4000

In code you have     property int duration: 400
and in text you say Each animation has a duration of 4000 milliseconds (msecs)
So in code it should be 4000, instead of 400.

it seems it's dup of #142 .


changing complie to implementation

Since compile is depreciated. Android studio is  generating warnings to do so.

Fixed.


how to understand the PMA and the PBMT?

What is the relationship between the PMA and the PBMT?

Is the pma(Cacheable / shareable) necessary? We think the answer is Yes, does it mean any hart must build its own PMA attribute?
Are there any principles for building pma in a hart that we should follow?
The PMBT seems an enforced PMA for the ordinary PMA. That is to say the PBMT can override the PMA attributes. Even the page is configured with Cacheable(like WBRWA) or Non-Cacheable originally in PMA, the PBMT can set it to be device by the PMBT field in the PTE under the PBMTE=1.
4）Can we just use the PBMT field  as PMA field in the pte, without implementation an common PMA? That is PBMT=0 means Cacheable, PBMT=1 means NC( non-Cacheable), PBMT=2 means IO(nGnRnE).PBMT=3 means page fault.  Or the PMA is a MUST, and the PBMT is a suppplement. What is the ordinary/common means  for the PMA and the PBMT?

In Sv39, Sv48, and Sv57, bits 62-61 of a leaf page table entry indicate the use of page-based memory types that override the PMA(s) for the associated memory pages.

How to understand the "Both I/O and main memory" for the purposes of FENCE, .aq, and .rl.?
Does it mean MMU tells the lsu with Both "IO and Non-Cacheable"? So, how to deal with the data, how to keep order if a pte with I/O attribute is force into a pte with non-cacheable by PBMT?

If the underlying physical memory attribute for a page is I/O, and the page has PBMT=NC, then
accesses to that page obey RVWMO. However, accesses to such pages are considered to be both I/O and
main memory accesses for the purposes of FENCE, .aq, and .rl.
If the underlying physical memory attribute for a page is main memory, and the page has PBMT=IO,
then accesses to that page obey strong channel 0 I/O ordering rules. However, accesses to such pages
are considered to be both I/O and main memory accesses for the purposes of FENCE, .aq, and .rl.

How to deal with the loss of coherence and memor order? Is there any guide？

Accessing the same location using different attributes that are both non-cacheable (e.g., NC and IO)
does not cause loss of coherence, but might result in weaker memory ordering than the stricter
attribute ordinarily guarantees. Executing a fence iorw, iorw instruction between such accesses
suffices to prevent loss of memory ordering.
Accessing the same location using different cacheability attributes may cause loss of coherence.
Executing the following sequence between such accesses prevents both loss of coherence and loss of
memory ordering: fence iorw, iorw, followed by cbo.flush to an address of that location, followed
by a fence iorw, iorw.

How to define the pma attr when V=1 and pbmte=0
when the V=1, hgatp.mode !=bare, vsatp.mode !=bare, pbmte=0
how to determine the final pma?

In some architecture, VS stage memAttr(memory attributes) and G-stage memAttr determine the final memAttr together, choosing the stricter constraints, such as when the memAttr_VS=non-Cacheable and memAttr_G=cacheable, then the final ### memAttr_final = stricter{memAttr_VS, memAttr_G} = non-Cacheable

while the RV PBMT spec says that
when 2a) the V=1, hgatp.mode !=bare, vsatp.mode !=bare, menvcfg.pbmte=1, henvcfg.pbmte=1
and    2b) pbmt_pte_VS=0, pbmt_pte_G=0,
and    2c) the memAttr_VS=non-Cacheable and memAttr_G=cacheable,
then the final ### memAttr_final = memAttr_G = Cacheable

When two-stage address translation is enabled within the H extension, the page-based memory types are also applied in two stages. First, if hgatp.MODE is not equal to zero, non-zero G-stage PTE PBMT bits override the attributes in the PMA to produce an intermediate set of attributes. Otherwise, the PMAs serve as the intermediate attributes. Second, if vsatp.MODE is not equal to zero, non-zero VS-stage PTE PBMT bits override the intermediate attributes to produce the final set of attributes used by
accesses to the page in question. Otherwise, the intermediate attributes are used as the final set of attributes.

When PBMTE=0 (i.e Svpbmt is disabled and must appear - per the spec - as if it is not implemented), the memory attributes for memory accesses are determined simply (and solely) by the PMAs.  And in two-stage address translation, if Svpbmt is not enabled/implemented for a given stage, then the behavior is the same as if you read the spec paragraph about two-stage translation with MODE=0 (i.e. Svpbmt not enabled/implemented has the same effect as Bare mode translation - in both cases actual address translation using page tables is not in effect and hence there is no PTE PBMT field to take into account).

When PBMTE=0 (i.e Svpbmt is disabled and must appear - per the spec - as if it is not implemented), the memory attributes for memory accesses are determined simply (and solely) by the PMAs. And in two-stage address translation, if Svpbmt is not enabled/implemented for a given stage, then the behavior is the same as if you read the spec paragraph about two-stage translation with MODE=0 (i.e. Svpbmt not enabled/implemented has the same effect as Bare mode translation - in both cases actual address translation using page tables is not in effect and hence there is no PTE PBMT field to take into account).

Hi gfavor,
Thank you very much for your kind reply.

When PBMTE=0 (i.e Svpbmt is disabled and must appear - per the spec - as if it is not implemented), the memory attributes for memory accesses are determined simply (and solely) by the PMAs.
----> It is clear that, in one-stage translation, memAttr_final = leafpte_PMA

And in two-stage address translation, if Svpbmt is not enabled/implemented for a given stage, then the behavior is the same as if you read the spec paragraph about two-stage translation with MODE=0 (i.e. Svpbmt not enabled/implemented has the same effect as Bare mode translation - in both cases actual address translation using page tables is not in effect and hence there is no PTE PBMT field to take into account).
---->Q1: I am not clear on this spot. what does the bare mode mean, Q1a or Q1b?
Q1a) vsatp.mode=Bare in VS-stage translation, or just Q1b) the pbmt_pte_VS=0( mean Bare?) ? If the answer is Q1a, why?
---->Q2: when V=1(virutualizeion is running), if menvcfg.pbmte=0, menvcfg.pbmte=1, but per the spec, henvcfg.pbmte is read-only zero. Does it mean Q2a or Q2B?
Q2a）if menvcfg.pbmte=0, then henvcfg.pbmte=0, and all the pbmt_pte_S/VS/G are no longer used,？
Q2b)  or the  menvcfg.pbmte=0 just make pbmt_pte_G no longer used, and the henvcfg.pbmte=1 make pbmt_pte_VS still be used as usual?

On Sun, Oct 27, 2024 at 8:55 AM rock-ifly @.***> wrote:

And in two-stage address translation, if Svpbmt is not enabled/implemented
for a given stage, then the behavior is the same as if you read the spec
paragraph about two-stage translation with MODE=0 (i.e. Svpbmt not
enabled/implemented has the same effect as Bare mode translation - in
both cases actual address translation using page tables is not in effect
and hence there is no PTE PBMT field to take into account).
---->Q1: I am not clear on this spot. what does the bare mode mean, Q1a or
Q1b?
Q1a) vsatp.mode=Bare in VS-stage translation, or just Q1b) the
pbmt_pte_VS=0( mean Bare?) ? If the answer is Q1a, why?
As defined in the Priv spec, *atp.MODE = 0 = "Bare".  This applies for all
three *atp CSRs.

---->Q2: when V=1(virutualizeion is running), if menvcfg.pbmte=0,
menvcfg.pbmte=1, but per the spec, henvcfg.pbmte is read-only zero. Does it
mean Q2a or Q2B?
Q2a）if menvcfg.pbmte=0, then henvcfg.pbmte=0, and all the pbmt_pte_S/VS/G
are no longer used,？
Q2b) or the menvcfg.pbmte=0 just make pbmt_pte_G no longer used, and the
henvcfg.pbmte=1 make pbmt_pte_VS still be used as usual?
See the definitions of menvcfg.PBMTE and henvcfg.PBMTE in the Priv spec -
they fully define the effects that each bit has (including answering your
question).  Note that Q2b directly violates the spec for menvcfg.PBMTE.

Message ID: @.***>

Hi gfavor,
Thank you very much!
Do you mean
Q1) the PMA are static, or pre-determined by some implementation-dependent micro-architecture registers, and the value of the register can not be changed?
Q2) the PBMT field is used to override the pre-determined PMA in Q1 for every leaf PTE? That is to say, PBMT is the mean to set the PMA page by page, kind of like the mair register in Arm to determine the PMA page by page?

when V=1, are there 4 types of translation as following?

Re-read the spec, it seems that PMA is a more general memAttr configuration, NOT for every page. To specify the memAttr for every single page, PBMT field is introduced. That's to say, PMA is general and configured for a large part of the memory, NOT page by page, while the PBMT is used for every single page since it is in the payload of every leafpte.

From a perspective, PBMT is kind of MAIR registers for the ARM architecture. Both the PBMT and AttrIndex(index for MAIR codes) are set page by page.
For a more general usage, PBMT fields are commonly used in the translation to get more varieties of the memAttr.

Also: PMA operates even if translation is disabled, There is effectively a PMA for each attribute, each of which can have multiple regions of arbitrary size The PBMT bit in page table entry overrides the corresponding PMA attributes (or leaves them unchanged)

Hi Allen,
Thank you for your helpful reply. So we just take PMA as a basic configration for the memory space, and use PBMT to describe the PMA attrs per page, and PBMT give a more choice configure the PMA_effective for the page.
I am puzzled by RV spec about two-stage translation, and doubt why PBMTE=0 means corresponding Xatp.MODE=Bare.
Q1) Does it means we should configure menvcfg.pbmte=1 at least when we use two-stage translation?
Q2) Is it a reasonable case when V=1 and menvcfg.pbmte=0(this make henvcfg.pbmte=0, and no pbmt work at pte_VS)? Can two-stage translation works just use the PMA-pre-determined?
Q3) Should we consider all the four cases for implementation? Are they reasonable for the real world?

Q3a)VS-stage off, G-stage off, seems wierd, but we just get HPA=GPA=GVA, and just use the original PMA
Q3b)VS-stage off, G-stage on, seems reasonable for GuestOS initialization, GPA=GVA, original PMA, and then GPA is translated into HPA by G-stage translation.
Q3c)VS-stage on, G-stage off, seems unreasonable, why GuestOS is working while G-stage is off? Can we just get GPA from GVA by VS-stage(with original PMA), and then make HPA=GPA , with original PMA in G-stage(off) translation?
Q3d)VS-stage on, G-stage on, the common virtualization. works as last paragraph in Svpbmt spec

…
On Sun, Oct 27, 2024 at 8:32 PM rock-ifly @.> wrote: Re-read the spec, it seems that PMA is a more general memAttr configuration, NOT for every page. To specify the memAttr for every single page, PBMT field is introduced. That's to say, PMA is general and configured for a large part of the memory, NOT page by page, while the PBMT is used for every single page since it is in the payload of every leafpte. 1. From a perspective, PBMT is kind of MAIR registers for the ARM architecture. Both the PBMT and AttrIndex(index for MAIR codes) are set page by page. 2. For a more general usage, PBMT fields are commonly used in the translation to get more varieties of the memAttr. — Reply to this email directly, view it on GitHub <#1687 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHPXVJWIPDCJNZDJPVS3UZDZ5WV3RAVCNFSM6AAAAABQCUB44OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBQGQ3TQOBWHA . You are receiving this because you are subscribed to this thread.Message ID: @.>

I am puzzled by RV spec about two-stage translation, and doubt why PBMTE=0
means corresponding Xatp.MODE=Bare.

PBMTE=0 corresponds to *atp.MODE=Bare in that there is no leaf PTE PBMT
field to provide any selective override of the PMA attributes.  If that is
a confusing reference, then it may be better to simply think in terms of
PBMTE=0 meaning that there is no override of attributes by the associated
translation table.  In that sense the effect is the same as if PBMTE=1 and
PBMT=0 from the associated translation table leaf PTE.
Message ID: @.***>

Hi gfavor,
Thanks for your reply. Let's make it clear,

When two-stage address translation is enabled within the H extension, the page-based memory types are also applied in two stages.
It is clear that pbmt works during two stage translation.

First, if hgatp.MODE is not equal to zero, non-zero G-stage PTE PBMT bits override the attributes in the PMA to produce an intermediate set of attributes. Otherwise, the PMAs serve as the intermediate attributes.
Q1) what does "otherwise" mean? Is memAttr_intermediate = G-stage PTE PBMT, override the PMA under the conditionA((hgatp.MODE !=0) & (pbmt_pte_G !=0)), the "otherwise" is ~conditionA, that 's ~conditionA = ((hgatp.MODE=Bare) | (pbmt_pte_G = 0))? So the pmbte=0 means use the original PMA.

Second, if vsatp.MODE is not equal to zero, non-zero VS-stage PTE PBMT bits override the intermediate attributes to produce the final set of attributes used by accesses to the page in question. Otherwise, the intermediate attributes are used as the final set of attributes.
Q2) what does "otherwise" mean? Is memAttr_final = VS-stage PTE PBMT, override the memAttr_intermediate under the conditionA((vsatp.MODE !=0) & (pbmt_pte_VS !=0)), the "otherwise" is ~conditionA, that 's ~conditionA = ((vsatp.MODE=Bare) | (pbmt_pte_VS = 0))? So the henvcfg.pmbte=0 means use the memAttr_intermediate.

Q3) it seems that G-stage have more power to determine the final memAttr. Why can't the GuestOS PMA have more power than G-stage PMA? It seems the right way that GuestOS have more power to control the final memAttr, is it right?

First, if hgatp.MODE is not equal to zero, non-zero G-stage PTE PBMT bits
override the attributes in the PMA to produce an intermediate set of
attributes. Otherwise, the PMAs serve as the intermediate attributes.
Q1) what does "otherwise" mean?
This means that if the preceding condition is not true, then the following
statement (that the PMAs serve as the intermediate attributes) applies.

Q3) it seems that G-stage have more power to determine the final memAttr.

Why can't the GuestOS PMA have more power than G-stage PMA? It seems the
right way that GuestOS have more power to control the final memAttr, is it
right?

A VM should see the effective memory attributes based on the actual PMAs as
then modified by the hypervisor through G-stage page tables.  In other
words, the hypervisor determines the memory attributes that a guest sees
(and can then further modify via its VS-stage page tables).

That is pretty much correct.  Just note that PMAs provide a set of memory attributes - some of which are modified by a non-zero PBMT and some are not.  Svpbmt specifies the attributes that definitely are modified and then says:

Implementations may override additional PMAs not explicitly listed in Table 27. For example, to be
consistent with the characteristics of a typical I/O region, a misaligned memory access to a page with
PBMT=IO might raise an exception, even if the underlying region were main memory and the same access
would have succeeded for PBMT=PMA.

A VM should see the effective memory attributes based on the actual PMAs as then modified by the hypervisor through G-stage page tables. In other words, the hypervisor determines the memory attributes that a guest sees (and can then further modify via its VS-stage page tables).

I try to understand the logic, since i found  the override logic give more power for G-stage(Hypervisor), GuestOS

PMA is a static/overall configuration for the whole physical memory system,  usually fixed at the beginning of  the system boot, and use to configure which part is cacheable, which is NC/IO. For the specified application, PMA is pre-determined for the whole memory, not for every single pte.
Yes, PMAs as then modified by the hypervisor through G-stage page tables. This means that G-stage stronger memAttr （NC/IO）can override PMA-predetermined. But how to deal with the opposite cases? like G-stage NC override PMA-predetermined IO, losing the memory order here.
GuestOS can further modify via its VS-stage page tables. There are still problems when G-stage is stronger than VS-stage, like G-stage is IO and VS-stage is NC, This rule produce a NC. But as I saw in some processor (ARM cores), the stronger limit are chosen as the final memAttr. I doubt why not use the same logic since the stricter seems a more logical choice.
example for the puzzle, different logic produce different results.

In some architecture(Arm), VS stage memAttr(memory attributes) and G-stage memAttr determine the final memAttr together, choosing the stricter constraints,
-------such as when the memAttr_VS=non-Cacheable and memAttr_G=nGnRnE,
-------then the final ### memAttr_final = stricter{memAttr_VS, memAttr_G} = nGnRnE
according to the RV PBMT spec
---------when 2a) the V=1, hgatp.mode !=bare, vsatp.mode !=bare, menvcfg.pbmte=1, henvcfg.pbmte=1
---------and   2b) the memAttr_VS=non-Cacheable and memAttr_G=nGnRnE,
then the final ### memAttr_final = memAttr_VS = non-Cacheable

Yes, Svpbmt didn't pursue an ARM-like model.  But RISC-V and ARM are different in an important regard: 1) ARM doesn't have PMAs and only/always determines memory types from page tables - even in its equivalent of M-mode.  In this regard, RISC-V is more like x86 - which has its equivalent of region-based "PMAs" and does not use a strict model of only "strenghthening" a memory type.  The details in all this are not so obvious, but were considered at the time of developing this extension.  Simply comparing with what ARM did is misleading because of the different underlying architectural situation of having region-based PMAs.

Yes, Svpbmt didn't pursue an ARM-like model. But RISC-V and ARM are different in an important regard: 1) ARM doesn't have PMAs and only/always determines memory types from page tables - even in its equivalent of M-mode. In this regard, RISC-V is more like x86 - which has its equivalent of region-based "PMAs" and does not use a strict model of only "strenghthening" a memory type. The details in all this are not so obvious, but were considered at the time of developing this extension. Simply comparing with what ARM did is misleading because of the different underlying architectural situation of having region-based PMAs.

OK, I need more time to think about it.
Thank you very much for your kindly and helpful reply.

That is pretty much correct. Just note that PMAs provide a set of memory attributes - some of which are modified by a non-zero PBMT and some are not.

So can we get the following rules
for one-stage translation
1a) if satp.mode =Bare or pbmt_pte_S=0, then memAttr_final = PMA_original
1b) if satp.mode!=Bare and pbmt_pte_S !=0, then memAttr_final = pbmt_pte_S (!=0)
for two-stage translation
2.1 memAttr_interdiate computation
--2.1a) if hgatp.mode !=Bare and pbmt_pte_G !=0, then memAttr_intermediate = pbmt_pte_G(!=0)
--2.1b) if hgatp.mode=Bare or pbmt_pte_G=0, then memAttr_intermediate = PMA_original
2.2 memAttr_final computation
--2.2a) if vsatp.mode !=Bare and pbmt_pte_VS !=0，then memAttr_final = pbmt_pte_VS(!=0)
--2.2b) if vsatp.mode=Bare or pbmt_pte_VS=0, then memAttr_final = memAttr_intermediate

Hi gfavor,
I am puzzled with the specific condition when V=1, vsatp.mode=Sv39, pbmt_pte_VS=2b00, hgatp.mode=Bare,

for two-stage translation
2.1 memAttr_interdiate computation
--2.1a) if hgatp.mode !=Bare and pbmt_pte_G !=0, then memAttr_intermediate = pbmt_pte_G(!=0)
--2.1b) if hgatp.mode=Bare or pbmt_pte_G=0, then memAttr_intermediate = PMA_original
Since hgatp.mode=Bare, according to 2.1b,  then  memAttr_intermediate = PMA_original(system default PMA)
2.2 memAttr_final computation
--2.2a) if vsatp.mode !=Bare and pbmt_pte_VS !=0，then memAttr_final = pbmt_pte_VS(!=0)
--2.2b) if vsatp.mode=Bare or pbmt_pte_VS=0, then memAttr_final = memAttr_intermediate
Since vsatp.mode=Sv39 !=Bare, but pbmt_pte_VS=2b00, then according to 2.2b,   memAttr_final = memAttr_intermediate = PMA_original(system default PMA)

Is there something wrong? Since hgatp.mode=Bare, why not just use GuestOS default PMA (PMA_VS-stage)  as the memAttr_final?
Thank you.

PBMT=0 is described as "None", meaning that there are no "requested memory attributes" or, in other words,  there is no override of any of the memory attributes.  It is not saying that the attributes comes directly from the PMAs.

First,

PBMT=0 is described as "None", meaning that there are no "requested memory attributes" or, in other words, there is no override of any of the memory attributes.
So when Pbmt=0 means no override of any memory attributes. Can GuestOS have its own PMA_VS_stage? Can we use the PMA_VS_stage as the final memAttr?

Second, we find that linux for RISCV has assigned pte.memAttr=Cacheable when pbmt=2b00. Can we take the cacheable as the  final cacheablity when pbmt_pte_vs=2b00, under the condition vstatp.mode=Sv39, pbmt_pte_vs=2b00, hgatp.mode=Bare(flat translation)?

"PMAs" are defined in chapter/section "3.6. Physical Memory Attributes" of the Priv spec.
There are no other "PMAs" in he RISC-V architecture that belong to any specific privilege level or translation mode or stage of translation.  There are just the one and only preceding PMAs.  Single and two-stage translation can modify (aka override) selected physical memory attributes through use of the Svpbmt extension.
Regarding Q2, if the PMAs for an address specify the Cacheable attribute and there is no override of that by a leaf PTE, then - as defined by the Svpbmt extension - the final effective attribute is Cacheable.  (And this is orthogonal to the translation MODE(s) in effect for translating that address.)


WIP: refactor: reimplement initNextStep without evalTactic

Description:
Work in progress: this currently causes a slowdown, more investigation is needed.
Testing:
What tests have been run? Did make all succeed for your changes? Was
conformance testing successful on an Aarch64 machine?
License:
By submitting this pull request, I confirm that my contribution is
made under the terms of the Apache 2.0 license.

I'm going a bit mad with this instantiateMVars nonsense. Compare a profile from #214 with a profile from the current PR --- both are running the SHA512_225 benchmark.
You'll notice the former takes 8 seconds in total, of which 1.2 is spent on init_next_step. That was the motivation for this PR. Indeed, in the profile for this PR, initNextStep doesn't even make the profiler's threshold, but we can see that indeed we spend much less time executing the tactic (the Elab.step: tacticSym_n___ node was about 3.3 seconds before, and is  1.1 seconds now).
However, all of that is lost on the metavariable instantiation. This profile was made with a toolchain version that doesn't have a node for instantiatMVar, but we can deduce how much is spent on it from the self time of Elab.command: this was 3.8 seconds, and has now blown up to 11.7 seconds.