[$250] IOU - In newly created workspace, with no members invited, split expense is displayed

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

Version Number: 9.0.16
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Launch app
Tap profile icon -- workspaces -- new workspace
Navigate to newly created workspace in the list and using 3 dots on beside navigate to #admin room
Tap plus icon near compose and select split expense.
Enter an amount and tap next

Expected Result:
In newly created workspace, with no members invited, split expense option must not be displayed in #admin room. When no members invited in workspace, it must not show hidden member
Actual Result:
In newly created workspace, with no members invited, split expense option is displayed in #admin room. When trying to split expense, a hidden member is shown without invited
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[x] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/user-attachments/assets/e01f812e-aab0-4f3a-bdb3-fa434f487b75
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0125de9b07488ab7a1
Upwork Job ID:<PHONE_NUMBER>701136238
Last Price Increase: 2024-08-06
Automatic offers:

ahmedGaber93 | Reviewer | 103461530

Issue OwnerCurrent Issue Owner: @ahmedGaber93

@adelekennedy  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #vip-vsp

I really apologize for commenting here, but I don't know where else to go that someone from expensify might see it. I emailed<EMAIL_ADDRESS>a week ago requesting access to slack, along with a follow up a few days ago, and I haven't heard back. Are we just not accepting new contributors at the moment, or is there some other step I need to follow to gain access? Can someone please advise? Again, sorry for hijacking an issue thread.

Proposal
Please re-state the problem that we are trying to solve in this issue.
IOU - In newly created workspace, with no members invited, split expense is displayed
What is the root cause of that problem?
We are including split option if it your own expense chat here
https://github.com/Expensify/App/blob/8abdcca86923a5a121734f34bbc53f2eeb5a45dd/src/libs/ReportUtils.ts#L6106-L6107
What changes do you think we should make in order to solve the problem?

Change it to
        (isPolicyExpenseChat(report) && report?.isOwnPolicyExpenseChat && otherParticipants.length > 0)

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Workspace with 0 members shows Split expense option.
What is the root cause of that problem?
We do not check count of members for displaying Split expense option in context menu.
What changes do you think we should make in order to solve the problem?
Check for members count in
src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.tsx
What alternative solutions did you explore? (Optional)

I am not also able to reproduce the issue ... the split option doesn't appear in the admin room

reproduced - I'm also able to reproduce this on web, chrome v9.0.16-5, IMO this is a bug, we shouldn't show the split option until additional members are invited

@ahmedGaber93 already some proposals to review!

@rlmorrison74 Let me search for your email in the inbox - I'll reach out via email fro next steps

I'm not able to reproduce on web, do I missed something?
https://github.com/user-attachments/assets/5ae41726-b6dd-4c14-b319-83d4e3f4dc3b

You can try the new account, with the first workspace in that account.

@daledah Still not able to reproduce
https://github.com/user-attachments/assets/b5383772-1d31-4ec7-b0c4-6dd0d6b71c41

I am able to reproduce now. Thanks @daledah.

@daledah's proposal LGTM!
🎀 👀 🎀 C+ reviewed

Not overdue, PR in progress.

This PR caused a pretty big regression where none of us with expensify.com emails can use the create options in DM: https://github.com/Expensify/App/issues/48282

@trjExpensify Yes, unfortunately this is a big regression, but the good news is the PR is not merged into production yet. I will create a revert PR now.

Oh hm, but it's on a checklist that's closed? 🤔 CC: @puneetlath is something broken?

We didn't do a production deploy for that checklist, so it's still on staging.

@daledah I think this not urgent issue and there is no need to rush, let's revert it before deploying to production then we can discuss the solution. May be emails with GUIDES_DOMAIN also need to use this feature on other scopes.

I merged and am CPing the revert.

Confirmed the options appear after reverting

@adelekennedy the expect behavior here is to hide the split option in admin room if the only other user in the room is guide team member and there is no other members.
The question here: is there is any case the guide member with email team.expensify.com can be normal user of admin room and it is not a guide member? For example, if we have a workspace for guide team, the guide team members here will be normal users on admin room not guide member
CC @trjExpensify @Gonals

I'm not sure  but my instinct is that they'd always be guide members but @trjExpensify or @Gonals for thoughts? I'll take this to Slack to confirm if we don't come to a conclusion here

is there is any case the guide member with email team.expensify.com can be normal user of admin room and not a guide member? For example, if we have a workspace for guide team, the guide team members here will be normal users on admin room not guide member

What do you mean by normal user? They can have their own workspaces for testing and demos on that domain, if that's the question.

Does anyone have the latest on what we do with Guides/AMs now? Do we just add them as a member of the #admins room, versus adding them to the workspace when assigned to a lead? CC: @puneetlath
If that's the case, then I think it's probably fine to just show the guide/AM as a member of the #admins room and thus as a participant here:

Does anyone have the latest on what we do with Guides/AMs now? Do we just add them as a member of the #admins room, versus adding them to the workspace when assigned to a lead? CC: @puneetlath

Yes, that's correct. We add them to the admins room, but not the workspace.

Okay cool, then I think it's fine to show the guide/AM as a participant of the #admins room and not hide that. Meaning, they can be selected for a Split in the room, but I highly doubt anyone will do that in reality.
So what we should try to fix here is why they're showing as hidden. Agreed?

Makes sense to me. Hiding seems to cause more problems than benefits.

Thanks all for clearing the context.

@adelekennedy @daledah The "hidden" participant not reproduced with me in this case, it always displays the Guide member. Is there anyone able to reproduce it?
https://github.com/user-attachments/assets/1550c22a-162e-4792-8e2a-cc515b83dd3f

@daledah the issue is not reproduced on latest main with me. Can you confirm?

@daledah can you try to clear the cache like you described here https://github.com/Expensify/App/issues/46739#issuecomment-2273382189 then retest.

@daledah bump here https://github.com/Expensify/App/issues/46739#issuecomment-2354587449

@adelekennedy The "hidden" participant is not reproduced with me in this case, it always displays the Guide member. I think we can close it unless someone able to reproduce. https://github.com/Expensify/App/issues/46739#issuecomment-2332221835

agreed - let's close this one!

ah good catch - sorry about that I agree payment is due here
Payouts due:

[ ] Contributor: $250 @daledah Upwork
[ ] Contributor+: $250 @ahmedGaber93 Upwork

@daledah @ahmedGaber93 will you apply here? Upwork is letting he search talent at the moment

@daledah sent @ahmedGaber93 just sent offer, please accept and I will pay you

Hi, @adelekennedy @daledah what is left here to close this issue?

I'm so sorry for the delay here - @daledah payment just made!

I think we can close it now.


YARN-6969. Remove method getMinShareMemoryFraction and getPendingCont…

Please add me as a contributor in jira so that I can assign this task to me.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
0
Docker mode activated.

-1
patch
9
https://github.com/apache/hadoop/pull/260 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help.

Subsystem
Report/Notes

GITHUB PR
https://github.com/apache/hadoop/pull/260

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-260/1/console

versions
git=2.17.1

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

https://issues.apache.org/jira/browse/YARN-6969 has been fixed. Closing.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
0
Docker mode activated.

-1
patch
15
https://github.com/apache/hadoop/pull/260 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help.

Subsystem
Report/Notes

GITHUB PR
https://github.com/apache/hadoop/pull/260

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-260/2/console

versions
git=2.7.4

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.


[move-only] When the move only experimental option is disabled do not run the move passes.

Just trying to prevent crashy behavior that can occur if a user tries to use move only without passing in the flag.
rdar://102059799

@swift-ci test

@swift-ci test


Finesse: Use plugin in example-store

https://github.com/redwoodjs/example-store-stripe/pull/430
Updates example store to rewoodjs v5 and uses latest version of Stripe plugin


fix(emotes): use urls given by 7TV instead of static template

Pull request checklist:

[ ] CHANGELOG.md was updated, if applicable

Description
This is a very conservative approach at getting urls. This approach assumes all of the following url patterns can appear: [1x, 2x, 3x, 4x], [1x, 2x], [2x, 3x].
I'm not sure if that's even possible. If the last pattern is impossible (i.e. it always starts with 1x,2x,...), then we can omit the loop through the urls (though it should be pretty rare).
This doesn't fix the issue of adding emotes that aren't processed yet. However, this should be "fixed" upstream by providing a default image for failed image-requests.
Fixes #114.

This will be fixed by the migration to REST v3.


cht-sh: init at unstable-2018-11-02

Motivation for this change
Things done

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

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

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

Success on aarch64-linux (full log)
Attempted: cht-sh
Partial log (click to expand)
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/a46spggj532wrhdixjc3bzvcvdsgrm8j-cht.sh-unstable-2018-11-02
strip is /nix/store/qjrnv0qw44bw1hc23zhfh26xd1c25dfs-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/a46spggj532wrhdixjc3bzvcvdsgrm8j-cht.sh-unstable-2018-11-02/bin
patching script interpreter paths in /nix/store/a46spggj532wrhdixjc3bzvcvdsgrm8j-cht.sh-unstable-2018-11-02
/nix/store/a46spggj532wrhdixjc3bzvcvdsgrm8j-cht.sh-unstable-2018-11-02/bin/.cht.sh-wrapped: interpreter directive changed from "/bin/sh" to "/nix/store/bpspdmsl0yys24gs70flsvcw3wcnl7lx-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/a46spggj532wrhdixjc3bzvcvdsgrm8j-cht.sh-unstable-2018-11-02...
/nix/store/a46spggj532wrhdixjc3bzvcvdsgrm8j-cht.sh-unstable-2018-11-02

Success on x86_64-linux (full log)
Attempted: cht-sh
Partial log (click to expand)
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/i4glfyjcid4xnj37h709lcrkch2xcp7h-cht.sh-unstable-2018-11-02
strip is /nix/store/n4hb93w6j076xcjw5pm09rdmc09s075b-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/i4glfyjcid4xnj37h709lcrkch2xcp7h-cht.sh-unstable-2018-11-02/bin
patching script interpreter paths in /nix/store/i4glfyjcid4xnj37h709lcrkch2xcp7h-cht.sh-unstable-2018-11-02
/nix/store/i4glfyjcid4xnj37h709lcrkch2xcp7h-cht.sh-unstable-2018-11-02/bin/.cht.sh-wrapped: interpreter directive changed from "/bin/sh" to "/nix/store/yal8k8rgbaj8p9vi08q1kh21ls0ndq95-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/i4glfyjcid4xnj37h709lcrkch2xcp7h-cht.sh-unstable-2018-11-02...
/nix/store/i4glfyjcid4xnj37h709lcrkch2xcp7h-cht.sh-unstable-2018-11-02

@GrahamcOfBorg build cht-sh

Success on aarch64-linux (full log)
Attempted: cht-sh
Partial log (click to expand)
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/kkcm0wm8xqmv9d1yp8am3n4adrv0bhpm-cht.sh-unstable-2018-11-02
strip is /nix/store/bbla06nbjnpi55x9b3zm945vq1mf5fbh-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/kkcm0wm8xqmv9d1yp8am3n4adrv0bhpm-cht.sh-unstable-2018-11-02/bin
patching script interpreter paths in /nix/store/kkcm0wm8xqmv9d1yp8am3n4adrv0bhpm-cht.sh-unstable-2018-11-02
/nix/store/kkcm0wm8xqmv9d1yp8am3n4adrv0bhpm-cht.sh-unstable-2018-11-02/bin/.cht.sh-wrapped: interpreter directive changed from "/bin/sh" to "/nix/store/bsb6596kk4fp20hyl9yl55xwv1ax4b6s-bash-4.4-p23/bin/sh"
checking for references to /build/ in /nix/store/kkcm0wm8xqmv9d1yp8am3n4adrv0bhpm-cht.sh-unstable-2018-11-02...
/nix/store/kkcm0wm8xqmv9d1yp8am3n4adrv0bhpm-cht.sh-unstable-2018-11-02

Success on x86_64-linux (full log)
Attempted: cht-sh
Partial log (click to expand)
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/di34ck27ayi4f5z9yfz8019ykkwfvg4y-cht.sh-unstable-2018-11-02
strip is /nix/store/6s8dkfj3irwv52cap2hd9k7gaddklfs1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/di34ck27ayi4f5z9yfz8019ykkwfvg4y-cht.sh-unstable-2018-11-02/bin
patching script interpreter paths in /nix/store/di34ck27ayi4f5z9yfz8019ykkwfvg4y-cht.sh-unstable-2018-11-02
/nix/store/di34ck27ayi4f5z9yfz8019ykkwfvg4y-cht.sh-unstable-2018-11-02/bin/.cht.sh-wrapped: interpreter directive changed from "/bin/sh" to "/nix/store/az8gqspcfqr3fdhkscz60qhjnxdh5ggs-bash-4.4-p23/bin/sh"
checking for references to /build/ in /nix/store/di34ck27ayi4f5z9yfz8019ykkwfvg4y-cht.sh-unstable-2018-11-02...
/nix/store/di34ck27ayi4f5z9yfz8019ykkwfvg4y-cht.sh-unstable-2018-11-02

Weird, the help menu displays
Usage:

    .cht.sh-wrapped --help           show this help
    .cht.sh-wrapped --shell [LANG]   shell mode (open LANG if specified)
    .cht.sh-wrapped QUERY            process QUERY and exit

.cht.sh-wrapped

Success on x86_64-linux (full log)
Attempted: cht-sh
Partial log (click to expand)
/nix/store/di34ck27ayi4f5z9yfz8019ykkwfvg4y-cht.sh-unstable-2018-11-02

Success on aarch64-linux (full log)
Attempted: cht-sh
Partial log (click to expand)
/nix/store/kkcm0wm8xqmv9d1yp8am3n4adrv0bhpm-cht.sh-unstable-2018-11-02

I couldn't get it working either. And I'm not sure about the semantics of the internally used exec -a: exec -a foo bash works perfectly fine ($0 = foo), but when checking this out with scripts it doesn't work anymore.
Unless there's a simple way I'd suggest fixing the references in the help message via substituteInPlace.

I think it's because it re-executes itself: https://github.com/chubin/cheat.sh/blob/9595805ac68b3c096f7c51fa024dcb97a7dfac44/share/cht.sh.txt#L444

ah I see :)
In this case it would IMHO be best to patch $0 invokations in --help with cht.sh :)


Black navigation bar with UITableView

I have a tableview I assigned self.tableView to self.shyNavBarManager.scrollView. But on scroll up it shows black background while moving up. Seems possibly because of header constraints setup on tableview. Also when I select a row in tableview it moves to new viewcontroller, the navigation bar shows in status bar. But somehow on pulling down the notification bar fixes the navigation bar. Also I have pull to refresh in tableview which leads to problem.

Hi, I am having the same problem right now. Have you solved this issue?

No @yuchaozh I didn't. I finally wrote my own solution for hiding  and showing navigation with scroll view. Can share the code if you want.

Guess it's duplicate of #63


scriptblock issue

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Run the following script:
# Article: https://www.ipswitch.com/blog/understanding-powershell-scriptblocks

[string] $scriptblock = "{ 1 + 1 }"

# Scriptblock

[scriptblock] $sb = [scriptblock]::Create($scriptblock)

$result = $sb.Invoke(@())

Get-Error

$result

# Call Operator

$result = & $sb

Get-Error

$result

# Invoke-Command

$result = Invoke-Command -ScriptBlock $sb -ArgumentList @() -NoNewScope

Get-Error

$result

# The only way it works

$result = &{ 1 + 1 }

$result

Get-Error

Looks like there is no way of loading the scriptblock from a string
Expected behavior
true
true
true
true

Actual behavior
1 + 1
1 + 1
1 + 1
true

Error details
None

Environment data
Powershell Core 7.2.1

Visuals
No response

$scriptblock = "{ 1 + 1 }"

You need use $scriptblock = "1 + 1"

Adding to the above, you are essentially doing &{ { 1 + 1 } } which is just outputting a scripblock hence why it’s just showing the scriptblock contents.

Thank you


Support for React 17

Currently if we install react95, we get an error
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/react95
npm ERR!   react95@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!

@735l4 thanks for the heads up. Will try to fix asap

@735l4 can you provide an example in codesandbox or show your package.json?

@arturbien sorry that was the wrong error log I've updated it. I got that error when I tried to install react95 for the fresh next.js project it's the same for fresh react 17 installation as well.

@735l4 should be fixed now. Let me know if it works now : )

:tada: This issue has been resolved in version 3.11.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@arturbien it's resolved. Thanks!


subject line is prefixed with greater signs

Is your feature request related to a problem? Please describe.
The app doesn't explain what the different greater-than-symbols are for, that it prefixes mail subjects with.
Some mails have no greater sign '>'
others have one or two
>
>>

Correspondents are displayed before subjects in this screenshot
Describe the solution you'd like
If they are supposed to deliver a certain info to the user, then the user should be informed about that in the settings or so.

See https://forum.k9mail.app/t/what-do-the-arrows-mean-before-the-second-preview-line/339


Add QuTiP 2021 annual report

A document has been drafted by the QuTiP admins, as the annual communications to the board. We could add this in here for everyone to see.

Added in #5 and cleaned up in #7.


I cant find the missing greetings problem.

A few things to check first:
Is the issue you are filing related to a specific kata?
If so then please file an issue on the discourse page of the kata. You can do so by creating a comment and marking it as an issue. Only issues related to site functionality should be filed here.
Is the issue you are filing related to how a specific language behaves when being executed?
If so then it will likely be better to file the issue on our github.com/Codewars/codewars-runner-cli/issues repo, which is where we have our open source code execution functionality. You also may want to look into forking that repo and fixing the issue yourself if you have the means.
Otherwise delete all of this text and file your issue. Make sure to include steps to reproduce the issue, including which pages/kata you found the issue on, and your Codewars username if its related to your account.

What is your issue?
Please update the issue by deleting the template text and describing your issue.


Automatically annotate slow tests

Once we've found the slow tests, it might be handy to have them all annotated. That would let us find them again later, and also would let us configure PHPUnit to run them separately from the the fast tests - e.g. we might want to run fast tests before commit and slow tests only before deployment.
I'm not sure if the functionality to edit test code would necessarily belong inside this tool - maybe it would be better to implement this a recommendation of another tool that can do the annotations (assuming it exists) and an option to output the list of test cases in a suitable machine readable format - probably something like you get by piping the existing output through grep -o '\S*::\S*'

As with the other issue, if there's interest in this I'd consider submitting a PR.

@bdsl Thanks for this idea. PHPUnit supports the [@group](https://phpunit.readthedocs.io/en/9.5/annotations.html#group) annotation to annotate a test suite's slow tests. You could annotate tests with @group slow then run with ./vendor/bin/phpunit --group=slow
As for how to modify your suite's test code, that is not a feature I want to bring in scope for SpeedTrap. Perhaps a tool like Rector (GitHub, Website) could perform the actual code modification.
Like you suggested, such a tool would require a programmatic output from SpeedTrap to inform which test case and test method was detected as slow. Adding a programmatic output would be a valuable feature for SpeedTrap.
SpeedTrap currently outputs to screen via echo. Some users haven't been happy about that. #33 proposes redirecting output to php://stdout, but I think a custom results printer would be the preferred solution. However, I haven't prioritized investigating it. If someone were interested in implementing one for SpeedTrap, this blog post looks like a good example implementation. Would a programmatic output to console or disk be the job of a results printer?

I agree it makes sense to to put code modification functions into SpeedTrap, and they'd fit better in Rector. I don't know if Rector currently has a rule to add a given annotation to a list of classes or methods, but hopefully that should be easy to create if not.
Will try and look for a nice way to output an easily machine readable list from SpeedTrap. I suppose the difficult is maybe that SpeedTrap doesn't have any CLI of it's own to take options or manage output.

related to #88


Fix overflow condition with QueryPerformanceCounter

The previous code for OS_Windows::get_ticks_usec() multiplied the tick count by 1000000 before dividing by ticks_per_second. The ticks is counted in a 64 bit integer and is susceptible to overflow when a machine has been running for a long period of time (days) with a high frequency timer.
This PR separates the overall calculation into one for seconds and one for the remainder, removing the possibility of overflow due to the multiplier.
Original calculation was:
	time = ticks * 1000000L / ticks_per_second;

May (or may not!) fix- #38878.
Notes

Noticed this while looking at #38878, however it is difficult to pinpoint the cause as there is no reproduction project, and a number of things going on in the described scenario.
We could alternatively do a 128 bit calculation, however that might need to be done in software and this method is probably simpler + more efficient.
Unix version already separates seconds and nanoseconds.
Might need the same doing for UWP platform.
NEEDS TESTING - as I don't have a windows machine.

Bug scenario

QueryPerformanceCounter returns a signed 64 bit LARGE_INTEGER, probably since reboot but this is not guaranteed
Largest tick value is thus 2^63 = 9.22x10e+18
resolution dropped by multiply
2^63 / 1000000 = 9.22x10e12
typical clock freq, 1.4 million
9.22x10e12 / 1.4 million = 6588000 seconds
minutes = 109802
hours = 1830
days = 76

So with high frequency timers and a number of days of uptime there is a possibility of overflow.

Let's get this merged and tested in 3.2.2 RC 1.
Let's not close #38878 just yet and wait for a confirmation that it solves it though.

Thanks!

Cherry-picked for 3.2.2.


Release 0.4.1

<!-- Make sure you have read http://napalm.readthedocs.io/en/latest/contributing/index.html --!>

Coverage remained the same at 90.871% when pulling e3b4ace05781723b617874523e549e94fd0e0acf on REL0.4.1 into b236554ac704529f9d704c6483da5fec6bba4bb1 on develop.

+1


Support resolving full secret IDs

Current behavior of the plugin is to only resolve secrets for the specified key vault named in the secrets config. It would be good to be able to resolve secrets based off of ID instead of key vault name/secret name as this would be more flexible when dealing with multiple key vaults.
There's a couple of approaches for this:

The porter config for the azure.keyvault could not include the key vault name and in that case all secrets would be required to resolve as the ID not kv name/secret pair
The plugin could support either kv name/secret pair or a secret ID and at resolve time it would identity that the credential it's resolve is an ID not a name/secret pair

The advantage this gives the plugin is much more dynamic and flexible secret lookup especially when dealing with multiple Azure key vaults which would be a common use case for a team running this in production

We'll need to go with the second option since otherwise it would be a pretty big breaking change.


Touch Bar support

Touch Bar controls (Make sure we take https://github.com/wulkano/kap/commit/621f1cabc6ce859923a6c07536241d781454726d into account)
Do people want this, and if so; are there other improvements needed on our initial implementation #255?
If you don't have a device with Touch Bar you can use https://github.com/sindresorhus/touch-bar-simulator

YEEES I WANT. I Liked how it works in 2.0

Reviving this issue with an interactive idea: Draggable trimming sliders for in and out points on a recorded video.
cc @skllcrn

@skllcrn Sorry for the late response, let me draw some prototype for my idea. Will post out later.

No worries, and thank you @LitoMore!

We'd love to do some incremental improvements for our next update, but it would still be really useful to see your concepts or prototypes @LitoMore

Closing as the Touch Bar is being phased out.


[v2.0.4] Values not delimited when format string is empty

In slog v2.0.4:
let logger = &slog::Logger::root_typed(drain.fuse(),
    o!("CARGO_PKG_NAME" => env!("CARGO_PKG_NAME"),
       "CARGO_PKG_VERSION" => env!("CARGO_PKG_VERSION")));
// ...
slog_debug!(logger, ""; "address" => address);

Actual:
May 08 15:29:37.119 DEBG address: [::1]CARGO_PKG_VERSION: 0.1.0CARGO_PKG_NAME: test

Expected something like:
May 08 15:37:40.987 DEBG, , address: [::1], CARGO_PKG_VERSION: 0.1.0, CARGO_PKG_NAME: test

This is most probably a slog-term bug, where needs_comma is not being set after output every KV. Will look into it once I find some time. Feel free to submit a PR yourself.

Fixed in slog-term 2.0.1


ntp: 4.2.8p13 -> 4.2.8p14

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/ntp/versions.
meta.description for ntp is: "An implementation of the Network Time Protocol"
meta.homepage for ntp is: "http://www.ntp.org/"

Quoted meta.homepage for RFC 45

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 4.2.8p14 with grep in /nix/store/nw67lcfq427hrfzy0fcj9823qay12ccw-ntp-4.2.8p14

directory tree listing: https://gist.github.com/bf807480f601cec58a8eb523b173e70e

du listing: https://gist.github.com/e89f78a8b44e0fe9895ddbcaa16e6bbc

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
ntp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/nw67lcfq427hrfzy0fcj9823qay12ccw-ntp-4.2.8p14 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ntp https://github.com/r-ryantm/nixpkgs/archive/326fc3d56ed022beb6aeb4bd26f18dc4857381d8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/nw67lcfq427hrfzy0fcj9823qay12ccw-ntp-4.2.8p14
ls -la /nix/store/nw67lcfq427hrfzy0fcj9823qay12ccw-ntp-4.2.8p14/bin

cc @edolstra @thoughtpolice for testing.

@GrahamcOfBorg test installer


feat: 新增有调用栈的error

Codecov Report

Merging #8 (3d9de16) into main (18d7199) will increase coverage by 2.42%.
The diff coverage is 73.03%.

@@            Coverage Diff             @@
##             main       #8      +/-   ##
==========================================
+ Coverage   89.32%   91.74%   +2.42%
==========================================
  Files         103      101       -2
  Lines        4140     3963     -177
==========================================
- Hits         3698     3636      -62
+ Misses        276      201      -75
+ Partials      166      126      -40

Impacted Files
Coverage Δ

datax/plugin/reader/reader.go
50.00% <0.00%> (ø)

datax/plugin/writer/db2/task.go
66.66% <0.00%> (+9.52%)
:arrow_up:

datax/plugin/writer/mysql/task.go
81.81% <0.00%> (+12.58%)
:arrow_up:

datax/plugin/writer/postgres/task.go
66.66% <0.00%> (+9.52%)
:arrow_up:

datax/plugin/writer/writer.go
47.36% <0.00%> (ø)

storage/stream/file/csv/stream.go
84.74% <0.00%> (ø)

storage/stream/file/in_streamer.go
52.83% <0.00%> (ø)

storage/stream/file/out_stremer.go
63.33% <0.00%> (ø)

storage/stream/file/xlsx/stream.go
78.51% <0.00%> (ø)

datax/plugin/writer/file/task.go
64.51% <38.88%> (+1.40%)
:arrow_up:

... and 25 more

Continue to review full report at Codecov.

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


feature: Add Payload CMS integration for MediaData Page

Description:
This pull request integrates MediaData Page with Payload CMS via a Rest API.
The following Redux store configuration is proposed to manage the application's state.

Thanks @m453h .
I see we're pulling in data using useEffect i.e. client-side? Why have we opted for this approach?
My (outdated) understanding of web-tools, is that there is a (thin) python backend powering the React frontend apps. My expectation was we were going to use this Python backend to pull in data from the CMS, process it and pass the processed/formatted data to the FE.

Thanks @m453h .
I see we're pulling in data using useEffect i.e. client-side? Why have we opted for this approach?
My (outdated) understanding of web-tools, is that there is a (thin) python backend powering the React frontend apps. My expectation was we were going to use this Python backend to pull in data from the CMS, process it and pass the processed/formatted data to the FE.

@kilemensi  Yes you are correct, there is a Flask backend that exposes some APIs that reply with data to the front-end, I didn't see the need to go through the backend since the only formatting that was need was for the RichText from Payload (which is much easier to do on client side). I wanted to make minimal changes on the app, and thus went ahead with just changing how the components get their data without necessarily touching the Python backend.
If we are to add this layer I believe we would only need to change the endpoint the frontend will be communicating with

I would have thought making changes at Python layer would result in minimal changes to the React code... but cool, lets see how much CS team uses the CMS as is.
... lets add a story to revisit the approach if/when we need more.


Can't pass extra parameters to paginate

I have a date filter for a report listing that paginates and am trying to pass the date filter as parameters, as I would like the same date filter to be applied as the user pages through the list.
= paginate @users, :params=>{:startdate=>@startdate, :enddate=>@enddate}
No permutation of extra arguments to the paginate function will cause parameters to be passed.  I have read other issues related to this, but am not finding a solution.  Thanks for your advice, and incredibly useful gem.

This is working fine.  I figured out that my controller was setting @startdate, @endate to nil, so they were not showing up in the urls.


get list of all delimited keys

How to get a flat list of all keys or a dict like this? (Found in the documentation)
flat = {'list:0': 'a', 'list:1': 'b', 'list:2': 'c'}

flat = flatdict.FlatterDict(values)
print(flat.keys())


QuerySpec: add new filter ops 'in' and 'not-in'

Annoucement: https://changelog.honeycomb.io/in-and-not-in-added-to-query-builder-172740

Codecov Report

Merging #10 into main will increase coverage by 7.77%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #10      +/-   ##
==========================================
+ Coverage   62.28%   70.05%   +7.77%
==========================================
  Files           6        6
  Lines         175      177       +2
==========================================
+ Hits          109      124      +15
+ Misses         57       44      -13
  Partials        9        9

Impacted Files
Coverage Δ

query_spec.go
41.66% <100.00%> (+41.66%)
:arrow_up:

Continue to review full report at Codecov.

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


JAMES-3822 Only invoke enqueue delay method when delay input is positive

The invoke SMono(queue.enqueueReactive(mail, delay)) when delay is zero/negative is unnecessary
RabbitMQMailQueue.java does not exist override the delay method, so the invoke to default enQueue(mail, delay) makes blocking

Does it solve our recent perf issues?

yes, This catch comes from the perf issue

Can you perform a little JMAP perf test and show that it's better now?

Before
> emailQuery: Failed to build request: No attribute named 'inbox    154 (18.85%)
ID' is defined
> jsonPath($.methodResponses[1][1].created).find.exists, found n    100 (12.24%)
othing
> jsonPath($.methodResponses[0][1].list[*]).find.exists, found n     99 (12.12%)
othing
> emailGet: Failed to build request: No attribute named 'emailId     98 (12.00%)
s' is defined
> jsonPath($.methodResponses[0][1].state).find.exists, found not     78 ( 9.55%)
hing
> mailboxChanges: Failed to build request: No attribute named 'm     41 ( 5.02%)
ailboxState' is defined
> jsonPath($.methodResponses[0][1].created).find.exists, found n     28 ( 3.43%)
othing
> jsonPath($.methodResponses[0][1].ids[*]).findAll.exists, found     28 ( 3.43%)
 nothing
> emailQuery: Failed to build request: No attribute named 'accou     26 ( 3.18%)
ntId' is defined
> markAsSeen: Failed to build request: No attribute named 'email     24 ( 2.94%)
Ids' is defined
> emailQuery: Failed to build request: No attribute named 'rando     20 ( 2.45%)
mMailbox' is defined
> jsonPath($.methodResponses[0][1].newState).find.exists, found      18 ( 2.20%)
nothing
> emailGet: Failed to build request: No attribute named 'account     16 ( 1.96%)
Id' is defined
><EMAIL_ADDRESS>== 'inbox')].id     14 ( 1.71%)
).find.exists, found nothing
> submitEmails: Failed to build request: No attribute named 'dra     13 ( 1.59%)
ftMailboxId' is defined
> getMailboxes: Failed to build request: No attribute named 'acc     11 ( 1.35%)
ountId' is defined
> status.find.is(200), but actually found 500                        10 ( 1.22%)
> emailGetState: Failed to build request: No attribute named 'ac     10 ( 1.22%)
countId' is defined
> mailboxChanges: Failed to build request: No attribute named 'a      6 ( 0.73%)
ccountId' is defined
> emailChanges: Failed to build request: No attribute named 'acc      6 ( 0.73%)
ountId' is defined
> markAsFlagged: Failed to build request: No attribute named 'em      4 ( 0.49%)
ailIds' is defined
> markAsAnswered: Failed to build request: No attribute named 'e      4 ( 0.49%)
mailIds' is defined
> markAsSeen: Failed to build request: No attribute named 'accou      3 ( 0.37%)
ntId' is defined
> emailChanges: Failed to build request: No attribute named 'ema      3 ( 0.37%)
ilState' is defined
> submitEmails: Failed to build request: No attribute named 'acc      3 ( 0.37%)
ountId' is defined

After
jsonPath($.methodResponses[0][1].list[*]).find.exists, found nothing | 5 | 83.333 %
-- | -- | --
jsonPath($.methodResponses[0][1].created).find.exists, found nothing | 1 | 16.667 %

// difference format because "after" got from gatling_html, "before" got from console log


How do maintain your own job parameters across compilations, such as deployment location?

VS Code Version: 1.85.2
Extension Version:  1.5.4
OS Version: Windows 11

How do you maintain your own parameters across compilation when compiling the .asaql file always overwrites the JobTemplate.json file AND the JobTemplate.parameters.json file?   Some settings seem to get pulled in from JobConfig.json, but not all of them. As an example the "Location" setting always resets to "Central US" after every compilation even though we've set it to "North Europe" in JobSettings.json.
From the docs here: https://learn.microsoft.com/en-us/azure/stream-analytics/job-config-json
...it doesn't seem like specifying the "location" in JobSettings.json is a valid thing to do - so where would we specify this so it doesn't get overwritten on every compile?

I have same problem. I created a feature request for this extension.
https://github.com/Microsoft/vscode-asa/issues/115


apply Server Component for MDX

https://beta.nextjs.org/docs/guides/mdx#remote-mdx

keep contentlayer


chore(deps): upgrade compiler dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-compiler-dependencies-k8s-27-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3806

Questions ?
Please refer to the Backport tool documentation


the last few seconds of the video are static.

System Info / 系統信息
diffusers                 0.30.2
Information / 问题信息

[X] The official example scripts / 官方的示例脚本
[x] My own modified scripts / 我自己修改的脚本和任务

Reproduction / 复现过程
python cli_demo.py --prompt "The video depicts two individuals engaged in a conversation in what appears to be a professional or institutional setting. The person on the left is dressed in a white lab coat, suggesting they might be a medical professional, and is holding a smartphone. The person on the right is wearing a green jacket and has their hair tied back, carrying a shoulder bag, and appears to be listening attentively to the person in the lab coat. The background features a door with a sign indicating it leads to an executive conference room, reinforcing the professional context of the scene. The interaction between the two individuals seems to be focused and serious, as indicated by their body language and the setting."
Expected behavior / 期待表现
In some generated cases, the last few seconds of the video are static. Why is that?
"caption": "The video depicts two individuals in a medical setting, likely a hospital. The person on the left is a bald man wearing a white lab coat over a dark blue shirt, with a name tag and a badge visible on his coat. He appears to be in mid-conversation or reacting to something, with a serious expression on his face.  She is also looking in the direction of the man, with a concerned or attentive expression.\n\nThey are standing in front of a sign that reads "4913 EXECUTIVE CONFERENCE ROOM," indicating they are near an executive meeting room within the hospital. The background shows a window with blinds partially closed, allowing some natural light to enter the room. The overall atmosphere suggests a professional and serious environment, possibly involving a discussion or an important event related to their work."
https://github.com/user-attachments/assets/a348cd0c-ce06-41f7-8afa-45a8d98ce0d6
 "caption": "The video depicts two individuals engaged in a conversation in what appears to be a professional or institutional setting. The person on the left is dressed in a white lab coat, suggesting they might be a medical professional, and is holding a smartphone. The person on the right is wearing a green jacket and has their hair tied back, carrying a shoulder bag, and appears to be listening attentively to the person in the lab coat. The background features a door with a sign indicating it leads to an executive conference room, reinforcing the professional context of the scene. The interaction between the two individuals seems to be focused and serious, as indicated by their body language and the setting."

https://github.com/user-attachments/assets/bdba2339-346a-4694-b779-fa6bd234b20e

We have reproduced this situation, currently some seeds are normal (such as 84) but seed 42 is indeed having issues, we will take a look


Support Azure Blob Storage for HadoopFS

Extend the lakeFS HadoopFilesystem to support working directly with Azure Blob Storage.

@johnnyaug don't we have it with presign?

Assigning to @johnnyaug: please reply and close or unassign.

Supported w/ presigned mode. Closing.


Fixes for code issues in code generated by Reverse Engineering

RevEng fixes for Beta-4. Fixes issues #1928, #1934, #1937 & #1938.
Adding 'Context' to DbContext name, changing layout of generated code, adding FK properties to model and referencing FK properties in navigation configurations.

:shipit:

Merged into release branch with commit 564ac4d.

Merged into dev with commit 54c41bf


Create better split points

While running webindex on a 20 node EC2 cluster I noticed two issues.
The collision free maps the test used had 30 tablets, which meant some tablet servers had two tablets and some had one.   Also I noticed the last tablet had more buckets than the rest.   Both of these issues lead to uneven load on the tablet servers.

I think during the test that some of the tablet groups may have had less tablets than tablet severs.  Like the CFM domain tablets, maybe the export queue, and maybe the URI update area of the CFM.


CI for Node

App
✕ Contains the compiled JavaScript (16 ms)
Game
Game
✕ Initializes with two players (5 ms)
✕ Starts the game with a random player (1 ms)
nextPlayer
✕ Sets the current player to be whoever it is not (1 ms)


fix: chunkwriter hangs on cancel

Parent PR
@davigust ,
I really appreciate your contribution towards making Azure Blob SDK for Go better!
It seemed your branch(version 0.10.0) was our of sync with our dev branch (version 0.12.0)  so I've rebased it.

@mohsha-msft Is there anything else I need to do before you can complete this PR? I verified my changes looked right after porting from https://github.com/Azure/azure-storage-blob-go/pull/238 to the dev branch.

@mohsha-msft Is there anything else I need to do before you can complete this PR? I verified my changes looked right after porting from https://github.com/Azure/azure-storage-blob-go/pull/238 to the dev branch.


External exclusions file for modsecurity rules

Users should be able to maintain their own set of rule exclusions that they can adjust to fit their specific set of add-ons, extensions, etc.

hello,
for this you modify Dockerfile file :
COPY --from=build_modsecurity /usr/local/owasp-modsecurity-crs /usr/local/owasp-modsecurity-crs
to
COPY --from=build_modsecurity /usr/local/owasp-modsecurity-crs/* /share/modesecurity/rules/
modify file nginx_proxy/rootfs/etc/nginx/modsec/main.conf
and add Include "/share/modsecurity/rules/*.conf"

You can create a file using File Editor or VS Code add-on, like /share/nginx_proxy/rules/REQUEST-900.9002-HOME-ASSISTANT-CUSTOM-EXCLUSION-RULES.conf that you can put custom rules in. Just be aware that invalid rule syntax will cause the add-on to be unable to start with security.customize: true. If you try it out, let me know how it goes.


Use the RegexOptions.IgnoreCase flag instead of inline flags

Don't know if there's a reason you went for inline flags that I'm missing?
Would love to hear about your thoughts.

seeing your pr i was reminded that i wanted to single-line all the Regexes, adjust your pr and ima merge


Config generator - UI issue when config name using underscore

When creating config and decided to add underscore _ and successfully uploaded. The deploy v2 displays on the first part of the name before _ and then shows the other half on the version

Screen recording here https://www.loom.com/share/a13ab73774494f7ba20bd198322a425a

Steps to reproduce:

Go to Config Generator -> PMM simple
Upload using names that separated with underscore, sample test_only
Go to Deploy V2, config name is split between config_base and version

For now the _ is reserved to separate the version name, we should add
comments about it
On Thu, 20 Jun 2024 at 11:23 rapcmia @.***> wrote:

When creating config and decided to add underscore _ and successfully
uploaded. The deploy v2 displays on the first part of the name before _
and then shows the other half on the version
image.png (view on web)
https://github.com/cardosofede/hummingbot-deploy/assets/73840223/9478c587-0739-41d5-aa72-6ebc114b47fd

Screen recording here
https://www.loom.com/share/a13ab73774494f7ba20bd198322a425a

Steps to reproduce:

Go to Config Generator -> PMM simple
Upload using names that separated with underscore, sample test_only
Go to Deploy V2, config name is split between config_base and
version

—
Reply to this email directly, view it on GitHub
https://github.com/cardosofede/hummingbot-deploy/issues/22, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIZJOSDTR7P3XLCYPSFQT4TZIKUSBAVCNFSM6AAAAABJTU6V7OVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM3DIMBYGQ2TMOI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Cannot access a specific location using explorer.exe

Hello,
When I'm running the Windows File Explorer using the command explorer.exe, a window to the quick access appears without any issue.
But when I try to add a path to the command line, it always leads to the native "Documents" folder, even if I use random characters (e.g. explorer.exe hkhnds).
The only exception is when I try to access the current location (explorer.exe .). It leads to the System32 folder where bash.exe is located in this case, even though it's not supposed to open there either.
I just can't understand this behaviour. Have someone an idea?
Windows build number: version 1803 (build 17134.112)

Try, for instance, explorer.exe 'C:\Users\youruser\Pictures' - i.e. use single ticks to quote the argument. The backslash is the Linux escape character.
Alternatively, escape the escape, explorer.exe C:\\Users\\youruser\\Pictures

That works indeed, thanks^^
I guess the path needs to be written using the Windows' language...
But that doesn't explain the issue with the dot.
So, how to access the current location with the dot that isn't working?

when I try to access the current location

You didn't specify your "current location", but I assume you mean #2004. explorer.exe . works okay here assuming your CWD is in /mnt/c/Users/you/Pictures.

When I'm in the home directory of WSL (/home/username) for example, and I use the command line explorer.exe ., the File Explorer opens in the System32 folder where bash.exe is located, even though the home directory's Windows path looks more like C:\Users\username\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home for me.
@therealkenc In the thread you linked, to access its location, they use the path %localappdata%\lxss\home, but that's much shorter than in my case... So much more convenient to use as it is.
The only solution I found for my case is to set a variable in my .bashrc to my Windows home directory path but to be honest, I hoped for a better solution...
Well, that being said, thank you for your time and help^^

I guess the path needs to be written using the Windows' language...

No. The path just needs to be specified in a way that
a) it "makes sense"
b) explorer.exe is able to do something useful with it
Having single backslashes in the argument will make the shell (bash) assume escape, so C:\Users is what you see, not what the shell sends (it sends C:<escaped \U>sers). Send nonsense to explorer.exe - explorer.exe ignores the nonsense.
Your "." is the current working directory. Bash shell expansion should resolve that to something and the launch explorer with that. Given
cd ~
explorer.exe .

I could expect my Linux home directory to pop up in Windows Explorer. Microsoft do not support this yet.
An alternative expectation could be C:´\Users\myuser\Documents - because explorer.exe is (for now) not supposed to get access to the Linux file system, so explorer.exe would not get a valid path and this default to the Documents folder.
But System32, I do not reasonably expect.
Do note that the following
cd /mnt/c/Users/myuser/Pictures
explorer.exe .

meets (my) expectations.
All this probably makes a whole lot of more sense once you are (more) familiar with the Linux shell (most often bash).

@shoffmeister I'm quite familiar with Bash^^
But actually not that much with Windows... If the Windows File Explorer can understand the path behind the dot when it's something like:
/mnt/c/Users/myuser/Pictures which equals C:\Users\youruser\Pictures
I don't understand why it can't when it's:
/home/user which equals C:\Users\youruser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home
I think it wouldn't have been too difficult to make the root location equal to this C:\Users\youruser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\ for the File Explorer
But I suppose I just have to admit that it's not working like that...

I don't understand why it can't when it's:
/home/user which equals C:\Users\youruser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgs\LocalState\rootfs\home
...
I think it wouldn't have been too difficult to make the root location equal to

No, that is difficult. You will not find the path you cited anywhere in the MSFT documentation on WSL. If it were simple it would work.


document magic behavior of milestone macro

If a spec file contains:
%global milestone rc2

That "rc2" will be used along with the RPM version to generate the patches_base.  This behavior isn't documented in the man page. Because it is surprising that rdopkg is using information outside of the standard RPM header, rdopkg ought to emit some sort of message when incorporating this additional information.  E.g:
Found milestone rc2 on line 4, using 2014.2.3rc2 for patches_base

@larsks patch merged, address your concern?

@yazug Only the docs part is merged, this requests rdopkg to print/inform that it's using milestone in its mysterious calculations which is a good idea so let's add that.


Unable to build minimal example

I don't write a lot of go. I feel like there's something critical I'm missing in being unable to run this program, it doesn't even include a service. Any help would be appreciated.
I installed go from brew
❯ go version
go version go1.9.1 darwin/amd64

I'm attempting to use dep to install dependencies. So I ran dep init and dep ensure with the example below.
package main

import (
	"github.com/NYTimes/gizmo/server"
)

func main() {
	server.Init("test-server", nil)
	if err = server.Run(); err != nil {
		server.Log.Fatal("unable to run server: ", err)
	}
}

❯ go build main.go
# test/vendor/github.com/NYTimes/gizmo/server
vendor/github.com/NYTimes/gizmo/server/router.go:87:17: cannot use h (type http.Handler) as type http.HandlerFunc in assignment: need type assertion

Is there anything I can do on my end to fix this or is this really an issue in gizmo?

Howdy!
Unfortunately, the httprouter package used by gizmo last tagged a release in 2015 and they've made breaking changes since then.
Since dep uses the highest version by default, an override is required to point at master. Check out the bottom of this example should help: https://github.com/NYTimes/gizmo/blob/master/examples/servers/reading-list/Gopkg.toml
Hope this helps!

@jprobinson it would have helped me immensely if this was part of the README. Would you accept a PR that adds the following to the README?

The httprouter package used by gizmo last tagged a release in 2015 and they've made breaking changes since then.
Since dep uses the highest version by default, an override is required to point at master. Check out the bottom of this example should help: https://github.com/NYTimes/gizmo/blob/master/examples/servers/reading-list/Gopkg.toml

Or maybe asking the maintainers of the httprouter project to tag a later version.

I'd vote for the latter. There might be an issue on httprouter already. If
you haven't already, a comment or a +1 on the issue would be appreciated.
On Tue, Oct 17, 2017 at 9:19 PM Aaron Ackerman<EMAIL_ADDRESS>wrote:

@jprobinson https://github.com/jprobinson it would have helped me
immensely if this was part of the README. Would you accept a PR that adds
the following to the README?
The httprouter package used by gizmo last tagged a release in 2015 and
they've made breaking changes since then.
Since dep uses the highest version by default, an override is required to
point at master. Check out the bottom of this example should help:
https://github.com/NYTimes/gizmo/blob/master/examples/servers/reading-list/Gopkg.toml
Or maybe asking the maintainers of the httprouter project to tag a later
version.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NYTimes/gizmo/issues/128#issuecomment-337213042, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABUmUaMKFJIL0YrwBYUCX3W-dLru-6B3ks5stJs5gaJpZM4P7dF_
.


owl-wlr: module init

:fish: What?

owl-wlr inits as module! available at chaotic.owl-wlr.enable = true;.

:fishing_pole_and_fish: Why?

(🏆) To make owl-wlr  even more accessible!

:whale: Extras

You see, one loves the sunset when one is so sad. (c) Antuan De Sent Exupery, Little Prince

🎉


Can't move docker-desktop and docker-desktop-data

[ERROR] Couldn't open the directory "\?\?\C:\Users\John\AppData\Local\Docker\wsl\distro".
Reason: 文件名、目录名或卷标语法不正确。
PS D:\Software\LxRunOffline> .\LxRunOffline.exe move -n docker-desktop-data -d E:\WSL\docker-desktop
[ERROR] Couldn't open the directory "\?\?\C:\Users\John\AppData\Local\Docker\wsl\data".
Reason: 文件名、目录名或卷标语法不正确。

the same.

the same.

If you are a c/c++ developer, you can modify the source and compile by yourself
you can find MoveFile function in main.cpp, just trim left 3 charaters at the srcpath

The issue still exists

the same.

If you are a c/c++ developer, you can modify the source and compile by yourself
you can find MoveFile function in main.cpp, just trim the left 3 characters of the src path

The issue still exists

the same.

If you are a c/c++ developer, you can modify the source and compile by yourself
you can find MoveFile function in main.cpp, just trim the left 3 characters of the src path

@DDoSolitary
The issue still exists

@xspeed1989 Couldn't reproduce locally. Which version are you using?

When use LxRunOffline-v3.5.0-msvc.zip , it will come up the error above. But weh use LxRunOffline-v3.5.0-mingw.zip , it works ok.


A couple of problems I've encountered with the installation on my end

Problems with windows installation
1.Removed accelerator from requirements.txt.
Collecting accelerator (from -r requirements.txt (line 8))
  Using cached accelerator-2023.7.18.dev1.tar.gz (352 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [2 lines of output]
      Accelerator only works on posix platforms (like Linux).
      You could try running under WSL.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

2.ai-toolkit\toolkit\config.py  -72-77 line
Adding encoding='utf-8' works fine.
    if real_config_path.endswith('.json') or real_config_path.endswith('.jsonc'):
        with open(real_config_path, 'r',encoding='utf-8') as f:
            config = json.load(f, object_pairs_hook=OrderedDict)
    elif real_config_path.endswith('.yaml') or real_config_path.endswith('.yml'):
        with open(real_config_path, 'r',encoding='utf-8') as f:
            config = yaml.load(f, Loader=fixed_loader)

Traceback (most recent call last):
  File "D:\ai\sd_webui_all\ai-toolkit\run.py", line 73, in <module>
    main()
  File "D:\ai\sd_webui_all\ai-toolkit\run.py", line 69, in main
    raise e
  File "D:\ai\sd_webui_all\ai-toolkit\run.py", line 60, in main
    job = get_job(config_file, args.name)
  File "D:\ai\sd_webui_all\ai-toolkit\toolkit\job.py", line 5, in get_job
    config = get_config(config_path, name)
  File "D:\ai\sd_webui_all\ai-toolkit\toolkit\config.py", line 77, in get_config
    config = yaml.load(f, Loader=fixed_loader)
  File "C:\Users\woshi\miniconda3\envs\ai-tools\lib\site-packages\yaml\__init__.py", line 79, in load
    loader = Loader(stream)
  File "C:\Users\woshi\miniconda3\envs\ai-tools\lib\site-packages\yaml\loader.py", line 34, in __init__
    Reader.__init__(self, stream)
  File "C:\Users\woshi\miniconda3\envs\ai-tools\lib\site-packages\yaml\reader.py", line 85, in __init__
    self.determine_encoding()
  File "C:\Users\woshi\miniconda3\envs\ai-tools\lib\site-packages\yaml\reader.py", line 124, in determine_encoding
    self.update_raw()
  File "C:\Users\woshi\miniconda3\envs\ai-tools\lib\site-packages\yaml\reader.py", line 178, in update_raw
    data = self.stream.read(size)
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 3245: illegal multibyte sequence

Thanks for the details. I don't run windows so I don't run into these things. Let me know if you find anything else. Fixed with -> https://github.com/ostris/ai-toolkit/commit/b865ac8b24cd2302480a9c98cbc7e0f36b0eb7f8


made the navbar responsive

issue #6
https://user-images.githubusercontent.com/94471189/193446104-dbe37fce-8cbc-43a2-92ab-e4608e8fcb71.mp4

@Susmita-Dey  made the changes

@Vanshiii203 pull once

@Vanshiii203 pull once

pulled the changes


sdl2 build instructions for rpi

on http://emulationstation.org/gettingstarted.html#install_rpi_standalone
instead of just ./configure for sdl2 it would be better as
./configure --disable-video-opengl
if the user has previously installed sdl1.x development libraries from raspbian, it will have installed the opengl headers/libs and it seems SDL2 on the pi if built with opengl chooses that before gles

This info is more useful over at the GitHub page of this thing called RetroPie :-1:
https://github.com/petrockblog/RetroPie-Setup/issues

Why is that ? It is the emulation station site with the info that needs correcting - retropie package already handles compile options for SDL2 (and has a ready built binary). Actually the reason I opened the ticket was a user came over to our issue tracker asking for help following your install instructions and I noticed this issue :)

Oh, sorry, my fault. I must have skipped the beginning of your post. @Aloshi, you should correct that information on the website.

np :)

Updated, thanks for the heads up!


Refactor: Clean up Overlord guice dependencies

Description
Overlord guice dependencies are currently a little difficult to plug into.
This was encountered while working on a separate PR where a class needed to depend
on TaskMaster.getTaskQueue()  to query some task related info but this class itself
needs to be a dependency of TaskMaster so that it can be registered to the leader lifecycle.
The approach taken here is to simply decouple the leadership lifecycle of the overlord from manipulation
or querying of its state.
Changes

No functional change
Add new class DruidOverlord to contain leadership logic after the model of DruidCoordinator
The new class DruidOverlord should not be a dependency of any class with the exception of REST endpoint
*Resource classes.
All classes that need to listen to leadership changes must be a dependency of DruidOverlord so
that they can be registered to the leadership lifecycle.
Move all querying logic from OverlordResource to TaskQueryTool so that other classes can leverage this
logic too (required for follow up PR).
Update tests

This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[x] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[x] been tested in a test Druid cluster.

Thanks for the review, @AmatyaAvadhanula !


[Bug Report] NumberBox can not handle negative numbers

It seems like the number box can not handle negative numbers. Perhaps it will be better to allow the input of '-'.

While I definitely agree, you can make a rather simple temporary workaround like this;
private void NumberBox_PreviewKeyUp(object sender, KeyEventArgs e)
{
    var numBox = ((NumberBox)sender);
    if (numBox is null)
        return;

    if (e.Key == Key.Subtract)
    {

        numBox.Value = -numBox.Value;
        numBox.Text = numBox.Value.ToString();
    }
}

Basically it just toggles the current value between negative/positive.


Pawn capture

      +-----+-----+-----+-----+-----+-----+-----+-----+
  8   |  R  |  N  |     |  Q  |  K  |  B  |  N  |  R  |
      +-----+-----+-----+-----+-----+-----+-----+-----+
  7   |  p  |  p  |  p  |     |  p  |  p  |     |  p  |
      +-----+-----+-----+-----+-----+-----+-----+-----+
  6   |     |     |     |     |     |     |  p  |     |
      +-----+-----+-----+-----+-----+-----+-----+-----+
  5   |     |     |     |  p  |     |     |     |     |
      +-----+-----+-----+-----+-----+-----+-----+-----+
  4   |     |     |     |  p  |     |     |  B  |     |
      +-----+-----+-----+-----+-----+-----+-----+-----+
  3   |  p  |     |     |     |     |  p  |     |     |
      +-----+-----+-----+-----+-----+-----+-----+-----+
  2   |     |  p  |  p  |     |  p  |     |  p  |  p  |
      +-----+-----+-----+-----+-----+-----+-----+-----+
  1   |  R  |  N  |  B  |  Q  |  K  |  B  |  N  |  R  |
      +-----+-----+-----+-----+-----+-----+-----+-----+

         a     b     c     d     e     f     g     h

Enter white's move: f3 g4
---> Error: The Pawn does not move in that way
Enter white's move:

Pawns dont seem to be able to capture other pieces exept for pawns on diagonal

4ae4537164fa4e6e93709c1ebca660c41c6b4acd


error on install

><EMAIL_ADDRESS>postinstall /usr/local/lib/node_modules/@alexlafroscia/tldr-alfred-workflow
> alfy-init

{ Error: Command failed: alfred-link
Error: Alfred preferences not found at location /Users/test/Library/Preferences/com.runningwithcrayons.Alfred-Preferences-3.plist
    at pathExists.then.exists (/usr/local/lib/node_modules/@alexlafroscia/tldr-alfred-workflow/node_modules/resolve-alfred-prefs/index.js:15:10)

    at Promise.all.then.arr (/usr/local/lib/node_modules/@alexlafroscia/tldr-alfred-workflow/node_modules/execa/index.js:236:11)
    at process.internalTickCallback (internal/process/next_tick.js:77:7)
  code: 1,
  killed: false,
  stdout: '',
  stderr:
   'Error: Alfred preferences not found at location /Users/test/Library/Preferences/com.runningwithcrayons.Alfred-Preferences-3.plist\n    at pathExists.then.exists (/usr/local/lib/node_modules/@alexlafroscia/tldr-alfred-workflow/node_modules/resolve-alfred-prefs/index.js:15:10)\n',
  failed: true,
  signal: null,
  cmd: 'alfred-link',
  timedOut: false }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: `alfy-init`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/test/.npm/_logs/2018-11-10T04_14_19_077Z-debug.log

It looks to me like the issue is with finding the path to your Alfred preferences... do you have a custom Alfred sync directory by any chance? I don’t know of the Alfred workflow tools this is built on top of support that

No, thanks for responding.  I think I just saw that now.


I installed this but it doesn't work pls help

Hi, this unpublished is work in progress. I welcome pullrequests. I recommend taking a look at libsamplerate-sys which are working FFI bindings. I will make sure to send you a notice once there is something to see here.


File Icon Theme not applied correctly

VSCode Version: Code 1.16.1 (27492b6bf3acb0775d82d2f87b25a93490673c6d, 2017-09-14T16:24:39.530Z)
OS Version: Darwin x64 16.6.0
Extensions:

Extension
Author (truncated)
Version

material-icon-theme
PKi
2.2.1

python
don
0.7.0

vscode-great-icons
emm
2.1.16

vscode-ghc-mod
hoo
1.2.0

language-haskell
jus
2.3.2

cpptools
ms-
0.12.4

(1 theme extensions excluded)

The issue doesn't seem to be reproducible for anybody else. I have tried reinstalling the icon themes as well as vscode itself, without success. The problem is that some icons (in my case the Haskell file icon) is not displayed correctly. Instead, some other haskell icon is being used (that I don't know). See this issue to verify that this is not a bug in the theme itself.
Steps to Reproduce:

Install VSCode Material Icon Theme
Open a folder containing a haskell file using VSCode
The wrong haskell icon is displayed in place of the one provided by the installed theme.

It seems like the image cache is corrupted in some way. While this is not a serious bug, it seems weird nevertheless. Note that only the VSCode Material Icon Theme is not working as expected, any other theme works normally.

Reproduces without extensions: No, as the issue is directly linked to theme extensions.

Can you open the dev tools (Help > Toogle Developper Tools), and inspect the icon that is wrong?
When I do this, that's what I see:

So to me all looks fine. The icon seems to be the one that comes from the extension.

The left icon is shown on my computer and the right icon is from your screenshot:

Could it be that your computers render the font family that is used in the SVG differently? If yes it is definitely an issue with the icon and not with VS Code.
PS: I'm working on a windows 10 machine.

@PKief @aeschli Ok I guess this is an issue of the theme then. For me it's showing the same, wrong icon.

Didn't even know that you can do all that inside a SVG :-) Don't know who is at fault here, the SVG or Chromium, which renders it.
I guess it's best to just draw these 2 lines with path, and not use a font.
Closing the issue unless you have an idea what could be done on our side.


document websocket connection heartbeat interval

I am using python's aiohttp library to handle websockets instead of your typescript library because I am just building a quick prototype and I know python better than javascript/typescript.
I have the subscribe command working and returning a bunch of orders, but 60 seconds after connecting, I get an error about an unclosed client session.
After some tinkering, I realized that I need to enable heartbeats to keep the connection alive. I changed my command to be async with http_session.ws_connect(relay_url, heartbeat=30) as ws:.
Heartbeats being necessary (and their recommended interval) should probably be added to the docs.

@WyseNynja which API are you connected to?

RadarRelay.
Side note: is there a list of all the public open relays somewhere?


Can we support continuous selection after press Ctrl

Sorry,
Unfortunately, this is incompatible with the current election strategy.
Regards
On Tuesday, September 24, 2019, zhangguowei0916<EMAIL_ADDRESS>wrote:

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/paulhodel/jexcel/issues/604?email_source=notifications&email_token=ABN5VAJMAOKXGRODUL66VZTQLGCGXA5CNFSM4IZZVG4KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HNGHHDA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABN5VAJF252ARJMA7DA7ZZLQLGCGXANCNFSM4IZZVG4A
.

I need it too. ctrl and left click,

anyone solve for this?


Make widget 'missing size' related problems visually identifiable

Use case
This is a well-known, well-documented and easy to solve issue:
Row(children: [TextField()])

The result is a Failed assertion: 'child!.hasSize': is not true. (To solve it, just wrap the TextField in a Flexible or Expanded and it's done.)
The reason for opening this issue is not the error itself but the presentation of it. This is how you see it in the app:

Nothing. No indicator at all. Sure, it has no size.
The Flutter Inspector is similarly "helpful": it does not show any error indicator.
Of course, the logs will tell it all: there are 8 almost identical entries, 104 lines each. (Unless you use a pointer device, because in that case you'll get an overwhelming volume of Cannot hit test a render box with no size messages.)
There is already an open issue targeting log clarity:  Error message from the framework is not helpful to debug (#89788)
There are several similar cases (e.g. column and scrollview: RenderFlex children have non-zero flex but incoming height constraints are unbounded.), on Stackoverflow the Flutter hasSize search has 99 results but the count may well be limited.
On the other hand, if anything has an overflow, in debug mode the app shows the striped ribbon in place, the Inspector adds an error label to the widget and there is only one clear log entry.

Proposal
Make size error (has no size, unbundled width/heights) reporting more meaningful. In debug mode return a predefined size widget with a strong error indicator fill, similar to the oversize cases.
I made a hacky try to see how it will work:

made a copy of DebugOverflowIndicator and changed it to DebugNosizeIndicator by redefining the colors, debug info and the sizing.
added try/catch to the TextField decorator rendering and draw DebugNosizeIndicator if a sizing error occurred.
by returning something that has a size, it's easier to find the faulty widget in the Inspector

It seems to be doable. This is how it may look like:

Expected result
The proposed new feature is about developer experience and efficiency. It helps finding and correcting layout errors faster.

Thanks for the detailed report @apps-transround
Can you take a look at this and see if it resembles your case or not ?

Thanks, @darshankawar . As far as I understand, that issue is about correcting a certain bug type that leads to layout errors while this issue targets the error reporting in general. So there is no obvious match.

Thanks, @darshankawar . As far as I understand, that issue is about correcting a certain bug type that leads to layout errors while this issue targets the error reporting in general. So there is no obvious match.

cc @kenzieschmoll for the DevTools aspect of this.


Feature Request: Ability to enter muscle mass as a percentage

First of all, many thanks for making and publishing this. It is much appreciated. :)
I have a body composition scale made by Omron and I use mi-scale-exporter to manually enter the results and push them to the Garmin cloud. I had to disable MFA in order to make it function, but now it works absolutely flawlessly.
This probably isn't exactly the use case you envisioned so I hope it's okay for me to request a feature.
 If it's not too much trouble, would be possible to give us an option to enter muscle  mass as a percentage, as well?
Many thanks in advance.

Hi @Windows-Key
You just wrote in time. Today I got some time to do delayed work.
I finished the MFA support implementation and added an option in settings  for muscle mass as %.
Update in Google Play store should be available soon.
https://github.com/lswiderski/mi-scale-exporter/releases/tag/v2.1.0

Hi Łukasz,
wow, I wasn't expecting this quick of a response, let alone an implementation. This is awesome! Thank you so, so much.


lockdep: 4.1.2 -> 5.0.21, fix build, enable tests

Motivation for this change
ZHF: #97479
This required a bit of an overhaul to ensure we're compiling against this kernel's headers, not those in glibc which are presumably from some other random kernel version. I looked at using the makeKernelHeaders function used to build linuxHeaders, but it's really designed to work with just our current main kernel version. So I just provided flex and bison and let make headers_install do its thing.
While it would be nice to use a kernel version we already ship elsewhere or update to a more recent kernel version, the userspace lockdep tool is apparently not very heavily maintained and the build of this tool reportedly got broken soon after the release chosen here.
Things done

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

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

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

@ofborg build lockdep

Result of nixpkgs-review pr 98184 1

1 package built:

lockdep


Improvements to uninstall (multiple versions)

Description of the new feature / enhancement
I would like to be able to uninstall multiple versions of an application.
Something like:
winget uninstall <packageIdentifier> --all
I would like to be able to keep the latest version of an application when multiple versions are installed.
winget uninstall <packageIdentifier> --keep-latest
This was motivated by:

#2260

Proposed technical implementation details
No response

[Policy] Command-Uninstall


🐞 Fail to set InstallPath on Windows

What is the issue?
Fail to set InstallPath on Windows with PowerShell v7.4.1
Dagger version
dagger v0.11.0
Steps to reproduce
$script = Invoke-WebRequest -UseBasicParsing -Uri https://dl.dagger.io/dagger/install.ps1
$params = "-InstallPath A:\dagger"
"$script $params" | Invoke-Expression

Log output
-InstallPath:
Line |
  78 |   -InstallPath A:\dagger
     |   ~~~~~~~~~~~~
     | The term '-InstallPath' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
> $psversiontable

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

Going to mark this as a dupe of #6901 - it's part of a more general issue that the windows installation instructions are very not up-to-date.
I've added the other one to an upcoming milestone, hopefully we can have a better experience on windows for the next release :tada:


Created a new location for visits on web

Added a new location visit_editor for additional apps support

cc @pgrzesiak

@mikhail-ev , what is the risk of this change?


Re-Formatted and re-organized POMs - Part 2

This is a follow-up to #446.
I merged the latest upstream changes and revisited the POM configuration:

Moved more dependencies to dependency management
Removed broken shade-plugin config in library (that`s the root cause for broken POMs)
Added javadoc and maven-source-plugin to core module, so all submodules will create sources and javadoc jars
Javadoc Plugin is disabled by default and will be enabled by release profile (automatically enabled by maven-release-plugin when release:prepare release:perform is called)

I tested this configuration by changing the groupId and Maven Central stuff to my personal groupId etc. For testing I  disabled the nexus-staging-maven-plugin and  disabled the broken unit tests of #478. I then checked the uploaded artifacts in Maven Central Nexus manually.
All release checks of Nexus are passed now.

Javadoc JAR :heavy_check_mark:
Source JAR :heavy_check_mark:
Test JAR :heavy_check_mark:
All JARs signed :heavy_check_mark:

Something more I've noticed:
The unit tests are really old school designed. It relies on jupiter-vintage which is a compatibility layer to allow old Junit 3 and 4 style tests to be used.
These days the tests should really be JUnit 5 native tests using proper annotations, not extending "TestCase" and not using "TestSuite".
JUnit 5 offers a lot of improvements e.g. using @ParametrizedTest, custom test names, running tests concurrently etc.
As testing is a big topic itself, I did not change anything here, but I would highly recommend think about refactoring those tests (to also get rid of forced alphabetically execution).
And one last note:
This PR includes the broken unit tests I reported in #478.
This means, this PR will not solve that issue and will only work when the unit tests are fixed.

@hypfvieh are you available tomorrow afternoon e.g. ~15°°? I would try another merge but I may need support if it doesnt work.

We can try it. Usually I'm at work till 4 pm, but you can try to contact me by email (address should be in the commit).

Hi,
I didnt see the email and I'm no longer sure if this will be released today, tomorrow, sunday or maybe monday but please contact me at jochen at zugferd.org


Android minSdk version too high

Hi, I just updated the library to 1.0.0-beta.7 (from 1.0.0-beta.4), and now I'm getting this error while building the Android target:
.../composeApp/src/androidMain/AndroidManifest.xml Error:
	uses-sdk:minSdkVersion 24 cannot be smaller than version 28 declared in library [media.kamel:kamel-decoder-animated-image-android:1.0.0-beta.7] ~/.gradle/caches/transforms-4/...../transformed/kamel-decoder-animated-image-release/AndroidManifest.xml as the library might be using APIs not available in 24
	Suggestion: use a compatible library with a minSdk of at most 24,
		or increase this project's minSdk version to at least 28,
		or use tools:overrideLibrary="io.kamel.image" to force usage (may lead to runtime failures)

I understand that the minSdk for Kamel (in particular the kamel-decoder-animated-image-android artifact) has been bumped to 28 for some reason, but it feels a bit restrictive. It's the only library thus far that doesn't support all the way down to SDK 21 (and at the very least, the default for new multiplatform projects, SDK 24).
Note that I'm using the media.kamel:kamel-image-default artifact, and this is pulled in automatically with it. If this particular artifact requires use of SDK 28, maybe it's a good idea to remove it from the kamel-image-default dependency.
Another approach is building some backwards-compatible backport of this functionality for older Android versions, but I'm not sure how doable is that (I don't use the functionality of this dependency myself, so I don't know much), or maybe setting minSdk to 21 and annotating the relevant functions with @TargetApi to show warnings in the IDE.
Just throwing some ideas, would love to know what you think about this.
And thanks for the great library!

Hmm yeah good point. I think I'll try lowering the minsdk and adding @TargetApi annotations. Having gif support in the defaults is something people might want (up for debate). I'm sure an implementation could be made for lower versions, but I do not have time at the moment unfortunately.

Thanks for the response! Yeah, that seems like a good approach for a start.
As for implementing it for all API versions, Coil seems to have implemented a backwards-compatible (but slower) decoder, as the note at the bottom of this page indicates: https://coil-kt.github.io/coil/gifs/. Maybe you could take inspiration from them (if I find some time, I may give it a try and submit a PR if I have any success with it).
In Coil they simply expose both decoders, and it's up to the developer to choose which one to use (usually, the developer should check the SDK version, if larger than 28 use the optimized one, otherwise the compat one), with code like this in a custom Application subclass:
class MyApp : Application(), ImageLoaderFactory {
    override fun newImageLoader(): ImageLoader {
        return ImageLoader(this)
            .newBuilder()
            .components(
                // native decoder (fast)
                if (Build.VERSION.SDK_INT >= 28)  add(ImageDecoderDecoder.Factory())
                // backwards compatible decoder (slow)
                else add(GifDecoder.Factory())
            )
            .build()
    }
}

Now that's Coil, so this might have to be done differently in Kamel. The main thing in question is whether such a check should happen automatically, or whether it's the library consumer's responsibility to do this.
My personal preference would be for this to implicitly be done for me (and have the library choose the most efficient path based on the SDK version), but there may be some benefits to making this explicit that I'm missing.

I could always make two android decoders. And have the android version depend on both and pick according to api version. So both would be included in kamel-image-default. But if a person didn't want to include both. They can always choose which dependencies they want... and/or I could just make different versions of kamel-image-default like `kamel-image-default-android-28'

With the 1.0.1 version i have the same problem. Did you find any solution?
@luca992 @Skaldebane

I don't think there's anything for the moment. I may look into it later today if I find some time, and (hopefully) submit a PR!


Add support for testing EoC features

Context
Because most of the features we are implementing to support the changeover from 2020 to 2021 recruitment cycles are date dependent there is no simple way to test them in qa, review apps or local development systems. At a minimum we need to setup up a system to test the features that are activated when the current cycle ends but before the new one begins.
Changes proposed in this pull request

Add a simulate_time_between_cycles feature flag
Use this feature flag to change the behaviour of EndOfCycleTimetable to return results consistent with the closed period between recruitment cycles regardless of the true date.
Add a check to ensure that the new feature flag has no effect in production environments.

Guidance to review

This is meant to be the simplest thing that will work - to make the EoC features testable. There are better (more flexible) ways to do this such as storing the configuration for EndOfCycleTimetable in the database. In particular this implementation makes no distinction between Apply 1 & 2 applications (despite them having different deadlines in real life). Is this a reasonable first step?
Do we need to cache the date values in EndOfCycleTimetable to avoid the repeated feature flag lookups (DB hits).

Link to Trello card
https://trello.com/c/IWsNEUtT/1957-implement-a-way-to-test-eoc-features-in-qa-and-review-apps
Things to check

[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

The approach LGTM. Just a few minor comments on the test names :shipit:

This is meant to be the simplest thing that will work - to make the EoC features testable. There are better (more flexible) ways to do this such as storing the configuration for EndOfCycleTimetable in the database. In particular this implementation makes no distinction between Apply 1 & 2 applications (despite them having different deadlines in real life). Is this a reasonable first step?

Yes, can refine and think about changing the storage mechanism for these dates if the need arises. :+1:

Do we need to cache the date values in EndOfCycleTimetable to avoid the repeated feature flag lookups (DB hits).

I think this is fine, as the way you've written the boolean check means that the DB lookup will only happen on the test environments.


Write down design doc for Row Range and Row Set wrappers

Write down a design document for row ranges and row sets.  Document the implementation steps as issues in this repository.

RowRange:
The implementation for this class is straightforward: denote  the range with two keys -- start and limit.  Infinite ranges are indicated with limit="" (that means, we can't have empty  RowRange with start="", which requires a separate wrapper for keys, like RowKey).
We  will provide a private method   SuccessorKey that, given a key k, will  return the key that immediately follows k in the key space (or its domain).
Using this method, we can emulate the  following ranges by converting them to canonical ranges ( assumption:  a left closed, right open range is a canonical one for BigTable server-side  code, as with C++  STL) :

right_open, i.e,,  left closed, right open [begin, end) : default [start, limit), start=begin, limit = end;
closed_interval [begin, end], i.e.,  left closed, right closed: final range is [start, limit), where start=begin, limit= SuccessorKey(end)
left_open, i.e.,  left open, right closed (start, end]: final range is [start, limit), where start=SuccessorKey(begin), limit=SuccessorKey(end)
prefix_range(prefix): final rang is  [start, limit), where  start = prefix, limit = SuccessorKey(prefix)

RowSet Wrapper:
We need to use a library module  IntervalMap, which is also used by the server side code. This IntervalMap would store the set of ranges, providing various methods for membership check (e.g., check if a single row exists in the set, or range of rows overlaps or lies completely within the RowSet).
Methods to be supported:

AddRow :   add an interval  [k, SuccessorKey(k)) for the row with key k; and don't care if the row already exists in the interval tree; such anomalies are dealt with the underlying logic of the interval tree, and this is  the norm also for the  server-side code (in java or C++).
AddRange: add the interval using the 'set'  API for the interval tree.

Comments:
2. Is the interval tree or RowSet passed (as a proto message) to the server side?  If yes, would the server side code access or manipulate  the data structure using  RowKey instead of underlying 'string' type?
Looks like it might not; the server side might use RowKey just to populate the RowSet; and once the  initialization of the row set is done, the data structure is passed to the executor which relies on the underlying data type in the RowSet and it's interval map (i.e., the executor takes the key types directly from the proto buffer representing the RowSet).

I think the bug did not describe the problem well, let me give it a shot.  We want users to be able to say things like this:
auto results = table->ReadRows(bt::RowSet(
    "foo", "bar", bt::RowRange::left_open("a", "c"), bt::RowRange::right_open("f", l")));

that is, mix ranges (of different kinds), and single rows into a virtual collection.  Those collections need to be mapped into the underlying google::bigtable::v2::RowSet protobuf.
Here is a propose list of operations to create RowRanges:
class RowRange {
public:
  //  unspecified stuff here, but basically ways to get to the beginning and end.
  // Create different types of ranges:
  static RowRange infinite_range();
  // an empty range
  Static RowRange empty();
  // the typical C++ range [begin,end)
  static RowRange right_open(std::string begin, std::string end);
  // a open interval (begin, end)
  static RowRange open_interval(std::string begin, std::string end);
  // a closed interval [begin, end]
  static RowRange closed_interval(std::string begin, std::string end);
  // a half-open interval (begin, end]
  static RowRange left_open(std::string begin, std::string end);
  // all the rows starting with @a prefix
  static RowRange prefix_range(std::string prefix);
  // an alias for right_open()
  static RowRange range(std::string begin, std::string end);
  // Some accessors
  bool contains(absl::string_view string) const;
  bool operator==(RowRange const&) const;
  bool operator!=(RowRange const& rhs) const { return !(*this == rhs); }
  // TODO(coryan) - maybe other operators, remember std::rel_ops<>
  // the intersection of two ranges (useful for retries)
  static RowRange intersect(RowRange const& lhs, RowRange const& rhs);
};
std::ostream& operator<<(std::ostream&, RowRange const&);```

```proto
class RowSet { public:
  template<typename... Args>
  RowSet(Args&&... k) {
    // call Add() for each "k" in the parameter pack
  }

  // And a key or range
  RowSet& Add(std::string rowkey);
  RowSet& Add(absl::string_view rowkey);
  RowSet& Add(RowRange range);
};

The questions to figure out are:

How is that constructor with the parameter pack implemented (it should not be hard in C++17, but we are sticking to C++11)
How does this map into the protobuf?  Is there a Export() member function that takes the protobuf as an in/out argument?  Does it return a protobuf?  Or a MoveTo() member function that destructively moves into the protobuf parameter?

That initialization looks interesting. Can we use a constructor with initialize_list (which would basically reuse the AddRow() or AddRange() methods)?
I think mapping the RowSet to protobuf falls on the part of ReadRows rpc call; this method would translate the input parameter RowSet to a format compatible with the server side. That means out RowSet should be polymorphic to the respective parameter type for ReadRows. Any thoughts?

I assume you mean the initialization from the variadic args?  Using a std::initialize_list<T> requires homogenous types.  You could make that work with something like:

Blah key(std::string const& key);
Blah infinite_range(...);
Blah right_open(...);

class RowSet { public:
  RowSet(std::initialize_list<Blah> list);
};

Notice that the accessors for std::initializer_list<T> only get you T const& (in the lingo std::initializer_list<T>::reference is a T const&.  That means you have to copy the objects out of the initializer list, you cannot do move copy for them, whereas you can avoid the copies in the variadic templates.  That is a minor issue in this case, but full disclosure and all that.

For that to work the Table::ReadRows member function would need either (a) enough accessors to the RowSet data to figure out the keys and ranges that are stored inside it, or (b) be a friend so it can access the internals.  I do not like option (b), too much coupling.  Option (a) is viable, but requires substantially more accessors for a class (RowSet) that is essentially a builder to create the proto.  Why not make RowSet responsible for creating / populating the proto and call it a day?

You are right, initializer_list will not work. variadic templates would work fine.
That means, ReadRows will take a proto as the input parameter (that corresponds to RowSet)?
So, we need a proto for  row set  which would be wrapped inside the RowSet class, as done in Go:

type RowSet interface {
	proto() *btpb.RowSet

	// retainRowsAfter returns a new RowSet that does not include the
	// given row key or any row key lexicographically less than it.
	retainRowsAfter(lastRowKey string) RowSet

	// Valid reports whether this set can cover at least one row.
	valid() bool
}

Also, can we have an overloaded method Add(string), Add(RowRange) within RowSet in place of AddRow(string), AddRange(RowRange)? That would make the RowSet constructor with variadic template simple.

Yes, having an overloaded member function is perfectly fine.  Consider making those private and a non-overloaded version in the public interface to keep the interface less confusing for folks.  That is a weak suggestion, I am generally fine with overloads, but the style guide suggests that might not be always good.


What is the maximum id number of kue jobs?

This is more of a question,
I use kue very extensively, in 3 weeks I have already reached jobs with ID number > 4,000,000 and I'm just getting started.
How can I reset the id incremented number? Should I worry that a certain number gets exceeded?
Can I set the job ID using guid?

ids are javascript numbers incremented using Redis' INCR with specified limitations in Redis docs.
You don't need to worry, it has a large margin until it resets.

Can I set the job ID using guid?

Currently you can't manually specify job ids.

as long as I don't have to worry about any limitation I won't be needing guids
cheers!

Make an indication of your id when creating a task and collecting an incremental value


structured logging: add data attributes to json log output

Description
Add the dataclass attributes to a data key in the json log output.
Checklist

[ ] I have signed the CLA
[ ] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[ ] I have updated the CHANGELOG.md and added information about my change

Example output:
{"data": {"v": "=1.0.0-rc1"}, "level": "info ", "msg": "Running with dbt=1.0.0-rc1", "pid": 23222, "ts": "2021-11-17T11:35:28.328580"}
{"data": {"stat_line": "5 models, 4 tests, 0 snapshots, 0 analyses, 166 macros, 0 operations, 1 seed file, 0 sources, 0 exposures, 0 metrics"}, "level": "info ", "msg": "Found 5 models, 4 tests, 0 snapshots, 0 analyses, 166 macros, 0 operations, 1 seed file, 0 sources, 0 exposures, 0 metrics", "pid": 23222, "ts": "2021-11-17T11:35:28.328580"}
{"data": {}, "level": "info ", "msg": "", "pid": 23222, "ts": "2021-11-17T11:35:28.328580"}


ROX-20886: Add modal for viewing exception request comments

Description
This PR adds the ability to view comments on the Request Details page. Clicking the comments button/link will open a modal to view comments in a scrollable manner.
Screenshots

Also, discovered you can approve a request multiple times using the API. We won't allow it on the UI, when I add the approval flow, but just raising awareness.


Sundry fixes

fix the subcategories bug
don't show deleted articles
allow /question/<pageid> redirects

why are the tests failing... :/

aha. Npm is having problems...


Suppress some false alarm CVEs

Fixes the master build.
Suppress the following CVEs:

CVE-2021-43138: false alarm for async-http-client
CVE-2021-34538: applicable to Hive server
CVE-2020-25638: requires hibernate update, which causes Hadoop ingestion failure
CVE-2021-27568: false alarm for accessors-smart which is a dependency of json-smart (already suppressed)

Thanks for the review, @abhishekagarwal87 !