HBASE-27806 Addendum fix error prone error

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 18s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
3m 35s
branch-2 passed

-1 :x:
compile
1m  5s
hbase-server in branch-2 failed.

+1 :green_heart:
checkstyle
0m 37s
branch-2 passed

+1 :green_heart:
spotless
0m 43s
branch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
1m 54s
branch-2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 25s
the patch passed

+1 :green_heart:
compile
2m 25s
the patch passed

-0 :warning:
javac
2m 25s
hbase-server generated 98 new + 97 unchanged - 2 fixed = 195 total (was 99)

+1 :green_heart:
checkstyle
0m 34s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
17m 34s
Patch does not cause any errors with Hadoop 2.10.2 or 3.2.4 3.3.4.

+1 :green_heart:
spotless
0m 41s
patch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
1m 34s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 12s
The patch does not generate ASF License warnings.

36m 39s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5214/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5214

Optional Tests
dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile

uname
Linux 80a3a02ed4b2 5.4.0-144-generic #161-Ubuntu SMP Fri Feb 3 14:49:04 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / b776c121d0

Default Java
Eclipse Adoptium-11.0.17+8

compile
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5214/1/artifact/yetus-general-check/output/branch-compile-hbase-server.txt

javac
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5214/1/artifact/yetus-general-check/output/diff-compile-javac-hbase-server.txt

Max. process+thread count
84 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5214/1/console

versions
git=2.34.1 maven=3.8.6 spotbugs=4.7.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m  0s
Docker mode activated.

-0 :warning:
yetus
0m  4s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
2m 57s
branch-2 passed

+1 :green_heart:
compile
0m 40s
branch-2 passed

+1 :green_heart:
shadedjars
4m 12s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 27s
branch-2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 42s
the patch passed

+1 :green_heart:
compile
0m 41s
the patch passed

+1 :green_heart:
javac
0m 41s
the patch passed

+1 :green_heart:
shadedjars
4m 12s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 25s
the patch passed

_ Other Tests _

-1 :x:
unit
217m 16s
hbase-server in the patch failed.

239m 14s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5214/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5214

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 2b3b6430733e 5.4.0-137-generic #154-Ubuntu SMP Thu Jan 5 17:03:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / b776c121d0

Default Java
Temurin-1.8.0_352-b08

unit
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5214/1/artifact/yetus-jdk8-hadoop2-check/output/patch-unit-hbase-server.txt

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5214/1/testReport/

Max. process+thread count
2309 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5214/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Discussion: Improving the API

Hi, I would like to start a discussion about improving the MAVLink API. I frequently come across situations which are (at least with my knowledge) not easy to solve using this library.
Subscribing to a specific message
Often I want to receive a certain message somewhere in the code. This is a key feature in order to not have this one huge match statement where each and every message is processed. For this, it would be very nice to be able to subscribe to a message. I imagine an API like this:
impl MavConnectionHandler {
  subscribe(&self, message: MavMessage)->std::sync::mpsc::Receiver<MavMessage>
  subscribe_once(&self, message: MavMessage)->std::sync::mpsc::Receiver<MavMessage>
  // call frequently to do the housework
  spin(&self);
}

Obviously this would require that someone is calling spin regularly. Another less no_std friendly approach would be
impl MavConnectionHandler {
   /// spawns the MavConnectionHandler which takes care of handling subscriptions
  new<M>(conn: Box<dyn MavConnection<M> + Sync + Send>)->(JoinHandle<()>, Arc<dyn MavConnectionHandler>)
  subscribe(&self, message: MavMessage)->std::sync::mpsc::Receiver<MavMessage>
  subscribe_once(&self, message: MavMessage)->std::sync::mpsc::Receiver<MavMessage>
}

This however bears a big problem. AFAIK there is no way to talk about the type of a mavlink message without creating an instance of it. This brings us to my next pain point:
Allow a message type to be specified, without an Instance of the message
Well there is the message id, but that is by no means type safe (and IMO nothing we should rely on in an API).  And yes, there is std::mem::discriminant, however that does require one to construct a value. If I want to name the type of MavMessage, the best option so far seems to be this:
let message_type = discriminant(&MavMessage::PARAM_VALUE(Default::default()));

Allow conversion of a MavMessage to one specific ..._DATA struct
I'm currently in the making of a nicer async API which operates on top of the MavConnection trait. AFAIK it is not possible to convert a MavMessage into on specific data structure. This is not an issue if one doesn't know what message the next recv() will yield. However, in my implementation I do know that. Consider the following example (which continues the last snippet):
/// currently. The thing which bothers me the most is that there is
/// no way of avoiding yet another level of indentation.
if let MavMessage::PARAM_VALUE(data) = wrappe_conn.request(&message_type).await {

}

/// maybe in the future? ^^
/// Notice that the request method can do the unwrapping internally,
/// as we already know that we will only receive the correct messages
let data = wrapped_conn.request(&message_type).await;

If I understand correctly, the issue is simple: There is no way of extracting data out of an enum instance without mentioning the variant which contains said data. Maybe its possible to add a method like this to MavMessage:
/// Tries to convert an instance of the `MavMessage` enum into one of the `_DATA` structs
impl MavMessage {
    into_inner(self)->Option<T>
}

Maybe it's also possible to exploit Any for the polymorphism needed in a generic receive function. A rough draft could be like this: For sure runtime reflections do work for this kind of stuff, but that would be a huge break in the API which will likely not pay off UX wise.
pub enum MavMessageType {
    HEARTBEAT,
    SYS_STATUS,
    SYSTEM_TIME,
    //...
}

impl MavMessage {
   type(&self)->MavMessageType;
   as_message<T>(&self)->T{
        self.downcast_ref::<T>().clone()
   }
   // serialize, deserialize, ...
}

Summary
I'm sure there is more room for improvement, but these are the points which have bitten me the most. My proposals are in no way ready and probably will even fail compilation, they solely are meant to be early drafts. Speaking of drafts, out of the need for my use cases I already implemented an async API wrapper for MavConnection in the last couple of days. I would be very happy if it eventually find's it's way back in the this crate, behind a feature gate which is disabled per default maybe? Currently you can only have a look into it here. It isn't feature complete, but it already works!
What do you think?
Is there a general desire to further refine the API?
Edit:
Some of my statements turned out to be questionable, thus I corrected them. Furthermore I added some more information and examples.
Edit 2:
I added some more information and again refine the examples.

The interest in discussing this seems to be on a moderate level at best. I released some the proposed changes in an independent crate on crates.io.

Hi @wucke13, sorry for not being able to help much about this matter, but I was planning to create an actor based communication method over mspc, that appears the correct way to accomplish it.
I started the implementation but since I'm out of time I was unable to finish it.
Don't you want to create a PR to add the async functionality in this repository ?

Yeah, I'm still happy to merge my code. However, now that I released to an independent crate, I would like to use the opportunity to refine things more. I wan to add some convenience functions (like send message a, until the first message b arrives) for dealing with unreliable communications.
My strongest desire which AFAIK can not be solved outside of this crate would be an implementation of
TryFrom<::Message> for ::PLACEHOLDER_DATA. So a generic way of converting any message into a specific message struct without explicit matching. Can you add this?

TryFrom<::Message> for ::PLACEHOLDER_DATA. So a generic way of converting any message into a specific message struct without explicit matching. Can you add this?

From what I know this is not possible directly and a generic tryfrom will need to be implemented, and I don't see a reason for this.
What is necessary IMO is to recreate the parser and deal with the parsing to be async, that's what I'm doing with my patch plus the async communication with mspc.
You can check that in my open draft PR here: #79

I don't see a reason for this

Well, here is one: This is necessary to offer a sane API where the user receives filtered messages (e.g. only one message type). If I and a stream both now that said stream will only yield PARAM_VALUE messages, than it would be very nice for the stream to be able to directly return PARAM_VALUE_DATA structs. Currently, there is no way to offer such an API, for the reasons stated in my initial posting. Does this make sense to you, or shall I try to explain in more detail why I think that there is a strong reason for that?

From what I know this is not possible directly

Why is that? It's not possible in a generic way, because there is (IMHO major) problem in the TryFrom implementation from the std library (more details). However, with the information about all variants (which only this library has in it's build script) available at the code level, it is:
I thought one way would be this:

to every enum MavMessage add a function in the impl which

matches against every possible variant
unpacks the contained data
casts a reference counted reference of it to Any
and returns this any

Add this as_any function to the Message trait.
Than on the Message trait, add a try_extract<T>(&self)->Option<T> function.

Do you see a problem with this approach, implementation wise? I'm sure there is more elegant ways of doing it, but I did not think of any so far.
Also, whats the point with channels when going the async route? I don't understand why you would be doing both.
At least the discussion started now :smile:

@patrickelectric Ping
Also: if this helps, I'm open to hop on a virtual meeting to discuss this issue further. However that's just an idea.

Hi @wucke13, sorry I'm in a complicate period in the last days, will try to catch-up with this discussion when possible.

@patrickelectric As stated before, I'm open to any means of digital communication, at your choice. Until then: take your time and good luck!


Panning doesn't work when margins is set.

In trying to prevent the SVG from getting dragged/panned out of sight, I'm using the margins property like this:
panZoom({
            margins: {
                top: 1,
                right: 1,
                bottom: 1,
                left: 1
            },
            zoomMin: .5,
            zoomMax: 10,
            oneFingerPan: true
        });

I would expect that with a number so low, I would only get 1px (or so, depending on zoom level) of the SVG to remain in view when panning to the extreme edge of the available space.
However, whenever this property is set (using any numerical values), panning simply doesn't work at all. Instead, the SVG zooms with the mouse wheel with the anchor point remaining in the upper-left of the screen. Then it cannot be dragged/panned at all.
(For the record, I've also tried using higher numbers (500 all around), and get the same results.)
This is happening on:

macOS Chrome 80.0.3987.163
macOS Safari 13.0.5

Create a jsfiddle or codepen showing your issue please

Here you go:
https://codepen.io/etipaced/pen/WNQvRGM

margins only work with absolute size of the svg set (for now - maybe i got lazy there).
Furthermore there seems to be an issue with the left and top margins. They are off. Dunno why yet. When I wrote it, it was all working and I didnt change anything (maybe I just forgot my weired logic)

I see. I would be willing to spend some time trying to implement this if you can point me in the right direction.

The source code isnt hard to reason about. Somewhere the math seems to be a bit off. Unfortunately I currently have no ressources left to fix it myself

Hello @Fuzzyma i have problem with panZoom i used the margins option to limit the pan area to at least 10px of my SVG still visible, but when i move the svg it disappears from the pan area and I don't see it anymore.
I'm using the margins option like this:
.panZoom({
panning: false,
zoomMin: 0,
zoomMax: 10,
zoomFactor: 1,
margins:  {top: 10, left: 10, right: 10, bottom: 10}
});


[BEAM-12422] Upgrade log4j version not affected by CVE-2017-5645

Also revert existing change that removed this dep and its relocation exclusions
See https://github.com/apache/beam/pull/15098#discussion_r662474738 for details as to why this change over removing log4j-api

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

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

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @suztomo @iemejia

Run Python PreCommit

netty uses log4j and commons-logging and is a transitive dep of grpc.

From your comment in https://issues.apache.org/jira/browse/BEAM-12422
Can you give me the Maven coordinates of the netty library you checked?
I tried generating the dependency tree (https://gist.github.com/suztomo/5b906fa4850b4685081e870d45ae26b9) of vendor/grpc-1_36_0 but I don't find them.

netty uses log4j and commons-logging and is a transitive dep of grpc.

From your comment in https://issues.apache.org/jira/browse/BEAM-12422
Can you give me the Maven coordinates of the netty library you checked?
I tried generating the dependency tree (https://gist.github.com/suztomo/5b906fa4850b4685081e870d45ae26b9) of vendor/grpc-1_36_0 but I don't find them.

https://mvnrepository.com/artifact/io.netty/netty-common/4.1.52.Final
I looked at the source and it seems as though they try a bunch of loggers to find which one exists
https://github.com/netty/netty/blob/5178b2c7a5eb876f06912753e8251836bc3f1051/common/src/main/java/io/netty/util/internal/logging/InternalLoggerFactory.java
so we could close this PR and leave your change as is.
WDYT?

netty uses log4j and commons-logging and is a transitive dep of grpc.

From your comment in https://issues.apache.org/jira/browse/BEAM-12422
Can you give me the Maven coordinates of the netty library you checked?
I tried generating the dependency tree (https://gist.github.com/suztomo/5b906fa4850b4685081e870d45ae26b9) of vendor/grpc-1_36_0 but I don't find them.

https://mvnrepository.com/artifact/io.netty/netty-common/4.1.52.Final
I looked at the source and it seems as though they try a bunch of loggers to find which one exists
https://github.com/netty/netty/blob/5178b2c7a5eb876f06912753e8251836bc3f1051/common/src/main/java/io/netty/util/internal/logging/InternalLoggerFactory.java
so we could close this PR and leave your change as is.
WDYT?

I decided to go with dropping the logging deps which will help clean-up our deps just a little.
PTAL

That makes sense. Netty checks the existence of the loggers. The vendored artifact does not need to include all the loggers.

Run Java_Examples_Dataflow PreCommit

Run Python PreCommit


Update .openpublishing.publish.config.json

restoring old config and fixing new

Docs Build status updates of commit 7ae6dd8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

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.

Docs Build status updates of commit e106a89:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

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.

Docs Build status updates of commit af1f547:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

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.

Docs Build status updates of commit 10dc8c9:
:warning: Validation status: warnings

File
Status
Preview URL
Details

toc.json
:warning:Warning

Details

breadcrumb/toc.json
:warning:Warning

Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

toc.json

[Warning] Error happen when converting toc.json to Pdf. Details: Could not find file 'T:\yzp4\toc.json'.

breadcrumb/toc.json

[Warning] Error happen when converting breadcrumb/toc.json to Pdf. Details: Could not find a part of the path 'T:\yzp4\breadcrumb\toc.json'.

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

Docs Build status updates of commit 5665d3f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

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.

PDF build has warnings in OPS

Docs Build status updates of commit 5665d3f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

enterprise-graph/.vs/ProjectSettings.json
:white_check_mark:Succeeded

enterprise-graph/.vs/slnx.sqlite
:white_check_mark:Succeeded

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.

Docs Build status updates of commit 9255863:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

enterprise-graph/.vs/ProjectSettings.json
:white_check_mark:Succeeded

enterprise-graph/.vs/slnx.sqlite
:white_check_mark:Succeeded

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.


You can invite yourself to workspace

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Create a workspace
Choose people tabs
Invite yourself by adding your email address
It'll show two entries

Expected Result:
An error message
Actual Result:

Workaround:
Refreshing the browser make the 2nd entry disappear after a few seconds.
Platform:
Where is this issue occurring?

[x] Web
[x] iOS
[x] Android
[x] Desktop App
[x] Mobile Web

Version Number:
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
View all open jobs on Upwork

Triggered auto assignment to @strepanier03 (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Proposal
https://github.com/Expensify/App/blob/9f15c144bd0c0c716ee4655f8e7946e30588ac1a/src/pages/workspace/WorkspaceInvitePage.js#L74-L85

Adding the below code after line 81 will fix the issue

    const isUserPresent = _.contains(logins, this.props.session.email);
        if (isUserPresent) {
            Growl.error(this.props.translate('workspace.invite.cantInviteYourself'), 5000);
            return;
        }

workspace.invite.cantInviteYourself can be a message like You can't invite yourself. or something similar

Unique — Looks to be unique to me,
Issue hygiene — Looks go here as well,
Clarity of problem — Problem is stated clearly,
Value — Looks like something we should fix,
Passing to Eng.

Triggered auto assignment to @francoisl (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Hi @aman-atg, your proposal would work for the very specific issue where someone can invite themselves, but the issue can be generalized and rephrased as: you can invite someone who's already a member of the workspace (e.g. invite the same account twice in a row).
With that in mind, can you please update your proposal? For the error message, I suggest something like <login> is already a member of this workspace.
Thanks!

@francoisl  Thanks for the input. I will update the Proposal with better logic that will cover the above mentioned scenario.
I have one question, though. Since we're supporting multiple logins.. what should be the error message when 2 or more logins are duplicates.

I agree that following the same convention and returning early would make sense. In this case, we could use ${login} is already a member of this workspace. for the error message.
Although thinking about it more, I'm now thinking that in terms of providing a better UX, maybe we could just silently ignore and filter out the logins that are already in the workspace (and if all the logins are already in the workspace, we don't call invite() at all)? This way, the user doesn't see an error message, and they still "accomplished" what they were trying to do.

Although thinking about it more, I'm now thinking that in terms of providing a better UX, maybe we could just silently ignore and filter out the logins that are already in the workspace

IMO that's a valid option for us.

(and if all the logins are already in the workspace, we don't call invite() at all)? This way, the user doesn't see an error message, and they still "accomplished" what they were trying to do.

Here, however I feel that if all the logins entered by the User are duplicate then User should get some feedback like

     // `Please ensure that the user is not already a member of the workspace` or
     // `Please ensure that the user is not already invited.`

I'm not passionate about either solution, I'm going to relabel this to get another opinion.

Triggered auto assignment to @laurenreidexpensify (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

@francoisl I feel the input itself is not user-friendly.  There is no way to know that you can invite more than one person by comma separating values.
Proposal

My approach would be to change the input to a tagged input such as above. I can see Workspace is in beta so there's a lot we can do to improve the UX here.
This will handle the cases for multiple inputs as well as filtering the already existing participants.
btw the current flow should also check if the phone number entered is of the currently logged-in user.

This will handle the cases for multiple inputs

@mananjadhav this is being dealt with on a separate issue #4029

Triggered auto assignment to @deetergp (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@deetergp can you take a second look at this one and confirm if I can upload to Upwork? Thanks

Apologies, I've a bit bogged down, looking at it now…

The code portion of the proposal looks solid, but I'm not sold on any of the error message. How about something like That user is already a member of this workspace.

As far as the message goes, how about something like That user is already a member of this workspace?

Sounds good to me!

Nice so @deetergp to confirm - this can move to upwork and we are going with @aman-atg's proposal to fix it?

@laurenreidexpensify Yes, let's do it!

Waiting on a PR. Do you think this should stay a Daily, @laurenreidexpensify, or is setting to Weekly more appropriate?

Added a PR. Not yet hired on upwork though.

Setting this back to Planning

Accepted. (Proposal)

The job has been offered & accepted and the PR has been merged. I think we're good here 👍

Officially hired on Upwork. Will pay on 8/18 if no regressions. Bumped to Weekly

Paid in Upwork with bonus for reporting issues. Deployed to production 3 days ago, closing


Make kcmNodeMonitorGraceDuration optional in the config

What this PR does / why we need it:
Make kcmNodeMonitorGraceDuration optional and default its value based on shoot k8s version
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Make `kcmNodeMonitorGraceDuration` optional in the prober config and default its value based on shoot k8s version

/approve

/lgtm


App crashes on ServerMiddleware hot reload if Mongoose models are used, gives an error like "ServerMiddleware Error: Cannot overwrite User model once compiled"

Versions

nuxt: v2.14.1
node: v12.18.3

Reproduction
Use this project to reproduce, you may need to add a working MongoDB database credentials in .env file.
Steps to reproduce
npm install
npm run dev
(No error at this point yet)
Make a change in login.js file
Save
What is Expected?
Normal hot reload of servermiddleware as always (like when Mongoose is not used).
What is actually happening?
App crashes with this error:
ERROR ServerMiddleware Error: Cannot overwrite User model once compiled.

This isn't related to Nuxt, This is mongoose error. When a change occurs and Nuxt reload model files and mongoose models call twice.
Here you can find a fix: https://stackoverflow.com/questions/19051041/cannot-overwrite-model-once-compiled-mongoose

@farnabaz This is actually a problem with how reloads are implemented with nuxt. I looked at the stackoverflow example you gave me before starting to write this bug report, and although error is same, reasons for it are different.
In stackoverflow example: person with name Anathema.Imbued made a mistake by defining the same model twice within the project, got error immediately (not just on reload).
In my example: didn't do such mistake, same mongoose code works well outside nuxt, also works well inside nuxt until reload. Crashes only during hot reload of server middleware.
Please re-open.

Nodemon restarts the whole server on file change, but Nuxt removes the cache and re-import the file. I believe this is not a bug its nuxt approach to reload files.
Restarting the server on every file change has a great impact on performance.
You can avoid mongoose error by checking models to see if User model was registered or not.
let modelName = ...
let schema = ...
const Model = mongoose.models[modelName] || mongoose.model(modelName, schema);

export default Model;

This issue is both with nuxt HMR and mongoose. Using default connection, it keeps instance in CJS cache and when reloading app, it causes.

You can avoid mongoose error by checking models to see if User model was registered or not.

@farnabaz I guess this will cause not applying schema changes.
One workaround is doing full reload for server by directly importing serveriMiddleware like this:
export default {
  serverMiddleware: [
    require('./api')
  ]
}

Maybe we can also introduce an option to HMR some node_module dependencies. Currently we don't clear cache for all node_modules (src which is also not configurable but if it is, we can specify mongoose or other HMR incompatible dependencies.

@farnabaz I guess this will cause not applying schema changes.

Yes, you are right.

we can specify mongoose or other HMR incompatible dependencies.

Do you mean to hardcode mongoose and other deps?

This issue is both with nuxt HMR and mongoose. Using default connection, it keeps instance in CJS cache and when reloading app, it causes this error

You can avoid mongoose error by checking models to see if User model was registered or not.

@farnabaz I guess this will cause not applying schema changes.
One workaround is doing full reload for server by directly importing serveriMiddleware like this:
export default {
  serverMiddleware: [
    require('./api')
  ]
}

Maybe we can also introduce an option to HMR some node_module dependencies. Currently we don't clear cache for all node_modules (src) which is also not configurable but if it is, we can specify mongoose or other HMR incompatible dependencies.

I think what you suggested can work as a good solution for my specific case (if what you suggested is full reload of servermiddleware only, not the whole nuxt server), as nodemon restart takes ~1 second while full nuxt reload takes ~5 to 10 seconds on my computer. Two questions:

What does HMR mean? (cannot find in internet)
Where the code you suggested should be written?

@pi0 what can be a temporary solution for me? So that when something inside servermiddleware changes, all of the servermiddleware (but not the whole nuxt server) restarts (like nodemon)? That would be good enough for me (as nodemon restart takes ~1 sec., while full nuxt restart takes 5 to 10 sec (that needs improvement, too, btw)). I guess what you suggested was supposed to be what I am asking for right now, but it does not work (the same error is still there).

Do you mean to hardcode mongoose and other dependencies?

@farnabaz That could be a quick nice patch by modifying regex

What can be a temporary solution for me?

@kamran-12 Using require as mentioned above, will cause full restart. HMR is to only replace some requires on runtime to avoid full restart. Alternatively before fix for mongoose, you can use concurrently to run API standalone and make requests from UI to it. (can provide more detailed info how to do)

@pi0 if I understood right, you suggested to replace serverMiddleware: [{path: '/api', handler: '~/api/index'}] to serverMiddleware: [require('./api')] in nuxt.config.js. It didn't work. The error didn't go away. I have said this in the last sentence of my previous comment.

Alternatively before fix for mongoose, you can use concurrently to run API standalone and make requests from UI to it. (can provide more detailed info how to do)

That would be helpful.

fixed by v2.14.4

Why this has been closed? It still persists in nuxt 2.15.7

@AregGhazaryan If it's still persisting for you, would you open a new issue with a reproduction? 🙏

@danielroe #9456


Build fails in Elixir 1.0.5

Building under Ubuntu 14.04 with build-essentials and elixir-dev installed.
Error log:
Running dependency resolution
All dependencies up to date
==> openmaize
Compiled lib/openmaize.ex
Compiled lib/openmaize/config.ex
Compiled lib/openmaize/signup.ex
Compiled lib/openmaize/plugs/loginout_check.ex
Compiled lib/openmaize/report.ex
Compiled lib/openmaize/plugs/id_check.ex
Compiled lib/openmaize/token_config.ex

== Compilation error on file lib/openmaize/plugs/authorize.ex ==
** (CompileError) lib/openmaize/plugs/authorize.ex:75: function full_path/1 undefined
    (stdlib) lists.erl:1337: :lists.foreach/2
    (stdlib) erl_eval.erl:669: :erl_eval.do_apply/6

could not compile dependency openmaize, mix compile failed. You can recompile this dependency with `mix deps.compile openmaize` or update it with `mix deps.update openmaize`

Deps:
  defp deps do
    [{:phoenix, "~> 0.15"},
     {:phoenix_ecto, "~> 0.8"},
     {:postgrex, ">= 0.0.0"},
     {:phoenix_html, "~> 1.4"},
     {:phoenix_live_reload, "~> 0.5", only: :dev},
     {:cowboy, "~> 1.0"},
     {:openmaize, git: "https://github.com/elixircnx/openmaize.git"}]
  end

Hi,
Thanks for letting me know about this problem.
Can you try using the hex package and see if that works. So change the last line in deps to:
{:openmaize, "~> 0.6"}]
Let me know if that works.

It works. I thought I had tried that last night following the README, but I must have done something wrong. Thanks.

Actually, I found out later that the real problem was that I was using a function in Plug that got deprecated a few days ago, and I released a fix last night.
Anyway, it's good to hear you've got it working.


Proxbox IP Sync

Hi, is it possible to get the IP automatically from Proxmox written in the Primary IP fields in Netbox?

Would love this feature too!


[Incremental] Add a check of the result of running the built app to the IncrementalTestFramework

Allow a test to specify an expectation for the stdout, stderr, and error codes. Add such a check to two of the tests.

@swift-ci please test

@swift-ci please test


chore: repository governance

Repository governance update
This PR was automatically created by the AVM Team hive-mind using the grept governance tool.
We have detected that some files need updating to meet the AVM governance standards.
Please review and merge with alacrity.
Grept config source: git::https://github.com/Azure/Azure-Verified-Modules-Grept.git//terraform
Thanks! The AVM team :heart:

@mbilalamjad i dont think we need this PR anymore. another PR already updated these files. If you want to re run the PR since there were some changes made.

changes were already updated from another PR. Closing PR


Issue about GLViS installation-X11R6 obsolete?

Dear MFEM users and developers,
I am new to MFEM and GLViS and trying to build and install MFEM and GLViS on Ubuntu 16.04.
Following the online tutorial I have built MFEM successfully. To build the GLViS, I have installed the required external packages (X11, GL, GLU, libpng, libtiff, etc.) following the INSTALL file. But I encountered the following errors when I use make to build the GLViS library:
/usr/bin/ld: cannot find -lfreetype
/usr/bin/ld: cannot find -lfontconfig
I guess this error is because the paths to some libraries are not correct, since the following lines exist in the Makefile:
GL_OPTS = -I/usr/X11R6/include
GL_LIBS = -L/usr/X11R6/lib -lX11 -lGL -lGLU
TIFF_OPTS = -DGLVIS_USE_LIBTIFF -I/sw/include
TIFF_LIBS = -L/sw/lib -ltiff
I don't know much about Makefiles, just get a feeling that these indicate the paths for the required libraries. Does everyone know which lines do I need to change for the makefile? And how to change them?
By the way, when I search online, someone said "X11R6 has been obsolete for quite a while, There is a major compatibility issue between X11R6 and the present X11 version." Is this one of the reasons for my failure?
Any suggestions and hints will be much appreciated. Thanks in advance.
Jianan Zhang

Hi Jianan,
I think you still miss some dependencies. Try these:
sudo apt-get install libfreetype6-dev libfontconfig1-dev

The X11R6 paths might be obsolete. Nevertheless, -L is just a suggestion
for the linker where to look, so it shouldn't matter that much.
Hope that helps,
Jakub
On Thu, Mar 29, 2018 at 4:41 PM, Jianan Zhang<EMAIL_ADDRESS>wrote:

Dear MFEM users and developers,
I am new to MFEM and GLViS and trying to build and install MFEM and GLViS
on Ubuntu 16.04.
Following the online tutorial I have built MFEM successfully. To build the
GLViS, I have installed the required external packages (X11, GL, GLU,
libpng, libtiff, etc.) following the INSTALL file. But I encountered the
following errors when I use make to build the GLViS library:
/usr/bin/ld: cannot find -lfreetype
/usr/bin/ld: cannot find -lfontconfig
I guess this error is because the paths to some libraries are not correct,
since the following lines exist in the Makefile:
GL_OPTS = -I/usr/X11R6/include
GL_LIBS = -L/usr/X11R6/lib -lX11 -lGL -lGLU
TIFF_OPTS = -DGLVIS_USE_LIBTIFF -I/sw/include
TIFF_LIBS = -L/sw/lib -ltiff
I don't know much about Makefiles, just get a feeling that these indicate
the paths for the required libraries. Does everyone know which lines do I
need to change for the makefile? And how to change them?
By the way, when I search online, someone said "X11R6 has been obsolete
for quite a while, There is a major compatibility issue between X11R6 and
the present X11 version." Is this one of the reasons for my failure?
Any suggestions and hints will be much appreciated. Thanks in advance.
Jianan Zhang
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mfem/mfem/issues/461, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABSW-3zSnHpMkZ3-dVIcJk_gYc-G2Z7lks5tjPKcgaJpZM4TAdAG
.

Hi, Jakub,
Thanks for your reply. I have installed the tow libraries as you suggested, then the previous error disappears, But the building still does not goes successfully, the following error exists:

I am not sure where is the problem, Can you kindly show me some hints?
Best
Jianan Zhang

Hi @JiananZhangCU,
I see that you are building GLVis v3.3 with MFEM v3.3.2 - there is a small issue with that combination - you should get the latest GLVis from GitHub: first, if you do not have git install it with apt-get and then run:
cd ~/
git clone git@github.com:glvis/glvis.git glvis-dev
cd glvis-dev
make MFEM_DIR=../mfem-3.3.2 -j 4

The last command assumes that glvis-dev and mfem-3.3.2 are in the same directory - you home directory (~/) judging by your sreenshot. The -j 4 option tells make to use up to 4 jobs for parallel compilation and linking - this will speedup the build.
Let us know if you run into any other issues.

Hi, Veselin,
It works! The building process run successfully and I got the GLViS executable in my glvis-dev directory. Now I can start investigating the existing examples. Thanks very much!
By the way, I may run into other issues in using the GLViS in the near future. So I may still need your guys kind help when I am in a trouble. ^_^||
Best regards
Jianan Zhang


TypeError: unsupported operand type(s) for |: 'NoneType' and 'NoneType'

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
I ran into an obscure edge case when defining a model field as date: date | None = None. Other variations work; see example.
Example Code
from __future__ import annotations

import datetime
from dataclasses import dataclass
from datetime import date
from typing import Optional

from pydantic import BaseModel

datetype = date

@dataclass
class FooDataclass:
    date: date | None = None

class FooModel(BaseModel):
    # works
    # date: date | None

    # works
    # date: datetime.date | None = None

    # works
    # date: date = None

    # works
    # date: Optional[date] = None

    # works
    # date: datetype | None = None

    # works
    # start_date: date | None = None

    # raises TypeError
    date: date | None = None

Python, Pydantic & OS Version
pydantic version: 2.9.2
        pydantic-core version: 2.23.4
          pydantic-core build: profile=release pgo=false
               python version: 3.11.10 | packaged by conda-forge | (main, Oct 16 2024, 01:26:25) [Clang 17.0.6 ]
                     platform: macOS-15.1-arm64-arm-64bit
             related packages: typing_extensions-4.12.2 pydantic-settings-2.4.0
                       commit: unknown

See the warning in: https://docs.pydantic.dev/dev/concepts/models/#basic-model-usage. The description of the PYD005 rule from flake8-pydantic gives more context.

That's a bit unfortunate, the warning is not quite accurate (at least in the context from __future__ import annotations):

Because of how Python evaluates annotated assignment statements

This is not a Python issue, it's a Pydantic issue; the dataclass example works just fine.

This is not a Python issue, it's a Pydantic issue; the dataclass example works just fine.

The dataclass example works fine with from __future__ import annotations, which is equivalent to:
@dataclass
class FooDataclass:
    date: "date | None" = None

And stdlib dataclasses don't perform any type annotation evaluation. But without stringified annotations, you get the same error (or if you call typing.get_type_hints(FooDataclass, globals())).

It's even more unfortunate for these ones. Taking date: Optional[date] = None as an example:
the date symbol inside Optional[...] will resolve to the same assignment. In our case, the date field is assigned a default value of None. We thus end up with something equivalent to date: Optional[None] = None, or, simplified: date: None = None.
We don't get any runtime error as it is perfectly fine for Optional to be parametrized with None. However, Pydantic will think that the date field can only be None, which isn't the case.

Oh wow, indeed that's even worse. Thanks for the explanation!


Change the return type of migrateByronWallet to be a list of transactions.

Issue Number
#779
Overview
The result of migrating funds from a Byron wallet to a new-style wallet will be the creation of one or more transactions. Therefore, it makes sense to report this set of transactions as the result of the migrateByronWallet call.
This PR merely changes the return type of the call, in order to unblock testing work.
Further PRs will actually implement this call.

bors r+

bors r+


nix-prefetch-vscode-marketplace, nix-prefetch-openvsx: init at 0.1.0

Motivation for this change
This patch introduces the prefetchers for Visual Studio Code extensions from the Marketplace as well as the Open VSX Registry.
This is originally part of  #121583 and is part of the tooling to bootstrap and update the extensions from different registries. Considering that the multi-registry support still has a way to go and that these two prefetchers are also useful under the current extension framework, it would be great to have them merged first.
These packages were initially based upon https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/vscode-extensions/update_installed_exts.sh
Features:

JSON output
Ability to run multiple instances at the same time (through mktemp -t)
Option to disable hash output (-H) or the meta-related outputs (-M).
Thanks to the Open VSX API, specifying -H means that the extension VSIX file will not be downloaded for nix-prefetch-openvsx, which greatly shorten the time for query for people who only want to check the latest version or the metadata information. This doesn't apply for nix-prefetch-vscode-marketplace due to VSCode Marketplace's lack of public documentation about their API and prohibition to third-party use from the EULA. Nevertheless, options M does prevent the downloaded VSIX from being decompressed.

Missing feature:

Shell completion

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

[X] 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.05 Release Notes (or backporting 21.11 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.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/in-tree-or-out-of-tree/18389/1

Please share the duplicated parts of the code. Maybe we can even combine the scripts?

The slight logical difference between the two fetchers makes the merge a bit trickier than just "combining the shared commands".
nix-prefetch-vscode-marketplace is closer to a general prefetcher, since there's no additional API legally available, and all the information about the extension can be extracted only after downloading the VSIX file. As for nix-prefetch-openvsx, a main selling point of these registries are a set of well-documented APIs that provides the meta info of the extensions. The files contained in each extensions can even be downloaded separately from Open VSX Registry instances.
I managed to combine the same part by creating a common library for the two scripts to source, in which each actions are separated into bash functions to simulate Nix-like overridable and lazily-evaluated "stages". Not sure if such approach is over-engineering.

@SuperSandro2000 Would it be too over-engineered to merge the two scripts this way? If so, I'll change them back into two imperative scripts.

@SuperSandro2000 Would it be too over-engineered to merge the two scripts this way? If so, I'll change them back into two imperative scripts.

If they share a lot of code then that is an option but I didn't take a deeper look at the scripts.

Cc: @AmeerTaweel @schuelermine

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1507

@ShamrockLee
Did you mention me here intentionally or by mistake?
If it was intentional. Can you please tell me why? I've been busy with university lately and I may have forgotten some stuff...

@AmeerTaweel Sorry for bothering you for minor stuff like this.
Just want to mention that the license information and other metadata of an extension can be extracted from the manifest (package.json) packed inside the VSIX file. The file can be extracted with unzip without decompressing the whole extension. This would be an alternative solution when the querying API is not available.

@ShamrockLee No no I did not mean that at all. I was just confused, not bothered.
Thanks for showing me this. It will be helpful with my VSCode extensions flake.
It's been a while since I worked on it because of university. But I will have more time in the semester break.

Actually, I'm a bit frustrated about the Bash behavior to drop set -e property for functions / sub-commands used after if or before && or ||. This disables the query_vsix_hash part in query_vsix_hash || compute_vsix_hash from failing as early as possible and brings a series of error messages when hash querying doesn't work on the Open-VSX instance before printing the result.
This Bash behavior is documented here: https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html
The maintainer said in the mailing list that they cannot change it without breaking backward compatibility.
It seems that we can only solve it by switching to another programming language or framework (Makfile or Justfile), or by trying to return as quickly as possible when failed or even avoid this sort of error handling as a whole.

I have finally found the relevant URL that VSCode use to download extension VSIX files from the Marketplace:
The relevant downloadUrl
From https://github.com/microsoft/vscode/blob/1.76.2/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts#L166-L197
When trying to download the extension redhat.java (publisher: redhat, extension name: java) version 1.17.2023032504, the download URL will be
https://marketplace.visualstudio.com/_apis/public/gallery/publishers/redhat/vsextensions/java/1.17.2023032504/vspackage

when targetPlatform is universal,
or
https://marketplace.visualstudio.com/_apis/public/gallery/publishers/redhat/vsextensions/java/1.17.2023032504/vspackage?targetPlatform=linux-x64

when targetPlatform is linux-x64.
Here, the serviceUrl for the official Visual Studio Marketplace is https://marketplace.visualstudio.com/_apis/public/gallery.
Comparison to the legacy download URL
The legacy download URL in the current implementation used in the current vscode.extensions in Nixpkgs and the current nix-prefetch-vscode-marketplace here is
https://redhat.gallery.vsassets.io/_apis/public/gallery/publisher/redhat/extension/java/1.17.2023032504/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage

The key difference is that, the legacy download URL doesn't support targetPlatform other than universal, but it supports specifying the version as latest instead of the exact version. For the new download URL, you need to get the exact version first.
Status of the legacy download URL
Aside from the targetPratform issue, there are already packages that is only available through the new download URL. One example is vscjava.vscode-gradle. See https://github.com/NixOS/nixpkgs/pull/199157#discussion_r1145507322
Issues to overcome before adopting the new download URL
So, there are currently two obstacles preventing me from switching to the relevant (new) download URL

curl always get blocked when trying to download the VSIX file through the new URL.
{
  "$id": "1",
  "innerException": null,
  "message": "Request was blocked due to exceeding usage of resource Count in namespace AnonymousId. For more information on why your request was blocked, see the topic \"Rate limits\" on the Microsoft Web site (https://go.microsoft.com/fwlink/?LinkId=823950).",
  "typeName": "Microsoft.TeamFoundation.Framework.Server.RequestBlockedException, Microsoft.TeamFoundation.Framework.Server",
  "typeKey": "RequestBlockedException",
  "errorCode": 0,
  "eventId": 3000
}

Some potential solutions can be found in the answers to the SO question https://stackoverflow.com/questions/2440729/how-can-i-emulate-a-get-request-exactly-like-a-web-browser , one of them is by setting the "User Agent" with the -A flag.

Need to find a way to fetch the latest version prior to downloading the VSIX file.
It would also reduce the overhead greatly if we could find the way VSCode get those metadata without downloading the VSIX file.

@ShamrockLee I'm sorry to let you down again. I was trying to get to this but I just couldn't. I suggest you add someone else to review this.

@ShamrockLee I'm sorry to let you down again. I was trying to get to this but I just couldn't. I suggest you add someone else to review this.

Sure.

As the sha256-querying feature is released from the OpenVSX upstrem, I added the implementation as the second commit.
The rebasing of the first commit is only to reset the author name from Shmrock Lee to Yueh-Shun Li (my legal name).


Pkhuong/cold cache

bench: let bench runners measure runtime for lukewarm or cold code

Before each iteration, we can CLFLUSH UMASH code out of all caches,
and optionally bring it back in (the unified) L2 cache.

FLUSH_LEVEL = 3 (CLFLUSH, no prefetch). The "test" code unconditionally disables flushing (flush_code is a no-op)

FLUSH_LEVEL = 2

FLUSH_LEVEL = 0 (no CLFLUSH)

It looks like any prefetching populates the L1 I$ well enough.


Git diff package files: Exclude .SRCINFO

Pacaur is capable of diffing cached package files. However viewing the diffs may get pretty cluttered without any sane reason since the diff of the whole git repo is presented including the .SRCINFO file. This file is not mandatory for the build process and serves no other purpose than to pass certain package properties to the AUR. Therefore it is reasonable to exclude it from the diff.

Yeah, agree. I have currently some reserve as the .SRCINFO is not always updated by maintainers and the diff allows to quickly check that too, but this is definitely something to implement in the future.

Potential implementation here:
git diff `git status -s |grep -v ^\ D |grep -v file/to/exclude.txt |cut -b4-`

Hopefully I could find something cleaner.

There is a much nicer build in git-diff paramter to fix this probelm: git diff . ':!\.SRCINFO', respectively git diff . ':(exclude)\.SRCINFO'. The only downside is, that it was added fairly recently.
By the way, the same parameter is valid for git log, where I initially once found this.

This looks great, thanks for the heads up! I guess there is no downside at all since Arch is a rolling distro with the latest version of any software available.

I guess you are right.

Should be implemented in 7eff3d6bd4f2406970b03365af9d883e19c3a10b. Feedback welcome here.

Looks good.

Things stopped working for me... I guess it is related to 1f217be.

Can you confirm?

I tried to mimic the behaviour as good as possible and the approach in the pacaur script worked fine but pacaur still displays the .SRCINFO diff for me.

Likely, that part of the code isn't triggered. Do you see the View <package> build files diff? message?

Yes, I do see that question. I also get the <package> build files diff viewed message. Therefore I think the code is actually triggered.

Yup, something weird is going on...

@Edenhofer "stopped working" means the .SRCINFO file appeared in the output again?
Can you please try the update with (#522), which uses git-log, and then git-bisect it to really find the commit that broke it for you, please?

Yes, the .SRCINFO is displayed again even with #522. I am actually quite surpised I am the only experiencing this. I will have another look at it and report back if I find something suspicious.

I can also reproduce the issue. I just updated to git 2.9.0, this might be related but I'm not certain about it.

Switching $diffcmd to eval $diffcmd works for whatever reason...

Yes, it looks like the single quotes do not work with just $diffcmd.
I think eval is a good approach here.
And it should also use -- to separate the paths.
I'll do a PR.

Yes, would make sense if it was all about the quotes... Eitherway it works flawless now.


I cant use Smart Query Conditions

"@mikro-orm/cli": "^4.2.3",
"@mikro-orm/core": "^4.2.3",
"@mikro-orm/migrations": "^4.2.3",
"@mikro-orm/postgresql": "^4.2.3",

i also tried the example

errors:

You need to type cast as any or use expr.
But it's better to forget about this feature, I consider it deprecated (this "issue" became a thing with first release of v3), as there is better way via operators that is also type safe. Will probably remove it in v5.
https://mikro-orm.io/docs/upgrading-v2-to-v3/#strict-filterquery-and-smart-query-conditions
Btw using only screenshots instead of code blocks is bad, please don't do this.

okay noted thanks. I wanted to use createQueryBuilder but typescript seem not to noticed it as well. Should i just type cast it to any?

https://mikro-orm.io/docs/upgrading-v3-to-v4#sqlentitymanager-and-mongoentitymanager

Hi @B4nan,
i cant use createQueryBuilder its always undefined in my end.
I tried importing it here:
import { EntityManager } from "@mikro-orm/postgresql";
public em: EntityManager;
public orm: MikroORM<IDatabaseDriver<Connection>>;

using this example: https://github.com/driescroons/mikro-orm-graphql-example/blob/76eeaeddbf80a37a223c98b4784595170a457db3/src/application.ts

Well that is just a pseudo code to show that this is typings only issue. Same applies to repositories, you need to use EntityRepository from the driver package, not from core.
Also this part: public orm: MikroORM<IDatabaseDriver<Connection>>; is wrong, as orm.em will not be typed correctly. You need to use the driver in type parameter, e.g. MikroORM<PostgreSqlDriver>.
https://github.com/mikro-orm/nestjs-realworld-example-app/blob/89ec53ca678f9ef0c1538ff9fc14448a016daa72/src/article/article.service.ts#L27

changing to
public orm: MikroORM<PostgreSqlDriver>;
gives an error
`Type 'PostgreSqlDriver' does not satisfy the constraint 'IDatabaseDriver'.
Types of property 'count' are incompatible.
Type '(entityName: string, where: any, ctx?: Transaction<any, any>) => Promise' is not assignable to type '<T extends AnyEntity>(entityName: string, where: FilterQuery, options?: CountOptions, ctx?: any) => Promise'.
Types of parameters 'ctx' and 'options' are incompatible.
Type 'CountOptions' is missing the following properties from type 'Transaction<any, any>': executionPromise, isCompleted, query, savepoint, and 126 more.ts(2344)
Type 'MikroORM<IDatabaseDriver>' is not assignable to type 'MikroORM'.
Type 'IDatabaseDriver' is missing the following properties from type 'PostgreSqlDriver': connection, replicas, platform, mapJoinedProps, and 24 more.ts(2322)
`

If you want help, provide something I can try, as I have no idea what you are doing (and where and how).
The error is caused by you trying to put MikroORM<IDatabaseDriver<Connection>> into MikroORM<PostgreSqlDriver>, so probably you forgot to use the type also in MikroORM.init<PostgreSqlDriver>().

Im trying out mikro orm, doing some queries etc. So for my base code, i cloned this https://github.com/driescroons/mikro-orm-graphql-example.
what i want to do is try out using query builder here with this graphql example.

I asked for your code that does not work, you give me link to example repository that works just fine 🤷
Again, if you want help, provide code that does not work. Pasting the same error as you already did won't help anybody (and btw I already said why is that error happening).
This needs to be adjusted:
https://github.com/driescroons/mikro-orm-graphql-example/blob/7791e1c9bc985f66d03fbddafc364c667fda9ae0/src/utils/interfaces/context.interface.ts#L7
https://github.com/driescroons/mikro-orm-graphql-example/blob/master/src/application.ts#L25
https://github.com/driescroons/mikro-orm-graphql-example/blob/master/src/application.ts#L31

uhm i tried changing those. but still error this for example
import { Connection, EntityManager, IDatabaseDriver } from "@mikro-orm/core";
import { UserDTO } from "dto/user.dto";
import { Request, Response } from "express";
import { EntityManager as EM, PostgreSqlDriver } from "@mikro-orm/postgresql";

export interface MyContext {
  req: Request;
  res: Response;
  em: EntityManager<PostgreSqlDriver>;
  userDTO: UserDTO;
}

import { Connection, IDatabaseDriver } from "@mikro-orm/core"; // <-- no import of EM from core
import { UserDTO } from "dto/user.dto";
import { Request, Response } from "express";
import { EntityManager, PostgreSqlDriver } from "@mikro-orm/postgresql"; // <-- only from the driver package

export interface MyContext {
  req: Request;
  res: Response;
  em: EntityManager<PostgreSqlDriver>;
  userDTO: UserDTO;
}

yeah i figured out that one my bad haha
but for this one

I'd say that is a version mismatch, make sure your ORM packages are all aligned to 4.2 (the patch version might vary, but in general use the latest of everything).
But again, without seeing your code (all of it, not just a screenshot of few lines), I simply don't know.

thank you @B4nan it seems deleting node_modules and installing the packages again fixed the issue


remove boot behaviour dependency on version string

Remove dependency on version string.
Making version string a part of configuration kinda smells and makes testing stateful behaviour difficult.

I've added a kernel param rancher.rm_usr to wipe out the /usr-{version} dir on boot and made this the default in ./scripts/run (can be disabled with --no-rm-usr)


'Run selection/line in python terminal' stops working after you run quit() in python terminal

Issue Type: Bug
Repro

Use the Run selection/line in python terminal command
In the python terminal, run quit() (or ctrl+d)
Now try using Run selection/line in python terminal again

Bug
The command is pasted into the normal terminal environment instead of a python environment:

Extension version: 2020.9.114305
VS Code version: Code - Insiders 1.51.0-insider (7a3bdf4ee9588755d447aa1c3b5db4a123fc11a9, 2020-10-23T07:32:22.213Z)
OS version: Darwin x64 19.6.0

Duplicate of #7206, Related to #2997


Incorrect results in "Secure Web Browser 360"

As reported in https://github.com/perak/quantum-circuit/issues/17 In "Secure Web Browser 360" https://browser.360.cn/se/en.html calculation results are incorrect.

Closing this issue because bug is in "Secure Web Browser 360" - not in our code.


Initialize ScriptServiceHolder instance once

When querying multiple chunks, unit tests will fail on the first query.
I am not sure why this didn't fail all the time in the past, but DiskOrMessageCountBasedRolloverStrategyTest#testDiskBasedRolloverWithMaxMessages fails 100% of the time for me locally on master
What happens is we create a thread per query (within the ececutor pool) and all of them trying to create ScriptServiceProvider leading to a ConcurrentModificationException
[DEBUG] 2023-09-24 11:23:37.014 [chunk-manager-query-1] ChunkManagerBase - Chunk Query Exception
java.lang.IllegalArgumentException: error loading allowlist(s) [java.lang.txt]:[80]
	at org.opensearch.painless.lookup.PainlessLookupBuilder.buildFromWhitelists(PainlessLookupBuilder.java:216) ~[lang-painless-2.7.0.jar:2.7.0]
	at org.opensearch.painless.PainlessScriptEngine.<init>(PainlessScriptEngine.java:113) ~[lang-painless-2.7.0.jar:2.7.0]
	at org.opensearch.painless.PainlessPlugin.getScriptEngine(PainlessPlugin.java:127) ~[lang-painless-2.7.0.jar:2.7.0]
	at org.opensearch.script.ScriptModule.<init>(ScriptModule.java:99) ~[opensearch-2.7.0.jar:2.7.0]
	at com.slack.kaldb.logstore.opensearch.ScriptServiceProvider.getInstance(ScriptServiceProvider.java:28) ~[classes/:?]
	at com.slack.kaldb.logstore.opensearch.OpenSearchAdapter.buildQueryShardContext(OpenSearchAdapter.java:397) ~[classes/:?]
	at com.slack.kaldb.logstore.opensearch.OpenSearchAdapter.buildQuery(OpenSearchAdapter.java:152) ~[classes/:?]
	at com.slack.kaldb.logstore.search.LogIndexSearcherImpl.search(LogIndexSearcherImpl.java:113) ~[classes/:?]
	at com.slack.kaldb.chunk.ReadWriteChunk.query(ReadWriteChunk.java:274) ~[classes/:?]
	at com.slack.kaldb.chunkManager.ChunkManagerBase.lambda$query$4(ChunkManagerBase.java:123) ~[classes/:?]
	at brave.propagation.CurrentTraceContext$1CurrentTraceContextCallable.call(CurrentTraceContext.java:251) ~[brave-5.16.0.jar:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131) ~[guava-32.0.0-jre.jar:?]
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:75) ~[guava-32.0.0-jre.jar:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82) ~[guava-32.0.0-jre.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
	at java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: java.util.ConcurrentModificationException
	at java.util.HashMap.computeIfAbsent(HashMap.java:1229) ~[?:?]
	at org.opensearch.painless.lookup.PainlessLookupBuilder.addPainlessMethod(PainlessLookupBuilder.java:849) ~[lang-painless-2.7.0.jar:2.7.0]
	at org.opensearch.painless.lookup.PainlessLookupBuilder.addPainlessMethod(PainlessLookupBuilder.java:622) ~[lang-painless-2.7.0.jar:2.7.0]
	at org.opensearch.painless.lookup.PainlessLookupBuilder.buildFromWhitelists(PainlessLookupBuilder.java:160) ~[lang-painless-2.7.0.jar:2.7.0]
	... 16 more

https://github.com/slackhq/kaldb/actions/runs/6286626336/job/17070213550?pr=687 failed on this same scenario leading me to look into this

I just ran into this too for #691.


Add display options for smart content

@danrot @wachterjohannes isn't this already done?

You are totally right :-)


Command still hasn't been written into connection! Increase nettyThreads and/or retryInterval settings.

org.redisson.client.RedisTimeoutException: Command still hasn't been written into connection! Increase nettyThreads and/or retryInterval settings. Payload size in bytes: 0. Node source: NodeSource [slot=0, addr=null, redisClient=null, redirect=null, entry=null], connection: RedisConnection@160411613 [redisClient=[addr=redis://<IP_ADDRESS>:25277], channel=[id: 0xdc6688bd, L:/<IP_ADDRESS>:50252 - R:/<IP_ADDRESS>:25277], currentCommand=null], command: (HEXISTS), params: [un:inv:pay, 57ab1259-e122-4ebd-85bc-24d462c58276:55] after 3 retry attempts
at org.redisson.command.RedisExecutor$2.run(RedisExecutor.java:201) ~[redisson-3.13.4.jar!/:3.13.4]
at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:672) ~[netty-common-4.1.49.Final.jar!/:4.1.49.Final]
at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:747) ~[netty-common-4.1.49.Final.jar!/:4.1.49.Final]
at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:472) ~[netty-common-4.1.49.Final.jar!/:4.1.49.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.49.Final.jar!/:4.1.49.Final]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
I have tried adding nettyThread and retroInterval, but still have this issue, and my workload is not heavy. It is executed every two minutes in scheduled tasks, just a regular distributed lock, version 3.13.4. The configuration and code are as follows:
singleServerConfig:
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
reconnectionTimeout: 3000
failedAttempts: 3
password: 2f0b9e0035ad333d
subscriptionsPerConnection: 5
clientName: unPay
address: redis://<IP_ADDRESS>:25277
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
connectionMinimumIdleSize: 24
connectionPoolSize: 64
database: 1
dnsMonitoringInterval: 5000
pingConnectionInterval: 30000
threads: 16
nettyThreads: 256
codec: !<org.redisson.codec.JsonJacksonCodec> {}
transportMode : "NIO"
@Scheduled(cron = "0 */2 * 12-31 * ?")
@Override
public Result doPay() {
Result result = new Result(true);
RLock rLock = null;
try {
rLock = RedissonUtil.getRLock("un:inv:pay");
boolean acquired = rLock.tryLock(300, TimeUnit.MILLISECONDS);
if (!acquired) {
result.setSuccess(false);
return result;
}
result = admPayManager.doPay(payCount);
} catch (Exception e) {
result.setSuccess(false);
result.setMessage( ExceptionUtils.getRootCauseMessage(e));
} finally {
if (rLock != null && rLock.isHeldByCurrentThread()) {
rLock.unlock();
}
}
return result;
}

@mrniko help

Please refer to https://github.com/redisson/redisson/wiki/16.-FAQ#q-what-is-the-cause-of-redistimeoutexception

Please refer to https://github.com/redisson/redisson/wiki/16.-FAQ#q-what-is-the-cause-of-redistimeoutexception

@mrniko
I have seen this before and it has not been resolved。I have now resolved it by upgrading to version 3.13.6. It is obvious that this is a bug that exists in Redisson version 3.13.4


run without gpu

thank you for your great work! please is there a way i can run your project on my machine or on colab? i tried doing so via this link: https://colab.research.google.com/drive/1hn5bABxYn1BZzPAoL_JjHp55b5eo4LB4?usp=sharing
thanks for your help!

@rizkiarm

Hello @yishairasowsky were you able to achieve this?

No but if you are able to do it please let me know Sent from Mail for Windows From: Donald EbugaSent: Friday, 26 May 2023 12:08To: rizkiarm/LipNetCc: yishai; MentionSubject: Re: [rizkiarm/LipNet] run without gpu (#121) Hello @yishairasowsky were you able to achieve this?—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


Parsing translations is slow

GetTranslations.py has a speed of:
(384418 it [11:20, 564.85it/s] for 1.5 GB)
filtering json with ijson or msgspec could reduce waiting time

orjson from terminal (not PyCharm) reduces loading times dramatically


OAK-10126: Extend consistency check to cover jcr:predecessors and jcr…

…:successors

Test failures look unrelated to changes in this PR.


feat(compiler-sfc): allow return statement in

The setup function is only called once, so most cases of if + return statement are invalid and likely cause unexpected behaviors.

The setup function is only called once, so most cases of if + return statement are invalid and likely cause unexpected behaviors.

I wouldn't call "invalid", they are likely to be incorrect, but I think that's a linter's job, not compiler, we don't know how people use it, if you add a warning we need a way to remove the warning I suppose.

After discussing with Evan, we added one more macro, defineRender.
Compared to the return statement:

Macro is more explicit for defining render. The return statement has unclear semantics.
return can be written more than once can could cause losing reactivity like I mentioned before. But in defineRender, it can only called once.
For all macros, the order of calling is not concerned. In other words, it's the same effect, calling defineRender whether it's the first line or the last line.
Like the above one, all macros can only called in the top level of
<template>

{msg.value}

</template>

It should not be shared with template syntax, right?

<template>

{msg.value}

</template>

It should be the same as the render function, with the template as the main:
https://play.vuejs.org/#eNp9Uk9PgzAU/yq1F2ZC4LDbRBI1S9SDGjXx0guBB+ssbdOWSbLw3X0tg22J7kBof39efn3v7emd1smuA7qimS0N145YcJ3OmeStVsaRPTFQk4HURrUkQmk0Uw+q1Qc8Sf3FV0KaySwdi2EZvDhotSgc4I2QrOK7cMCj9+RZsI5cOpJZOltoTJ0tlax5k2ytkhh076WMlujiAsyrdlxJy+iKBMZzhRDq5zlgznQQT3i5gfL7D3xre48x+mbAgtkBozPnCtOAG+n1xwv0eJ7JVlWdQPUF8h2sEp3POMruO1lh7BNdSPsUespl82nXvQNpp0f5oF45BD2j2GPfsP+efoy7TJbBx+SAXZzmc5z06YwrqLkMdZUE6WKyORv5jZ8j9EGM0qIT4X9qWRwSGJAVmBVZXJPbnGwWkdWFjGISPQI+k3wpI6qr6BpD4XdhT3AbvDOfQNLaBuUeOl+Q4RdCZeze

It should not be shared with template syntax, right?

<template>

{msg.value}

</template>

It should be the same as the render function, with the template as the main:
https://play.vuejs.org/#eNp9Uk9PgzAU/yq1F2ZC4LDbRBI1S9SDGjXx0guBB+ssbdOWSbLw3X0tg22J7kBof39efn3v7emd1smuA7qimS0N145YcJ3OmeStVsaRPTFQk4HURrUkQmk0Uw+q1Qc8Sf3FV0KaySwdi2EZvDhotSgc4I2QrOK7cMCj9+RZsI5cOpJZOltoTJ0tlax5k2ytkhh076WMlujiAsyrdlxJy+iKBMZzhRDq5zlgznQQT3i5gfL7D3xre48x+mbAgtkBozPnCtOAG+n1xwv0eJ7JVlWdQPUF8h2sEp3POMruO1lh7BNdSPsUespl82nXvQNpp0f5oF45BD2j2GPfsP+efoy7TJbBx+SAXZzmc5z06YwrqLkMdZUE6WKyORv5jZ8j9EGM0qIT4X9qWRwSGJAVmBVZXJPbnGwWkdWFjGISPQI+k3wpI6qr6BpD4XdhT3AbvDOfQNLaBuUeOl+Q4RdCZeze

It should be like this, its behavior should be consistent with the option api situation

I disagree if think we should at the very least alert on both cases, there should not be multiple render functions, because one will never be called. That's more likely to be a bug than intentional.

Synchronous discussion:
The implementation of defineRender is to compile jsx content into the return value of the setup function, which is different from what vue's existing jsx plug-in does (for example, @vitejs/plugin-vue-jsx is to convert jsx into a runtime rendering function code).
Therefore, when defineRender and template exist at the same time, their priority issues cannot be discussed together with @vitejs/plugin-vue-jsx. @sxzz Setting defineRender to have higher priority than template has its trade-offs.
At the same time, I also agree with @pikax’s view. When defineRender and template exist at the same time, the compiler reports an error, which can regulate user behavior and avoid potential problems.

Actually, JSX is not within the scope of defineRender. Whatever using or not defineRender, the order of compilation is transforming Vue SFC into JavaScript (or JSX) code (@vitejs/plugin-vue), then transform JSX into JS (@vitejs/plugin-vue-jsx).

Now an error will be threw when defineRender() used with <template>

Should it go through RFC first?
I would say if defineRender is used the compiler should throw an error if <template> (the render template) is present

@pikax

Now The macro cannot be used with <template>.
The RFC has been written, PTAL https://github.com/vuejs/rfcs/discussions/585


Performance and UI tweaks

Enforce width of table columns to improve render performance
Cache node id -> name lookups
Make allocation task states show all possible information in the UI
Allow allocation filtering on Client and Job as well
A few small bug fixes here and there
Fixed allocation list (they never auto-updated)
Added triggered by to allocations list
Added reference to ParentID in allocations list
Added Status Description to allocations list
Bumped govendor to use master on nomad to support the new structs (still works flawlessly against 0.4.1 cluster)

Merging as this makes nomad-ui more usable than it was before, while not breaking anything :)


chore: sort imports of go files

This PR
Sorts imports of go files by running command on root directory.
~/go-sdk goimports -w .

Related Issues
N/A
Notes
In VSCode settings.json
   ...
    "[go]": {
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.organizeImports": true
        },
    },
   ...

Also results in it sorts the imports every time onSave.
Follow-up Tasks

Probably we can setup pre-merge check or pre-commit for go format and lint.
How to test
N/A

@beeme1mr @Kavindu-Dodan PTAL, thanks!


Mouse keeps disappearing after I alt to move something

Describe the bug
When I alt + drag to move anything in the interface, minimap for example, my mouse disappears after. It is still ''usable'' but I don't see it, runelite restart is necessary to see it again.
To Reproduce
Steps to reproduce the behavior:

Go to game.
Press alt
Drag anything
Mouse has disappeared

Expected behavior
Expected behavior is for mouse to be visible all the time.
Environment (please complete the following information):

OS: Windows
RuneLite version: [1.6.27]
Launcher version: [2.1.3
client_2020-10-03.0.log
]
client_2020-10-02.0.log

This is a bug in Contextual Cursors v1.2. It will be fixed in 1.2.1

Thanks for the quick response! Indeed I turned off contextual cursors and no more issue.


Add HDR?

From engine.ini. This will enable HDR support, only set by ini. So people can use this with MWK - SPF
[SystemSettings]
r.allowhdr=1
r.HDR.EnableHDROutput=1
r.HDR.Display.OutputDevice=5
r.HDR.Display.ColorGamut=2
r.HDR.UI.CompositeMode=1
r.FullScreenMode=0
r.HDR.UI.Level=1.5
r.HDR.Display.MidLuminance=54
r.HDR.Display.MaxLuminance=750
r.AllowHDR Creates an HDR compatible swap-chain and enables HDR display output.0: Disabled (default)
1: Allow HDR, if supported by the platform and display
r.HDR.Aces.SceneColorMultiplier Multiplier applied to scene color. Helps to reduce over saturation
r.HDR.Display.ColorGamut Color gamut of the output display:
0: Rec709 / sRGB, D65 (default)
1: DCI-P3, D65
2: Rec2020 / BT2020, D65
3: ACES, D60
4: ACEScg, D60
r.HDR.Display.MaxLuminance The configured display output nit level, assuming HDR output is enabled.
r.HDR.Display.MidLuminance The configured display output nit level for 18% gray
r.HDR.Display.MinLuminanceLog10 The configured minimum display output nit level (log10 value)
r.HDR.Display.OutputDevice Device format of the output display:
0: sRGB (LDR)
1: Rec709 (LDR)
2: Explicit gamma mapping (LDR)
3: ACES 1000 nit ST-2084 (Dolby PQ) (HDR)
4: ACES 2000 nit ST-2084 (Dolby PQ) (HDR)
5: ACES 1000 nit ScRGB (HDR)
6: ACES 2000 nit ScRGB (HDR)
7: Linear EXR (HDR)
8: Linear final color, no tone curve (HDR)
9: Linear final color with tone curve
r.HDR.EnableHDROutput Creates an HDR compatible swap-chain and enables HDR display output.0: Disabled (default)
1: Enable hardware-specific implementation
r.HDR.UI.CompositeMode Mode used when compositing the UI layer:
0: Standard compositing
1: Shader pass to improve HDR blending
r.HDR.UI.Level Luminance level for UI elements when compositing into HDR framebuffer (default: 1.0).
r.HDR.UI.Luminance Base Luminance in nits for UI elements when compositing into HDR framebuffer. Gets multiplied by r.HDR.UI.Level

If it can be enabled (and stays enabled) via Engine.ini then it's probably not something I'd add. The main benefit of setting these other CVars in code is that we can override ones that are changed by the game script/code.

"MWK - SPF" mod is pure snake oil

"MWK - SPF" mod is pure snake oil

Is this mod https://www.nexusmods.com/blackmythwukong/mods/13 ?

"MWK - SPF" mod is pure snake oil

Is it this mod https://www.nexusmods.com/blackmythwukong/mods/13 ?

Yes

"BMWK - SPF" mod is pure snake oil

Yeah, figures. :D i only saw that with the prev. addition of the RT shadows, so i thought i mention it. ;)

If it can be enabled (and stays enabled) via Engine.ini then it's probably not something I'd add. The main benefit of setting these other CVars in code is that we can override ones that are changed by the game script/code.

Right.
And yes, it stays enabled. Could cause shadow flickering in some scenes, also depending on your settings. But since i like HDR a lot, i like the benefit.

BTW you can always use SpecialK to inject HDR.
It's usually really good (not fake HDR) as it inject into the engine, and
is highly customizable.
Le lun. 26 août 2024, 22:12, IShadowDukeI @.***> a
écrit :

If it can be enabled (and stays enabled) via Engine.ini then it's probably
not something I'd add. The main benefit of setting these other CVars in
code is that we can override ones that are changed by the game script/code.
Right.
And yes, it stays enabled. Could cause shadow flickering in some scenes,
also depending on your settings. But since i like HDR a lot, i like the
benefit.
—
Reply to this email directly, view it on GitHub
https://github.com/Lyall/WukongTweak/issues/10#issuecomment-2311000954,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZVYVBQRTYHGS46PF4QZG73ZTOD4HAVCNFSM6AAAAABNDCL2XSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJRGAYDAOJVGQ
.
You are receiving this because you commented.Message ID:
@.***>

I know, not a fan tho. There is "native" HDR in Wukong, its just not enabled, probably because of these shadow glitches, maybe its coming properly with a patch.

Is it possible to make the dark areas lighter on SDR screen? The contrast is really annoying


Player Resize Breaks playlists

I didn't like the HTML5 player, or the new feature where both the progress bar AND the control bar both auto-hide, so I changed the player size to 640 x 360 aggressive flash with auto-hide progress bar only, but the playlist freaks out and hops up the page.

i'm having the same problem.  it seems to only be a problem when using the small (centered) player size.  all other sizes move the playlist down below the video next to the comments


JAVA_TOOL_OPTIONS breaks TeeCommandManager<WorkspacesAsync:Line 255> Workspace Already Exists Error

Agent version and platform
Version of your agent? 2.115.0

OS of the machine running the agent? Linux...

VSTS type and version
VisualStudio.com or On-Prem TFS? On-Prem

If On-Prem TFS, which release, 2015 RTM/QU1/QU2? 14.102.25423.0

What's not working?
When using TFVC on a Linux build agent, consecutive builds fail with "An error occurred: The workspace ws_X_X:Project Collection Build Service (TEAM FOUNDATION) already exists on computer XYZ."

The reason for this failure is that if the JAVA_TOOL_OPTIONS environment variable is set, the first output line during the "Querying workspace information" step is "Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8" followed by the XML output the agent expects.

It is the following line of code which is getting preventing the XML results from being parsed successfully and detecting the existing workspace:
https://github.com/Microsoft/vsts-agent/blob/v2.115.0/src/Agent.Worker/Build/TeeCommandManager.cs#L255

I am using Microsoft's own vsts-agent-docker container to host my Linux build agent which sets the JAVA_TOOL_OPTIONS environment variable and causes the issue.  With the hosted build configuration this is not a problem because a brand new docker container is provisioned for each build thus no existing workspace defined.  If you create your own Linux build agent which is persistent, then this issue will occur.

Please let me know if you require any other details, I hope I have diagnosed and explained this issue effectively so that it can be resolved easily.

@craigjar Thanks I'll try and repro. It sounds like we should search for the first <?xml and trim whatever comes before.
I'm not sure who publishes that container. If they left any contact info, it might be good to let them know.

@ericsciple, thanks.  I am using the "microsoft/vsts-agent:ubuntu-16.04-tfs-2017-docker-1.13.1-standard" docker image.  See: https://hub.docker.com/r/microsoft/vsts-agent/

thanks, i think i know who publishes that now. i'll follow up with them.

the fix is in master. it will go out with the 2.117.0 agent which will start rolling out to scale units ~ may 8 and finish rolling out over the course of a week or two.

Thank you @ericsciple, I built the latest master branch code and deployed to my environment and can confirm the fix works.
Really impressed with the fast turnaround time on this one.

@craigjar awesome, thanks for confirming the fix!

hi @craigjar, @ericsciple, I am also using vsts-agent-docker. Do you know if the fix has been in the latest image, since I still have this issue with ubuntu-16.04-tfs-2017-standard and ubuntu-16.04-docker-17.06.0-ce-standard.


Escape secquences are discarded in description strings during introspection, resulting in invalid schema

Describe the bug
When an introspection on an endpoint is performed, escape sequences in the description strings are "unescaped"/discarded in the resulting schema file. This leads to invalid schema files when there are description strings that use such escape sequences.
This happens, for example, when a description of a type/field/etc... contains a regex, as they often contain tokens like \s, \d etc..., where the backslash \ needs to be escaped (\\) in order to be valid in the description string.
Here an example:
Simplified introspection query
query {
    __schema {
        types {
            name
            description
        }
    }
}

Query result:
{
    "data": {
        "__schema": {
            "types": [
                   // ...
                   {
                       "name": "YearMonth",
                       "description": "A field whose value matches the provided regular expression /^(\\d{4}-(0[1-9]|1[012]))$/."
                   },
                   // ...
            ]
        }
    }
}

Generated schema file by js-graphql-intellij-plugin

"A field whose value matches the provided regular expression /^(\d{4}-(0[1-9]|1[012]))$/."
scalar YearMonth

Expected behavior
The plugin should not unescape/discard escape sequences from the introspection.
Screenshots

Version and Environment Details
Operation system: Linux 5.4.0-7626-generic
IDE name and version: WebStorm 2020.1.2
Plugin version: 2.5.0

Hi Kim,
Thanks for using the plugin.
Can you try 2.4.0 from https://plugins.jetbrains.com/plugin/8097-js-graphql/versions to confirm whether this is regression in 2.5.0?
You can temporarily install 2.4.0 it using the gear icon in the plugins dialog and loading it from disk.
Best regards,
Jim

Hi Jim
I just tested it with v2.4.0 of the plugin, and the escape sequences are correctly preserved, so it seems to be a regression in v2.5.0

Best regards,
Kim

Hi Kim,
I took another look at this, and I can't reproduce based on the JSON you've attached to the issue. This is what I see:

There is also a test case that checks for the proper escaping, and it didn't fail after the graphql-java 15 upgrade. Do you have any other information that can help reproduce this?

Fixed in #359, only the scalar types were affected.


Add configuration file in md.h

Description
include *config.h* in md.h as MACROS in the header file get ignored.
Fix for #1001.
Status
READY
Requires Backporting
Yes
mbedtls-2.1
Migrations
NO
Todos

[ ] Tests
[ ] Documentation
[x] Changelog updated
[x] Backported

HI @andres, sure. It only requires backporting to 2.1 though

@RonEld I think the config file should generally be included, so I'd prefer a backport to 1.3, too.

Hi @hanno-arm The reason there is no need for backporting is because this file doesn't exist on mbedtls-1.3

Hi @hanno-arm I backported to 1.3 as well

CI failed only due to timing tests (known issue), ok to merge


Using -Args with -Command does not work as documented

The powershell command line docs suggest that the "-Command" option may be used with the "-args" option to pass extra arguments to a script block. However, this does not work as described.
Recommend updating the command line documentation to document the actual behavior of -Command, which does not support an -args option.
Usage: pwsh[.exe] [-Login] [[-File] <filePath> [args]]
                  [-Command { - | <script-block> [-args <arg-array>]
                                | <string> [<CommandParameters>] } ]

Steps to reproduce
powershell.exe -Command "{ echo $args[1] }" -args one two three

Expected behavior
print two
Actual behavior
error:
aaronla@aaronla-r:scratch$ dotnet pwsh -command "{ echo $args[1] }" -args one two three
ParserError:
Line |
   1 |  { echo $args[1] } -args one two three
     |                    ~~~~~
     | Unexpected token '-args' in expression or statement.

Environment data

aaronla@aaronla-r:PowerApps-CoreServices$ dotnet pwsh -command echo $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.0.3
PSEdition                      Core
GitCommitId                    7.0.3
OS                             Microsoft Windows 10.0.19043
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

The command needs to be written as a script block, not a string, and the args as an array
pwsh  -command { echo $args[1] }  -args one,two,three

@jhoneill No dice for me. Similar error:
aaronla@aaronla-r:repos$ powershell -command { echo $args[1] } -args one,two,three
At line:1 char:19
+ { echo $args[1] } -args one,two,three
+                   ~~~~~
Unexpected token '-args' in expression or statement.
At line:1 char:25
+ { echo $args[1] } -args one,two,three
+                         ~~~
Unexpected token 'one' in expression or statement.
At line:1 char:28
+ { echo $args[1] } -args one,two,three
+                            ~
Missing argument in parameter list.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

When a string is used in place of the script block, -args isn't allowed ,but you can do something like pwsh -c "dir" "function:"

Yes, but then string escaping between shells gets to be a nightmare. I'd like something I can reasonably forward cmd's %* args through. E.g.
REM example
powershell.exe -command { & .\init.ps1; & .\myscript.ps1 @args } -args %*

It works -- but it only works if the shell you're running it in is itself powershell/pwsh. The scriptblock handling that allows -Command to take an actual scriptblock requires that the shell handing the argument to the executable is powershell or pwsh, which will actively serialize the input to a format that the new shell instance can parse.
Without that, everything following -Command is assumed to be a single command string/script, so -Args is never read as an executable argument, but interpreted as part of the command string.

It is works in bash:
pwsh -c '{ echo $args.count; $args[0]; $args -join " "}.Invoke(1,2,3)'

returned:
3
1
1 2 3

@jhoneill No dice for me. Similar error:
I'd like something I can reasonably forward cmd's %* args through. E.g.
REM example
powershell.exe -command { & .\init.ps1; & .\myscript.ps1 @args } -args %*

Obviously the above doesn't work. But how do you fix it?

My brain is having trouble with writing a batch file that runs PowerShell (why not have everything in one PS script)  but this works
powershell -noprofile -command "echo %*"

@jhoneill

My brain is having trouble with writing a batch file that runs PowerShell

A few practical reasons reasons:

Out of the box, PowerShell scripts aren't executable. Windows lacks the equivalent of #!, and the default shell verb for PowerShell is to edit it in notepad. Batch scripts are.
To get consistent behavior from machine to machine, with varying user profiles and permission policies, we need to launch PowerShell with the additional arguments -ExecutionPolicy Bypass -NonInteractive -NoProfile. Batch scripts are a handy way to automate this.
MSbuild lacks a built in task for running PowerShell . But it includes built in support for batch scripts via the Exec task. This makes batch scripts a handy place to add PowerShell to the build.

Hopefully that helps understand our motivations here.

but this works: powershell -noprofile -command "echo %*"

It does not work if %* contains quotations. I'm looking for something that can generally forward arguments, not work in some limited specific cases.

@vexx32

It works -- but it only works if the shell you're running it in is itself powershell/pwsh

Thanks for the clarification vexx. If that's the intended behavior, that this feature only work from specific shells, then perhaps that's the scope of the bug. Update the documentation to reflect that this only works on bash and powershell, and not via exec / CreateProcess / batch / Windows command line.

It works in bash:
pwsh -c '{ echo $args.count; $args[0]; $args -join " "}.Invoke(1,2,3)'

Thanks for the feedback @237dmitry, but I get a very similar error when run on bash. -Args doesn't seem to work there either.
On bash
aaronla@aaronla-r:~/scratch$ echo "${BASH_VERSION}"
echo "${BASH_VERSION}"
5.0.3(1)-release
aaronla@aaronla-r:~/scratch$ dotnet pwsh -Command "{ echo \$args[1] }" -args one two three
ParserError:
Line |
   1 |  { echo $args[1] } -args one two three
     |                    ~~~~~
     | Unexpected token '-args' in expression or statement.

@sdwheeler are you able to transfer this to PowerShell-Docs?

but I get a very similar error when run on bash

It works, I think string arguments in .Invoke() should be in quotation marks:

I've seen some people on the thread claim this works when invoked from powershell, but if you debug the child process, you'll observe that powershell-launching-powershell never passes the -command/-args combo, but instead treats -Command/-Args as an alias for -encodedCommand/-encodedArgs.
Example repro:
aaronla@aaronla-rabbit:echoapp$ cat Program.cs
∩╗┐class Program {
static void Main(string[] args) =>
    System.Console.WriteLine("Args=" + System.Environment.CommandLine);
}

aaronla@aaronla-rabbit:echoapp$ dotnet build -nologo
  Determining projects to restore...
  All projects are up-to-date for restore.
  You are using a preview version of .NET. See: https://aka.ms/dotnet-core-preview
  echoapp -> C:\scratch\echoapp\bin\Debug\net6.0\echoapp.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.78

aaronla@aaronla-rabbit:echoapp$ cd bin\Debug\net6.0\

aaronla@aaronla-rabbit:net6.0$ set path=%cd%;%path%

aaronla@aaronla-rabbit:net6.0$ C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

PS C:\scratch\echoapp\bin\Debug\net6.0> powershell -Command { echo "hello $($args[0])" } -args world
Args=C:\scratch\echoapp\bin\Debug\net6.0\echoapp.dll -encodedCommand IABlAGMAaABvACAAIgBoAGUAbABsAG8AIAAkACgAJABhAHIAZwBzAFsAMABdACkAIgAgAA== -encodedarguments PAA/AHgAbQBsACAAdgBlAHIAcwBpAG8AbgA9ACIAMQAuADAAIgAgAGUAbgBjAG8AZABpAG4AZwA9ACIAdQB0AGYALQAxADYAIgA/AD4APABPAGIAagBzACAAVgBlAHIAcwBpAG8AbgA9ACIAMQAuADEALgAwAC4AMQAiACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AcABvAHcAZQByAHMAaABlAGwAbAAvADIAMAAwADQALwAwADQAIgA+ADwATwBiAGoAIABSAGUAZgBJAGQAPQAiADAAIgA+ADwAVABOACAAUgBlAGYASQBkAD0AIgAwACIAPgA8AFQAPgBTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEEAcgByAGEAeQBMAGkAcwB0ADwALwBUAD4APABUAD4AUwB5AHMAdABlAG0ALgBPAGIAagBlAGMAdAA8AC8AVAA+ADwALwBUAE4APgA8AEwAUwBUAD4APABTAD4AdwBvAHIAbABkADwALwBTAD4APAAvAEwAUwBUAD4APAAvAE8AYgBqAD4APAAvAE8AYgBqAHMAPgA= -inputFormat xml -outputFormat text

I propose updating the documentation for -Args to indicate that it is not supported as a command line argument, and only supported as an alias when powershell is invoked using the powershell function/alias.

If that's the intended behavior, that this feature only work from specific shells, then perhaps that's the scope of the bug. Update the documentation to reflect that this only works on bash and powershell, and not via exec / CreateProcess / batch / Windows command line.

From about_powershell.exe:

The Command parameter only accepts a script block for execution when it can recognize the value passed to Command as a ScriptBlock type. This is only possible when running powershell.exe from another PowerShell host. The ScriptBlock type may be contained in an existing variable, returned from an expression, or parsed by the PowerShell host as a literal script block enclosed in curly braces ({}), before being passed to powershell.exe.

using the powershell function/alias

It's working as the standard executable here, it's just that the invoking PowerShell process is able to translate the scriptblock passed as an argument into an encoded command under the hood.

It works, I think string arguments in .Invoke() should be in quotation marks:

My issue is not with the .Invoke method, it's with the -Args command line argument.

I propose updating the documentation

Also please note that the repo for that is https://github.com/PowerShell/PowerShell-Docs.

This works, as stated in the docs, when it is run from within a PowerShell session.
PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.1.3
PSEdition                      Core
GitCommitId                    7.1.3
OS                             Microsoft Windows 10.0.19043
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

PS> pwsh -command { echo $args[1] } -args one,two,three
two
PS> powershell -command { echo $args[1] } -args one,two,three
two

PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.906
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.906
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

PS> powershell -command { echo $args[1] } -args one,two,three
two
PS> pwsh -command { echo $args[1] } -args one,two,three
two
PS>

Given the discussion in the issue, I think the docs already cover this case and have marked it resolved. If there are changes you'd like to see in the documentation, please open an issue in https://github.com/MicrosoftDocs/PowerShell-Docs.

Thanks for clarifying @rjmholt. The docs make it seem like it's a command line argument, but now I see what you mean -- it's more intended as a powershell function argument to be used from within powershell, and not to be used at the command line / StartProcess / exec.


fix compile error introduced by pull request #21

Sorry for forgetting commit test class.

Some unit test failed, I'am trying to fix it.

I have tried and failed, please refactor test case according to #21.