[OAuth2] Enable configurable early token refresh in Java Client

Motivation
In some client use cases, it is helpful to start attempting to refresh the OAuth2 token before it has expired. This PR adds that functionality.
The core addition is the ability to refresh the OAuth2 token in the background without affecting the current token. This will improve stability for OAuth2 users, especially if/when their IDP is unavailable.
Modifications

Add a ScheduledThreadPoolExecutor to the AuthenticationOAuth2 and schedule refresh token tasks to refresh a token before it has expired.
Ensure that the refreshing is thread safe.
Add tests to cover the new cases.
Add documentation.

Verifying this change
This PR includes new tests. There are also existing tests that cover some of the changes.
Does this pull request potentially affect one of the following parts:
This PR changes the default behavior of the AuthenticationOAuth2 class and it also adds a new configuration value for end users. By default, it does not change the current behavior.
Documentation

[x] doc

I added docs.

@lhotari - I agree that we need to take care of the life cycle of the thread used for these refresh token commands. In my most recent commit, I changed the behavior so that the application can either supply an executor, or the OAuth2 class will create one (assuming that the feature is enabled, which it is not by default). The one downside here is that this means the feature is not available for brokers, because they create the AuthenticationOAuth2 class via reflection, and the configure method only takes strings. I think we should consider updating how the client authentication providers are configured and then it will probably be easier to use this feature when loading via reflection.

I think that the way to specify the refresh interval by using the "early_token_refresh_percent" configuration parameter is not well suited for all use cases.

Would you mind clarifying this use case with an example? On one hand, I accept that percent may be slightly less straight forward, but on the other hand, I think it handles certain edge cases really well. For example, each retrieved token can have a unique expires_in value. A percentage naturally handles this variability. Further, there is no guarantee that the min and max refresh interval that you described will fall within the expires_in value. Let me know what you think.

I think that the way to specify the refresh interval by using the "early_token_refresh_percent" configuration parameter is not well suited for all use cases.

Would you mind clarifying this use case with an example? On one hand, I accept that percent may be slightly less straight forward, but on the other hand, I think it handles certain edge cases really well. For example, each retrieved token can have a unique expires_in value. A percentage naturally handles this variability. Further, there is no guarantee that the min and max refresh interval that you described will fall within the expires_in value. Let me know what you think.

The use case would be that you want to maximize the time that a token is active at all times. The reason to do this is that if the identity provider becomes unavailable, there is less risk the whole system becomes unavailable because of the identity provider being unavailable. The system will tolerate a long downtime when the tokens are always active for the maximum period of time. The tradeoff is that there will be more token refreshes made towards the identity provider.
You might want to refresh the token every 10 minutes regardless of the validity of the token, given that the token is valid for more than 10 minutes. The solution I proposed wasn't probably the best way to address this use case.
Another person might want to refresh the token 10 minutes before the validity of the token expires, regardless of how long the token is valid.
For the above usecases, I would assume that configuring the solution would be possible with  2 parameters (naming is hard, so the names are still bad):
"refresh before expiration duration"
"minimum token usage duration"
The problem with the 10 minutes before token expires example is the case where the token is valid for less than 10 minutes. That's why it is necessary to have a second parameter to define how long the token is kept used until a refresh is made.
Let's say that the user has set "refresh before expiration duration" to 10 minutes and "minimum token usage duration" to 2 minutes. If the returned token is valid for 10 minutes, it would start the refresh after 2 minutes.
I simply don't see a use case for the earlyTokenRefreshPercent way of configuring the refresh scheduling. In the requirement we have, it's about exact times instead of percentages. I think that percentages would be confusing for users. "refresh before expiration duration"
and "minimum token usage duration" parameters would be easier to understand.

@lhotari - thanks for clarifying your point. I hadn't thought of the use case where a user has a refresh period that is independent of the token's time to live. Of the two parameters, which should take precedence? I think we should use the minimum duration resulting from either minimum token usage duration or refresh before expiration duration. The one case that is not covered is when the token's time to live is shorter than these two parameters. We'll need a default behavior in that case. This is where a percentage would be valuable. The current code attempts a refresh when 90% of the tokens time to live has passed. We could use that percent, or use a conservative 50%. How do you think we should handle this edge case?

@michaeljmarshall This PR is likely beyond stale. Would you please close.


updated readme with better choice of words

Changes proposed

The language has been refined and made more concise
It provides a clearer and more welcoming description of the project's purpose.

Screenshots

Note to reviewers
Updated the readme. Thought it would be more engaging. Plus there were grammar mistakes in the previous one , if you want to update, I could do that as well!

@Ashad001 Please create an issue before rising any Pull requests. Thank you

@Ashad001 thank you very much


DESIGN A USER INTERFACE FOR A SECOND USER ON A MOBILE DEVICE

As a user I want to be able view an ongoing game from my mobile device so I can watch at my convenience

As a user I want to be able view an ongoing game from my mobile device so I can watch at my convenience.
https://www.figma.com/file/5mZjRNojKB4vtatKlahMbu/Team-Tesla?node-id=1727%3A56501

As a user I want to be able view an ongoing game from my mobile device so I can watch at my convenience.
https://www.figma.com/file/5mZjRNojKB4vtatKlahMbu/Team-Tesla?node-id=1727%3A56501
Slack username @Trustiieee


Question: How is this mod different?

This looks like the same mod as this older one: https://thunderstore.io/c/lethal-company/p/TheBeeTeam/PersistentPurchases/
Are there differences?

The last version of PersistentPurchases makes the game crash when the player is fired. I tried to rewrite the mod in a way that the game updates do not break it as much because I saw that the license allows it. It is based on the rewrite branch from the original github.


[FALSE-POSITIVE]

Domains or links
https://demo.phalcon.xyz
More Information
Our demo website was mistakenly marked as a risk website, the reference address is https://www.virustotal.com/gui/domain/demo.phalcon.xyz
The demo website is currently offline. It has been ensured that it will not go online again in the future. Please mark our risk assessment as normal. Including phalcon.xyz, demo.phalcon.xyz and other subdomain websites

Domain does not resolve


Nice app! (not an issue)

Thanks for creating this app! I love it :)
I posted this in popMODS, a channel who promotes FOSS projects.
I hope it'll bring you the deserved attention.

I often search on GitHub for "Android app stars:2..20" to see underrated Android apps.


Build(deps-dev): Bump typescript from 4.5.4 to 4.5.5 (#2450)

Pull request opened by the merge tool on behalf of #2450

Processing this pull request

An unexpected error occurred while processing this pull request. The request might have been partially processed. Caused by: GitHub API query failed: got errors in response: [{'type': 'UNPROCESSABLE', 'path': ['createPullRequest'], 'locations': [{'line': 2, 'column': 9}], 'message': 'A pull request already exists for inmanta:dependabot/npm_and_yarn/typescript-4.5.5.'}]


(lore enhancement) Coilhead will explode when killed

If you read about Coilheads on the terminal, they appear to detonate when taken apart, and it is for this reason that they are difficult for Sigurd to study. Do you think this is a functionality you would be interested in adding to the Coilheads after they've been cut down?
If so, I suggest having the leftover body (once the head has been removed) enter an alarm state where it counts down for a few seconds before exploding like a mine or an old bird missile. The countdown would allow players to retreat before the explosion.

LET'S GOOOO!!


Is there any way to make Glide use Public folder instead resources?

I need to use the folder in Public to store images. Let's say it's 'Public/Uploads' folder.
Is there any way to make glide compatible with the Public routes instead the Resources?

Yes, absolutely. Simply configure Glide to point to your public directory instead.
$server = League\Glide\ServerFactory::create([
    'source' => 'path/to/public/uploads/folder',
]);

However, be aware that Glide will not work if the image URL actually matches a real file in your public directory, since your web server will actually load that image, instead of hitting PHP with the request. So if you do setup Glide in this way, make sure that your image URL is different. For example, /img/my-image.jpg actually points to /public/uploads/my-image.jpg.


Move client integration testing onto more stable docker candidate image

Coverage decreased (-0.05%) to 92.828% when pulling aff676c74dcf1d9708d361699f57b0f8e8a5a7dd on tgianos:pinClientIntegrationTests into ac51757a119a283132ed8fd2db623adbd84bb99a on Netflix:master.


Add a Null Check in windowOfDocument

Add a null check for windowOfDocument function. It is possible you can’t access
a window.frame when it is cross-domain. This could happen at any index
in the window.frame so best to check all of them.

Thanks!

Thank you for the cool repo :)


Give a shot to getsentry/action-setup-venv

Need a fix for TAOS, otherwise works well I think?
There are slightly different semantics, but I'll look into it later

Interesting, where did the venv go on Windows?

Ohhh! I forgot the folder for binaries is different on Windows!

I doubt setup-sentry-venv will be interested in supporting the Windowsish venvs...
Thinking about a workaround as I'm interested myself in using the action for non-sentry projects that need to support Windows


293 input field rest props

fix(ffe-searchable-dropdown-react): Fix issue with too many parameters being passed to InputField
This version fixes an issue where the InputField-component passed on non-DOM parameters to its contained input, triggering errors from React.

Coverage remained the same at 80.028% when pulling a72208ce6ee589ee1578a50fa9807c0314904f4b on 293-input-field-rest-props into 5bf30b8d813bf3637117b4bf9fdf6607f985e8ad on develop.


yaml key replacement

If its not a pain, can we get something like:
- yaml id:save_file replace root.key1.key2 with root.key1.key3
or
- yaml id:save_file replace root.key1.key2 with key3
whichever makes more sense.
Taking:
root:
..key1:
....key2:
......key4:
And making:
root:
..key1:
....key3:
......key4:

This code is a work around for now
yaml_copy:
  type: task
  debug: false
  script:
    - define sourcekey %1%
    - define destkey %2%
    - if <yaml[yaml_id].contains[%1%].not> {
      - narrate "Source invalid for yaml copy"
      - queue stop
      }
    - if <yaml[yaml_id].list_keys[%1%].size||0> > 0 {
      - foreach <yaml[yaml_id].list_keys[%1%]||li@> {
        - run dhunger_task_yaml_copy def:%1%.%value%|%2%.%value% instantly
        }
      }
      else {
      - if <yaml[yaml_id].is_list[%1%]> {
        - foreach <yaml[yaml_id].read[%1%]> {
          - yaml id:yaml_id set %2%:->:%value%
          }
        }
        else {
        - yaml id:yaml_id set %2%:<yaml[yaml_id].read[%1%]>
        }
      }

  script:
    - define sourcekey %1%
    - define destkey %2%

Have you never heard of the definitions:  key?

Yes, but... staph!

Not only do you not use that key, but either way, you don't even use those definitions :cat:

:p

@mcmonkey4eva didn't you add this or something?

@mcmonkey4eva ???

One of these days I'll do this


Add group-parameter to couch-view-execution

Signed-off-by: Hoang Anh Le<EMAIL_ADDRESS>PG1#565 is running

Test is added and PG2#386 is started.

PG2#402 is green

PG2#411 running

I tightened the tests and merged as https://github.com/openwhisk/openwhisk/commit/1be490b498239482ccca17be28e66b32e30b630e.


npm license has expired : coffeestack

Download https://github.com/atom/atom/releases/download/v0.210.0/atom-windows.zip and extract it.
SET PATH=C:\path\to\extracted\Atom;C:\path\to\extracted\Atom\resources\app\apm\bin;%PATH%
cd C:\path\to\any\atom\package\it\does\not\matter
Run npm install

Results:
Installing modules failed
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Users\\foolbox\\poo\\Atom\\resources\\app\\apm\\bin\\\\node.e
xe" "C:\\Users\\foolbox\\poo\\Atom\\resources\\app\\apm\\node_modules\\npm\\bin\
\npm-cli.js" "--globalconfig" "C:\\Users\\foolbox\\.atom\\.apm\\.apmrc" "--userc
onfig" "C:\\Users\\foolbox\\.atom\\.apmrc" "install" "--target=0.22.0" "--arch=i
a32"
npm ERR! node v0.10.35
npm ERR! npm  v2.5.1
npm ERR! code E402

npm ERR! npm license has expired : coffeestack
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <http://github.com/npm/npm/issues>

I think maybe step 3, above, might only apply to packages which have dependencies to install but I haven't checked.

Looks like this is an npm issue? https://github.com/npm/npm/issues/8631
Getting the same with even updating bower for chmodr, so looks like it's not atom-specific.

Why are you running npm install in an Atom package? If you want to install the package dependencies for an Atom package, you should run apm install.

npm had some kind of issue with their servers / accidentally crossed the streams with their enterprise product apparently, but they have closed the issue on their end so I'm going to close this out. Let us know if this crops up again. https://github.com/npm/npm/issues/8631#issuecomment-113970885


Fix styles, Bootstrap 3 uses danger instead of error

ref: http://getbootstrap.com/migration/

Thanks @sarrala - it was removed not long ago and I couldn't find the reason behind it, so I'll wait on @AD7six to approve this one.
For reference: https://github.com/FriendsOfCake/bootstrap-ui/commit/c4aa55c7cc8748e8dd8ece46b9b01e190e64b6c9

Css class names should not dictate method names / error types. I had missed out ensuring alert-danger to message of type error, #18 takes care of that.

#18 has been merged.


Load Joystick definitions from json files

Re-opening for review.

Current definition of inputs is like:
  "Inputs": [
    {
      "Name": "Button 1",
      "Label": "Button - Left Hand - White - Back"
    },
    {
      "Name": "Button 2",
      "Label": "Button - Left Hand - White - Front"
    },

This does not work on many systems, since the display names "Name" are language dependent. On my german system everything is called differently:

So instead the configuration should be like:
  "Inputs": [
    {
      "InputType": "Button",
      "Id": 1,
      "Label": "Button - Left Hand - White - Back"
    },
    {
      "InputType": "Button",
      "Id": 2,
      "Label": "Button - Left Hand - White - Front"
    },

with InputType being an enum of the available options. And then a way needs to be found to do the mapping based on that information. Also the "Name" needs to be auto generated then.

Lots of discussion about this in Discord, it was a bug that existed in main that carried over to my code. I've updated this code to use the prefix name instead.

Now:

Nice!
And since there is no inheritance any more you can also replace the rest of the "protected virtual" stuff in Joystick.cs with "private".

Nice! And since there is no inheritance any more you can also replace the rest of the "protected virtual" stuff in Joystick.cs with "private".

Oooh yes, missed that. I'll clean it up!

@DocMoebiuz Comments addressed and changes from main merged in.


[scala]Scala REPL and sbt failed to respond

I'm a scala developer who wanted to deal with some project on my faster windows machine.
I can install everything just as on Ubuntu, but when I started command scala to run REPL the input was ignored and I cannot even send an interrupt signal via C- c.
If I skip scala REPL and jump directly into the project, the SBT doesn't work. Here doesn't work means it just started as a program with infinite loop that never returns and my CPU utilization is high thanks to this java program, while even sbt sbtVersion won't return. I don't know if this is due to lack of support of network device like the problem with ping utility.

First step to every issue should be your Win10 build #

@fpqc It's 1607 build 14393.187
I'm almost new to windows issue report. Which relevant information else than this shall I provide?

I know it's a big thing to ask, but it would be ideal if you could redo your test on the latest Win10 insider build.  There might be multiple blockers, some of which may be fixed in the latest build.  If it still fails in the latest insider build (14931 this morning iirc), could you paste the result of strace?

I don't participate in insider program so I cannot upgrade to that build.
The strace returns information in my attachment without -f option(-f returns irrelevant child processes waiting for signal). The program gets stuck on a read call. I guess that is because the memory of buffer is unavailable. The attachment is -o dump so it'd be better to be viewed on bash
report.txt


black background on web expo

when I use Progress.Pie, Progress.Circle and Progress.CircleSnail  on android/ios  they work normal as expected but on web expo they show a black background and you can't change it.
any help ?

Similar issue. Are you solved?

@sahinboga  unfortunately no

The easiest way is to change the version of react-native-progress with the PR# fixing this issue in package.json file and run npm update
"react-native-progress": "oblador/react-native-progress#pull/258/head"


[FEATURE] Support integrationing into gluten

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the feature
gluten is a spark native engine. When we integrate uniffle into gluten, we need to adjust some codes of uniffle.
In addition, we also need to publish the jar package to the public maven warehouse, like celeborn done.
https://github.com/oap-project/gluten/tree/main/gluten-celeborn
Motivation
No response
Describe the solution
No response
Additional context
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

@kaijchen Can you help publish the jar package to the public maven repository.
And my colleagues will help complete the remaining work of this feature.

cc @jerqi @advancedxy @zuston

@kaijchen Can you help publish the jar package to the public maven repository. And my colleagues will help complete the remaining work of this feature.

If we want to publish the jar package, we need to finish binary release. And we only finish source release. We can discuss this issue on Uniffle regular meeting in  the next week.

@kaijchen Can you help publish the jar package to the public maven repository.

Doing so might require releasing process, let's do it in release 0.7.1?
Or we can publish the artifacts to the SNAPSHOT repository.

cc @summaryzb

@kaijchen Can you help publish the jar package to the public maven repository.

Doing so might require releasing process, let's do it in release 0.7.1? Or we can publish the artifacts to the SNAPSHOT repository.

We can do it in next release version, after we finish complete this feature.

I‘d like to involve this feature, shall you open a discussion on it

SGTM.

we implement the integration in our production pipeline as below

gluten side change
https://github.com/oap-project/gluten/pull/1966

@summaryzb Could you write a simple document like https://docs.google.com/document/d/1G0cOFVJbYLf2oX1fiadh7zi2M6DlEcjTQTh4kSkb0LA/edit#heading=h.kl0vgpq0nxcy
? It's more easy if other people want to join the discussion or study the implement of this feature.

Sure I'll post it here today later


Recieving "Connection reset by Peer" when Wan1 goes down and Wan2 comes up.

Primarily using the brilliantly written program for failover between my primary wan and my backup.
Every time the primary wan goes down from loss of connectivity, which occurs fairly often due to geolocation, I receive the error that "The connection has been reset by the peer." Which is occurring often enough where it has become a real irritant. My previous router setup did not possess this problem, which was OPNsense. In order to mitigate this error from becoming to large of a problem, I have adjusted the setting to net.ipv4.tcp_keepalive_time, but this has had little effect on the issue.
Anyone know of some way to tweak some settings to prevent this from happening?

Assuming you are using the "failover" rather than "balanced" mode, I think
that this reflects a fundamental problem with the way that Net-ISP-Balance
works with TCP. Each packet from the same TCP session is assigned a
firewall mark that routes it to one or the other of the WAN interfaces.
This ensures that the source IP address doesn't change during the course of
a session, which otherwise will cause problems at the remote end of the
connection. When the primary WAN goes down, any existing TCP sessions that
went through the interface will get reset.
I will test what happens when the firewall mark rules are removed and
report back.
Were you using failover with OPENsense? If so were you using the "Sticky
Connections
https://docs.opnsense.org/manual/how-tos/multiwan.html#sticky-connection"
option, which would cause it to behave similar to Net-ISP-Balance.
Lincoln
On Mon, Jul 26, 2021 at 5:10 AM Anoduck @.***> wrote:

Primarily using the brilliantly written program for failover between my
primary wan and my backup.
Every time the primary wan goes down from loss of connectivity, which
occurs fairly often due to geolocation, I receive the error that "The
connection has been reset by the peer." Which is occurring often enough
where it has become a real irritant. My previous router setup did not
possess this problem, which was OPNsense. In order to mitigate this error
from becoming to large of a problem, I have adjusted the setting to
net.ipv4.tcp_keepalive_time, but this has had little effect on the issue.
Anyone know of some way to tweak some settings to prevent this from
happening?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lstein/Net-ISP-Balance/issues/35, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA3EVJV5MG7HRXG4632NBTTZUQ7NANCNFSM5A7V3QFA
.

--
Lincoln Stein
Head, Adaptive Oncology, OICR
Senior Principal Investigator, OICR
Professor, Department of Molecular Genetics, University of Toronto
Tel:<PHONE_NUMBER>
Cell:<PHONE_NUMBER>
@.***
E**xecutive Assistant (Interim)
Michelle Xin
Tel:<PHONE_NUMBER>
@.*** @.**>
Ontario Institute for Cancer Research
MaRS Centre, 661 University Avenue, Suite 510, Toronto, Ontario, Canada M5G
0A3
@OICR_news
https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2Foicr_news&data=04|01|Michelle.Xin%40oicr.on.ca|9fa8636ff38b4a60ff5a08d926dd2113|9df949f8a6eb419d9caa1f8c83db674f|0|0|637583553462287559|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=PS9KzggzFoecbbt%2BZQyhkWkQo9D0hHiiujsbP7Idv4s%3D&reserved=0
| www.oicr.on.ca
Collaborate. Translate. Change lives.
This message and any attachments may contain confidential and/or privileged
information for the sole use of the intended recipient. Any review or
distribution by anyone other than the person for whom it was originally
intended is strictly prohibited. If you have received this message in
error, please contact the sender and delete all copies. Opinions,
conclusions or other information contained in this message may not be that
of the organization.

I was using failover with OPNsense, and I do not believe that I was using sticky connections. Although, I do have the setting <lb_use_sticky>1</lb_use_sticky> in my configuration file. I remember being afraid that this might interfere with the failover functionality. As you know, OPNsense has ended support of i386 architecture, which forced me to rebuild things.
I wouldn't belabor your inquiry too much, you have already built a wonderful solution for implementing load balancing and failover. I have also got to find a more permanent solution to my network connectivity issues. Reception has been the pits for months now, and I direly need to erect a powerful antenna to receive a better connection. I might even need to look at starlink and see what the musk can do for my internet connection.
Thanks.

Hi,
Just an update here. I tried undoing stickiness but it did not quite behave
the way I expected. I'm continuing to work at this.
Lincoln
On Tue, Jul 27, 2021 at 1:32 AM Anoduck @.***> wrote:

I was using failover with OPNsense, and I do not believe that I was using
sticky connections. Although, I do have the setting
<lb_use_sticky>1</lb_use_sticky> in my configuration file. I remember
being afraid that this might interfere with the failover functionality. As
you know, OPNsense has ended support of i386 architecture, which forced me
to rebuild things.
I wouldn't belabor your inquiry too much, you have already built a
wonderful solution for implementing load balancing and failover. I have
also got to find a more permanent solution to my network connectivity
issues. Reception has been the pits for months now, and I direly need to
erect a powerful antenna to receive a better connection. I might even need
to look at starlink and see what the musk can do for my internet connection.
Thanks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lstein/Net-ISP-Balance/issues/35#issuecomment-887222380,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA3EVILCBZBD3E4LVVR5UTTZZAFZANCNFSM5A7V3QFA
.

--
Lincoln Stein
Head, Adaptive Oncology, OICR
Senior Principal Investigator, OICR
Professor, Department of Molecular Genetics, University of Toronto
Tel:<PHONE_NUMBER>
Cell:<PHONE_NUMBER>
@.***
E**xecutive Assistant (Interim)
Michelle Xin
Tel:<PHONE_NUMBER>
@.*** @.**>
Ontario Institute for Cancer Research
MaRS Centre, 661 University Avenue, Suite 510, Toronto, Ontario, Canada M5G
0A3
@OICR_news
https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2Foicr_news&data=04|01|Michelle.Xin%40oicr.on.ca|9fa8636ff38b4a60ff5a08d926dd2113|9df949f8a6eb419d9caa1f8c83db674f|0|0|637583553462287559|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=PS9KzggzFoecbbt%2BZQyhkWkQo9D0hHiiujsbP7Idv4s%3D&reserved=0
| www.oicr.on.ca
Collaborate. Translate. Change lives.
This message and any attachments may contain confidential and/or privileged
information for the sole use of the intended recipient. Any review or
distribution by anyone other than the person for whom it was originally
intended is strictly prohibited. If you have received this message in
error, please contact the sender and delete all copies. Opinions,
conclusions or other information contained in this message may not be that
of the organization.

I appreciate your concern and the effort. The Connection Reset by Peer errors persist, and has made performing tasks such as updating to a new snapshot of OpenBSD arduous.
Also, getting the script to load on startup in debian is another hurdle that needs to be overcome. I have tried adding it to local.rc without success, attempted to load it when the interfaces come up without success, and I have even attempted to write a startup script for systemd that I must have buggered up. I will try again to write a startup script for systemd, which appears like a more sure solution.


WKWebview: Failing to reconnect to websocket after bringing app back to the foreground

When loading the app initially everything works appropriately. However, when I put the app in the background and lock my phone and then return to the app I get the following erors:
Failed to load resource: the server responded with a status of 400 (Bad Request)
WebSocket connection failed: WebSocket is closed before the connection is established.
Has anyone else experienced this?  Am I missing something?
Any help would be greatly appreciated.

looks like from #100


Support "enterprise scale" repositories

Acceptance criteria: Be able to clone https://gitlab.com/gitlab-org/gitlab-ce.git
For reference, on my desktop using canonical git:
> git clone https://gitlab.com/gitlab-org/gitlab-ce
Cloning into 'gitlab-ce'...
warning: redirecting to https://gitlab.com/gitlab-org/gitlab-ce.git/
remote: Counting objects: 857065, done.
remote: Compressing objects: 100% (255551/255551), done.
remote: Total 857065 (delta 653254), reused 765557 (delta 592042)
Receiving objects: 100% (857065/857065), 380.04 MiB | 5.55 MiB/s, done.
Resolving deltas: 100% (653254/653254), done.
Checking out files: 100% (12449/12449), done.
✓ (5m13s) [2017-12-18 19:39:50]

(packfile is 389,165 KB, pack index is 23,437 KB, packed-refs 202 KB, index 1,399 KB).

Oooooookay. Well, we've set the bar. Let's raise it. :) Time writing files: 248 minutes.
> isogit clone --url=https://gitlab.com/gitlab-org/gitlab-ce.git
git.clone({fs, dir: '.', "url":"https://gitlab.com/gitlab-org/gitlab-ce.git"})
path = remote.origin.url
value = https://gitlab.com/gitlab-org/gitlab-ce.git
Total time unpacking objects: 15735618.409464035
Total time applying deltas: 11397.829457527987
Total time reading files:<PHONE_NUMBER>82891
Total time writing files: 14918749.676409185
✓ (4h30m) [2017-12-19 00:15:07]

On the bright side, Time Applying Deltas is only 11 seconds. Time Reading Files is 12 minutes. So the bottleneck is simply NTFS doesn't handle lots of small file writes to .git/objects/ well. Not unpacking the packfile should easily bring some big performance gains. This has all been on the desktop... the relative gain may be even bigger in the browser environment which is currently using IndexedDB for file writes.

Awesome! A good baseline to work off of. What are the basic machine / os specs that you ran this on?

Since the original acceptance criteria I wrote was "Acceptance criteria: Be able to clone https://gitlab.com/gitlab-org/gitlab-ce.git" and technically it can do that I'm going to break this into more specific tasks.

Updated baseline: 84 minutes (2.9x speedup)
> isogit clone --url=https://gitlab.com/gitlab-org/gitlab-ce
>> git.clone({fs, dir: '.', "url":"https://gitlab.com/gitlab-org/gitlab-ce"})
✓ (1h24m) [2017-12-24 18:54:38] Will@WILL-PC /e/git/wmhilton-contrib/gitlab-2 (master)

This is using new code that doesn't unpack the packfile, simply downloads, indexes, and checks out the files.
Git manages to run git index-pack on the gitlab-ce packfile (318 MB) in less than a minute, whereas my implementation takes ~1hr. I'm working on optimizing that now. Git is doing it in multiple passes while I was trying to do it in one pass, and that may make a big difference.

With #305 indexPack is down from 22 minutes to 10 minutes. (New hard drive, so don't compare with the old numbers.)


Feature default authentication type

This PR fixes #13851
Test the new default authentication feature by
- Set the new user configurable setting Sql: Default Authentication Type to AzureMFA
- Double-click = Test feature by double-click on Azure SQL database/server and ensure that new default authentication type from settings is used.
- Connection dialog = Launch the connection dialog widget and confirm that the new default authentication type value from user settings is used.

I can see some failing unit tests.  Will take a look at those later this week.

@TroyWitthoeft I've merged this change with various updates to fix tests, change default to AAD-MFA, etc.  Thanks for your contribution to this project!


Fix expires number precision on iOS

On 32bit devices (iPhone 5 and older) the expiration date overflows at the moment.
So to prevent this I changed expires to accept a longlong to make sure the value gets preserved

Closing as a duplicate of #122. Thanks for the PR and sorry for the long wait!


feat(NODE-5613): add awaited to hearbeat started events

Description
Adds an awaited field to ServerHeartbeatStarted events.
What is changing?

Adds the awaited field and sets it to true when using the streaming protocol.
Tests will come as part of NODE-5197

Is there new documentation needed for these changes?
None
What is the motivation for this change?
Need the field to pass tests coming in NODE-5197

Release Highlight

ServerHeartbeatStarted events now contain an awaited field that is true when using the streaming protocol.

Double check the following

[x] Ran npm run check:lint script
[x] Self-review completed using the steps outlined here
[x] PR title follows the correct format: type(NODE-xxxx)[!]: description

Example: feat(NODE-1234)!: rewriting everything in coffeescript

[x] Changes are covered by tests
[ ] New TODOs have a related JIRA ticket

We also need the awaited field on HeartbeatSucceeded and HeartbeatFailed events: https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring-logging-and-monitoring.rst#events-api

Good catch. I've updated.


766 check warning

Shows a warning if check postmark date has passed.

UX seal of approval. :100:


Defect: Image number dependant MPI_Win_Lock error

System Information:

OpenCoarrays Version: OpenCoarrays Coarray Fortran Compiler Wrapper (caf version 2.9.2)
Fortran Compiler: GNU Fortran (GCC) 11.1.0
C compiler used for building lib:
Installation method: install.sh
All flags & options passed to the installer: all default
Output of uname -a:Linux manjaro 5.13.5-1-MANJARO #1 SMP PREEMPT Mon Jul 26 07:43:29 UTC 2021 x86_64 GNU/Linux
MPI library being used: openmpi 4.1.1-2
Machine architecture and number of physical cores: 8th/9th Gen Core 8-core Desktop Processor Host Bridge/DRAM Registers [Coffee Lake S] (16 threads)
cmake version 3.21.1

The issue
What I was trying to do
I was trying to run four concurrent images, executing the compilation of my code, found at https://github.com/Oiubrab/byinheritance, executing sudo chmod u+x i_am_in_command.zsh && ./i_am_in_command.zsh clean 2 test print. The why is described in the github readme, found in the link, but basically I have created a neural network that computes a trading action in fortran.
What Happened
When this line is run, there is an mpi error generated and, having put in two print statements to catch the error, where place represents the order of the placing of the statements, I get:
Invalid Trades:
[1, 0, 0, 0, 0]
0

Network Choice:
[0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0]
[0, 0, 0]

Market Prices and Info:
{'stock_identifier': 'SE1', 'stock_number': 1, 'stock_price': 0.33, 'units_owned': 0}
{'stock_identifier': 'ADV', 'stock_number': 2, 'stock_price': 0.001, 'units_owned': 0}
{'stock_identifier': 'SBR', 'stock_number': 3, 'stock_price': 0.115, 'units_owned': 0}

Account Position:
{'account': 'test', 'account_value': 3000.0, 'time':<PHONE_NUMBER>.6863492}

run:  1
 image number:           1 Place:           1
 image number:           2 Place:           1
 image number:           3 Place:           1
 image number:           4 Place:           1
 image number:           2 Place:           2
 image number:           3 Place:           2
 image number:           1 Place:           2
[manjaro:25102] *** An error occurred in MPI_Win_detach
[manjaro:25102] *** reported by process [3482124289,0]
[manjaro:25102] *** on win rdma window 5
[manjaro:25102] *** MPI_ERR_UNKNOWN: unknown error
[manjaro:25102] *** MPI_ERRORS_ARE_FATAL (processes in this win will now abort,
[manjaro:25102] ***    and potentially your MPI job)
[manjaro:25098] 3 more processes have sent help message help-mpi-errors.txt / mpi_errors_are_fatal
[manjaro:25098] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
Error: Command:
   `/usr/bin/mpiexec -n 4 --use-hwthread-cpus ./lack_of_comprehension test`
failed to run.

Invalid Trades:
[0, 0, 1, 0, 0]
2

Network Choice:
[0, 0, 0, 0, 0, 0, 0] [1, 0, 0, 0, 0, 0, 0] [0, 1, 0, 1, 0, 0, 0]
[0, -1, -10]

Market Prices and Info:
{'stock_identifier': 'SE1', 'stock_number': 1, 'stock_price': 0.33, 'units_owned': 0}
{'stock_identifier': 'ADV', 'stock_number': 2, 'stock_price': 0.001, 'units_owned': 0}
{'stock_identifier': 'SBR', 'stock_number': 3, 'stock_price': 0.115, 'units_owned': 0}

Account Position:
{'account': 'test', 'account_value': 3000.0, 'time':<PHONE_NUMBER>.06828}

run:  2
 image number:           1 Place:           1
 image number:           2 Place:           1
 image number:           3 Place:           1
 image number:           4 Place:           1
 image number:           1 Place:           2
 image number:           2 Place:           2
 image number:           3 Place:           2
[manjaro:25174] *** An error occurred in MPI_Win_detach
[manjaro:25174] *** reported by process [3486973953,2]
[manjaro:25174] *** on win rdma window 5
[manjaro:25174] *** MPI_ERR_UNKNOWN: unknown error
[manjaro:25174] *** MPI_ERRORS_ARE_FATAL (processes in this win will now abort,
[manjaro:25174] ***    and potentially your MPI job)
[manjaro:25168] 3 more processes have sent help message help-mpi-errors.txt / mpi_errors_are_fatal
[manjaro:25168] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
Error: Command:
   `/usr/bin/mpiexec -n 4 --use-hwthread-cpus ./lack_of_comprehension test`
failed to run.

Invalid Trades:
[0, 0, 1, 0, 0]
2

Network Choice:
[1, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0] [0, 1, 0, 0, 0, 0, 0]
[-1, 0, -2]

Market Prices and Info:
{'stock_identifier': 'SE1', 'stock_number': 1, 'stock_price': 0.39, 'units_owned': 0}
{'stock_identifier': 'ADV', 'stock_number': 2, 'stock_price': 0.001, 'units_owned': 0}
{'stock_identifier': 'SBR', 'stock_number': 3, 'stock_price': 0.12, 'units_owned': 0}

Account Position:
{'account': 'test', 'account_value': 3000.0, 'time':<PHONE_NUMBER>.8761365}

What I expected to happen
Markets and network choices vary. This is expected. What is not expected is the error and the fact that the fourth image does not run to the second place. I should see the output above, but without the error, and with a  image number:           4 Place:           2 line. This exact code (minus the print statements) ran without a hitch with the last version of openmpi (openmpi-4.0.5-3-x86_64). I have since tried to run other opencoarrays programs I have written and found various errors trying to run less than six threads.
Step by step reproduction
This error can be reproduced following the execution above. As this error seems to be code agnostic, you can also try running the process below to reproduce a similar error (again, this code was running previous to the update):
step 1
Take the following code and save as an f95 file (e.g test_arraymove.f95):
program test_arraycom

real,dimension(10) ,  codimension [*] :: x ,  y
integer ::  num_img , me
num_img = num_images()
me = this_image ()
print*,me,num_img

! Some code  here
x (2) = x ( 3 ) [ 6 ]!  get  value  from image 6
x ( 6 ) [ 4 ] = x (1)!  put  value on image 4
x ( : ) [ 2 ] = y ( : )!  put  array on image 2
sync all

!  Remote−to−remote  array  transfer
if(me == 1)then
	y(:)[num_img]=x(:)[  4  ]
	sync images (num_img)
else if(me == num_img) then
	sync images ([ 1 ])
end if

x(1:10:2)=y(1:10:2)[4]!  strided  get  from 4

end program

step 2
compile the code with caf test_arraymove.f95 -o programname
step 3
run the code, with the number of CPU threads, $2, below 6
i.e cafrun -n $2 --use-hwthread-cpus ./programname
step 4
get an error of the form:
           1           4
           2           4
           3           4
           4           4
[manjaro:28814] *** An error occurred in MPI_Win_lock
[manjaro:28814] *** reported by process [3708682241,1]
[manjaro:28814] *** on win rdma window 6
[manjaro:28814] *** MPI_ERR_RANK: invalid rank
[manjaro:28814] *** MPI_ERRORS_ARE_FATAL (processes in this win will now abort,
[manjaro:28814] ***    and potentially your MPI job)
[manjaro:28809] 3 more processes have sent help message help-mpi-errors.txt / mpi_errors_are_fatal
[manjaro:28809] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
Error: Command:
   `/usr/bin/mpiexec -n 4 --use-hwthread-cpus ./testarraymove`
failed to run.

Note, in running mpicc -show, I get /opt/nvidia/hpc_sdk/Linux_x86_64/21.1/comm_libs/openmpi/openmpi-3.1.5/bin/.bin/mpicc: error while loading shared libraries: libnvcpumath.so: cannot open shared object file: No such file or directory


operators appdynamics-operator (0.6.10)

Adding AppDynamics Cluster Agent Operator v0.6.10
Updating appdynamics-operator.package.yaml to reference v0.6.10
Author: Sherif Medhat<EMAIL_ADDRESS>Signed-off-by: Sherif Medhat<EMAIL_ADDRESS>Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want use semantic versioning order?
[ ] Is your submission signed?
[ ] Is operator icon set?

Updates to existing Operators

[ YES] Did you create a ci.yaml file according to the update instructions?
[ YES] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[ YES] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[YES ] Have you tested an update to your Operator when deployed via OLM?
[YES ] Is your submission signed?

Your submission should not

[VALID] Modify more than one operator
[VALID] Modify an Operator you don't own
[VALID] Rename an operator - please remove and add with a different name instead
[VALID ] Modify any files outside the above mentioned folders
[VALID] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[VALID] Description about the managed Application and where to find more information
[VALID] Features and capabilities of your Operator and how to use it
[VALID] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[VALID] Human readable name and 1-liner description about your Operator
[VALID] Valid category name1
[VALID] One of the pre-defined capability levels2
[VALID] Links to the maintainer, source code and documentation
[VALID] Example templates for all Custom Resource Definitions intended to be used
[VALID] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

@sherifadel90 can we close it since this version was merged already?

@sherifadel90 can we close it since this version was merged already?


treewide: mark packages that never built ok broken

Description of changes
This is the first result of work I'm doing towards the goal explained in https://github.com/NixOS/nixpkgs/issues/185049.
This seemed like the safest set to start with, since these never worked to begin with.
I can see some packages that might not have been marked with the right platforms (when they were added to nixpkgs), but I wanted to start with this and also show that those things can be caught with this tool.
Things done

[ ] Fits CONTRIBUTING.md.

I'm currently running maintainers/scripts/rebuild-amount.sh to see how much rebuilds this will cause, which hopefully will give some insight in which packages are removed (ofborg should help with that too, I guess).
Consider this a bit of an RFC as well. For packages that have not been broken forever, I still want to add some extra info in the commit message, but I wasn't sure how useful that'd be here. If you think it would really be useful to add here I could see what I can do, but I think this should be good enough for these types of packages.
Use the following links to check the build list of the packages:

(for aarch64-darwin) https://hydra.nixos.org/job/nixpkgs/nixpkgs-unstable-aarch64-darwin/bazel_3.aarch64-darwin
(for the other 3 platforms) https://hydra.nixos.org/job/nixpkgs/trunk/libstdcxx5.aarch64-linux

Fill in the attr and platform as you see fit in the above links.

Hmm, I think I fat-fingered some of the updated packages, looking into that...

Marking as draft since there's some things in here that have multiple versions of which some are working and some aren't. Pointers on how to find those (ideally without an expensive full eval) would be welcome :smile: ). I guess the alternative would be to do an actual full eval and just filter any out that affect > 1 attribute for manual consideration.

I manually audited the whole list (and as such left out things that affected attrs that were not actually broken) and applied all suggestions from @SuperSandro2000 . Care to re-review?
Source code for the tool can be found here: https://github.com/Mindavi/nixpkgs-mark-broken/. It's still pretty rough, but hopefully gives some insights regardless.

I'll fix the blesh issue, but don't understand why it happened since my script tries to eval after setting and aborts if it doesn't. Or at least that is the intention.

I think this is ready to go, let me know if there's anything else you'd like to see here. I'll look further into why the missing of the stdenv variable as input was not caught by my scripts, I am still not very sure about that. Used nix-eval-jobs to find the remaining issues after struggling with finding them for a bit.

Here goes nothing...

Way too many aarch64-darwin packages seem removed: https://hydra.nixos.org/eval/1787501?full=1#tabs-removed. I don't know if it's due to this, but maybe?

I think subunit was just fixed: https://hydra.nixos.org/job/nixpkgs/nixpkgs-unstable-aarch64-darwin/subunit.aarch64-darwin
https://github.com/NixOS/nixpkgs/pull/201890
Still not sure why the depending builds seemed to be ok but the dependency seemingly not?

Oh interesting, I think the subunit python package inherits some properties from the other derivation, including meta. This causes the broken mark to propagate to the package too...
pkgs/development/python-modules/subunit/default.nix
I'll revert the subunit broken mark later, it can be solved in another way in the future.


Extra feature for log shipping

Added option to prompt the user when the secondary database is not
initialized.
The user will not get a choice when -GenerateFullBackup and/or -Force
are not being used.

bon bon bon! 🍖


How do I get path of Image?

Using callback didSelectAssets in "DKImagePickerController", I get UIImage successfully. But I don't know how to get the selected image path. In DKAsset class there is no information about path or URI. Could you let me know how to get path of image?

I had this same issue. From what I researched and found out (the hard way - wasted time) is that you should use the localIdentifier (string identifier to identify the asset) found in the originalAsset (PHAsset) of a DKAsset. Here is an example:
override func didSelectAssets(images: [DKAsset]) {
  if let identifier = images[0].originalAsset?.localIdentifier { // DKAsset -> PHAsset identifier (string)
    let phAsset = PHAsset.fetchAssetsWithLocalIdentifiers([identifier], options: .None).firstObject as? PHAsset // localIdentifier -> PHAsset
  }
}

I wrote this on the fly so some of the swift may produce errors. The thing to take away is to use PHAsset.localIdentifier and fetch PHAssets via PHAsset.fetchAssetsWithLocalIdentifiers

Why do you want to get the path of image?

When I want to make a simple board application, it needs to select image from storage and upload it as a file. I used UIImagePNGRepresentation with UIImage that selected, but it doesn't work. I don't know the reason exactly. So I want to try to get file from path and upload it.

You can save the selected image to Documents, then uploading it to your server.
public extension DKAsset {
	/**
		Writes the image in the receiver to the file specified by a given path.
	*/
	public func writeImageToFile(path: String, completeBlock: (success: Bool) -> Void)

	/**
		Writes the AV in the receiver to the file specified by a given path.

		- parameter presetName:    An NSString specifying the name of the preset template for the export. See AVAssetExportPresetXXX.
	*/
	public func writeAVToFile(path: String, presetName: String, completeBlock: (success: Bool) -> Void)
}

Thank you for giving me a solution and it is possible solution. But I think it is unnecessary task. Is there any way to get path of original file?

I think the path of original file is unuseful. You cannot read any files or directories outside of your application directory.

Oh... I didn't know that. Thanks! I really appreciate it.

public extension DKAsset {
    /**
        Writes the image in the receiver to the file specified by a given path.
    */
    public func writeImageToFile(path: String, completeBlock: (success: Bool) -> Void)

    /**
        Writes the AV in the receiver to the file specified by a given path.

        - parameter presetName:    An NSString specifying the name of the preset template for the export. See AVAssetExportPresetXXX.
    */
    public func writeAVToFile(path: String, presetName: String, completeBlock: (success: Bool) -> Void)
}

Is this writeImageToFile() method still exist on the latest version ?

@zhangao0086 Can you please answer if there is any alternative to writeImageToFile() method on the latest version ?


Split coin stake output if ower 200 coins.

Split coin stake output to two if ower 200 coins. This helps to
overcome the time required for coins to mature.

this is a cherry-pick from my other pr

@tomasbrod can we talk about this here real quick?
We had a similar function in that we did split the stake in any case. Many people thought this would be increasing security and it was even "hyped" by some as the innovation.
The problem I have with such thing is that while the blocks increase linear over time while the necessary blocks to stake all single transactions increases more than linear. That leads to the situation that not every transaction can stake eventually which just does not seem healthy for our project. Additionally newbies and low-stakers will have a decreased probability to stake at all. Yes, on the other hand this is equal to a little more network security but if we wanted to increase that we could also set a minimum threshold of 1mil GRC to be able to stake. What I mean is that we favorize whales that way which also does not seem healthy IMO.
I am definitely no security expert but my gut feeling tells me it is not healthy for scalability.
Kind regards and thanks for your overall activities, Quez :)

Ok, we can keep this on hold until enough info is available. Abd I will add command to split utxos manually.
Note that staking 100 and 25+25+25 should have the same chance.

OK,
Well yes it has the same chance but if the 100 stake the network weight will decrease for 16 110 blocks by 100.
If the 25 stake it will only decrease by 25 and remain 75.
If you are a newbie with 1 GRC you have a higher possibility to stake after the 100 staked for 110 blocks.
Again, security vs. scalability

Now I understand the issue.
A boost for new users and boinc miners is on my to-do list.

It'd be very cool if this was configurable by the user - for an user with many GRC this could mean thousands of addresses with 200 GRC each, but if it was split on say 2500 then it would save whales from having to split into several hundred addresses manually.
I created a bash script to split 100k GRC on testnet into 1000 addresses on linux w/ bash, but on windows it's a bit more complex.

@grctest You mean a config option like splitminvalue that when set, will split the output if greater than what was set? That could be easy, but will go against what @Quezacoatl1 said.
I still have that rpc command on todo. Yous script will help me, could you post it @grctest?

Rebased on top of development branch. Original at 75c060533cfc7ec2bc4acc3e27dfebe9c7f19b35.

@tomasbrod Is this ready for review?

As you see, people don't agree with this. Need to add a command and  to be configurable.


Fix special arguments data and payload

Checklist

[ ] The code has 100% test coverage.
[ ] The documentation was properly created or updated (if applicable) following the correct guidelines and appropriate language.
[ ] I branched out from the latest main or is a sub-branch.

Summary or description

Fix data and payload special keyword arguments so they are allowed when another method than one without a body (HEAD, GET) is available,

@devkral CI failing

yes, we need a rework. We should check that the params are optional in case of GET, HEAD and OPTIONS in methods. and apply this for Form parameters too.

I will look at this when I have time. I can see some over complications already


User model

adding an account created field because when a requestee is requesting a job they might want to know how long someone has been working for to put ratings into context.

Added a short bio for profile page.
Also added assigned boolean field in post to know whether a post has been assigned or not.
**Tried to add an assigned_to foreign key but I keep getting SQLalchemy errors on the 2 foreign keys. Will try fix this.

Fixed this and pushed to branch. Needed to handle multiple joins for the different foreign keys: https://docs.sqlalchemy.org/en/20/orm/join_conditions.html#handling-multiple-join-paths
and also deal with naming conventions in sqlalchemy as it does not name them automatically for some reason?
https://stackoverflow.com/questions/62640576/flask-migrate-valueerror-constraint-must-have-a-name

Here are the new fields i implemented:
To User:

about field for bio in account page
account_created field for when account was created

To Post:

assigned field bool to tell if post assigned
assigned_user_id and through some relationships made possible an assigned user in order to get all a users assigned posts.


[Feature] Support Kueue.sh for RayJob admission

Why are these changes needed?
Native Kubernetes Jobs have a suspend flag that allows to temporarily suspend a Job execution and resume it later, or start Jobs in a suspended state and have a custom controller, such as Kueue, decide later when to start them.
So adding it to RayJob spec for consistency. Moreover, some frameworks like Kubeflow are adding it, so it becomes a standard functionality. An example implementation for MPIJob: https://github.com/kubeflow/mpi-operator/pull/511
Implementation details

If a RayJob is created with a spec.suspend == true, then RayCluster instance (with corresponding Kubernetes resources) is not created and the Ray job is not submitted to the cluster. The JobDeploymentStatus is set to Suspended and the corresponding event is issued. The RayJob remains in this state until somebody unsuspends the job.

If suspend flips from true to false, then the RayJob controller immediately creates a RayCluster instance and submits the job.

If suspend flips from false to true while Job is running, then the RayJob controller tries to gracefully stop the job and deletes the RayCluster instance (with underlying Kubernetes resources). The JobDeploymentStatus is set to Suspended; JobStatus is set to STOPPED and the corresponding event is issued.

Edge case: suspend flag is ignored if a RayJob is submitted against an existing RayCluster instance (matched with ClusterSelector) since we can't delete a RayCluster created by somebody else.
No Kueue-specific code leaked to Kuberay implementation
Contributors from Kueue/Kubernetes cc'ed:
@alculquicondor
@mwielgus
Checks

[x] I've made sure the tests are passing.
Testing Strategy

[x] Unit tests
[x] Manual tests
[ ] This PR is not tested :(

Thanks for the feature request. We will have a look and come back to you soon

Hello @Jeffwan
Can I do anything to speed up the review?

I quickly looked through https://github.com/ray-project/community and I didn't see any recurring meeting.
Is there any venue where we can meet if you have questions about why this is important?

I quickly looked through https://github.com/ray-project/community and I didn't see any recurring meeting.
Is there any venue where we can meet if you have questions about why this is important? @Jeffwan

Thanks for bringing this up -- we do have a biweekly Kuberay sync, @gvspraveen can check on adding this to the linked community page.
In this case, we discussed internally and don't have any questions, no need to present anything at the sync.  Because suspend is a standard feature for native Kubernetes jobs, it makes sense for this to be a part of KubeRay.  We'll review the PR as soon as we can!

Thanks for bringing this up -- we do have a biweekly Kuberay sync, @gvspraveen can check on adding this to the linked community page.

That community page seems to be for all of ray-project. Not sure if adding meeting links is appropriate there. But there is a Slack group linked in ray docs. You can reach out to us there and we can add you to meeting.

@architkulkarni Could you re-run the workflows? goimports issue fixed

@architkulkarni, @Jeffwan  I found an issue. When a rayjob is deleted and after a short time it is applied again we get this error.
Failed to start Job Supervisor actor: The name _ray_internal_job_actor_rayjob-sample-fl6rc
    (namespace=SUPERVISOR_ACTOR_RAY_NAMESPACE) is already taken. Please use a different
    name or get the existing actor using ray.get_actor(''_ray_internal_job_actor_rayjob-sample-fl6rc'',
    namespace=''SUPERVISOR_ACTOR_RAY_NAMESPACE'').'
  rayClusterName: rayjob-sample-raycluster-nwxd6

This happens when the old RayCluster is still in terminating status as I noticed. If the jobs are orchestrated by Kueue this problem may occur more and more often.
What do you think?
Should we fix it in this PR? Should we wait for cluster terminating?

What happens with the RayCluster object when you call Delete on it? Does it immediately disappear or is it held by a finalizer until it's actually cleaned up?
If the object persists, I think it's more appropriate to wait for it to finish before creating the new RayCluster. If not, what @oginskis suggests sounds like a good option.

After a long time of testing I understood that the problem does not depend on the clusters that are in terminating status.
When the RayCluster is created a request to dashboard is done which uses a hard coded 2 seconds timeout. On low resources clusters the dashboard fails to respond in 2 seconds.
I added the fix using context to this PR because we depend on it.
I also decided to reset ClustName, DashboardUrl, JobId and message from status.

Thanks @oginskis @mcariatm for this contribution!
I will start reviewing this PR this week. By the way, there seem to be some updates in dashboard_httpclient. It is highly possible that KubeRay will redesign RayJob in April. This means that we will likely remove the Dashboard HTTP client because submitting a job to RayCluster via the HTTP client is not an idempotent operation. It sometimes causes multiple job creations within a single RayJob. Please see https://github.com/ray-project/kuberay/issues/756 for more context.
If this PR heavily relies on that part, it may not be merged in this release (v0.5.0 plans to be out at the end of March or early April). The KubeRay team will do our best to get this PR merge in v0.6.0.

/cc

/retitle [Feature] Support suspend in RayJob

/cc

The documentation for Job is here: https://kubernetes.io/docs/concepts/workloads/controllers/job/#suspending-a-job
suspend is arguably a bit of a misnomer. You can think of it as "preemption", but we chose suspend for consistency with fields in Deployment and CronJob.
The idea is that there is a higher level controller than can determine that the cluster is full and keep suspend=true until there is space in the cluster (aka queueing), or even set it for a job that is running, in order to make space for a higher priority job (aka preemption).

That said, if a particular application or framework implements checkpointing, the job could resume where it was suspended.
Is there an alternative way of implementing suspend in RayJob that would give us these semantics? Keep in mind that the key requirement for suspend is that, when set, all running pods should stop (respecting grace period).

/retitle [Feature] Support suspend in RayJob

@kevin85421 What is the current state of this repo in terms of feature and code freezes?
Can we make some progress on this review?
Also, I'm currently attending kubecon EU. If you are around, it would be nice to connect in person :)

@architkulkarni will lead the RayJob refactoring, and the design doc may be out in two weeks. It would be great if the Kueue community could give us some feedback.

That's awesome. When you have the proposal, can you send it to<EMAIL_ADDRESS>I'm sure other folks would be interested in providing feedback.

@architkulkarni can you check may last changes please?

@architkulkarni  please rerun linter and the other checks.

A basic question, what's the purpose of passing context to all the HTTP requests, is that a general best practice or does it fix something specific, separately from increasing the timeout?
Apart from that question, looks good to me pending the lint failure. Thanks for the contribution!

can you try again please?

@kevin85421 can you have a look?

I've tested this manually and discussed offline with @kevin85421 and we are ready to merge this.  @oginskis if you can address the merge conflict, I will merge the PR

I've tested this manually and discussed offline with @kevin85421 and we are ready to merge this. @oginskis if you can address the merge conflict, I will merge the PR

I rebased it. Please rerun the tests.
If you have any questions please contact me directly.


Make parser accept 3 commands

change command layout to add-itinerary-attraction so the parser does not need to accept 3 words command


SIGN UP FAILED

Issues:

[ ] signup has failed - no idea why
[ ] link to the common problems (click here) is improperly contructed: https://mail.protonmail.com/“https://protonmail.com/support/knowledge-base/common-sign-up-problems-and-solutions/“ (relative mixed with absolute + a quote at the end)

signup has failed - no idea why

Please contact customer support.

link to the common problems (click here) is improperly contructed

Fixed in latest release.


refractoring and clean up

There is a lot of things in the path tracer as of now.
We want to add data optimisation with a bvh and also add the Pixar BSDF with his own scene loader.
but everthing is need to be clean before.
CPU code
we need to clean up every class and change the way everyting work, some name are not rigth and are missleading.
there is even some unused classes (cf frame buffer) and maybe some ugly code.
Since the BVH will take a lot of place and the scene loading too we need to improve everthing before.
Shader code
the shader is really heavy and the refractoring, and a #include.
the #include will need a bit of parsing and testing.
please reference all the commit about the cleaning.
🧹 🧹 🧹

it's done, the raytracer is now fully rewritten with less bloated code and easierr way to read the code


ResultExt with unwrap_display() and expect_display()

@tyranron As this was merged before license was added, please confirm that this is available under MIT or Apache 2.0.

@tyranron I do confirm.


WebApp:Configure the web app under Microsoft Learn Content "Architect modern applications in Azure  Run a background task in an App Service Web App with WebJobs"

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp config connection-string set
Errors:
string index out of range
Traceback (most recent call last):
python3.6/site-packages/knack/cli.py, ln 215, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 659, in execute
    raise ex
cli/core/commands/__init__.py, ln 722, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
...
azure/cli/core/__init__.py, ln 784, in default_command_handler
    return op(**command_args)
cli/command_modules/appservice/custom.py, ln 1272, in update_connection_strings
    if value[0] in ["'", '"']:  # strip away the quots used as separators
IndexError: string index out of range

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az webapp config connection-string set --id {} --connection-string-type {} --settings {}

Expected Behavior
Environment Summary
Linux-4.15.0-1103-azure-x86_64-with-debian-10.2 (Cloud Shell)
Python 3.6.10
Installer: DEB

azure-cli 2.17.1
azure-cli-ml 1.19.0

Extensions:
ai-examples 0.2.5
azure-cli-ml 1.19.0

Additional Context

webapp

webapp

@ThejaChoudary / @Kotasudhakarreddy could one of you investigate this. Thanks!

@ThejaChoudary / @Kotasudhakarreddy could one of you investigate this. Thanks!

@githubgrace - is this still an issue? I am not finding the learn content this is referring to.

closing due to lack of response. please re-open if needed.


Documentation requirements

The task is to specify documentation comments requirements.

 Prepare documentation requirements

https://github.com/maldi-team/msi-divik/wiki/documentation-general-information

I have some doubts if the syntax of /// works for doxygen at C++


Prep storage-1.2.0 release.

Supersedes #3529.
Requires merge of #3526 to bump core to 0.25.0.
Draft release notes:
google-cloud-storage-1.2.0

Update google-cloud-core dependency to ~ 0.25.
Document that  Bucket.lifecycle_rules, Bucket.storage_class are settable properties. (PR #3472, issue #2610).
Add Bucket.labels property. (PR #3478, issue #3473)
Remove mention of no-longer-chainable ACL methods. (PR #3428, issue #3181)
Restore support for retries in storage uploads. (PR #3378)
Drop internal usage of rewind in Blob.upload_from_string(). (PR #3365)
Change Blob.upload*() and Blob.create_resumable_upload_session() methods to use google-resumable-media. (PRs #3362, #3357)
Enforce explicit UTF-8 blob name. (#3354)

Not included in notes:

Revert "Fix 'broken' docs build. (#3422)" (#3439)
Vision semi-GAPIC (#3373)
Re-organize the documentation structure in preparation to split docs among subpackages (#3459)
Fix "broken" docs build. (#3422)
Clean up a documentation for the storage blob module. (#3376)

@tseaver I made one tweak (about settable properties) to the notes, but LGTM otherwise.
Maybe rebase this PR on top of #3526 so test will pass?

@dhermes I'll just kick off a rebuild.


Sync Azure mirrors January 2023

Sync since #1939

Hi @richardsondev
Unfortunately another big mirror operation happened just before yours (#2271), and this seems to have created conflicts, I suspect mostly around the Rune content.
Unfortunately I think the easiest way through is to re-run the mirror operation on the latest version of master.
It should go quicker since store.exists() should report that the files already exist in the destination and skip the upload process.
:disappointed:

Not a problem! I will start a new branch to ensure things are clean.


refactor(app): folder structure

Closes #2

What we need moving files, also change require paths and run npm t before commit @mokuteki225

For example, here is a PR for pure node.js repo: https://github.com/metatech-university/NodeJS-Pure/pull/1/files


Updated FastAPI

Created a new pull request. For the open api webserver with fastapi feature.

I see no difference compared to the previous version I have been using. I guess it has already been updated.

Please continue with #1614.


--debug

Maybe it would be nice to have some --debug flag that prints a more verbose flow of internal information. Would be helpful to know what's going on and debug certain issues.

That would be definitely helpful in some cases.

I merged proposed PR. Maybe thoughts for future improvements, so please provide feedback if you can/want.
I imagine three levels of provided information:

default: warnings+errors in default
--verbose will provide info following what is done "read git; model builded; composing MD;..."
--debug will provide debugging with values of variables and even finer tracing of what is happening


[C-19] Display markdown for activities

When displaying activities, we need to display markdown
From SyncLinear.com | C-19

Oh you're right — he did HTML, not markdown
My bad!

its not in prod, though?


blade.corejsphook sample

Just started reviewing :) :octocat: Sent from GH.

Hello Ray,
please consider using path "META-INF/custom_jsps/" in blade.corejsphook code/config files to remain consistent with LP 6.2 hook plugins that over-ride core JSP files.
Regards,
Tim

this pull have been moved here: https://github.com/gamerson/liferay-blade-samples/pull/10


Clicking on Account Preferences on the gear icon on the GitHub Pull Requests Extension should open a quick pick to choose a different account

Testing #229420

View the extensions in the extension view
Find the Github Pull Requests
Click on the gear icon and click on Account Preferences
A quick pick with the possible accounts does not show. From what I understood from the TPI, there should be a quick pick that should appear listing the possible accounts. The TPI mentions that if this happens then it is possible the extension does not handle the Authentication API properly.🐛

On rereading the TPI, I am not sure if this is a bug or not. Is it expected the quick pick does not open when an account has not been set yet for an extension? @TylerLeonhardt

this is basically the same root cause as https://github.com/microsoft/vscode/issues/229503 marking as duplicate


Adds podman compatibility in makefile

What type of PR is this?
/kind enhancement
What does this PR do / why we need it:
Adds Podman compatibility to Makefile
Have you updated the necessary documentation?
I think no doc update is needed for this
Which issue(s) this PR fixes:
Fixes #1298
How to test changes / Special notes to the reviewer:
make docker-build docker-push
make bundle-build bundle-push
make catalog-build catalog-push

with podman or docker installed, both will work

feel free to squash it, if it gets merged, does not need to be 2 commits imo.

Thanks @Elyytscha for the contribution.


Bevy 0.8 Support

Hey there
Super excited to use with bevy 0.8!
Any plans to support?

Oh nice! Yeah Bevy 0.8 looks great and I definitely want to keep naia up to date :)
Not much time for me for the next 2 weeks, but will try to get to it after that.
I would be very grateful if anyone took this on, looking at 0.8's changelist it doesn't look like there's any part of naia that would need to change fundamentally?

Looks like this should be closed!


Print job fails with "Unable to add document to print job" error in CUPS-to-CUPS setup

Describe the bug
I have multiple copies of a PDF file ranging only in size/pages but essentially generated from the same long PDF file. I am trying to load test in a cups-to-cups setup. I test by giving manual print from a Central CUPS server to a printer added on the Remote CUPS server. Sharing the printer config from the Central CUPS server below. The test results in successful print for files with 100, 125, 200 pages but fails for 500 pages and upwards.
> lpstat -v | grep printer_on_central_cups
device for printer_on_central_cups: https://remote-cups.mytld.com/printers/printer_on_remote_cups

Steps to reproduce the behavior:

Give a manual print (pdf with 200 pages) from the Central CUPS server, the job shows up on the remote CUPS server (with the state as "Held" and file size 0KB). The job starts printing after the processing is complete.
Give a manual print (pdf with 500 pages) from the Central CUPS server, the job shows up on the remote CUPS server (with the state as "Held" and file size 0KB). Meanwhile, the Central CUPS keeps processing the pages, at some points, the job on the Central CUPS server fails with Unable to add document to print job. Unfortunately, the debug level was also not very helpful, it doesn't show anything more than what we already know from the CUPS "Web Interface".

tldr logs:
D [04/Oct/2023:18:30:38 +0530] [Notifier] PrinterStateChanged
D [04/Oct/2023:18:30:38 +0530] [Job 101] Send-Document: server-error-internal-error (No request sent.)
D [04/Oct/2023:18:30:38 +0530] [Job 101] ---- end-of-attributes-tag ----
E [04/Oct/2023:18:30:38 +0530] [Job 101] Unable to add document to print job.

Sharing more lines, that might be relevant in providing more context, from the error_log :
EDIT by zdohnal:
error_log.txt
Expected behavior
After processing all the pages on the Central CUPS the corresponding job on the Remote CUPS server should have progressed from "Held" to "Processing".
Actual Observation
But that doesn't happen. The Job failed on the Central CUPS server with the error Unable to add document to print job. A new job gets created on Remote CUPS (the old one stays in "Held"). The jobs keep piling up on remote CUPS like that meanwhile the job on Central CUPS stays in Unable to add document to print job , until I manually cancel the job.
System Information:

Central Cups Server: v2.4.2 on Debian 12 (laptop)
Remote Cups Server: v2.3.3op2 on Debian 11-based Raspberry Pi OS

Remote Cups(variation): v2.3.3op2 on Debian 11 Laptop (tested on laptop to eliminate resource limitation)

Additional context
I have been able to replicate this issue enough times, so I hope it's fair to rule out the following:-

Compute resource limitation on remote CUPS. (tried on Raspi 4GB and Laptop 8GB)
Network fluctuations.
CUPS misconfiguration cupsd.conf (made sure the following attributes are set on both Remote and Central CUPS server )

Timeout 3600
LimitRequestBody 0
Any PDF version-related issue. (all test files are subsets of the same 1000-page long PDF).

100 pages (27MB)
200 pages (58MB)
500 pages (155MB)
1000 pages (425MB)

Perhaps, the fact that files smaller than 500 pages get printed without any issue and the file with 500 pages fails every time, it's fair to assume it's a bug? Would anyone be able to help in fixing or troubleshooting this further?
Ciao ☕
-v

Hi,
please attach logs from central server and remote CUPS server as files here (add .txt suffix and attach them by clicking on 'selecting'), so I have matching logs and see how the job flow goes - it should give us info what happens on the remote server.

Hi,
Attaching logs here. Also sharing job ID for reference:-

Job ID on Central CUPS: 101
Job ID on Remote CUPS: 8256

central_cups_error_101.txt
remote_cups_error_8256.txt

@childish-gambino thank you for the logs!
It looks like HTTP state of connection is not in the correct state when it should when the process tries to get IPP response, and it is reported like there was no IPP request sent at all after approx. 7 minutes. The captured decrypted network traffic between the servers could help, if it is possible for you to capture it with SSL keys to decrypt it (or switch temporarily to plain IPP), because right now I'm not sure whether the issue happened in cupsSendRequest() and hung there, or document data was sent via cupsWriteRequestData().
Either way, IMO the issue happens because your PDF file is filtered to PWG raster, which takes more time than sending it as PDF (since other cups supports it) - what driver do you use? Can you attach it? I would guess it is driverless driver from cups-filters, but I can't get your filter chain with the current versions, so there might be fix for this in newer versions.

@zdohnal Thanks for the response.
I have a few follow up questions -

Is there a way I can check my filter chain being applied if I am using the driverless driver?
Would it be possible for me to just pass along the PDF instead of the PWG raster to the remote CUPS server so that the bandwidth consumed is lower? I am thinking that the cups filter chain would be converting the PDF to PWG raster format. Am I correct here?
Also, wanted to understand on how setting up the connection url as ipp is different than http/https? Is there a documentation that I could refer to, to understand the differences?
What is the difference between cupsSendRequest() and cupsWriteRequestData()? Where can I read about these more in detail?

@zdohnal Thanks for the response.
I have a few follow up questions -
1. Is there a way I can check my filter chain being applied if I am using the driverless driver?

Every used filter is printed out in debug logs when you send a job to the print queue.

2. Would it be possible for me to just pass along the PDF instead of the PWG raster to the remote CUPS server so that the bandwidth consumed is lower? I am thinking that the cups filter chain would be converting the PDF to PWG raster format. Am I correct here?

That's exactly what IPP Everywhere driver does - CUPS creates filter chain based on the driver you install printer with - my suspicion is that your driver tells CUPS to convert to raster.

3. Also, wanted to understand on how setting up the connection url as ipp is different than http/https? Is there a documentation that I could refer to, to understand the differences?

ipps is IPP protocol encrypted by TLS, ipp is unencrypted IPP protocol. http is symlink to ipp in CUPS and https to ipps.
So AFAIK http and ipp would work the same in CUPS (and https and ipps too). However other tools might get confused by the symlink.

4. What is the difference between cupsSendRequest() and cupsWriteRequestData()? Where can I read about these more in detail?

Unfortunately I was not able to find other documentation for them than comments in the code and this mention in https://openprinting.github.io/cups/doc/cupspm.html#submitting-a-print-job - cupsSendRequest() is a lower level function which sends a request, cupsWriteRequestData() sends files by chunks to the destination via HTTP.

That's exactly what IPP Everywhere driver does - CUPS creates filter chain based on the driver you install printer with - my suspicion is that your driver tells CUPS to convert to raster.
I did not install the printer with a driver per se. I am just using the open printing drivers that show up when I connect the printer to the system. Can you help me understand which drivers were you referring to here?

If you use an OpenPrinting driver which shows up when you connect the printer, it is driverless driver (I see the contradiction, but we have to generate the driver file for backward compatibility with applications expecting the driver file) - this driver is advertised when you install the printer permanently (is among the found printers) or is used when cups-browsed creates the printer.
The driver I'm talking about is everywhere driver from OpenPrinting CUPS - this one is used when you don't install the printer at all (you connect the printer via ethernet/wifi/usb, make it seen on mDNS and open an application - and the printer is available in the dialog) or when you choose 'IPP Everywhere' model in CUPS web ui.
So both are from OpenPrinting - you can try installing your remote queue like this with IPP Everywhere:
$ lpadmin -p printer_eve -v ipps://remote-cups.mytld.com/printers/printer_on_remote_cups -m everywhere -E

, print to this new queue and see if behavior changes.

@zdohnal sorry for the late reply. We did try installing with the -m everywhere option too but that didn't help either. We were not able to spend as much time as we would have liked to. For now, I suspect the issue to be with the DNS proxy we are using (CloudFlare) which also has a limitation of (100 MB) for data transfer.  (But why would my print request fail around 35 MB is still something that I have not been able to figure out)
Thanks for your time. I'll reopen the issue if I have new findings.

Ok, I'll close the issue for now, let me know once you have the decrypted communication traffic capture.


[Feature] Match Creation

I need a space to write out some of the "must-haves" for creating a match. Right now, there is the ability to have a match that does not have a server assigned.

Should we allow matches with no servers to be assigned?
Is there a way we should take care of vetoes on site? Or stick with in-game?
How do we handle default CVARs if a Season/Tournament is chosen?

I believe this should be completed after Seasons/Tournaments is integrated, as it does play a part in how the match gets built.

Should we allow matches with no servers to be assigned?
AD
I think the match should be assigned to a specific server
Match = One Server
Maybe information when creating a match with the server busy

That's what I was thinking too. I think the reason I left the API open-ended (can create matches without servers) was to allow the use of discord bots, and various other tools to create matches before assigning a server.
There's also an option in the matches to switch the assigned server to a new one as well, that way if a server is not working or is laggy, you are able to swap servers and continue playing.
However I think you're right, on creation on the panel there should be the requirement of a server to be selected.
Thanks for the input :)

Match creation todos:

[ ] Select A Server, or create
[ ] Select season
[ ] Fill out match details
[ ] Default details if exist.
[ ] Send out create match POST call to API.

This is now completed. Next step is to get a proper representation of a match in progress (and connect buttons, etc).

Hmmm, I think you should make the user can change full match details (I mean no default value).
Example: I want to change min_players_to_ready but G5V doesn't support this (Default value of this is now set to 5). In case, players don't have enough 5 players to start but they want to map veto first to save their time, they can use the command !forceready to do that. But now min_players_to_ready is set to 5, they cannot do that.

So the reason I removed this is because it wasn't even implemented in the first place. There was no way to tell (between my fork of get5-web, G5API, and this) how many players were needed to forceready a match. I believe there was a few hacky changes here and there to make it work. I'll look into it, and was thinking of changing the players per team to a slider anyways.

Also, this change has been made.

Thank you! I tested and it's worked!


Exception trace:
 () at phar:///usr/local/bin/composer/vendor/symfony/console/Input/Input.php:149
 Symfony\Component\Console\Input\Input->getOption() at phar:///usr/local/bin/composer/src/Composer/Command/DumpAutoloadCommand.php:66
 Composer\Command\DumpAutoloadCommand->execute() at /Users/anatoly/.composer/vendor/ayesh/composer-min-autoload/src/DumpAutololoadMinCommand.php:45
 Ayesh\ComposerAutoloadMin\DumpAutololoadMinCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:245
 Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:835
 Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:185
 Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:310
 Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
 Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:122
 Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:63
 require() at /usr/local/bin/composer:24

dump-min-autoload [--no-scripts] [-o|--optimize] [-a|--classmap-authoritative] [--apcu] [--no-dev]

It doesn't looks like a composer plugin problem. Is it can be reproduced using default composer autoloader?

It doesn't looks like a composer plugin problem. Is it can be reproduced using default composer autoloader?

Looking at the trace, the problem comes from DumpAutololoadMinCommand from the plugin. So it must be related.
As for the issue – I don't use this package and can't recollect what was the solution for this. So I'm closing this.

Maybe I had an outdated composer version with no apcu-prefix option (https://getcomposer.org/doc/03-cli.md#dump-autoload-dumpautoload). I don't know.


Implement ron! macro

See https://docs.serde.rs/serde_json/macro.json.html for the json! equivalent.

I'm experimenting with a reimplementation to try and address some of the outstanding issues that are made hard to address because of the current implementation structure, and to bring ron more inline with how e.g. serde_json is implemented, to hopefully make it easier to maintain going forward.
Anyway, the reason I say this here is that said experimental branch now has a working ron! macro I wanted to share off.
    let ron = ron! {
        GameConfig( // optional struct name
            window_size: (800, 600),
            window_title: "PAC-MAN",
            fullscreen: false,

            mouse_sensitivity: 1.4,
            key_bindings: {
                "up": Up,
                "down": Down,
                "left": Left,
                "right": Right,

                // Uncomment to enable WASD controls
                /*
                "W": Up,
                "A": Down,
                "S": Left,
                "D": Right,
                */
            },

            difficulty_options: (
                start_difficulty: Easy,
                adaptive: false,
            ),
        )
    };
    dbg!(&ron);
    println!("{}", crate::to_string(&ron).unwrap());

output:
[src\macros.rs:317] &ron = GameConfig {
    window_size: (
        +800,
        +600,
    ),
    window_title: "PAC-MAN",
    fullscreen: false,
    mouse_sensitivity: 1.4,
    key_bindings: {
        "up": Up,
        "down": Down,
        "left": Left,
        "right": Right,
    },
    difficulty_options: _ {
        start_difficulty: Easy,
        adaptive: false,
    },
}
GameConfig(
    window_size: (
        +800,
        +600
    ),
    window_title: "PAC-MAN",
    fullscreen: false,
    mouse_sensitivity: 1.4,
    key_bindings: {
        "up": Up,
        "down": Down,
        "left": Left,
        "right": Right
    },
    difficulty_options: (
        start_difficulty: Easy,
        adaptive: false
    )
)

Hey are there any plans to revive this?
This is super useful, particularly for tests where I have quite deep data structures.
Typical workflow.

serialize test output to ron
check it over
copy into test
assert that output matches serialized output

With this I can do some more advanced things.

This issue predates my work on ron, thank you for bringing it to my attention!
I think it would be a good idea to bring it back, but I cannot devote the time to implement it myself. Feel free to open a PR with an implementation :)


Could not complete tutorial, disemngage from wolf

Solasta 1.97, latest
Mod manager 27.10
Mod <IP_ADDRESS>
Enabled all the 2024 options and a bit more
Started main campaign
Tutorial mission 2, with wolves , pressed disengage,
all squares lighted up shows X cursor
unable to move
cannot cancel disengage
stuck
Save file:
start.zip

Known issue related with UB formation settings. I wont fix as UB users really don’t play the tutorial.


Expense limit violation shows for the reimbursed

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:
Reproducible in staging?: needs reproduction
Reproducible in production?: needs reproduction
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @NikkiWines
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1719255142233209
Action Performed:
Precondition :  Expense violation is set to $10 in a workspace

Submit an expense in Euro currency which is less than $10
Approver approve and pay the expense
Open the report after  the conversion from Euro to $ increased and expense amount over the violation limit

Expected Result:
Shouldn't show the violation error
Actual Result:
Violation error for over the limit shows for the reimbursed receipt
Workaround:
unknown
Platforms:

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

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

Screenshots/Videos

View all open jobs on GitHub

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

Note: In this case "Expense violation" refers to Category limit per expense as far as I can tell.
Apologies, this is my first BZ issue. Trying to work out how to set up category rules in newdot.

Hey @NikkiWines when you say

Precondition : Expense violation is set to $10 in a workspace

Do you mean in Expensify Classic? I can't see that we have added this feature to New Expensify yet.

Yep @RachCHopkins that's correct!

Note: Needs Control-level workspace to set up this violation.

Report prepped for testing against
<EMAIL_ADDRESS>
Let's hope the Euro climbs tonight!

But now, the exchange rate is resulting in an expense that is just above the $10 limit. And despite it already being approved, it's showing a violation based assumedly on the current FX rate, rather than the FX on the 19th of April.

Exactly, yes

In a nutshell, it's throwing a violation based on irrelevant data, correct?

✅

In theory it should be throwing that violation today:

Here's a test transaction, and it's over the limit:

But last week's expense is still good:

@NikkiWines can you check yours again?

I do still see the error on the expense, but it's no longer in my sidebar (unless I search for it) which was the more frustrating issue

In that case shall we leave this as it is now @NikkiWines ?

Yeah, seems like whatever the LHN issue is, it's been resolved so we can probably close this out


Prevent connect to wallet from happening twice when weblogin is clicked

closes #105

@Chima1707 it's not prevent from double click, but it's much better anyway


Use Python 3.7.3 on OSX, instead of 3.7 to work around an issue of Py…

…Init__daal4py symbol being absent from the produced native extension binary
@fschlimb @AndresGuzman-Ballen @Alexander-Makaryev

This works around https://github.com/IntelPython/daal4py/issues/152

The latest change closes #152

The commit workflow has failed due do 10m without any output which did not happen in prior runs.
I therefore am going to merge the PR.


Metrics explanations

Hi,
I could not find where to ask this, so I created an issue.
Where I could find the explanation of kafka metrics, for example, what is meaning of Brokers Skewed, Brokers Spread % and so on?
Thanks

+1

+1

I had the same question today, so here's the answer if it helps.

Skewed : As you can see in the source code app/kafka/manager/model/ActorModel.scala#L380, a broker is skewed if its number of partitions is greater that the average of partitions per broker on the given topic.

Example: 2 brokers share 4 partitions, if one of them has 3 partitions, it is skewed (3 > 2)

Spread : As you can see in the source code again app/kafka/manager/model/ActorModel.scala#L400, brokers spread is the percentage of brokers in the cluster that has partitions for the given topic.

Example: 3 brokers share a topic that has 2 partitions, so 66% of the brokers have partitions for this topic

Since #353 has been merged, would you consider this issue solved?

thank you very much,I think their mean

yeap

Hi there,
I know it's an old issue but this perfectly replied to my wondering about the skew meaning.
However unless I misunderstand what I am seeing does not seem to respect this rule ?
Example:

This topic has 4 partitions for 3 brokers, 1 or the 3 brokers has 2 partitions which is obviously higher than the average number of partition per broker (technically 1.33)
Unless the average number has to been calculated WITHOUT taking in consideration the broker ? (so all brokers but 1)
Thank you!


Documenting KUDO tasks

Fixes #113

I haven't found a good place for this doc in the hierarchy so, for now, it exists at the top-level. I'm open to suggestions as for how to structure and name, Developing Operators, Feature and now Tasks. / cc @meichstedt