Optional root (su, Magisk Zygisk module, etc) for mirroring Android 12+ w/FLAG_SECURE

[x] I have checked that a similar feature request does not already exist.

I found https://github.com/Genymobile/scrcpy/issues/2242 but that seemed to focus on non-root options.
Is your feature request related to a problem? Please describe.
In Android 12+, it is no longer possible to mirror the output of apps expecting a FLAG_SECURE display.  The non-root fix scrcpy  uses now is to no longer capture secure output on Android 12+.
Describe the solution you'd like
For those with root, it'd be nice if scrcpy could optionally make use of root access to enable mirroring apps that require secure display output.
Brainstorming:

Directly request root access via su to do what's needed, if possible
Provide an app .apk to be installed with system privileges (e.g. as a simple Magisk module)

Magisk now provides Zygisk to inject code into processes, so it may be possible to revert the shell UID check

Integration with Sui to provide more natural access to Java APIs as the root user

Assuming this may require more effort on scrcpy's side to provide an app (APK?) that requests Sui access

Describe alternatives you've considered
Disable FLAG_SECURE for all apps using the LSposed (modern Xposed), or via a Magisk "Zygisk" code injection to the system framework.
This would unfortunately enable every app to have this access instead of just allowing the shell, unless a module could be made to revert specifically the shell UID FLAG_SECURE check.
Additional context
All of this except for maybe using su directly if possible sounds rather complicated for a niche of scrcpy users.  I'd understand if the immediate reaction to this feature request is to close it and go "Nope, not touching that." :slightly_smiling_face:

I have no experience with Magisk, but if it's possible to only allow shell to enable secure flag permissions, then scrcpy could provide an option --secure-flag, which will cause an exception (like #2129) on non-root devices, but will work for root devices with permissions enabled.

Wait, it's now possible to use ScrCpy to enable mirroring even protected screens (on rooted devices) ?
Is it under development?

@AndroidDeveloperLB Not yet, alas.  That's why I'm filing this feature request, to prompt discussion about how scrcpy could possibly do this.
@rom1v Noted!  Adding a --secure-flag option once a root/Magisk solution is sorted to reverse that permission change sounds like a reasonable low-maintenance approach on scrcpy's side.
Rambling notes
I have much to learn about Magisk's recent Zygisk development and hooking Android functions, but I wanted to jot this down for future reference.
It looks like it'd involve patching the hasCaptureBlackoutContentPermission() function…
static bool hasCaptureBlackoutContentPermission() {
    IPCThreadState* ipc = IPCThreadState::self();
    const int pid = ipc->getCallingPid();
    const int uid = ipc->getCallingUid();
    return uid == AID_GRAPHICS || uid == AID_SYSTEM ||
            PermissionCache::checkPermission(sCaptureBlackoutContent, pid, uid);
}

Adding back in a || uid == AID_SHELL like what used to be there.
Alternatively, if there's a way to use root/Magisk/etc to grant android.permission.CAPTURE_BLACKOUT_CONTENT to scrcpy, that would work.  It might involve using the Shizuku API within scrcpy itself via Sui, which is… probably lower level than desired?
(I may have gotten the permission name wrong - the system AndroidManifest.xml seems to describe this as capturing secure content, as if a screenshot.)
Regardless, I'd understand wanting to keep the changes to scrcpy itself as minimal (and therefore as maintainable) as possible.

@digitalcircuit What's "CAPTURE_BLACKOUT_CONTENT" ? I don't see it on the docs:
https://developer.android.com/reference/android/Manifest.permission
I wonder if a screenshot app could get this permission (via root).
I would love to have ScrCpy be able to show this content, even it if requires root.

@AndroidDeveloperLB I think it's intentionally not mentioned on that page due to being listed as "Not for use by third-party applications." with an @hide annotation.
frameworks/base/core/res/AndroidManifest.xml found via searching on cs.android.com:
    <!-- Allows an application to take screenshots of layers that normally would be blacked out when
         a screenshot is taken. Specifically, layers that have the flag
         {@link android.view.SurfaceControl#SECURE} will be screenshot if the caller requests to
         capture secure layers. Normally those layers will be rendered black.
         <p>Not for use by third-party applications.
         @hide
    -->
    <permission android:name="android.permission.CAPTURE_BLACKOUT_CONTENT"
        android:protectionLevel="signature" />

As you mentioned, the question I have as well is whether a protection level of signature can be safely granted to just a specific app via root/Sui/Zygisk/etc?  And if so, what would be the proper (most maintainable and secure) method of going about it..?
Alternatively, hijacking the hasCaptureBlackoutContentPermission() permission check to allow UID_SHELL (ADB) again might return to pre-Android 12 security level - less specific, but likely an acceptable trade-off.
(It's possible I'm misunderstanding as I'm attempting to make sense of an area of Android that I'm unfamiliar with.)

@MlgmXyysd You'd have to talk with every application that uses this API to block screenshots/screen-capture...
And it's not guaranteed they will do anything about what you write them.
Not practical.
It's better to have some solution than nothing.
I've requested from Google to add some toggle to turn off this kind of protection in next Android version:
https://issuetracker.google.com/issues/225529536
Please consider starring.

I've requested from Google to add some toggle to turn off this kind of protection in next Android version: https://issuetracker.google.com/issues/225529536 Please consider starring.

Starred, but there is no hope that they will do so, just as they added FLAG_SECURE.

Any progress or plans on this? Would really love a way to bypass FLAG_SECURE

Any progress or plans on this? Would really love a way to bypass FLAG_SECURE

You can use other ROMs that allows the user to ignore FLAG_SECURE, such as KaleidoscopeOS.

Wait, it's now possible to use ScrCpy to enable mirroring even protected screens (on rooted devices) ? Is it under development?

I also neet this feature!

It seems that if your device is rooted with Magisk, you can have "Zygisk - LSPosed" module, and using it, there is a module inside that is called "Disable FLAG_SECURE":

It seems that if your device is rooted with Magisk, you can have "Zygisk - LSPosed" module, and using it, there is a module inside that is called "Disable FLAG_SECURE":

Your proposed solution sadly won't work for most use cases, as this would normally be needed for things like banking app, but they need to be in the DenyList to work, preventing any modifications to them. So this won't work for that, and we need to modify a different service which doesn't have to be DenyListed, the secure display being one of them. Root support would be a very nice feature for scrcpy to have, and I don't believe it would take too much effort to implement. Thanks!

...
Your proposed solution sadly won't work for most use cases, as this would normally be needed for things like banking apps, but they need to be in the DenyList to work, preventing any modifications to them. So this won't work for that, and we need to modify/use a different service which doesn't have to be DenyListed, the secure display being one of them. Root support would be a very nice feature for scrcpy to have, and I don't believe it would take too much effort to implement. Thanks!

Maybe. I haven't had an issue with this so far.
Of course, the best thing is to thave ScrCpy handle it on its own, overcoming all issues.

It seems that if your device is rooted with Magisk, you can have "Zygisk - LSPosed" module, and using it, there is a module inside that is called "Disable FLAG_SECURE":

More easily to detect root lol

Guys I know this issue. I just wrote for other cases, when it does work fine.

So guy's no way for a fix? I arrived from an evox rom were is a stock feature and now i miss it

Check this out https://forum.xda-developers.com/t/module-disable-flag-secure-v5-0-by-mehedi-h-joy.4490475/
It's a Magisk module which doesn't need LSPosed. I can confirm it works on Android 12 and Samsung One UI 4.1

Please read my earlier comment @Ch4m311eom, I’m almost certain it still applies based on the nature of the new DenyList functionality.

Hmm I just checked this module with Shamiko and UniversalSafetyNet Fix and everything seems to be fine. I'm able to add card to Google Pay and launch my banking app. Of course I had to add banking app to DenyList list but when it's paired with Shamiko I can't see any problem.
The only disadvantage is that my phone (SM-G975F) falls in a bootloop everytime I install any Magisk module when DisableFlagSecure is installed. To install any module I have to remove DisableFlagSecure, install new module and then install DisableFlagSecure back.

What I’m saying in that comment is that if an app is in the DenyList, DisableFlagSecure won’t have any effect on that app, and you still won’t be able to take any screenshots in it. AOSPMods can be used to solve this entire issue now though.

Oh, I get it. Personally I only had to "uncover" Bitwarden, that's why I found no issue.

All of this Magisk talk seems to be vastly overcomplicating things from where I sit - since that would suggest you've got root, it'd be infinitely simpler to just execute the server as AID_SYSTEM (permitted to display FLAG_SECURE content) by adding in su 1000 -c to the startup argument list here?. I did try 1003 for AID_GRAPHICS which also worked for video, but lacked permissions for basically everything else.
With this simple change, I've verified functionality with mirroring such an app on Android 13.
Of course, to add this to production, this changeup should be from a flag passed on the client (--as-root or something along those lines) alongside a warning to only grant root once to the adb shell process, but in the meantime users with root should be able to just use these binaries instead.
It also quite possibly breaks other things, but on my A13 Pixel 5 the audio, video, and touch are working without issue.
Release is here.

I confirm it works on my device as well (Xiaomi 11T Pro with Pixel Experience 12 GSI). Thank you a lot @RiggiG!
@rom1v What do you think about @RiggiG's solution?
I don't mind submitting a pull request to add their solution behind a flag (what would you like the flag to be? --as-root, --secure-flag, or other?) if both of you agree (I don't want to steal @RiggiG's work).

I think it is an acceptable solution, it's quite simple and non invasive. --as-root or --root look good to me, what do other people think?

I'd certainly have no qualms with anyone else submitting a PR for bringing this in (of course via a default-inactive flag) - this was just a quick PoC to verify it was as simple as I thought it was after reading these issues. I'm also intending to try (I am woefully ill-equipped to jump into Android development) background camera access + streaming via this root mode.
I like --as-root for clarity, but certainly wouldn't call --root unclear and I'll never complain about a more concise flag.

I'm also intending to try (I am woefully ill-equipped to jump into Android development) background camera access + streaming via this root mode.

Note that since Android 11 (commit 393ad6e0ad1670a1d33e97f7bb07b0df381b5e76), shell has CAMERA permission:
https://github.com/aosp-mirror/platform_frameworks_base/blob/de002b7c953d64125ee3088dd4bf16c28a64c5ba/packages/Shell/AndroidManifest.xml#L290
So it is certainly possible to capture the device camera without root (an option --video-source=camera similar to --audio-source=mic would be neat).

I quickly put together some code to test camera capturing: https://github.com/Genymobile/scrcpy/compare/master...yume-chan:scrcpy:feat/camera?expand=1, it works on my Mi 11 (MIUI 14, Android 13).
So besides --video-source=camera, it also needs --camera=<id> and --list-cameras.
--video-source=camera will imply --no-control, touch injection is not possible due to lack of screen size, keyboard injection also doesn't make much sense. Maybe clicking will change the focus region.
Taking screenshot (https://github.com/Genymobile/scrcpy/pull/2040) will be useful in camera mode.

Awesome :+1: That was quick after my previous message (https://github.com/Genymobile/scrcpy/issues/241#issuecomment-1625585798) :smile:

So besides --video-source=camera, it also needs --camera= and --list-cameras.

Yes, and also maybe a constant in addition for front and back (so that users don't have to look for the id).
Something like:
for (String cameraId : cameraManager.getCameraIdList()) {
    CameraCharacteristics cc = cameraManager.getCameraCharacteristics(cameraId);
    int lensFacing = cc.get(CameraCharacteristics.LENS_FACING);
    if (lensFacing == CameraCharacteristics.LENS_FACING_BACK) {
        // …
    }
}

As a side note, maybe another possible option (but less important) would be the parameter passed to camera.createCaptureRequest(…); (at least TEMPLATE_PREVIEW for lower latency) or TEMPLATE_RECORD).

Are there any news on supporting root to elude FLAG_SECURE?

#4947
only server, so magisk is not supported, only userdebug build ROM can use

I like --as-root for clarity, but certainly wouldn't call --root unclear and I'll never complain about a more concise flag.

I built your dev branch from https://github.com/RiggiG/scrcpy-root.git but running ./run x --root still had black screen.
(I granted root permission to shell on magisk pop up)
Any pointers @RiggiG ?

I think on Android 15, latest build of AP4A.241205.013 on my Pixel 6, I can't see Authy using ScrCpy anymore, despite using the module of LSPosed, including when using very new builds of LSPosed:
https://github.com/LSPosed/DisableFlagSecure/issues/77
https://github.com/mywalkb/LSPosed_mod/issues/164
https://github.com/JingMatrix/LSPosed/issues/139
Can anyone else confirm?


Storage solutions

Currently our only options for storage are chests, barrels, or item vaults. Chests & barrels are easy to use, but have immense performance issues. Item vaults are actually implemented fairly well, but are hard to interface with. I propose adding a mod like excorrelation to address these issues.
Personally, I've noticed massive amounts of lag near large amounts of chests, and if there are enough, it makes the game nearly unplayable.

Can't you put backpacks into chests?

You can, although that has the same limitation as item vaults, just to a lesser degree. Trying to dig through a chest full of backpacks to find the right one sounds like hell, not to mention the resources that go into making them.

A lot of thought needs to be put into adding mods, especially storage mods. You can't reamove a content mod without casuing damage. We need to be sure we 1000% need this.

I personally suggest EZ Storage 2, but ported to 1.18.2.

I see the appeal of a simple mod like EZ Storage 2, but looking at the repos of both mods a bit it seems that in addition to a port, there would likely be a few bugs cropping up that would need fixed. Either that, or it's a rewrite and not a port, which, I imagine, would take quite some time. I'm not saying it isn't worth it, but this needs considered too.

When I say port, I generally mean rewrite. Basically create a new project in the newer version, and translate code line-by-line. That would kinda be the necessary approach, as it would be porting across both versions (including The Flattening) and loaders. I kinda wanna do it though, it seems interesting to me, as I've never done it before.


When camelize is double applied, the character string does not become CamelCase

$text = 'sample_sample';
$text = \Phalcon\Text::camelize($text); // SampleSample
$text = \Phalcon\Text::camelize($text); // Samplesample

Can this problem be resolved?

function camelize using two args: camelize(text, delimiter)
In your example, you always overwrite your $text variable and it looks not obvious.
$text = 'sample_sample';
$text = \Phalcon\Text::camelize($text); // SampleSample
$text = \Phalcon\Text::camelize($text); // Samplesample

// So, how it looks exactly

$text = 'sample_sample';
// we should get SampleSample, because we have underscore as delimiter
$text = \Phalcon\Text::camelize('sample_sample'); // SampleSample
// we don't have any delimiter, so we should have `Samplesample` as expected result
$text = \Phalcon\Text::camelize('SampleSample'); // Samplesample

thank you.
I don't think the output of \Phalcon\Text::camelize('SampleSample') is "Samplesample", which is the correct result.
Is this result desired?

Yes, this result is expected. How function without explicit delimiter should detect proper char to make this char uppercase?

also it's pascal- not camelcase.

oh, pascal case...
Is it supposed that the character string SamPle comes in?

This is how the function works in other frameworks and libraries, too - everything is lowercased unless it follows a delimiter (generally _, -, or  ). Partially because of constants - FOO_BAR should properly be camelized to fooBar or FooBar. There's some disagreement about whether the result should be camelCase or UpperCamelCase.
But yeah, these functions aren't designed to have strings passed through more than once, and they expect certain kinds of input. If your input string doesn't have word delimiters in it, you probably don't want to camelize() it.


fix condition for parallelism

Cannot use another variable in a condition for other. If you not set the variable and use the default values that fail in the terraform init
simple example:
cat > variables.tf << EOL
variable "task_count" {
  type        = number
  default     = 1
  description = "The number of tasks to run. "
}

variable "parallelism" {
  type        = number
  default     = 1
  description = "The number of parallel jobs to run. Must be <= task_count"
  validation {
    condition     = var.parallelism <= local.task_count
    error_message = "parallelism must be less than or equal to task_count"
  }
}
EOL

$ terraform init
nitializing the backend...
Terraform encountered problems during initialisation, including problems
with the configuration, described below.

The Terraform configuration must be valid before initialization so that
Terraform can determine which modules and providers need to be installed.
╷
│ Error: Invalid reference in variable validation
│
│   on variables.tf line 12, in variable "parallelism":
│   12:     condition     = var.parallelism <= local.task_count
│
│ The condition for variable "parallelism" can only refer to the variable itself, using var.parallelism.
╵

╷
│ Error: Invalid reference in variable validation
│
│   on variables.tf line 12, in variable "parallelism":
│   12:     condition     = var.parallelism <= local.task_count
│
│ The condition for variable "parallelism" can only refer to the variable itself, using var.parallelism.
╵

if use the object way
cat > variables.tf << EOL
variable "config" {
  type = object({
    task_count = number
    parallelism = number
  })
  default = {
    task_count = 1
    parallelism = 1
  }

  validation {
    condition     = var.config.parallelism <= var.config.task_count
    error_message = "parallelism must be less than or equal to task_count"
  }
}
EOL

$ terraform init

Initializing the backend...

Initializing provider plugins...

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

you can use another variable in precondition in terraform 1.9+
please update terraform first


Support append only table

What type of enhancement is this?
API improvement, User experience
What does the enhancement do?
Now the storage engine overwrites duplicate entries, that share the same row key by default. We may also need to support append mode, which never overwrites duplicate entries. However, users might expect to store duplicate rows in the table.
It's helpful to support an append-only mode for the table.
Implementation challenges
We remove duplicate rows in several places.

memtables iters

the time series memtable
the merge tree memtable

the merge reader

during query
during compaction

We have to

add an append_only option and disable dedup in memtables
bypass the merge reader in query and compaction

A remaining problem is how to support DELETE as the merge reader requires each source support dedup. For simplicity, we can only support it while the table is not an append only table. We might need to persist this option in the manifest.
Implement History

[x] Adds a dedup option to the time series memtable https://github.com/GreptimeTeam/greptimedb/pull/3540
[x] Adds the append mode option to region options https://github.com/GreptimeTeam/greptimedb/pull/3558
[x] SeqScan removes the merge reader if the region is append only https://github.com/GreptimeTeam/greptimedb/pull/3598
[x] Adds the append mode option to table options https://github.com/GreptimeTeam/greptimedb/pull/3624

Since #3624 was merged, I'm going to close this issue. I'll create new issues for further enhancements.


🔧 Disabled Codecov status check

Codecov Report

Merging #15 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #15   +/-   ##
=======================================
  Coverage   99.19%   99.19%
=======================================
  Files           3        3
  Lines         124      124
  Branches       14       14
=======================================
  Hits          123      123
  Partials        1        1

Continue to review full report at Codecov.

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


CEP 6: Add Channel Notifications to conda

This pull request contains a draft CEP for the implementation of a new "Channel Notifications" feature to the conda package manager. Please see the CEP itself for more information about the proposal.
Please use this pull request as a public forum for discussing the feature proposal as well as suggesting improvements.

In generally I think it could be interesting for channels to be able to contain more metadata.
For example, if the robostack channel could easily advertise that it relies on the conda-forge channel to work, that could be cool.
A channel metadata could further have some fields for description etc.

I think another useful thing to specify in this CEP is the expectation that the client should fetch and show notifications before fetching or parsing the repodata.json file.  The reason for this is that if the repository is corrupted in some way, it would be nice for admins to quickly put up a notifications.json file explaining why and where to get more information while it is being fixed.  Could be similarly useful if a backward incompatible change to the repo format ever needs to be made. A clever web server configuration could serve a special notifications.json file to clients before a certain version in order to notify the user of the compatibility issue.

What is the thought on priority for channels? In theory if you are pulling from many channels you could have quite a few. Is there any limit to the number of alerts?
It was also pointed out that the “expiry” naming could perhaps be a little clearer.
Also I think I like the idea of having a dedicated notification json, do we want any qualifiers for specific client/conda metadata? For ex:

Having an “arch” field where the alert would only show if its a windows user in the case for a specific issue with users on that platform for example
Alert users of a conda version becoming EOL. We could add “conda_version” to target that.
A critical vulnerability for a user using a specific package.

There are always “what about…” so I’m all for keeping it simple and then expanding, but trying to think through other common and straightforward use cases that currently would add a lot of value. There are some implementation details on if there would be any parsing of the user agent to only return the “correct” alerts.json to the client, or if the server would throw back everything and let the client figure out what it wants to show.

I suggest we rely on channel priority like you suggested. For example, we could only display the top five channel notifications and instruct our users to read the full output by running conda notices.

Let's assume a user has 5 channels defined (A-E). Channel A defines 2 critical notices and one info notice, channel B/C both define one info notice, and D/E both define one critical notice. What notices do we prioritize if we show the top 5 notices?

Display the most severe (and oldest) notice for the first 5 channels. Only one notice per channel.

A shows one critical notice
B shows one info notice
C shows one info notice
D shows one critical notice
E shows one critical notice

Sort all notices by severity followed by channel priority. Display the top 5 notices.

A shows two critical notice
D shows one critical notice
E shows one critical notice
B shows one info notice

I don't think either of these is better than the other so it's probably best to only display one notice? That way there's no confusion as to what notice would be displayed. We could just include a statement that there are additional notices, and to run conda notices to see all of these notices.

@kenodegard You bring up an interesting point. I would err on the side of sorting by "priority", "channel order". We can play around with this in the initial implementation too.
In any case, we should definitely show a message instructing users if there are more unread messages. Something like:
5 of 12 new messages run `conda notices` to view all

@kenodegard Good points. @travishathaway I like the thinking around making it explicit that there is value and a reason to run the command. Wordsmithing aside, I think we should make sure to call out any critical notices that aren't shown. Something like "X notices not shown, including y critical."
I'd also make sure we are consistent with the naming throughout around messages/notices/etc and just use one everywhere. Ubiquitous language ftw 😄

Hi all,
This is a recent video I have made demonstrating what this feature could look like once is ready:
https://user-images.githubusercontent.com/718726/168361745-73adb527-8a13-4553-a906-1a51ae69b070.mp4
Looking forward to comments. If you have code specific comments, please take it over to the open PR I have current have for this: https://github.com/conda/conda/pull/11462

@conda-incubator/steering
This PR falls under the Enhancement Proposal Approval policy of the conda governance policy, please vote and/or comment on this PR.
This PR needs 60% of the Steering Council to vote yea to pass.
To vote please leave Approve (yea) or Request Changes (nay) pull request reviews.
If you would like changes to the current language please leave a comment (in the PR) or push to this branch.
This vote will end on 2022-06-15.

There were recent changes to this CEP. We have dropped the expiry field on individual message in exchange for an expired_at field. This new field will be set as an ISO 8601 timestamp string just like created_at.


chore: bump rust toochain to 1.69

What this PR does / why we need it:
This PR
Which issue(s) this PR fixes:

Fixes #
Which docs this PR relation:
Ref #
Which toolchain this PR adaption:
No Breaking Change
Special notes for your reviewer:
NIL
CI Description

CI Name
Description

Chaos CI
Test the liveness and robustness of Axon under terrible network condition

Cargo Clippy
Run cargo clippy --all --all-targets --all-features

Coverage Test
Get the unit test coverage report

E2E Test
Run end-to-end test to check interfaces

Code Format
Run cargo +nightly fmt --all -- --check and cargo sort -gwc

Web3 Compatible Test
Test the Web3 compatibility of Axon

v3 Core Test
Run the compatibility tests provided by Uniswap V3

OCT 1-5 | 6-10 | 11 | 12-15 | 16-19
Run the compatibility tests provided by OpenZeppelin

CI Usage

Check the CI you want to run below, and then comment /run-ci.

CI Switch

[ ] Chaos CI
[ ] Cargo Clippy
[ ] Coverage Test
[x] E2E Tests
[x] Code Format
[x] Unit Tests
[x] Web3 Compatible Tests
[ ] OCT 1-5 And 12-15
[x] OCT 6-10
[ ] OCT 11
[ ] OCT 16-19
[x] v3 Core Tests

/run-ci

/run-ci


[DO NOT MERGE][Internal testing] - Test 9/29/2023 - test recent changes to LintDiff , handling fatal spectral run

This is a PR made by the Azure SDK Engineering System team

@konrad-jamrozik  Can we remove "WaitforARMfeedback" tag ? Or is that necessary for your testing ?

@raosuhas apologies for the confusion! I will remove the label right now.


fix(ci): fix wrong tagged build name

Which issue(s) this PR fixes:

Issue #
What this PR does / why we need it:
Special notes for your reviewer:
Additional documentation or context

@mergify backport v1.7.x

@mergify backport v1.6.x v1.5.x


Update free-courses-id.md

Hacktoberfest notes:

due to volume of submissions, we may not be able to review PRs that do not pass tests and do not have informative titles.
please read our contributing guidelines
be sure to check the output of Travis-CI for linter errors
if this is your first open source contribution, make sure it's not your last!

What does this PR do?
Add Resource(s) |  Add info | Improve Repo
For resources
Description
Belajar Membuat Game dengan Construct 2
Why is this valuable (or not)?
teach to create game using Construct
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[* ] Not a duplicate
[ *] Included author(s) if appropriate
[ *] Lists are in alphabetical order
[ ] Needed indications added (PDF, access notes, under construction)

Thanks, and welcome to free-programming-books!


TTC error: received code N during response reading (v2.7.26)

I have spent hours of googling solution for issue: "TTC error: received code N during response reading" and didn't found proper one.
The only thing I know it gets worse with latest version of the library. Currently we use v2.7.17 and issue appears very rare but once I try to update library to v2.7.26 I am starting to receive a lot of error records in LOG files of application. More over - I am starting to receive errors we didn't have before.
We work with multiple OUT parameters as RefCursor. For retrieving data in RefCursors we fetch records in loop. When we use v2.7.17 - everything looks fine, but once we are trying to update library to v2.7.26 - we receive mixed data from RefCursor or even starting to receive columns with names that are not commonly returning by stored procedure. And this happens on latest version of the library. I don't have time to test all versions from 17 to 26 but I believe there is something wrong with v2.7.26. Once I get back 2.7.17 - no more hundred records of error in LOGs appear.
What we use:

stored procedures that return multiple RefCursors
I tried to change "PREFETCH_ROW" - from 10 to 1000 (very unstable on 2.7.26 and 2.7.17 works stable enough with value = 20)
we use "sqlx.DB.Exec" for executing query with stored procedure
We use "go_ora.WrapRefCursor" and "sqlx.StructScan" for fetching records into structures.

this error is related to #480 and the cause of them is network data loss i am working on to fix it

fixed v2.8.0
would you please test and tell me if any issue happen

fixed v2.8.0 would you please test and tell me if any issue happen

Thank you! Sure, will do.

go to v2.8.1

go to v2.8.1

Hopefully it will not be increased every hour.

ok, at first glance it looks fine. But let me finish all my tests before(It may take couple of days)
Thank you

@sijms I had to stop testing this fix since new version 2.8.0 & 2.8.1 brings another issue with parsing DB rows(unsupported go type: )

would you please explain the new issue.
which go type is not supported

@sijms good question. The SQL query that is working fine on 2.7.17 just stops to work on 2.8.+
Db.ExecContext(ctx, query, arguments...)
where "query" is the following:
begin 			x.X_DATA_PKG.GET_DATA(     			RC => :1,     			RES => :2,     			RC => :3,     			RCL => :4,     			BDATE => TO_DATE(:5, 'MM-DD-YYYY'),     			EDATE => TO_DATE(:6, 'MM-DD-YYYY'),     			FLAG => :7,     			RES_OUT => :8,     			STATUS => :9,     			MESSAGE => :10   			); 		end;
and "arguments" are:

@sijms I have finished debugging -
command.go

it says first parameter *string="ra"
err = "unsupported go type: "

fixed in v2.8.2


If custom "aud" claim is added to session token, getAuth() fails in getServerSideProps

[x] Review the documentation: https://clerk.com/docs
[x] Search for existing issues: https://github.com/clerkinc/javascript/issues
[x] Go through package changelog files.
[x] Provide the Frontend API key from your application dashboard.

Frontend API: pk_test_cGVyZmVjdC1nb3JpbGxhLTk4LmNsZXJrLmFjY291bnRzLmRldiQ

Package + Version

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[x] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore
[ ] other:

Dependencies + versions
Provide a json with the dependencies used in your project (copy paste from yarn.lock / package-lock.json) or a github project / template that reproduces the issue.
Include the @clerk/ packages and their versions!*
Example:
{
  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint",
    "storybook": "storybook dev -p 6006",
    "build-storybook": "storybook build"
  },
  "dependencies": {
    "@clerk/nextjs": "^4.19.1",
    "@clerk/types": "^3.43.0",
    "@emotion/react": "^11.11.1",
    "@emotion/styled": "^11.11.0",
    "@mui/icons-material": "^5.11.16",
    "@mui/material": "^5.13.4",
    "@zodios/react": "^10.4.5",
    "axios": "^1.4.0",
    "next": "13.4.2",
    "notistack": "^3.0.1",
    "react": "18.2.0",
    "react-cookie": "^4.1.1",
    "react-dom": "18.2.0",
    "@tanstack/react-query": "^4.29.25",
    "react-responsive": "^9.0.2",
    "styled-components": "^6.0.0-rc.3",
    "validator": "^13.9.0",
    "yarn": "^1.22.19"
  },
  "devDependencies": {
    "@storybook/addon-essentials": "^7.0.23",
    "@storybook/addon-interactions": "^7.0.23",
    "@storybook/addon-links": "^7.0.23",
    "@storybook/blocks": "^7.0.23",
    "@storybook/nextjs": "^7.0.23",
    "@storybook/react": "^7.0.23",
    "@storybook/testing-library": "^0.0.14-next.2",
    "@types/react": "18.2.6",
    "@typescript-eslint/eslint-plugin": "^5.59.7",
    "@typescript-eslint/parser": "^5.59.7",
    "eslint": "^8.40.0",
    "eslint-config-next": "13.4.2",
    "eslint-plugin-storybook": "^0.6.12",
    "openapi-zod-client": "^1.9.0",
    "storybook": "^7.0.23",
    "typescript": "^5.0.4"
  }
}

Browser/OS
Chrome: Versjon 114.0.5735.198 (Offisiell delversjon) (arm64)
Node: v16.20.1
Cloudflare worker:  no idea how to check
Description
When a custom "aud" claim is added to the session token: Invalid JWT audience claim (aud) \"http://localhost:3000\". Expected \"undefined\". Make sure that this is a valid Clerk generate JWT. (reason=token-verification-failed, token-carrier=cookie)",
-- Added x-clerk-debug on request

Clerk debug start :: getAuth()
-- Headers debug, {
  "authStatus": "signed-out",
  "authMessage": "Invalid JWT audience claim (aud) \"http://localhost:3000\". Expected \"undefined\". Make sure that this is a valid Clerk generate JWT. (reason=token-verification-failed, token-carrier=cookie)",
  "authReason": "token-verification-failed"
}
-- Options debug, {
  "apiKey": "",
  "secretKey": "sk_test_*********jjg",
  "apiUrl": "https://api.clerk.dev",
  "apiVersion": "v1",
  "authStatus": "signed-out",
  "authMessage": "Invalid JWT audience claim (aud) \"http://localhost:3000\". Expected \"undefined\". Make sure that this is a valid Clerk generate JWT. (reason=token-verification-failed, token-carrier=cookie)",
  "authReason": "token-verification-failed"
}

null

My pages/minside/test file:
Note: This works great without the custom aud, but its required for the backend api
import {buildClerkProps, clerkClient, getAuth} from "@clerk/nextjs/server";
import {SignInButton} from "@clerk/nextjs";

export const getServerSideProps = async (ctx) => {
const {userId} = getAuth(ctx.req, {secretKey: process.env.CLERK_SECRET_KEY});
    if (!userId) {
    return {
      redirect: {
        destination: "/",
        permanent: false,
      },
    };
  }

  const user = await clerkClient.users.getUser(userId);
  const memberId = user?.publicMetadata?.member_id ?? null;
  const roles = user?.publicMetadata?.roles ?? [];

  return { props: { ...buildClerkProps(ctx.req),userId, memberId, roles } };
}

export default function Test(props) {

  console.log(props)

  return (

      <SignInButton mode={"modal"} />

Test

  )
}

My pages/_app.tsx file:
import { ClerkProvider } from "@clerk/nextjs";
import type { AppProps } from "next/app";
import { SnackbarProvider } from "notistack";
import {Theme} from "../components/Theme";
import "../styles/globals.css";
import {QueryClientProvider, QueryClient} from "@tanstack/react-query";

const queryClient = new QueryClient();

function MyApp({ Component, pageProps }: AppProps) {
  return (
    <SnackbarProvider maxSnack={2}>
      <QueryClientProvider client={queryClient}>
        <Theme>
          <ClerkProvider {...pageProps}>
            <Component {...pageProps} />
          </ClerkProvider>
        </Theme>
      </QueryClientProvider>
    </SnackbarProvider>
  );
}

export default MyApp;

And my middleware.ts file:
import { authMiddleware } from "@clerk/nextjs";

export default authMiddleware({
  publicRoutes: ["/(.*)"],
  debug: true,

});

export const config = {
  matcher: ["/((?!.*\\..*|_next).*)", "/", "/(api|trpc)(.*)"],
};

Hello @Richard87 and thank you for the feedback.
Based on the package.json you provided, you are using<EMAIL_ADDRESS>The support of<EMAIL_ADDRESS>I would suggest you upgrade.
Also based on your snippets and the error message it seems that even though the aud claim exists in the session token, you don't provide an audience parameter to validate against it in your backend. To support the audience verification you should pass an audience?: string | string[]; parameter to authMiddleware() with the allowed audiences.
Could you take a look at the above and let me know if your issue is resolved?
Some extra notes:

I would advise to avoid using await clerkClient.users.getUser(userId); upon each request since this would cause it to reach the request rate limits. You could add the extra information to the session token claims (eg "roles": "{{publicMetadata.roles}}") if they are required
I would omit the {secretKey: process.env.CLERK_SECRET_KEY} from getAuth() since it's been done internally

When upgrading to Next 13.4.0 to 13.4.12 I get this error when using getServersideProps... So no idea whats going on there! Will open a issue on MUI and see if they have any idea...

@dimkl Thanks for helping out, will useUser or useSession also trigger request rate limits? I see they both also include the User object?
Is there a way to get the current session token/claims without useUser/useSession?

@Richard87 I believe that useSession / useUser are client-side components, where there aren't request rate limits since those requests are triggered by the Browser of the end-user.
The request rate limits (I mentioned in my previous) comment are related to the request to server-to-server requests between your server and Clerk backend API.
Do you need the current session token/claims in the server?

Hi, @dimkl , thanks thats what I need to know! I have roles and member_id in public metadata, also in the session token, but as long as I can use useUser / useSession I'm good to go!
When I upgraded Clerk and added audience to the middleware the error went away!  Thank you for the assistance :)

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Question: [Release note for WinUI 2.4.0]

There is a WinUI 2.4.0 package with no prerelease tag out on nuget.org, but I cannot find any release note neither on this repo nor on msdn. And this build seems to cut a lot of new features like RecyclePool, SelectionModel and LayoutPanel. Is this expected?

@katan-ms This is the 2.4 stable release package. It does not contain the preview types like RecyclePool and SelectionModel. The preview types ship only in the pre-release packages. The release notes will be out shortly. @predavid as FYI

release notes are available now :)
https://docs.microsoft.com/en-us/uwp/toolkits/winui/release-notes/winui-2.4
https://github.com/microsoft/microsoft-ui-xaml/releases/tag/v2.4.0

Thanks ! I'll go check them out :D


Error running nbdev_build_docs

I have tried to compile the documentation following the workflow outlined in CONTRIBUTING.md.
The truth is that I get an error when generating the documentation using the latest version of nbdev==1.2.2.
Solution:
To compile without errors it is necessary to use nbdev==1.1.23.

Thanks for catching that, are the nbdev dependencies set to nbdev 1.1.23?
Do we need to change it in the requirements?

Yes, we need to set the nbdev dependency to 1.1.23. The compilation problem is related to https://github.com/fastai/nbdev/issues/595, it seems there is a problem with the new nbdev version using @dataclass. I'm labeling this as good first issue.


Inserting image plugin with filer into the editor results in a broken image icon, not the image

the image is visible both in filer when selecting and in the CMS window as well after saving the contents of the editor,
but not in the editor (as attached broken image icon) the html code is inserted as below

using cms 3.0 beta2 and djangocms-text-ckeditor==2.0.0
it is both in FF 22 and Chrome 28.0.1500.71

this has been resolved :)


Ensure that pointer to opaque works correctly

The initial idea doesn't work. We do need to create views of the memory. A separate mechanism needs to be created for when external buffers aren't allowed.


Automated cherry pick of #4254: fix: 谷歌云镜像账号内共享,只需要一个storagecache

Cherry pick of #4254 on release/2.13.
#4254: fix: 谷歌云镜像账号内共享,只需要一个storagecache

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.13@99fbe4f). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.13   #4255   +/-   ##
==============================================
  Coverage                ?   6.86%
==============================================
  Files                   ?     519
  Lines                   ?   88131
  Branches                ?       0
==============================================
  Hits                    ?    6052
  Misses                  ?   81580
  Partials                ?     499

Flag
Coverage Δ

#aFlag
6.86% <ø> (?)

Continue to review full report at Codecov.

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

/lgtm

/lgtm

/approve


Support reactive core data types : Add a 'Future' backed Eval implementation

A new Eval implemention alongside Always, Later and Now could be used to allow lazy data types (Maybe, Either-5) to behave in a more reactive way.
I.e. we can populate a Maybe or Either (or Eval) at some point in the future and have the population trigger the execution of the defined data pipeline.
The Future Eval implementation should behave like a monad transformer around a Future containing an Eval (inside an Eval) - so that all of the Future and Eval functionality is available (reactiveness from Future + laziness and trampolining of Eval).

This mean the following data types support reactive push :
ReactiveSeq via Spouts
Future
Eval
Maybe
Either
Either2
Either3
Either4
Either5

Released in 2.0.0-MI3


refactor!: Rename extra_security_group_ids_runner_agent to extra_security_group_ids_runner

Description
Renames the extra_security_group_ids_runner_agent to extra_security_group_ids_runner to follow the naming conventions at Gitlab.
Solves a part of #405
Migrations required
Rename extra_security_group_ids_runner_agent to extra_security_group_ids_runner.
Verification
No tests done.
Documentation
We use pre-commit to update the Terraform inputs and outputs in the documentation via terraform-docs. Ensure you have installed those components.

@npalm Close it?

Yes let's close the PR. Maybe a better idea to first in list in an issue the parameters that really needs renaming. And next do it at once. So we can provide consumers clear guideance


Fix typo in TextMatch documentation

What:
Fix a typo in TextMatch section of the README.md
Checklist:

[x] Documentation
[ ] Tests (N/A)
[x] Ready to be merged
[x] Added myself to contributors table

:tada: This PR is included in version 3.1.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Can not fallback to bundled mypy with fromEnvironment

Extension: 2023.4
Import strategy: fromEnvironment

When a python file is saved in an environment where mypy is not installed, there is this in the output:
2023-10-23 20:32:45.177 [info] Error while checking mypy executable:
Traceback (most recent call last):
  File "/home/eric/.vscode-oss/extensions/ms-python.mypy-type-checker-2023.4.0-universal/bundled/tool/lsp_server.py", line 102, in get_mypy_info
    first_line = result.stdout.splitlines(keepends=False)[0]
IndexError: list index out of range

2023-10-23 20:32:45.177 [info] [Trace - 8:32:45 PM] Received notification 'window/logMessage'.
2023-10-23 20:32:45.177 [info] [Error - 8:32:45 PM] Linting failed with error:
Traceback (most recent call last):
  File "/home/eric/.vscode-oss/extensions/ms-python.mypy-type-checker-2023.4.0-universal/bundled/tool/lsp_server.py", line 187, in _linting_helper
    version = get_mypy_info(settings).version
AttributeError: 'NoneType' object has no attribute 'version'

It works again if either mypy is installed in the environment or if import strategy is changed to useBundled.

@Morikko The initial part of the logs should have a sys.path. can you share that?

We need to add a check if we can load mypy from environment. Currently we don't add the fallback, since we have to use PYTHONPATH to include the fallback path. If we add it before checking then python will always load the bundled mypy, even when using fromEnvironment.

2023-10-23 20:33:02.025 [info] sys.path used to run Server:
   /home/eric/OneDrive/Projects
   /home/eric/.vscode-oss/extensions/ms-python.mypy-type-checker-2023.4.0-universal/bundled/libs
   /home/eric/.vscode-oss/extensions/ms-python.mypy-type-checker-2023.4.0-universal/bundled/tool
   /home/eric/.pyenv/versions/3.10.12/lib/python310.zip
   /home/eric/.pyenv/versions/3.10.12/lib/python3.10
   /home/eric/.pyenv/versions/3.10.12/lib/python3.10/lib-dynload
   /home/eric/.local/lib/python3.10/site-packages
   /home/eric/.pyenv/versions/3.10.12/lib/python3.10/site-packages

If any advice can be provided on the implementation I can give an attempt.
I think my perspective of Done would at least include:

Message pop-up to user if mypy was not found with reason.

Hey guys,
just wanna add my report here.
VSCode: 1.86.2
Extension: 2023.6.0
Import Strategy: fromEnvironment
Windows 11, Python 3.11

When using fromEnvironment with a Py3.11 Environment without Mypy installed, the extension throws lots of tracebacks/errors. Fallback to bundled Mypy fails, there is no reporting/checking.
When using useBundled, the extension seems to work fine.

See both full logs of a restart. Hope this gets fixed soon... :)
vscode-mypy-from-environment.log
vscode-mypy-use-bundled.log
Kind Regards,
Martin


How to build pixi 5 without canvas2d?

I found the default branch dev is point to  v5.
I think it's time to learn v5.
the first question , How to build pixi 5 without canvas2d?

@finscn if you have any questions about this, reach out to me on Slack.


Update hololens-known-issues.md

OPS Build status updates of commit 3b39ca6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/hololens-known-issues.md
:white_check_mark:Succeeded
View

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


Disable/Hide the button once the game is started

Currently the play button persists even if the game has begun. This is unnecessary when the game is begun.

Thank you @HashirGJ8842 . Would you like to work on it?

Go ahead, if you wish, you can assign it to me👍.

All the best :+1:


Use css flexbox for sticky footer.

:+1:

@ogizanagi Can you provide a screenshot of how it would look like then?

:+1:

Awesome! this is what I always wanted to do ... but never know how to do it. Thanks @ogizanagi


Roll Flutter Engine from e3fe6dade964 to f4fbbe38c5dd (3 revisions)

https://github.com/flutter/engine/compare/e3fe6dade964...f4fbbe38c5dd
2023-02-03<EMAIL_ADDRESS>Roll Skia from a4079ec4c399 to ee68f3edfa96 (1 revision) (flutter/engine#39355)
2023-02-03<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from pWloCaRzjLEAUvQEz... to CAyoT0SrHHyXCMF31... (flutter/engine#39354)
2023-02-03<EMAIL_ADDRESS>[impellerc] sort uniforms on metal backend (flutter/engine#39345)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from pWloCaRzjLEA to CAyoT0SrHHyX
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC bdero@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Not working, is there any library changes?

I'm currently trying to use your code and it's not working, it says "ethernet shield not found".
Are any library changes that you did?

Hi Bolofofopt,
Nope!  There haven't been any changes to this project in 5 years  (Wow! has it really been that long?!?!).
There is no reference in my code to the word "shield", so your error isn't coming directly from the code (but may be coming from the Arduino framework).
With -any- message suggesting a communications error between the ESP32 and W5500 though, the problem has generally proven to be a cabling issue in the vast majority of cases ...so, first make sure you have a good solid power and ground connection between your ESP32 and W5500 board.  Next, take a known-good jumper cable and use it to replace each of the cables in your inter-wiring, one-by-one (and obviously, power down both boards while you re-make the connections).
If you're still having problems, please get back with a copy of the actual error message, let us know exactly which ESP32 and W5500 modules you're using and provide a good, clear photo of your set-up.
Good luck and please let us know how it goes,

Heelo, thanks for the response. Using your example and library code, just copy and paste, it gave a lot of errors so I tried to adapt the code because a lot of funtions and stuff was giving straight up errors, I will try to solve the issue and because of the errors it gave me just with coping the code I will try another library. Thanks a lot for the response and I'm sorry for wasting your time!


Incorporate NOAA internal review comments

Make changes as appropriate using feedback from:

[x] Ian
[x] Owen

finished with these so closing


Request: Log the copyright-blocked error

Checklist

[ X] I'm reporting a feature request
[ X] I've verified that I'm running youtube-dl version 2019.11.22
[ X] I've searched the bugtracker for similar feature requests including closed ones

Description

I am trying to download the enitire channel:
youtube-dl  -v -i -f mp4 --yes-playlist https://www.youtube.com/playlist?list=UUep6EY7zkjn7uYSEqJktnhA > log.txt
At some point I get the following message in the cmd
youtube_dl.utils.ExtractorError: This video contains content from WMG, who has blocked it on copyright grounds. Sorry about that.
I stopped the download by closing the application. Log.txt attached.
My question is: exactly what video failed to download because of the copyright block? I dont see any clues ion log.txt. Can you please add that info to Log.txt? I want to know which video I need to download manually.
log.txt

You must also redirect stderr to file.
Failed video is #3.


Multiarch images

Builds in GitHub Actions warned that the SHA's in the Dockerfile referenced AMD version when building the ARM versions.
This pull request changes the PHP images to references a multiarch SHA and thus avoids that complaint.
The increases the build time of the ARM images dramatically! They used to build in 3–4 minutes, but now it takes 35–45 minutes! I have no clue why. The AMD images still build in 3–4 minutes.
To mitigate the long build time, I introduced caching of docker layers (based on https://docs.docker.com/build/ci/github-actions/cache/). A cached rebuild is now down 3–4 seconds.
I also reordered some instructions in the Dockerfile so that we'll be able to reuse the cached layers more often (when updating the Blackfire CLI and the composer CLI) and only suffer the long build time when we update the base PHP images.
The Dockerfile still references AMD image SHA's for the Blackfire CLI, the composer CLI, and the mlocati/php-extension-installer CLI.
Those are updated by @dependabot, and I haven't figured out if we can make Dependabot use the multiarch SHA's.

We can probably lower the ARM build time by creating an ARM-based runner: https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/


TIGRE plugin for parallel geometry

closes #736
closes #1007
This property (ag.system_description) examines the geometry and returns 'simple' 'offset' or advanced'.
This allows TIGRE to be wrapped for parallel geometries where the rotate axis is parallel to the detector, and the detector is perpendicular to the ray direction.

closes #821


Add utf-8 encoding for reading test.txt

When I ran test.py I got this error :
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 255: character maps to <undefined>

And it is caused by using non-ASCII characters like Persian characters

I sorta assumed UTF-8 is the default encoding for everyone, but apparently not! Doesn't seem to hurt to explicitly specify it. Thanks for the PR.


Bug: Automatic mode does not work

Affected Device(s):
Itel mobile Android 6.1
Describe the Bug:
When the app automatic dark mode is set to a certain time, it does not work. I tried this multiple times, and I was facing the same issue.
To Reproduce:

Launch the app
Go to settings
Click on the UI
Set the automatic mode and set time.

Expected Behavior:
I expected that the app should change to dark mode automatically when it reaches the time I set.
Recording Of The Bug
https://youtu.be/uDKLr7M6CcE

You need to flip the top "Dark mode" switch, too. The automatic one alone doesn't do it.


fix(deps): update module dagger.io/dagger to v0.10.1

This PR contains the following updates:

Package
Change
Age
Adoption
Passing
Confidence

dagger.io/dagger
v0.10.0 -> v0.10.1

Release Notes

dagger/dagger-go-sdk (dagger.io/dagger)
v0.10.1
Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version v0.10.1. See what changed in that release.
🐹<EMAIL_ADDRESS>Dependencies

Bump Engine to v0.10.1 by @github-actions in https://github.com/dagger/dagger/pull/6826

What to do next

Read the documentation
Join our Discord server
Follow us on Twitter

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

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


yarn/docker issue

The following error is yielded when runing yarn dev:setup
I'm using a macO S12.3.1
the neares pacakage directory (../vector-admin/frontend) doesn't seem to be part of the project declared in (../vector-admin)
and when trying to run 'docker-compose' comand, it naturaly yields
failed to solve: failed to compute cache key: failed to calculate checksum of ref moby::g7wxfdpmli2jkowdsir0lph1k: "/frontend/yarn.lock": not found

Also for some reason the discord link is not working for me

not sure if related, but here:
❯ yarn dev:setup
yarn run v1.22.10
warning ../../package.json: No license field
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=18". Got "12.22.4"
error Commands cannot run with an incompatible environment.

Running mac OS 11.7.8

@julianmorenomotta The discord link in the Readme?
Also what node version are you on? You can also just remove the yarn lockfile and then cd frontend && yarn install

not sure if related, but here:
❯ yarn dev:setup
yarn run v1.22.10
warning ../../package.json: No license field
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=18". Got "12.22.4"
error Commands cannot run with an incompatible environment.

Running mac OS 11.7.8

Not related, but you should be on Node 18+ as specified in the .nvmrc I believe the package.json at root is pegged only to 18.0.0. I am using 18.13.1

do you maybe have a newer version than yarn v1 installed?

@julianmorenomotta The discord link in the Readme?
Also what node version are you on? You can also just remove the yarn lockfile and then cd frontend && yarn install

Yeah, but can figure out why. Now it worked.


Fix variable name error

return {
      increment: Observable.just(increment$),
      decrement: Observable.just(decrement$),
      count: count$
}

instead of
return {
      increment: Observable.just(increment$),
      decrement: Observable.just(decrement$),
      count
}

in rx-recompose Readme demo.

Current coverage is 99.55%

Merging #82 into master will not affect coverage as of c6ad727

@@            master     #82   diff @@
======================================
  Files           41      41
  Stmts          227     227
  Branches         0       0
  Methods          0       0
======================================
  Hit            226     226
  Partial          0       0
  Missed           1       1

Review entire Coverage Diff as of c6ad727

Powered by Codecov. Updated on successful CI builds.

Thanks!


Add new tier and sku - Standard_Basic for Application Gateway

ARM API Information (Control Plane)
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo.  If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[x] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.

Contribution checklist (MS Employees Only):

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[ ] Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.

@qiaozha,  could you check why there are a couple breaking changes in JS SDK？

@lirenhe PLEASE let's be careful with such PRs directly to master. Can you please ask my approval for such cases?
Can we implement some job to notify me/add some other requirement?
@amperugu please deliver your changes for 2022-09-01 branch as well and please follow our process strictly.
Overwise your changes can be overwritten in the upcoming API versions

@lirenhe PLEASE let's be careful with such PRs directly to master. Can you please ask my approval for such cases?
Can we implement some job to notify me/add some other requirement?
@amperugu please deliver your changes for 2022-09-01 branch as well and please follow our process strictly. Overwise your changes can be overwritten in the upcoming API versions

@MikhailTryakhov, this PR is modifying a previous version with minor update so I expected this to be a bug fix.
Do you mean you are the required reviewer for every NRP change merged into main?  cc @raych1 for the process improvement.


Fix COLCON_WORKSPACE path in colcon utils

Well, I'm annoyed that this simple feature has caused about 6 PRs already, but there was one other bug I missed. As usual, it slipped under the radar when I was testing cb / ct on the ros2_ws image, but in the backend or other places with the overlay workspace it was always going to the base workspace.
To prevent unexpected behaviour, the default usage will still require you to cd into the appropriate workspace (overlay or underlay). When building overlay packages, the -c | --cd flag can be supplied to cb or ct so you can build from any directory.
@buschbapti @domire8

Yeah I was going to let you know about that. But I still don't get what the expected usage would be. Can I now from any directory build any package of any workspace with cb package_name ?

Can I now from any directory build any package of any workspace with cb package_name ?

Yes, but only if you supply that extra -c | --cd flag. Unfortunately it doesn't work for packages in underlay workspaces like I originally hoped. It's a minor time-save but if you are in a container at ~/applications and you want to rebuild a local component, you can just do cb --cd <package> instead of cd ../workspace && cb <package> && cd ../applications

Okay...the downside of those changes is that you cannot do cb in the underlay workspace anymore which was quite nice because it was doing packages-select automatically.

Well that's why I added the extra flag. If you manually cd to the underlay, you can still to cb modulo_components as usual. It's just that we can't automatically do it from anywhere.
To summarize:

If you are in a workspace, you can do cb or cb <package_1> [<package_2> ... ]
If you are in another directory and want to build a package in the overlay workspace, you can do cb -c or cb -c <package_1> [<package_2> ... ]
If you are in another directory and want to build a package in the underlay workspace, you have to manually cd to that workspace before doing step 1

Ah perfect then!


fastfetch: init at 1.5.6

Description of changes
Added fastfetch, essentially a faster version of neofetch.
Source/Homepage: https://github.com/LinusDierheimer/fastfetch
Closes #176799.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg eval

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/524

That sounds definitely like it would need patching.

Fastfetch dynamically loads needed libraries if they are available.

These extra modules will likely not work. Have you tested any of these extra modules? Is the plan to just not provide these modules and leave it up to people to override fastfetch as necessary?

That sounds definitely like it would need patching.

@06kellyjac @SuperSandro2000 I checked the code, it seems to be using dlopen without hardcoded paths. If I understood it correctly, dlopen should automatically handle this? Also I tried it on my system and it seemed to work properly without any patching.

dlopen isnt going to do anything unless patched. NixOS doesnt have dynamic libs in /lib
E.g.
https://nixos.org/manual/nixpkgs/stable/#setup-hook-autopatchelfhook

fastfetch may be working but did you try an optional module? Or are you on a different distro that has some of these dynamic libs available?

Sorry my bad, it was using cached values (which it obtained when I was testing the app inside nix-shell). Should I use autoPatchelfHook like this:
  nativeBuildInputs = [ autoPatchelfHook cmake pkgconfig ];

  runtimeDependencies = [ pciutils ];

  buildInputs = runtimeDependencies;

or should I create a wrapper for it which sets LD_LIBRARY_PATH? Which one is more preferable? @06kellyjac

autoPatchelfHook only works with shared objects which appear in ldd. Most likely dlopen libraries are not appearing there.
LD_LIBRARY_PATH can be impure if used wrong. In a wrapper of a cli tool that does not exec other things it should be fine though.

Preferably, I guess it would be the best if we don't install them as dependencies? Since they're optional modules?

We could add option for each of them or just add all by default if they are not to big.

Maintainer of fastfetch here. I just stumbled across this merge request, and first of, thanks for considering fastfetch for your repository!
The way fastfetch works is that if it is compiled with support for a library, it uses dlopen / dlsym at runtime. According to the linux man page, dlopen checks every directory listed in LD_LIBRARY_PATH before proceeding to the standard directories (/usr/lib, /lib, /usr/lib64, /usr/local/lib, ...).
If NixOS doesn't have its shared libraries in one of those standard directories, and LD_LIBRARY_PATH doesn't contain the right directory, i am happy to patch fastfetch to work anyway. Shouldn't be too hard, because i already wrap dlopen, so i only would need to change it in one place.
About the compile flags, they should usually all be enabled. Compiling with support for librpm.so for example doesn't mean, that librpm.so has to be present at run or compile time (the headers must be at compile time tho), just that it will try to dlopen it at runtime. They are mainly there for Gentoo, where users compile their own packages, and decide the feature support at compile time (use flags). If packaged for a repository, it only makes sense to disable features that 100% will never be needed, e.g. librpm.so support for the arch linux package. Executable size is just barely impacted by it.
I don't really know how Nix works, but together i am sure we will make fastfetch work with it.

Ping

@LinusDierheimer Sorry, I've been a bit preoccupied with work lately. I'll try to finish this PR by next week.

Very cool, although having every module does make it a bit bulky.
It would be a bit more maintenance overhead buy what do you think about adding some configuration arguments.
E.g.
enableXModule ? true
enableYModule ? false
And then a bunch of lib.optionals
Im not sure what the default modules should be

Strange bug with this PR. An extra M character is added to output of nixos-version command.

I'm very skeptical that M is added by this PR

Maybe this is an incomprehensible glitch on a test virtual machine. As soon as I removed the patch, the error disappears after rebuilding the system.

@06kellyjac @SuperSandro2000 I've added some default modules based on which ones aren't needed for core functionality + the size of those packages.
Here are the optional modules at the moment:
enableChafa ? false
enableImageMagick ? false
enableOpenCLModule ? true
enableOpenGLModule ? true
enableVulkanModule ? true
enableWayland ? true
enableX11 ? true
enableXFCE ? false

Is it possible to add an option programs.fastfetch.settings? In the latest revisions added support for global configuration.

When installing a package on system, folder /run/current-system/sw/share/fastfetch is not created. The share/fastfetch/presets folder contains necessary presets for fastfetch.

Is it possible to add an option programs.fastfetch.settings? In the latest revisions added support for global configuration.

What will it contain? I think I can add it later on, after this gets merged.

When installing a package on system, folder /run/current-system/sw/share/fastfetch is not created. The share/fastfetch/presets folder contains necessary presets for fastfetch.

If you are installing it user-wise and not on entire system, the folder is present in ~/.nix-profile/share/fastfetch/presets. I'm not sure about how it works when it's installed system-wide, though.

What will it contain? I think I can add it later on, after this gets merged.

Example:
  programs.fastfetch = {
  enable = true;
    settings = {
      color = "cyan";
      kernel-format = "{1} {2}";
      load-user-config = false;
    };
    structure = [ "Title" "Separator" "OS" "Host" "Kernel" ];
  };

Result:
--structure Title:Separator:OS:Host:Kernel
--color cyan
--kernel-format {1} {2}
--load-user-config false

If you are installing it user-wise and not on entire system, the folder is present in ~/.nix-profile/share/fastfetch/presets.

Yes, that's how it works.
If install from environment.systemPackages, then additional folders are not installed in system. What affects this, I could not understand. The folder structure is correct, for some reason share/fastfetch/share/neofetch is ignored.

If there was an env var to change the global fallback presets we could wrap the binary so every time it runs it points to XYZ_GLOBAL_CONFIG=somepath

If there was an env var to change the global fallback presets we could wrap the binary so every time it runs it points to XYZ_GLOBAL_CONFIG=somepath

@LinusDierheimer will this be possible for the default config (not user overridable config) only?

What will it contain? I think I can add it later on, after this gets merged.

Example:
  programs.fastfetch = {
  enable = true;
    settings = {
      color = "cyan";
      kernel-format = "{1} {2}";
      load-user-config = false;
    };
    structure = [ "Title" "Separator" "OS" "Host" "Kernel" ];
  };

Result:
--structure Title:Separator:OS:Host:Kernel
--color cyan
--kernel-format {1} {2}
--load-user-config false

Sounds good to me, I'll try implementing it.
===
Is this package working fine otherwise?

@Yureien at the moment, the number of installed packages is bad detected - https://github.com/LinusDierheimer/fastfetch/issues/195

will this be possible for the default config (not user overridable config) only?
I am against the idea of providing a config, that can't be changed by the user. What is wrong with putting it in /etc/fastfetch/config.conf? Starting with the next release, this file will be parsed.

And the presets aren't required, they can be loaded by --load-config if they exist. They are mainly there for convenience. I don't think it is too big of a deal, if they are missing from the initial package.

@Yureien released 1.6.0.

Released 1.6.1.
diff --git a/pkgs/tools/misc/fastfetch/default.nix b/pkgs/tools/misc/fastfetch/default.nix
index da7edfa9e42..483176258f4 100644
--- a/pkgs/tools/misc/fastfetch/default.nix
+++ b/pkgs/tools/misc/fastfetch/default.nix
@@ -31,13 +31,13 @@

 stdenv.mkDerivation rec {
   pname = "fastfetch";
-  version = "1.5.6";
+  version = "1.6.1";

   src = fetchFromGitHub {
     owner = "LinusDierheimer";
     repo = pname;
     rev = version;
-    hash = "sha256-OsK78irfO9r6pSEmlN6mFoKhQZgBqIYO8syj5AHH4IE=";
+    hash = "sha256-cWnGKBEnmioS6E/Ug2iRa7S/MpOp1cM3D31DKc/Heys=";
   };

   nativeBuildInputs = [ cmake makeWrapper pkg-config ];
@@ -66,6 +66,10 @@ stdenv.mkDerivation rec {

   LD_LIBRARY_PATH = lib.makeLibraryPath runtimeDependencies;

+  cmakeFlags = [
+    "-DCMAKE_INSTALL_SYSCONFDIR=${builtins.placeholder "out"}/etc"
+  ];
+
   postInstall = ''
     wrapProgram $out/bin/fastfetch --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
     wrapProgram $out/bin/flashfetch --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"

Is there still interest in trying to get this merged?

Update to 1.7.0 and apply review suggestions
{
  lib,
  stdenv,
  cmake,
  pkg-config,
  fetchFromGitHub,
  makeWrapper,
  # hard deps
  dbus,
  dconf,
  glib,
  pciutils,
  zlib,
  # soft deps
  enableChafa ? false,
  chafa,
  enableImageMagick ? false,
  imagemagick_light,
  enableOpenCLModule ? true,
  ocl-icd,
  opencl-headers,
  enableOpenGLModule ? true,
  libglvnd,
  enableVulkanModule ? true,
  vulkan-loader,
  enableWayland ? true,
  wayland,
  enableX11 ? true,
  libX11,
  libxcb,
  enableXFCE ? false,
  xfce,
}:

stdenv.mkDerivation rec {
  pname = "fastfetch";
  version = "1.7.0";

  src = fetchFromGitHub {
    owner = "LinusDierheimer";
    repo = pname;
    rev = version;
    hash = "sha256-sPCWsnBlAdEy8p/82myrPPUjkLqhybLppSJj3pxfLhQ=";
  };

  nativeBuildInputs = [ cmake makeWrapper pkg-config ];

  runtimeDependencies =
    [ dbus dconf glib pciutils zlib ]
    ++ lib.optional enableChafa chafa
    ++ lib.optional enableImageMagick imagemagick_light
    ++ lib.optional enableOpenCLModule ocl-icd
    ++ lib.optional enableOpenGLModule libglvnd
    ++ lib.optional enableVulkanModule vulkan-loader
    ++ lib.optional enableWayland wayland
    ++ lib.optional enableX11 libxcb
    ++ lib.optional enableXFCE xfce.xfconf;

  buildInputs =
    runtimeDependencies
    ++ lib.optional enableOpenCLModule opencl-headers
    ++ lib.optional enableX11 libX11;

  ldLibraryPath = lib.makeLibraryPath runtimeDependencies;

  cmakeFlags = [
    "-DCMAKE_INSTALL_SYSCONFDIR=${builtins.placeholder "out"}/etc"
  ];

  postInstall = ''
    wrapProgram $out/bin/fastfetch --prefix LD_LIBRARY_PATH : "${ldLibraryPath}"
    wrapProgram $out/bin/flashfetch --prefix LD_LIBRARY_PATH : "${ldLibraryPath}"
  '';

  meta = with lib; {
    description = "Like neofetch, but much faster";
    homepage = "https://github.com/LinusDierheimer/fastfetch";
    license = licenses.mit;
    platforms = platforms.linux;
    maintainers = with import ../maintainers.nix; [ spikespaz ];
  };
}

new release 1.10.3

when will we get a fastfetch package

when will we get a fastfetch package

I'm wondering as well right now I'm actually using a derivation for git fastfetch, but a package would be nice

Anyone still working on this?

fastfetch new release 1.11.0

Another pull request of fastfetch is merged.


Revamp images on IS 6.0.0 doc space

Is your suggestion related to a missing or misleading document? Please describe.
Redo the images on the following docs

https://is.docs.wso2.com/en/5.11.0/learn/configuring-the-policy-administration-point/
http://<IP_ADDRESS>:8000/references/extend/user-mgt/user-store-listeners/
http://<IP_ADDRESS>:8000/guides/identity-lifecycles/self-register-verification/

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


[Hotfix] Add WIL to common-md-flag nuget packages

Summary of the Pull Request

This should solve the solution not compiling issue.
Added the Microsoft.Windows.ImplementationLibrary nuget package to the common-md-flag project.

References

PR Checklist

[x] Applies to #xxx
[x] CLA signed. If not, go over here and sign the CLA

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

The PowerToys solution should build and run.
This doesn't fix the MSI build problems.

@traies : How was this working before?

The common-md library didn't need the nuget packages because it only uses a few of the files from common, which used to not include the wil headers. The latest commit added an #include <wil\resource.h> line, which causes this problem in common-md


status command should say no status to report if none found.

This would help with beginners. Kind of like 'this page intensionally left blank'.

done.


Update CONTRIBUTE document

Would probably benefit from @nippoo's proof-reading. :)

Ready for review/merge @nippoo.


What's the reason for the appid-uses-code-hosting-domain warning?

I understand, that a Homepage should be used as App ID instead of the code hosting platform, if one exists. But many Apps did not have one, so they just use the code hoster as App ID. Why did this throw a warning? It's the only valid App ID in this cases. flatpak-builder-linter should never throw a warning (even if it is a warning and not a error) on a valid App ID.

it should be io.github and not com.github. This is what the documentation says too.

io.github makes IMHO no sense, if the App has no page on github.io. And what should be the App ID for GitLab, where I (currently) host my code?

GitLab.com uses gitlab.io for user-provided websites.

I am running into the same problem now that I am trying to push an update via pull request. Makes sense, yes, but the question I have is why then this did not popped up on the app submission test build?
What happens if I change the app id now? :)

This might have been a bad timing with your submission, as I whitelisted almost all offending apps. Could you open a PR to https://github.com/flathub/flatpak-builder-lint/blob/master/flatpak_builder_lint/staticfiles/exceptions.json with the affected ID?

I can but I am already moving all internal namespaces from com.github.* to io.github.*. The only thing left unchanged is the name of the manifest itself.
If you tell me this is going to work there is no need to add an exception. If you see any problem(s) in this approach I'll revert and open the PR as you seuggested.

The rename process requires resubmitting your application as the ID is tied to the repository name. You'll also need to migrate existing users with end-of-life and end-of-life-rebase as documented at https://github.com/flathub/flathub/wiki/App-Maintenance#end-of-life.

Yes, this needs whitelisting either way.

PR opened as suggested. Thank you.


Rename opuswriter to oggwriter

opuswriter has been renamed to oggwriter.
Reference issue
upstream renamed by https://github.com/pion/webrtc/pull/789

Thanks for catching this!


Light icons in Dark mode

Some OS support dark mode, Windows 11 seems to do not 🫤
So I had to revert #353
@serpent213 Would you mind submitting a new PR and check if using .IsUsingDarkBackground() instead of .IsDark() is working for you as well?
For me it works ob Windows 11
.IsDark()  returns True and  .IsUsingDarkBackground()  returns False

.IsDark() returns True and .IsUsingDarkBackground() returns False

Software development is fun, isn't it?  😉
.IsUsingDarkBackground() works for me. Opened #359.

Software development is fun, isn't it? 😉

Especially software that involves wx 😅


DX12?

Is there a DX12 version of this?

I got one version Local. Gonna publish it later.

Gonna publish it later.

Thank you :) Cant wait

me when this never get published


allow opening of files in webview

If a URL is entered as a command, that URL is loaded in a webview. This PR will allow the file protocol file:// to also be considered as a URL. This will allow you to open images, videos, music and more right inside the webview.
By adding non-capturing groups to the url-regex.js file, this made the url-command.js simpler.
This also fixes #304

😍
Thanks @cuth. You might also want to take a look at tackling the issue related to IPs and ports ;)

This should also fix #97 and #98 because any string that begins with http://, https://, file:// or // is recognized as a URL and doesn't use the domain regex test.
Also, just note that the default background color the webview is black so if all you have on the webpage is black text, you will not see anything.


test.util dependency should always be test scope

The test.util module is only intended for use in tests. However several modules have a compile scope dependency on it. This is incorrect. Dependency scope for test.tutil should always be test. Result is project which are shading gateway jars to form composite jars are incorrectly including the test.util.jar classes. Modules with this fault include:

transport/spi
transport/nio
transport/ws

I have a fix available in my issue_676_test_util_scope. Just need to check I didn't miss any modules.

Verified all usages in gateway have been corrected, and there are no invalid usages in enterprise.gateway.


⚠ ClamAV has degraded performance

In 9f0f12c, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 69 ms

Resolved: ClamAV performance has improved in f87fb87.


You left the Forums

Greetings CEO-Chair, We are sorry to see you have left the Forums Community (Terraform)
Here are the most frequent commonly asked Questions:

Will you ever return to raid the Forums?
Are you going to start raiding servers?
Are you building up a small community of server raiders?
Do you now affiliate with people who raid servers?
Did you release your Terraria Client so other people can raid servers?
Is the 'Headless' Client's Intent now for raiding servers?

No
No
No
No
No
No
The reason I left Terraform's discord server is because I left every server I was in

awesome issue!


Example of converting an isyntax-to-tiff operation

Hi!
First of all thank you for the library! I would like to ask if you can post an example of opening an isyntax file an exporting it to tiff (there is one open sourced here). I tried to do it but the library didn't work as expected - any help will be very much appreciated it!
Thank you!

Steps
⚙ System: MacOS M1
Build / compile lib:
mkdir build
cd build
cmake ..
make

Download example isyntax test file:
wget https://gitlab.com/BioimageInformaticsGroup/openphi/-/raw/master/tests/testslide.isyntax\?inline\=false

Usage:

✅ Open isyntax with the isyntax_example: ./isyntax_example testslide.isyntax

Successfully opened testslide.isyntax
print_isyntax_levels: wsi_image_idx=0
print_isyntax_levels: i=0
print_isyntax_levels: libisyntax_level_get_scale(level)=0
print_isyntax_levels: libisyntax_level_get_width_in_tiles(level)=256
print_isyntax_levels: libisyntax_level_get_height_in_tiles(level)=384
print_isyntax_levels: i=1
print_isyntax_levels: libisyntax_level_get_scale(level)=1
print_isyntax_levels: libisyntax_level_get_width_in_tiles(level)=128
print_isyntax_levels: libisyntax_level_get_height_in_tiles(level)=192
print_isyntax_levels: i=2
print_isyntax_levels: libisyntax_level_get_scale(level)=2
print_isyntax_levels: libisyntax_level_get_width_in_tiles(level)=64
print_isyntax_levels: libisyntax_level_get_height_in_tiles(level)=96
print_isyntax_levels: i=3
print_isyntax_levels: libisyntax_level_get_scale(level)=3
print_isyntax_levels: libisyntax_level_get_width_in_tiles(level)=32
print_isyntax_levels: libisyntax_level_get_height_in_tiles(level)=48
print_isyntax_levels: i=4
print_isyntax_levels: libisyntax_level_get_scale(level)=4
print_isyntax_levels: libisyntax_level_get_width_in_tiles(level)=16
print_isyntax_levels: libisyntax_level_get_height_in_tiles(level)=24
print_isyntax_levels: i=5
print_isyntax_levels: libisyntax_level_get_scale(level)=5
print_isyntax_levels: libisyntax_level_get_width_in_tiles(level)=8
print_isyntax_levels: libisyntax_level_get_height_in_tiles(level)=12
print_isyntax_levels: i=6
print_isyntax_levels: libisyntax_level_get_scale(level)=6
print_isyntax_levels: libisyntax_level_get_width_in_tiles(level)=4
print_isyntax_levels: libisyntax_level_get_height_in_tiles(level)=6
print_isyntax_levels: i=7
print_isyntax_levels: libisyntax_level_get_scale(level)=7
print_isyntax_levels: libisyntax_level_get_width_in_tiles(level)=2
print_isyntax_levels: libisyntax_level_get_height_in_tiles(level)=3

❌ Convert isyntax to tiff with the isyntax-to-tiff: ./isyntax-to-tiff testslide.isyntax out.tiff  --tile-size 512 --compression JPEG --quality 90 --cache-size 1G

[...]
Progress:  10% | Page 0 progress:  14% | ETA: 55sJPEGLib: Application transferred too few scanlines.
Progress:  10% | Page 0 progress:  14% | ETA: 55sJPEGLib: Application transferred too few scanlines.
Progress:  10% | Page 0 progress:  14% | ETA: 55sJPEGLib: Application transferred too few scanlines.
Progress:  10% | Page 0 progress:  14% | ETA: 55sJPEGLib: Application transferred too few scanlines.
Progress:  10% | Page 0 progress:  14% | ETA: 55sJPEGLib: Application transferred too few scanlines.
Progress:  10% | Page 0 progress:  14% | ETA: 55sJPEGLib: Application transferred too few scanlines.
[...]

I tried to reproduce the issue, but for me this error doesn't appear on macOS M1.
I suspect the issue might be a bug related to libtiff (and/or libjpeg) - which version of libtiff are you linking? (For me, it's 4.5.0).

@Falcury indeed I had some issues with libtiff.5; I used the libtiff.6 by "link" as libtiff.5 and worked. Thank you!

It seems the problem mentioned above with the error message JPEGLib: Application transferred too few scanlines can also occur on Ubuntu 22.04.
It seems to be due to a bug in (some versions of?) libtiff. As it only seems to occur when converting to the YCbCr color space, a workaround may be to convert using the RGB color space instead.


Two-stage src-stats

This adds the feature of running every src-stats in two stages, first a regular query and then an optional DP query. The config file format has changed respectively. Various other small fixes may be included that I did on the way.
@Olajumoke01 feel free to comment on any parts, but could you please in particular check out the changes I've made to the tutorial to see if they seem good to you?

The tutorial looks really good, I like all the extra detail.

LGTM. Can't think of anything else to add!


Remove the replace of the k8s library

Slowly working through go mod upgrades to the k8s package
In this edition, we bump autorest and remove the replace to the custom k8s version and back to mainline

@lukemarsden This builds locally, is there a testfaster cache we need to blow out here?

try bumping this hash to the commit on your branch https://github.com/pachyderm/pachyderm/blob/remove-k8s-replace/.testfaster.yml#L63


fix: export feature and update packages

fix #41.

Let me merge this for now. It might be a upstream issue, and there might be a better workaround. Feel free to suggest improvements.


Not showing output even model achieved 93 % validation accuracy

Hi, Thanks for the code. I trained this model with 93% accuracy but still model did not give any output.

I have same issue. It will be fixed soon.

okay good to hear it. The issue caught because of preprocessing might be, I tried many things but still not able to get outputs.

I think the accuracy metric is incorrect on this domain(pose estimation). I'm sorry for providing incorrect information and this project needs new metric calculations like<EMAIL_ADDRESS>

Sorry for reply late.
Here is<EMAIL_ADDRESS>result.
https://github.com/tucan9389/tf2-mobile-pose-estimation/issues/39
Thank you.


[Bug?] useMMKVStorage hook with prevState parameter is null on first run (no values in storage)

Describe the bug
It seems like prevState is not set to the default value passed to useMMKVStorage hook. Only happens on the first run when there haven't been any values set. Example:
Expected behavior
const [stateObject, setStateObject] = useState({ enabled: true, for: 'id-123'});

const handleState = () => {
   setStateObject((prevState) => {
      console.log(prevState) // { enabled: true, for: 'id-123'}
   })
}

Actual behavior
// useStorage == wrapper for useMMKVStorage like in docs
const [stateObject, setStateObject] = useStorage('KEY', { enabled: true, for: 'id-123'});

const handleState = () => {
   setStateObject((prevState) => {
      console.log(prevState) // null - we want default object
   })
}

Possible fix
I am not sure about the implementation behind useMMKVStorage, but this seems to be caused by getInitialValue in functions.js.
export const getInitialValue =
  ({ key,storage,kindValue }) =>
  () => {
    if (!storage?.indexer) {
      return null;
    }
    let indexer = storage.indexer;
    if (indexer.hasKey(key)) {
      for (let i = 0; i < types.length; i++) {
        let type = types[i];
        if (indexer[methods[type].indexer].hasKey(key)) {
          if (kindValue === "value") {
            return storage[methods[type]["get"]](key);
          }
          if (kindValue === "valueType") {
            return type;
          }
        }
      }
    }
    return null; // <-- HERE?
  };

Passing defaultValue into here instead of null would result in the object getting returned. Like this:
export const getInitialValue =
  ({ key,storage,kindValue, defaultValue }) =>
  () => {
    if (!storage?.indexer) {
      return null;
    }
    let indexer = storage.indexer;
    if (indexer.hasKey(key)) {
      for (let i = 0; i < types.length; i++) {
        let type = types[i];
        if (indexer[methods[type].indexer].hasKey(key)) {
          if (kindValue === "value") {
            return storage[methods[type]["get"]](key);
          }
          if (kindValue === "valueType") {
            return type;
          }
        }
      }
    }
    return defaultValue;
  };

I am not sure if this causes any side effects. You would know this best. If it's okay I can open a pull request with the changes.

@aLemonFox You are right. The fix is simple. Just needed to pass defaultValue as param if value is null in nextValue function.
updatedValue = nextValue(prevValue.current || defaultValue);

I have fixed it on master. Give it a try.
yarn add https://github.com/ammarahm-ed/react-native-mmkv-storage.git

Let me know if it works as expected so I can push a new release

@aLemonFox You are right. The fix is simple. Just needed to pass defaultValue as param if value is null in nextValue function.
updatedValue = nextValue(prevValue.current || defaultValue);

I have fixed it on master. Give it a try.
yarn add https://github.com/ammarahm-ed/react-native-mmkv-storage.git

Let me know if it works as expected so I can push a new release

Perfect, it seems to work fine now.


Tools

Tools
Mapping

https://realtimeboard.com
https://te-st.ru/entries/whimsical-tool/amp/
https://whimsical.co/flowcharts/

Tools / Environment

https://yarnpkg.com/en/docs/cli/run

Extended

WEBPACK
GULP
https://github.com/pugjs


Feature/improved dispensers for issues #294

For issues #294 ;)
TO-DO-LIST :

[x] change the icon for buying a coffee so that it matches the design of the other icons on this dispenser

[x] add icon for chips in the eat dispenser

[x] add icon for zwix  in the eat dispenser

[x] add cans in the drinks dispenser (icons, items, imgs, actions)

https://cdn.discordapp.com/attachments/668549621852798986/1183027613292298381/Replay_2023-12-09_13-48-28.mp4?ex=6586d752&is=65746252&hm=60a2810f1a6c51e13e0ac0f8b126dc6d70a515b3cf078ef994d0009b602de2d1&

Thanks. <3


✨ Repositories list tags and remotes

Description
It would be useful to be able to display the list tags and remotes.

CE
Xcode
Xcode

Alternatives Considered
No response
Additional Context
No response
Screenshots
No response

We are listing remotes. We need tags and recent locations. Because these are really two separate isues, please open an issue for each one of these.


Make step-counter optional in nz-input [type=number]

What problem does this feature solve?
I hope this message finds you well.Currently, there is a step counter implemented in the input field [when we allow " type=number" ], allowing users to increment or decrement the number. However, we would like to make this step counter optional, giving developers the flexibility to choose whether to use it or not.
What does the proposed API look like?

I have introduced the "stepCounterEnabled" variable, which can be set to true or false based on your requirements or any user-defined conditions. When stepCounterEnabled is true, the step counter will be enabled, allowing users to increment or decrement the number. On the other hand, when stepCounterEnabled is false, the step counter will be disabled.

@syamsmenon1  ?

Thank You For Reply.
yeah , i have used html input classic with the directive nz-input and the type number

Thank You For Reply. yeah , i have used html input classic with the directive nz-input and the type number.

Hey @syamsmenon1 this PR: #8003 normally implement your request.
Happy coding, and thanks for reporting

Thank you so much for letting me know about PR: #8003.
Happy coding to you too, and thanks again for your swift action on this.


"Relationship lines in Editor" setting is not working

Hi,
"Relationship lines in Editor" setting is not working meanwhile "Relationship lines in Preview" setting is working

Relationship lines is in the process of being removed from Minimal. Please install Indentation Guides plugin.

Thank you for the confirmation~


Clarify and check O&M costs for dispatchable sources

There is some confusion about the numbers provided by Alliander:

Are the investment costs given in EUR/MW or EUR/MWh? The latter (as it is written in the Excel) does not make sense as the capacity factor the dispatchables is unknown
Are the yearly O&M costs quoted fixed or variable (or the sum)?

If they are fixed, should the unit not be EUR/MW?
If they are variable/sum: could we also get a specification of fixed O&M costs in EUR/MW?

The new 'correction' by Machiel has resulted in the following values:

I am still confused about the EUR/MW unit for investment costs and O&M costs of must-run (altijd aan) sources. I think that EUR/MWh would be more useful/logical.

Update: Machiel is on holiday untill 10th of July. I forwarded the question to him, but getting the answer will take a while.

Machiel's answer: the fact that a heat source is always turned on does not mean that the heat it produces is always being used (completely). So the biggest part of the investment and O&M costs are independent of the use of the heat of the must-run heat sources. The costs that are strongly related to the heat use of the must-run source these can be added in the marginal costs.

@ChaelKruip rang me about this. I forwarded the question to a heat expert at Liandon and included Chael in that e-mail so the heat expert and Chael can communicate directly about this issue.
Including @MarjoleinSchwachofer

Machiel has provided us with numbers for the must-run part of the central heat network:

Investment costs: 0.016 -- 0.50 €/kWh
Yearly O&M costs: 0.00032 -- 0.02  €/kWh
Marginal costs: 0 -- 0.025 €/kWh

I will take the upper limit for the numbers quoted above as not to paint a picture for heat networks which is too optimistic by default.
With  https://github.com/quintel/etmoses/commit/e9e5492e536e24f4bd40079085badbc091be9eab I close this issue.