shown users item duplicated

As the gif figure shown as follow, duplicated items can be found when I turn three pages and some of the users were not shown.

You can open this url and reproduce the situation.
composer show output:
antoinefr/flarum-ext-bbcode-fa          v0.1.1         Insert FontAwesome icons in your posts.
clarkwinkelmann/flarum-ext-emojionearea 0.1.2          Add EmojiOne Area emoji picker to Flarum
components/font-awesome                 4.7.0          The iconic font designed for use with Twitter Bootstrap.
csineneo/flarum-ext-traditional-chinese v0.1.0-beta.7  Traditional Chinese language pack for Flarum
danielstjules/stringy                   1.10.0         A string manipulation library with multibyte support
davis/flarum-ext-inviteonly             v0.1.0-beta3   Allow Registration only if invited.
davis/flarum-ext-socialprofile          0.2.3          Allows addition of Social Media buttons to profile
dflydev/fig-cookies                     v1.0.2         Cookies for PSR-7 HTTP Message Interface.
doctrine/annotations                    v1.4.0         Docblock Annotations Parser
doctrine/cache                          v1.6.2         Caching library offering an object-oriented API for many cache backends
doctrine/collections                    v1.4.0         Collections Abstraction library
doctrine/common                         v2.7.3         Common Library for Doctrine projects
doctrine/dbal                           v2.5.13        Database Abstraction Layer
doctrine/inflector                      v1.2.0         Common String Manipulations with regard to casing and singular/plural rules.
doctrine/lexer                          v1.0.1         Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.
filp/whoops                             2.1.10         php error handling for cool kids
flagrow/byobu                           0.1.0          Well integrated, advanced private discussions.
flagrow/flarum-ext-image-upload         0.3.1          Image uploader for Flarum forum messages.
flagrow/flarum-ext-latex                0.1.1          Renders LaTeX expressions.
flagrow/user-directory                  0.1.0          The permission based public user directory extension for your Flarum forum.
flarum/core                             v0.1.0-beta.7  Delightfully simple forum software.
flarum/flarum-ext-akismet               v0.1.0-beta.6  Stop spam using the Akismet anti-spam service.
flarum/flarum-ext-approval              v0.1.0-beta.7  Make discussions and posts require moderator approval.
flarum/flarum-ext-auth-github           v0.1.0-beta.6  Allow users to log in with GitHub.
flarum/flarum-ext-bbcode                v0.1.0-beta.5  Allow posts to be formatted with BBCode.
flarum/flarum-ext-emoji                 v0.1.0-beta.6  Convert text and unicode emoji into Twemoji.
flarum/flarum-ext-english               v0.1.0-beta.7  English language pack.
flarum/flarum-ext-flags                 v0.1.0-beta.7  Allow users to flag posts for moderator review.
flarum/flarum-ext-likes                 v0.1.0-beta.6  Allow users to like posts.
flarum/flarum-ext-lock                  v0.1.0-beta.7  End a discussion and don't let anyone add further replies.
flarum/flarum-ext-markdown              v0.1.0-beta.5  Allow posts to be formatted with Markdown.
flarum/flarum-ext-mentions              v0.1.0-beta.7  Mention and reply to specific posts and users.
flarum/flarum-ext-pusher                v0.1.0-beta.6  See new discussions and posts in real-time using Pusher.
flarum/flarum-ext-sticky                v0.1.0-beta.7  Pin discussions to the top of the list.
flarum/flarum-ext-subscriptions         v0.1.0-beta.6  Allow users to follow discussions and receive notifications for new posts.
flarum/flarum-ext-suspend               v0.1.0-beta.7  Suspend users so they can't post.
flarum/flarum-ext-tags                  v0.1.0-beta.8  Organize discussions into a hierarchy of tags and categories.
franzl/studio                           0.11.2         Develop your Composer libraries with style
franzl/whoops-middleware                0.4.1
ganuonglachanh/flarum-ext-search        0.3            Allows to search by discusstion title
guzzlehttp/guzzle                       6.3.0          Guzzle is a PHP HTTP client library
guzzlehttp/promises                     v1.3.1         Guzzle promises library
guzzlehttp/psr7                         1.4.2          PSR-7 message implementation that also provides common utility methods
http-interop/http-middleware            0.2.0          Common interface for HTTP middleware
hyn/flarum-default-group                0.5.0          Assign a default group to new users automatically.
illuminate/bus                          v5.1.41        The Illuminate Bus package.
illuminate/cache                        v5.1.41        The Illuminate Cache package.
illuminate/config                       v5.1.41        The Illuminate Config package.
illuminate/container                    v5.1.41        The Illuminate Container package.
illuminate/contracts                    v5.1.41        The Illuminate Contracts package.
illuminate/database                     v5.1.41        The Illuminate Database package.
illuminate/events                       v5.1.41        The Illuminate Events package.
illuminate/filesystem                   v5.1.41        The Illuminate Filesystem package.
illuminate/hashing                      v5.1.41        The Illuminate Hashing package.
illuminate/mail                         v5.1.41        The Illuminate Mail package.
illuminate/pipeline                     v5.1.41        The Illuminate Pipeline package.
illuminate/support                      v5.1.41        The Illuminate Support package.
illuminate/validation                   v5.1.41        The Illuminate Validation package.
illuminate/view                         v5.1.41        The Illuminate View package.
intervention/image                      2.4.1          Image handling and manipulation library with support for Laravel integration
ircmaxell/random-lib                    v1.2.0         A Library For Generating Secure Random Numbers
ircmaxell/security-lib                  v1.1.0         A Base Security Library
issyrocks12/flarum-ext-filter           1.2.2          Filter out words and phrases from forum posts
jsthon/flarum-ext-simplified-chinese    v0.1.0-beta.7  Simplified Chinese language pack.
league/flysystem                        1.0.41         Filesystem abstraction: Many filesystems, one API.
league/oauth2-client                    1.4.2          OAuth 2.0 Client Library
league/oauth2-github                    0.2.2          Github OAuth 2.0 Client Provider for The PHP League OAuth2-Client
matthiasmullie/minify                   1.3.52         CSS & JS minifier
matthiasmullie/path-converter           1.1.0          Relative path converter
monolog/monolog                         1.23.0         Sends your logs to files, sockets, inboxes, databases and various web services
nesbot/carbon                           1.22.1         A simple API extension for DateTime.
nikic/fast-route                        v0.6.0         Fast request router for PHP
oe800/flarum-ext-bbcode-fontizymo       0.1.4          Add Custom Web Fonts Flarum
oyejorge/less.php                       v<IP_ADDRESS>      PHP port of the Javascript version of LESS http://lesscss.org (Originally maintai...
paragonie/random_compat                 v1.4.2         PHP 5.x polyfill for random_bytes() and random_int() from PHP 7
psr/http-message                        1.0.1          Common interface for HTTP messages
psr/log                                 1.0.2          Common interface for logging libraries
pusher/pusher-php-server                2.6.4          Library for interacting with the Pusher REST API
reflar/gamification                     2.0.2          Upvotes and downvotes for your Flarum community
s9e/flarum-ext-mediaembed               0.3.2          Embed third-party content in your Flarum.
s9e/text-formatter                      0.8.5          Multi-purpose text formatting and markup library. Plugins offer support for BBCod...
sijad/flarum-ext-details                0.1.2          Details BBCode for Flarum
sijad/flarum-ext-links                  0.1.0-beta.6   Manage flarum primary navbar menu links.
sijad/flarum-ext-pages                  0.1.0-beta.3   Create custom page with Flarum
sijad/flarum-ext-spoiler-alert          0.1.0          Spoiler plugin for Flarum using spoiler-alert jQuery plugin
swiftmailer/swiftmailer                 v5.4.8         Swiftmailer, free feature-rich PHP mailer
symfony/console                         v2.8.27        Symfony Console Component
symfony/debug                           v2.7.34        Symfony Debug Component
symfony/filesystem                      v3.3.9         Symfony Filesystem Component
symfony/finder                          v2.7.34        Symfony Finder Component
symfony/http-foundation                 v2.7.34        Symfony HttpFoundation Component
symfony/polyfill-mbstring               v1.5.0         Symfony polyfill for the Mbstring extension
symfony/process                         v3.3.9         Symfony Process Component
symfony/translation                     v2.7.34        Symfony Translation Component
symfony/yaml                            v2.8.27        Symfony Yaml Component
tijsverkoyen/akismet                    1.1.1          Akismet is a wrapper-class to communicate with the Akismet API.
tobscure/json-api                       v0.3.0         JSON-API responses in PHP
wiseclock/flarum-ext-post-copyright     0.1.7          Enables copyright settings on posts.
wiseclock/flarum-ext-profile-image-crop 0.1.1          Crop when uploading profile image.
wiseclock/flarum-ext-reply2see          0.1.1          Adds a reply to see BBCODE.
wiwatsrt/flarum-ext-best-answer         v0.1.0-beta.11 Best Answer for Flarum.
xengine/flarum-ext-markdown-editor      1.3.1          WYSIWYG Editor for Flarum
zendframework/zend-diactoros            1.6.0          PSR HTTP Message implementations
zendframework/zend-escaper              2.5.2
zendframework/zend-stratigility         1.3.3          Middleware for PHP

I have not experienced this in the beta 8 version. Feel free to re-open if you experience this again.
It's possible that if any user registers or is deleted in between page loads the order will change. Maybe there's an additional default sorting missing somewhere for when multiple users are sorted at the same position.


Paypal integration CORS error

General information

SDK version: 3.71.0
Environment: Production
Browser and OS: Hybrid app (ionic)

Issue description
I enabled PayPal integration and exposed it through the Braintree web drop in. Even if this implementation works in sandbox, it does fail in production apparently due to a CORS error.

Is there any additional configuration needed in production in order to make Braintree work with PayPal? I searched for known issues but didn't find anything relevant so far.

I'm not sure if the PayPal SDK supports using the Ionic framework. I would open an issue here and ask: https://github.com/paypal/paypal-checkout-components


[V5 beta] ERROR Error: Uncaught (in promise): NullInjectorError: R3InjectorError(AppModule)[NgtStore -> NgtStore -> NgtStore]:    NullInjectorError: No provider for NgtStore!

As soon as I add NgtPhysicBody to a component, I get the NullInjectorError.  Feels like I'm missing an import module, but not sure which.
@Component({
  templateUrl: './bounce.component.html',
  providers: [NgtPhysicBody],
})
export class BounceComponent {
  constructor(private physicBody: NgtPhysicBody) { }
}

This component needs to be inside of

Looks like your comment was truncated

The component needs to be inside of ngt-physics which needs to be inside of ngt-canvas.

It is.  All of my components where working with V4.  Here's the full code for the bounce example.

  <ngt-canvas [camera]="{ position: [10, 2, 0], fov: 45, near:1, far:100 }"
              [scene]="{ background: 'gray' | color }">
    <ngt-directional-light [args]="['white' | color, 1.75]"
                           [position]="[20, 20, 20]" [castShadow]="true">
    </ngt-directional-light>

    <ngt-physics>
      <ngt-cannon-debug [disabled]="true" [scale]="1.1" color="red">

        <ngt-mesh [ref]="sphere1Props.ref" [castShadow]="true">
          <ngt-sphere-geometry></ngt-sphere-geometry>
          <ngt-mesh-standard-material [parameters]="{ color: 'red' | color }"></ngt-mesh-standard-material>
        </ngt-mesh>

        <ngt-mesh [ref]="sphere2Props.ref" [castShadow]="true">
          <ngt-sphere-geometry></ngt-sphere-geometry>
          <ngt-mesh-standard-material [parameters]="{ color: 'white' | color }"></ngt-mesh-standard-material>
        </ngt-mesh>

        <ngt-mesh [ref]="sphere3Props.ref" [castShadow]="true">
          <ngt-sphere-geometry></ngt-sphere-geometry>
          <ngt-mesh-standard-material [parameters]="{ color: 'blue' | color }"></ngt-mesh-standard-material>
        </ngt-mesh>

        <floor></floor>
      </ngt-cannon-debug>
    </ngt-physics>

    <ngt-soba-orbit-controls></ngt-soba-orbit-controls>
    <ngt-stats></ngt-stats>
  </ngt-canvas>

import { Component } from "@angular/core";

import { NgtPhysicBody } from "@angular-three/cannon/bodies";
import { NgtTriple } from "@angular-three/core";

@Component({
  templateUrl: './bounce.component.html',
  providers: [NgtPhysicBody],
})
export class BounceComponent {

  sphere1Props = this.physicBody.useSphere(() => ({
    mass: 1,
    position: [-3, 5, 3] as NgtTriple,
    material: { restitution: 0.4 },
  }));

  sphere2Props = this.physicBody.useSphere(() => ({
    mass: 1,
    position: [-3, 5, 0] as NgtTriple,
    material: { restitution: 0.6 },
  }));

  sphere3Props = this.physicBody.useSphere(() => ({
    mass: 1,
    position: [-3, 5, -3] as NgtTriple,
    material: { restitution: 0.8 },
  }));

  constructor(private physicBody: NgtPhysicBody) { }
}

I added the following to AppModule, now the error changes to NullInjectorError: R3InjectorError(AppModule)[NgtStore -> ElementRef -> ElementRef -> ElementRef]
  providers: [NgtStore],

I've pushed the full cannon examples project to a v5 branch.  Hopefully, it will repeat for you.

I'm outside right now. can you see if you can replicate the error on the physic-cubes example in apps/sandbox on the v5 branch?

What's the command to run this standbox server?

Figure it out.  nx serve standbox

I think I see the problem. Your BounceComponent also includes the ngt-canvas which makes BounceComponent a parent (host) of NgtCanvas, not children.
Why don't you just bring the three spheres into the Bounce component instead of the whole canvas?

This is the whole example page.  This worked fine in V4.
Sound like if I want to pull NgtPhysicBody into a component, that component can't include ngt-canvas

As soon as I add those two lines to SandboxPhysicCubesComponent component, it starts failing in the same way.
@Component({
  selector: 'sandbox-physic-cubes',
  template: `

        <ngt-canvas
            [dpr]="[1, 2]"
            [gl]="{ alpha: false }"
            [camera]="{ position: [-1, 5, 5], fov: 45 }">

            <ngt-ambient-light></ngt-ambient-light>
            <ngt-directional-light [position]="10" [castShadow]="true">
            </ngt-directional-light>

            <ngt-physics>
                <sandbox-plane [position]="[0, -2.5, 0]"></sandbox-plane>
                <sandbox-cube [position]="[0.1, 5, 0]"></sandbox-cube>
                <sandbox-cube [position]="[0, 10, -1]"></sandbox-cube>
                <sandbox-cube [position]="[0, 20, -2]"></sandbox-cube>
            </ngt-physics>
        </ngt-canvas>

`,
  changeDetection: ChangeDetectionStrategy.OnPush,
  providers: [NgtPhysicBody],
})
export class SandboxPhysicCubesComponent {
  constructor(private physicBody: NgtPhysicBody) { }
}

Can you confirm this is the path forward for V5?
Does this only apply for objects with physics enabled?

Correct. That's how DI works. In v4, the physic body directives get attached on the mesh which are children of the Canvas. In v5, the PhysicBody service needs to be a child of Canvas. Your wrapper component wraps the Canvas which makes your component the Canvas's parent.

Ok, I'll split all my examples into two components.
Hopefully, that subtly can be captured in your updated documentation.
Once I have everything migrated, I'll make some V4 to V5 migration notes based on my own experience.

Please do! And definitely lemme know any feedback at all as we can make changes now if needed:

the whole Ref thing
Attaching (I'll write more about this when I get on my laptop)
BooleanInput (I'll write more about this when I get in my laptop)
Material with individual inputs instead of parameters object

@IRobot1 here's my list so far https://github.com/nartc/angular-three/blob/v5/libs/documentations/docs/getting-started/migrate-to-v5.mdx

Can you give an example of how to use instanced mesh with physics?  Its not clear to me how ref is applied to each instance.
Previously the following code worked, but now throws lots of errors in the tick method
  count = 400;

  private boxes: Array<NgtTriple> = []

  constructor(private physicBody: NgtPhysicBody) {
    for (let i = 0; i < this.count; i++) {
      // start with random positions
      this.boxes.push([
        (Math.random() * 2 - 1) * 5,
        Math.random() * 10,
        (Math.random() * 2 - 1) * 5
      ])
    }
  }

  cubeProps = this.physicBody.useBox((index: number) => ({
    mass: 1,
    position: this.boxes[index],
    args: [1, 1, 1],
  }));

  ready(inst: InstancedMesh) {
    for (let i = 0; i < this.count; i++) {
      inst.setColorAt(i, new Color().setHex(Math.random() * 0xffffff));
    }
  }

  tick() {
    const index = Math.floor(Math.random() * this.count)
    this.cubeProps.api.at(index).position.set(0, 5 + Math.random() * 15, 0);
  }```

`Uncaught TypeError: Cannot read properties of undefined (reading 'position')`

Looks like at(index) no longer returns a valid object

@IRobot1 There's a bug with InstancedMesh. I just released beta.2 that contains the fix. I also added the Kinematic Cube example to the sandbox. Please take a look

I confirmed instance mesh is now fixed with beta 2.

@IRobot1 https://github.com/nartc/angular-three/issues/96 can you chime in here all the findings that you've found so far?


Code?

Great paper! When do you think you can release the code? What license are you considering for it?

Thank you @artiedins , I think I will release parts of the code this week. Because we are thinking of doing more experiment. We are going to release them step by step.

Thank you @artiedins , I think I will release parts of the code this week. Because we are thinking of doing more experiments. We are going to release them step by step.

Hello, is there any plan to release code?

Thank you @artiedins , I think I will release parts of the code this week. Because we are thinking of doing more experiments. We are going to release them step by step.

Hi, is there any new plan to release code?

@Shiaoming @artiedins Seems like I missed this post.
Most of the code and pre-trained model is released months ago. If there are any questions, we will actively respond here.


Support for multiple SCSI controllers

Enable using upto 4 SCSI controllers for LCOW UVMs. HCS currently doesn't respect the
SCSI controller number provided with the Add SCSI disk requests. Hence, the SCSI disk can
show up at some different controller inside the LCOW UVM. To avoid this, now we use GUIDs
to represent each controller and use that GUID with the Add SCSI disk request.
GCS code is also modified to identify the controller number from the controller GUID.
Signed-off-by: Amit Barve<EMAIL_ADDRESS>

@kevpar , @dcantah & @anmaxvl Can you PTAL?


v5.1.4 - Error adjusting stake amount with manual alteration of amount

Interface 3.1.5
Core 5.1.4
User clicked "Max Amount" then manually adjusted the amount.  The example he provided was manually adjusting the adjustment amount from 151.56746 to 150.99746.  This is a random example, not actual amounts used.
I found the error message that was thrown visibly to the user, "[1mset_value [0m : Parameter can only have decimal places" in the src/Util/types/precision.h file.  I don't know if it's an issue with this file, or with what the wallet is sending.
User subsequently reported to me that he increased to Max Amount without manually adjusting the adjustment value, and the stake balance adjustment entry process working without any error.
Attached 0.log and screenshot user provided of error.
0_peterh_20241214.log

This should be in NexusInterface, it is a front-end issue.


added the AJAX Session Expiration Handling page

We just released the ability to add an additional header to AJAX requests in order to receive a 401. Adding this as companion documentation.
AUTH-3149

Please note: As part of the work for https://github.com/cloudflare/cloudflare-docs/issues/156 I updated this PR to be based off of the staging branch instead of the master branch.

Not sure what happened here. This PR will need to be made again against the new production branch. My apologies.


New epubjs-reader not working with zipped .epub files

I was trying to use the new epubjs version because it fixes the IOS issues but it is not working with zipped epub files as it used to. if I try with an unziped version of the epub in a folder it picks up inmediately. I can help to fix this but I need some insight on the unzipping part. @fchasen

I found this error debugging the js:
error = TypeError: this.zip.loadAsync is not a function at Archive.open (****/epub.js:15903:20)

Have you included JSZip?

I used your index.html and it has it AFAIK

ok. It works now. I had to download the new version of JSZip and include that one.The one included in the example is not working tho. Thanks for the help

Updated to<EMAIL_ADDRESS>in the repo


Fixed missing links - site-recovery-faq.md

Fixed missing links

Hi @kuniteru, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

@rayne-wiselman Rayne, can you please review Kuniteru's contributions? merge conflicts will need to be address before merge. thanks,

@rayne-wiselman Rayne, bumping this for your review.

It looks as though the changes haven’t been made on the latest version of the file since my latest version already contains these changes. The author should update on latest version and then see if there are actually any changes that need to be made.
From: Jim Parker<EMAIL_ADDRESS>Sent: Friday, February 26, 2016 8:23 PM
To: Azure/azure-content<EMAIL_ADDRESS>Cc: Rayne Wiselman<EMAIL_ADDRESS>Subject: Re: [azure-content] Fixed missing links - site-recovery-faq.md (#5650)
@rayne-wiselmanhttps://github.com/rayne-wiselman Rayne, bumping this for your review.
—
Reply to this email directly or view it on GitHubhttps://github.com/Azure/azure-content/pull/5650#issuecomment-189411160.

@rayne-wiselman Rayne, please work with the contributor to implement the fix to the correct version.

We need to tell them to update master to get the latest version. Shall i do that?
Sent from Outlookhttp://aka.ms/liysn4 on Android
On Mon, Feb 29, 2016 at 8:42 AM -0800, "Jim Parker" <notifications<EMAIL_ADDRESS>wrote:
@rayne-wiselmanhttps://github.com/rayne-wiselman Rayne, please work with the contributor to implement the fix to the correct version.

Reply to this email directly or view it on GitHubhttps://github.com/Azure/azure-content/pull/5650#issuecomment-190281920.

@kuniteru @rayne-wiselman Kuniteru, thank you very much for your contribution. I've reviewed your suggestions and it turns out that Rayne (the author) has already addressed the broken links, so I'm going to close this pull request. If you see anything else, please let us know.


Re-work issue state fields in issue view

Issue status fields should be shown in a linear format with only the most important fields shown by default. Also, the user should be able to modify which fields are shown by default.

Done!


coordinates of structure 4 and 5

Is anyone doing the 4 and 5 structure? If so, what are their coordinates?

@s4il3sh I did for structure six and seven. In what basis did you chosed the coordinates for positions for your structure 4 and 5 chosen.


Two more variables into the chatmail.ini

As chatmail is recommended for small groups, the compliance into this group can it make affordable to change the maximal size of the message and the time to delete an inactive account, too.
Please add these two variables into chatmail.ini if it is possible:
max_size =              # maximal size for a message in megabyte
time_to_delete =    # an inactive acoount in days
Thank you!

On Tue, Apr 02, 2024 at 21:25 -0700, Dorfzwockel wrote:

As chatmail is recommended for small groups, the compliance into this group can it make affordable to change the maximal size of the message and the time to delete an inactive account, too.
Please add these two variables into chatmail.ini if it is possible:
max_size =              # maximal size for a message in megabyte

makes sense (although i'd name is max_message_size).

time_to_delete =    # an inactive acoount in days

what would be your definition of "inactive"?
I'd suggest "since last login" ... not sure if we already have this info easily
but shouldn't be too hard to add if not.

That's what I mean. Since last sucsessfull login, or since last interaction
with dovecot or something like that...
holger krekel @.***> schrieb am Mi., 3. Apr. 2024,
11:16:

On Tue, Apr 02, 2024 at 21:25 -0700, Dorfzwockel wrote:

As chatmail is recommended for small groups, the compliance into this
group can it make affordable to change the maximal size of the message and
the time to delete an inactive account, too.
Please add these two variables into chatmail.ini if it is possible:
max_size = # maximal size for a message in megabyte

makes sense (although i'd name is max_message_size).

time_to_delete = # an inactive acoount in days

what would be your definition of "inactive"?
I'd suggest "since last login" ... not sure if we already have this info
easily
but shouldn't be too hard to add if not.
—
Reply to this email directly, view it on GitHub
https://github.com/deltachat/chatmail/issues/268#issuecomment-2034009062,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK35VR42J6GV3EP2VZMZSX3Y3PCGXAVCNFSM6AAAAABFURFLHWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZUGAYDSMBWGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

We have to think about the best way to introduce new options into chatmail.ini without breaking existing deployments.

So now there is no way to (automatically) delete inactive accounts?

since https://github.com/deltachat/chatmail/pull/350 is merged accounts are automatically deleted and there is a delete_inactive_users_after config option now.  So this issue here is partly addressed.


Add Docker 24.0.x version

https://docs.docker.com/engine/release-notes/24.0/
Following docker versions to be added:
24.0.0
24.0.1
24.0.2

Same approach as https://github.com/rancher/rancher/issues/40731 to be followed for implementation and testing.
SURE-6491

Hi, I have issue to find which version of https://github.com/rancher/rancher/releases or rke has the fix for docker-ce 23. For docker-ce 24, is-it possible that this information is marked somewhere (either here or in release note)? Our project use rancher and we are waiting for docker-ce-23 or 24 to be fixed and released but nowhere can we find in which version it is fixed. Thank you!

@antoinetran , Docker 23 support will be included with the next (2.7.5) release per https://github.com/rancher/rancher/issues/40731. It should be included on the release notes as well as on support matrix published after the release (e.g. next to current one for 2.7.4 - https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/rancher-v2-7-4/).
Docker 24 support is planned for the later release (Q3 one per the milestone set - not a commitment though) as per this issue.

Validated below docker versions on different OSes by creating node driver and custom clusters :

https://releases.rancher.com/install-docker-dev/24.0.0.sh

https://releases.rancher.com/install-docker-dev/24.0.1.sh

https://releases.rancher.com/install-docker-dev/24.0.2.sh

Note : On CentOS 8 stream docker installation script is failing with below error. So tested the cluster provisioning using the docker upstream script https://get.docker.com and the provisioning was successful.

Errors during downloading metadata for repository 'appstream':
  - Status code: 404 for https://vault.centos.org/centos/8-stream/AppStream/x86_64/os/repodata/repomd.xml (IP: <REDACTED>)
Error: Failed to download metadata for repo 'appstream': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

Script is working on CentOS 8 (non-stream version), but that is EOL.

OS to test
Docker Version
Custom Cluster
Node Driver
Notes

Ubuntu 22.04
24.0.0/24.0.1/24.0.2
PASS
PASS

Ubuntu 20.04
24.0.0/24.0.1/24.0.2
PASS
PASS

Ubuntu 18.04
24.0.0/24.0.1/24.0.2
PASS
PASS

Oracle Linux
24.0.0/24.0.1/24.0.2
PASS
Fail
Fails due to this issue - https://github.com/rancher/rancher/issues/38214

Oracle Linux
24.0.0/24.0.1/24.0.2
PASS
Fail
Fails due to this issue - https://github.com/rancher/rancher/issues/38214

Oracle Linux 7
24.0.0/24.0.1/24.0.2
PASS
Fail
Fails due to this issue - https://github.com/rancher/rancher/issues/38214

CentOS 7.9
24.0.0/24.0.1/24.0.2
PASS
PASS

RHEL
24.0.0/24.0.1/24.0.2
PASS
PASS

RHEL
24.0.0/24.0.1/24.0.2
PASS
PASS

Rocky
24.0.0/24.0.1/24.0.2
PASS
PASS

Rocky
24.0.0/24.0.1/24.0.2
PASS
PASS

SLES:12SP5
24.0.0/24.0.1/24.0.2

Comes with docker pre-installed

SLES:15SP4
24.0.0/24.0.1/24.0.2

Comes with docker pre-installed

SLES:15SP5
24.0.0/24.0.1/24.0.2

Comes with docker pre-installed

OpenSUSE:15.4
24.0.0/24.0.1/24.0.2

Comes with docker pre-installed

OpenSUSE:15.5
24.0.0/24.0.1/24.0.2

Comes with docker pre-installed

Docker install scripts are working as expected hence moving it to release-task, @kinarashah can you please let us know if there's anything else needs to be done before we mark the ticket as done.

The new docker versions have been released, you can mark the issue as done if there are no additional checks required after the release step.
Following were released:
https://releases.rancher.com/install-docker/24.0.0.sh
https://releases.rancher.com/install-docker/24.0.1.sh
https://releases.rancher.com/install-docker/24.0.2.sh
And https://releases.rancher.com/install-docker/24.0.sh points to latest 24.0.2.


Issue 200: Modify plot methods

This PR closes #200. This makes a few minor changes:

modifies plot of forecasted counts to not expect an evaluation dataset
adds an example in the vignette to plot without the evaluation data
replaces scales = "free" with scales = "free_y" so that the x-axis shared for the dates in the wastewater concentration plot.

@gvegayon If you think there's a better way to handle the x axis dates (or that we should exclude them) lmk. I think best to have them as a default?

I'm unsure about your question, @kaitejohnson, as I am no expert in ggplot2. All I can think is that I would (a) keep the detailing of the figures to a minimum or (b) ensure additional modifications are optional (e.g., add_fancy_scales = TRUE).

Well it will default to plotting the dates so they all overlap and are unreadable, which is why I added the 45 degree angle dates... I think we should leave for now bc my understanding of ggplot is that the later thing takes precedent so the user can always override

Need to add this to the change log (note to self)


Signer module completed:

-Generate partial Sig/Verification
-Generate Quorum Sig/Verification

@vsawant10949 please rebase this branch on top of main so it's up to date before merging


Can't resolve references in FHIRPatch

Describe the bug
Can't resolve references in Bundle Transaction.
To Reproduce

Create a Batch Transaction which creates a Patient, and also modifies a Device to set the Device.patient field to this created Patient.

Expected behavior
I was told that binary PATCH doesn't resolve references, and must use Parameters + FHIRPatch instead.
I expected that the Device.patient resolves the reference to the created resource
{
    "resourceType": "Bundle",
    "type": "transaction",
    "entry": [
        {
            "resource": {
                "resourceType": "Binary",
                "contentType": "application/json-patch+json",
                // why this, because I couldn't get `ifMatch` in the device update below to work (1), see below
                "data":  "base64( [{ "op": "test", "path": "/meta/versionId", "value": "versionId"}] )"
            },
            "request": {
                "method": "PATCH",
                "url": "Device/1835297"
            }
        },
        {
            "fullUrl": "urn:uuid:abe0b81e-2aca-44c7-8469-1dc1f7301fe9",
            "resource": {
                "resourceType": "Patient",
                // some data
            },
            "request": {
                "method": "POST"
            }
        },
        {
            "resource": {
                "resourceType": "Parameters",
                "parameter": [
                    {
                        "name": "operation",
                        "part": [
                            {
                                "name": "type",
                                "valueString": "add"
                            },
                            {
                                "name": "path",
                                "valueString": "Device"
                            },
                            {
                                "name": "name",
                                "valueString": "patient"
                            },
                            {
                                "name": "value",
                                "valueReference": {
                                    // This must resolve to "Patient/someid"
                                    "reference": "urn:uuid:abe0b81e-2aca-44c7-8469-1dc1f7301fe9",
                                    "type": "Patient"
                                }
                            }
                        ]
                    }
                ]
            },
            "request": {
                "method": "PATCH",
                "url": "Device/id"
            }
        }
    ]
}

But instead, I get this on the device
{
    "resourceType": "Device",
    // ... other data
    "patient": {
        // should be "Patient/id"
        "reference": "urn:uuid:abe0b81e-2aca-44c7-8469-1dc1f7301fe9",
        "type": "Patient"
    }
}

Part of the request with ifMatch (Not really the issue, demonstrates the reason why I'm using (1) in the above problematic request)
{
    "resourceType": "Bundle",
    "type": "transaction",
    "entry": [
        // other entries
        {
            "resource": {
                "resourceType": "Parameters",
                "parameter": [
                    {
                        "name": "operation",
                        "part": [
                            {
                                "name": "type",
                                "valueString": "add"
                            },
                            {
                                "name": "path",
                                "valueString": "Device"
                            },
                            {
                                "name": "name",
                                "valueString": "patient"
                            },
                            {
                                "name": "value",
                                "valueReference": {
                                    "reference": "Patient/id",
                                    "type": "Patient"
                                }
                            }
                        ]
                    }
                ]
            },
            "request": {
                "method": "PATCH",
                "url": "Device/1835297",
                "ifMatch": "id"
            }
        }
    ]
}

This throws the error, Invalid match URL[21] - URL has no search parameters

Screenshots
I will add if requested.
Environment (please complete the following information):

HAPI FHIR Version: Public HAPI server at hapi.fhir.org

Additional context
Discussion here on FHIR chat.
Thanks everyone

Without this, I'm needing to make 2 requests to create a patient resource and then assign a device to that patient. Would be great to have this work in on go!


Potential for federated wiki on sandstorm.io?

One of the deterrents for federated wiki is that it isn't a one-button install.
Have you seen https://sandstorm.io/ ?  Given my experience with the Openshift Quickstart, this path might be even easier for a newbie to get up.
I came to this because I was looking for a collaborative SVG editor, and saw that draw.io is included.  There's even an implementation for Apache Wave (nee Google Wave)!
Maybe this is a platform worth contributing to.  (While you're at it, maybe the farm version of federated wiki could be the default installation!)
P.S.  The other platform that is widespread is cPanel.  When I get some more time, I really should try installing the Ruby version of federated wiki on my usual domain.  When I tried last year, the Ruby was downlevel, which made the Quickstart a faster alternative.

sandstorm.io was mentioned in yesterday's hangout

The ruby version hasn't been maintained and should be avoided. (I still run the ruby version on fed.wiki.org but patch in revised javascript by hand.)

@paul90 On yesterday's hangout, was there an assessment or evaluation of federated wiki with sandstorm.io?  Favourable or unfavourable?  (Sorry, I couldn't be in two places at one time).
@WardCunningham Thanks for the reminder to avoid the Ruby version.  It changes the options for implementation.

Favourable, though I'm not sure how much depth it has been looked at yet, or if anybody has it up and running yet - from a cursory glance it looks interesting.

Yes. I looked at this in some detail yesterday - though not to the extent of downloading and running code. I'm pretty keen on this direction at first site. It certainly fits my coding style and my security preferences and offers a great scope with regard to giving students their own work and coding sandboxes. I contacted them yesterday about getting involved at Chaos communications Camp - they seem interested. @paul90 you want to come camping ?

@opn I don't think so, I only ever wilderness camped...

Wow, I was just browsing Fedwiki install instructions and Sandstorm and thinking the same thing and came here to create an issue.
Lo and behold...
This sort of one-button install is exactly what FedWiki needs. Maybe a bounty is in order...

https://www.bountysource.com/issues/23026315-potential-for-federated-wiki-on-sandstorm-io

I'd happy to have a look at this task, as we already have Docker containers
for Federated Wiki. We just need to design them in their preferred way.
Do we already know about documentation about how to integrate applications
into Sandstorm, especially regarding its autoupdate feature?
On 22 September 2015 at 16:22, Tim Cook<EMAIL_ADDRESS>wrote:

https://www.bountysource.com/issues/23026315-potential-for-federated-wiki-on-sandstorm-io
—
Reply to this email directly or view it on GitHub
https://github.com/WardCunningham/Smallest-Federated-Wiki/issues/447#issuecomment-142303601
.

Awesome. I know a lot of people interested in FedWiki, but don't have the time or expertise to get it stood up.

@almereyda thanks for the ping.
I don't integrate images on IndieHosters until a user asks me to. #lean :)

We'll first have to go through https://docs.sandstorm.io/en/latest/vagrant-spk/packaging-tutorial/ step by step.

From memory, you will at the very least need to create a custom version of the wiki-node package - sandstorm appears to put the package at root which causes path.join to fail with not a string error.
Also you will need to move the data directory into /var - as that appears to be the only place that is mounted r/w.
Not too sure if farm mode, with dynamic creation of wiki's, will work. While it is documented how to point a single domain at a grain, I very much doubt that it will work with a wildcard.
As far as I can see sites running on Sandstorm are only accessable over HTTPS - so you will need to proxy Sandstorm to make it available without HTTPS.


[PUI] Recent auth updates have broken API in debug mode

Ref: https://github.com/inventree/InvenTree/pull/6287
Ref: https://github.com/inventree/InvenTree/pull/6284

After applying these changes, PUI API access no longer works (at least with the development server in debug mode):
UI Screenshot

JS Console

@matmair can you review, based on the changed you made in the referenced PRs?

Seems like your CORS headers are set up wrong on your setup, I can not reproduce. Do you have explicit CORS settings in config.yaml?

No, this is on two separate dev setups with stock config. It works OK in a private browsing session - seems that it is being "polluted" by a logged in CUI session


Errors returned on items which are not accessible

Is your feature request related to a problem? Please describe.
As part of the UserService when making requests to get following or get followers if you're application does not have access to the following tweet fields errors are returned in the json response from the Twitter API.

Closing after PR is merged. Thanks 👍


Added CUSEC 2025

@lanisys-solutions Any news on this PR? I'd love to have CUSEC 2025 on the site.

The merge is now being approved. Apologies for the delay.


File size and last modified date in UserProfile

When getting the file list (prior called FileTaste), the user only receives the following meta data of a file:

file name
MD5 hash of the content
list of user permissions

The file size and the last modification date of a file would be even more interesting for him to decide whether he should download the file or not.

I investigated this issue a few days ago as well. Currently, the timestamp is the time when a file was uploaded (System.currentTimeMillis) and not the timestamp of the physical file. I think it is important to know that and distinguish between those.
Maybe it would be interesting to have both timestamps (i.e. when was it uploaded and what was the file attribute itself at that time).


Docs: Adding html to html head adds at the top of the head

The docs say that when you add an html link to the document head it appears at the bottom of the head.
https://rocket.modern-web.dev/guides/presets/using-templates/#adding-html-to-the-html-head
But when I did it it appeared at the top of the head, hence the CSS was overridden. I had to manually adjust the order.

See also #180


Move the label above stepIndicator instead of below

Hi there,
I would like to ask Is there anyway to move the label above  stepIndicator instead of below it?

@infothien Currently this is not supported.
This should be an easy functionality to add.
Based on a new prop we can call renderStepLabels before or after the renderStepIndicator call here: https://github.com/24ark/react-native-step-indicator/blob/1df202c5f819b58445c2b1b99a0e08dc8398f4e0/src/index.tsx#L433

that is true thank you for your feedback, could actually achieve it @24ark

that is true thank you for your feedback @24ark, by the way I could actually achieve it by using some css stuff though

Yes we can try column-reverse here:
https://github.com/24ark/react-native-step-indicator/blob/1df202c5f819b58445c2b1b99a0e08dc8398f4e0/src/index.tsx#L424

that is nice and easier way to achieve it thank you I got pr here for it https://github.com/24ark/react-native-step-indicator/pull/104 based on your suggestion @24ark

it is ready ! I also added the image to demonstrate the changes, would appreciate that you can give it a check too


stats.akash.network fails to render a wallet's deployments

When trying to view the deployments for a given wallet address, the https://stats.akash.network page fails to properly render the list items.
Below i've linked to a quick screen grab by showing what's going on. it's worth pointing out that the fetch is actually succeeding, and it's within the the rendering process that this issue comes to life.

And here is the actual error being printed to the console:
ZodError: [
  {
    "code": "invalid_type",
    "expected": "string",
    "received": "undefined",
    "path": [
      0,
      "hash"
    ],
    "message": "Required"
  },
  {
    "code": "invalid_type",
    "expected": "array",
    "received": "undefined",
    "path": [
      0,
      "messages"
    ],
    "message": "Required"
  },
  {
    "code": "invalid_type",
    "expected": "number",
    "received": "undefined",
    "path": [
      0,
      "height"
    ],
    "message": "Required"
  },
  {
    "code": "invalid_type",
    "expected": "string",
    "received": "undefined",
    "path": [
      0,
      "datetime"
    ],
    "message": "Required"
  },
  {
    "code": "invalid_type",
    "expected": "boolean",
    "received": "undefined",
    "path": [
      0,
      "isSuccess"
    ],
    "message": "Required"
  },
  {
    "code": "invalid_type",
    "expected": "string",
    "received": "undefined",
    "path": [
      0,
      "error"
    ],
    "message": "Required"
  },
  {
    "code": …
    NextJS 11
        a
        get error
        parse
        m
        _
        fetchFn
        c
        l
        promise callback*93476/l/<
        promise callback*c
        l
69-1727f102e3946f37.js:1:3791
    error NextJS
    overrideMethod https://stats.akash.network/addresses/akash16sxmnrphfp0393mw6dw2tdugmyeftchxl0tyyl/deployments:13024
    NextJS 8

PR #117 should fix this issue

Thanks @tgrecojs

of course @baktun14 - thank you for the prompt fix 💪 💪


Add Notes to Snapsht

It is not clear how we can add notes to the snapshot.
It is possible to read them using Get-VMSnapshot, but changing the Notes property seems to be only possible via the Hyper-V Manager.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7fa47cc3-5dbe-fb26-6612-f92009da8972
Version Independent ID: a67aa655-77a7-a2c5-d0d6-c42065ac1a4e
Content: Checkpoint-VM (hyper-v)
Content Source: docset/windows/hyper-v/Checkpoint-VM.md
Product: w10
Technology: powershell-windows
GitHub Login: @andreabarr
Microsoft Alias: v-anbarr

@MiguelDomingues Hello Miguel,
Thank you for trying to make MicrosoftDocs a better place.
Very interesting issues. Actually, the Notes property is not part of the checkpoint but rather a property of the VM itself. A checkpoint should be an exact copy of the VM in a certain point in time so I find it reasonable that notes will be the same as when I took the snapshot and not be able to edit it.
Part of the checkpoint is a read-only copy of the VM configuration file, which should allow you to set a name of the snapshot which in term ends up to the name of the VM in this copy configuration file. Hyper-V manager seems to allow you to edit the notes as well as the name but not such way in PowerShell.
The only way that could possible change the notes is to edit the snapshot configuration which is not officially supported.
Let me know if you have any questions.


Pipeline test occasionally fails

tests/pipeline test sometimes fails. Could be due to unlucky coverage but seems to common with coverage 50X.

Fixed by 0908a1c58ffa0e92a7cc958f4efeccd12167842c


Use same request method when following 307 status

As per RFC:

307 Temporary Redirect
The 307 (Temporary Redirect) status code indicates that the target resource resides temporarily under a different URI and the user agent MUST NOT change the request method if it performs an automatic redirection to that URI.  Since the redirection can change over time, the client ought to continue using the original effective request URI for future requests.
The server SHOULD generate a Location header field in the response containing a URI reference for the different URI.  The user agent MAY use the Location field value for automatic redirection.  The server's response payload usually contains a short hypertext note with a hyperlink to the different URI(s).
Note: This status code is similar to 302 (Found), except that it does not allow changing the request method from POST to GET.  This specification defines no equivalent counterpart for 301 (Moved Permanently) ([RFC7238], however, defines the status code 308 (Permanent Redirect) for this purpose).

Right now GET is always being used.
function defaultMakeRequest(options, cb, res) {
  if (res) {
    // This is a redirect, so use only GET methods
    options.method = 'GET';
  }

  var req = options.nativeProtocol.request(options, cb);

  if (res) {
    // We leave the user to call `end` on the first request
    req.end();
  }

  return req;
}

@olalonde sorry to bug you about this, but it'd be awesome if you merge this and release a new version. I'm having a problem with axios because follow-redirects cannot be disabled (https://github.com/mzabriskie/axios/issues/211) and the redirection is being followed with wrong request method.

Thans for the PR. @jamestalmage is pretty much maintaining this module these days so I'd like to let him do the merge/release. If he doesn't show a sign of life by tomorrow, I'll do it (and feel free to bug me again if I forget :)).

ping @jamestalmage. Can you merge this, please?

Hi. I'm just back from two weeks abroad. It may take me to the weekend to handle this. Sorry for the delay.

@jamestalmage can you please merge and release a new version?


Sorry

I apologize, I accidentally requested a change and have no idea how to revese it

@rohan-ynwa You should revoke your current credentials ASAP (client id and client secret) on your Spotify developer app, since you published them in the open here. Except that it's not much of a big deal. Anything specific you were trying to do?


Received invalid response

I'm having big problems when reading info from my inverter (GW8K-DT).
It seams that I receive incomplete packages from the inverter. My guess is that it only sends data until the changed value is represented. Part of my Home assistant log is attached here: inverter_log.txt
I've also made my own software in .net (I am a .net developer) and discovered the same thing there. I've discussed it more here: https://github.com/mletenay/home-assistant-goodwe-inverter/issues/88#issuecomment-1077462184
I hope we can work this out together, I am a professional developer (.net) as of almost 15 years. I think I could be of good help fixing this issue (I've seen more people having issues with this).
This is not a network issue. Both inverter and client (both HA and a client computer) is on the same switch, same VLAN and all is cabled, I have even tried changing cables just to be sure.

I've got the same problem here but fixed it. Turns out the USB LAN stick is not answering to every UDP packet it receives. Not sure why but the flashed firmware of the E-port chip is really old and also significantly older than the firmware on the Wifi stick.
You can verify if you receive a response by sending the raw udp packet with this command. It should return immediately:
echo -n -e "\x7f\x03\x75\x94\x00\x49\xd5\xc2" | nc -u <IP_ADDRESS> 8899 | xxd -ps
The Goodwe implementation only sends one UDP packet and waits for a response with a 1 second timeout and tries again if it fails. Since its UDP we can just sent out multiple UDP packets simultaneously and return on the first received response. This enables me to get a reply under a second with 100% success rate.
Im using the code below to request the UDP packet and use the Goodwe Processor to parse the received data. Works like a charm.
import socket
import time
import threading
import datetime

from goodwe import GoodWeXSProcessor

class GoodweUDPReader():
    def __init__(self, timeout=5):
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.sock.settimeout(timeout)
        self.timeout = False

    def send_req(self, ip):
        while True:
            msg = bytes.fromhex("7f0375940049d5c2")
            self.sock.sendto(msg, (ip, 8899))
            time.sleep(0.1)

            if self.timeout:
                break

    def read_data(self, ip):
        t = threading.Thread(target=self.send_req, args=(ip,))
        t.start()

        try:
            data, addr = self.sock.recvfrom(1024)

            self.timeout = True
            t.join()  # wait till close
            return data

        except socket.error as ex:
            self.timeout = True
            t.join()  # wait till exit
            raise ex

if __name__ == "__main__":
    r = GoodweUDPReader()
    data = r.read_data("<IP_ADDRESS>")

    processor = GoodWeXSProcessor()
    out = processor.process_data(data)

    snrs = {"vpv1": out.volts_dc,
            "ipv1": out.current_dc,
            "ppv": out.power,
            "temperature": out.temperature,
            "e_day": out.generation_today}

    fields = ",".join("{}={}".format(k, v) for (k, v) in snrs.items())
    ts = float(datetime.datetime.now(tz=datetime.timezone.utc).timestamp()) * (10**9)
    print("goodwe {} {}".format(fields, int(ts)))

This prints the following line which i use to import the data in telegraf:
goodwe vpv1=153.7,ipv1=2.4,ppv=374,temperature=36.7,e_day=9.0<PHONE_NUMBER>128169984
Ideally this should be implemented into the goodwe code so we can set a flag somewere to sent more UDP packets if one is using the USB LAN stick...


Fix config cleanup on canceling restartmanager

- What I did
The directory that holds the config file and bind mount for containerd wasn't cleaned up when restartmanager was canceled(container was stopped when it was waiting in restarting state).
Could probably fix #22222 but couldn't reproduce myself.
I also removed the LIBCONTAINERD_NOCLEAN variable because it didn't really work for all cases. We should probably find some better method if we want to give users a way to log the oci configuration for debugging.
cc @mlaventure
Signed-off-by: Tonis Tiigi<EMAIL_ADDRESS>

LGTM, but IANAM.

LGTM

LGTM


Changed logo width to 400px to match height. Made height explicit.

Issue
This PR solves issue #203.
What is the change?
After investigating the logo in developer tools, the computed height is 400px. I matched the width to the computed height and then made the computed height explicit by including it in the logo-img class.
Is Development Tested?

[x] Yes
[ ] No

Before / After Change Screenshots
Before:

After:

@tacosontitan Great job 🎉 , please check the mobile view too and make changes accordingly Attach the screenshot for the same.

@tacosontitan Merging this PR as this is a hotfix and needed to be fixed on a urgent basis.


[HOLD for payment 2024-04-09] [$500] [Performance] Reduce the amount of expensive getOptions calls in Request Money flow

Problem
When using Request Money flow, the getOptions function is called multiple times, doing heavy operations and slowing down the app. Based on a provided trace, a single execution of this function takes ~2.5s, and it is called when the following actions are performed:

entering the Request Money participants list
typing in the search input (each keystroke)
pressing the option from the list
pressing “split” on the option item

Additionally, the server search to get reports is also called on each keystroke.
All of this is making the app unresponsive for a long time, making it difficult to reach the next step of the money request process. The total amount of getOptions execution time in a provided trace was 29.7s.
Solution
To address this problem, we should reduce the amount of getOptions calls to minimum. We can achieve this by:

using debounced state instead of calling the function on each keystroke - this way we call getOptions and server search only when user is not typing in the input anymore
properly memoizing the participants selector component - selecting the user from the list is updating the transaction, which triggers the heavy operation even if the participants list hasn’t changed

There is still need of calling the function when pressing “Split”, but there is a possibility we would be able to replace it with filtering once it’s implemented in the list (this is one of the efforts from the performance audit).
Considering the following scenario:

User requests money and goes to participants list
User types “workspace” in the search
User presses the selected option item

Before changes the getOptions was called 16 times, and after it is called 2 times.
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~019e025ca125dedd18
Upwork Job ID:<PHONE_NUMBER>133659648
Last Price Increase: 2024-03-28

Issue OwnerCurrent Issue Owner: @slafortune

Hey, I'm Tomasz from Callstack and I want to work on this issue

$500 to @akinwale

@mountiny @akinwale I believe that no regression test will be needed for this, can you confirm?

No regression tests required here

@akinwale please the offer sent here $500
@TMisiukiewicz is from an agency-contributor and not due payment

@slafortune Accepted. Thanks!


[vcpkg-tool] Auto update sha512

Needed for https://github.com/microsoft/vcpkg-tool/pull/166

@strega-nil-ms, could you please take a look again?

Is this still planned for inclusion? It saves tremendous amount of time when mass-updating ports, like I do for KF5 frameworks.

Closing this PR since it seems that no progress is being made. Please ping me to reopen if work is still being done.

Needs to wait for https://github.com/microsoft/vcpkg-tool/pull/166 merge first.


PERF-#2813: Distributed 'from_pandas()' for numerical data in Ray

What do these changes do?
So I've implemented the distributed from_pandas() approach suggested in this comment and ran some perf testing with it.
The first observation being made, is that the new approach seems to work better only with numerical data, as with python strings, putting the whole big dataframe into the storage takes too much time. I believe it's a topic for a further fine-grained tuning to determine how much of string columns in a dataframe is okay for the distributed implementation. As for now, I suggest proceeding with only numericals.
Then I ran this micro benchmark for each engine, in order to determine with what data sizes of numerical data it makes sense to use the distributed implementation.
the micro-benchmark
import pandas
import modin.pandas as pd
import numpy as np
import modin.config as cfg
from asv_bench.benchmarks.utils.common import execute
from timeit import default_timer as timer

# initialize the workers
pd.DataFrame([np.arange(cfg.NPartitions.get() * cfg.MinPartitionSize.get())]).to_numpy()

NROWS = 100
NCOLS = 32

import warnings
warnings.filterwarnings("ignore")

for i in range(20):
    pandas_df = pandas.DataFrame({f"col{i}": np.arange(NROWS) for i in range(NCOLS)})

    t1 = timer()
    modin_df = pd.DataFrame(pandas_df)
    execute(modin_df)
    print(timer() - t1)
    # print((NROWS, NCOLS), f"~ {round((NROWS * NCOLS * 8) / 1024 / 1024 / 1024, 4)}gb")
    NROWS *= 2

Perf results for Ray:
For Ray, it seems to make sense to use the distributed implementation, when there's more that 6mln elements (nrows * ncols) in a dataframe.
2 columns data

32 columns data

128 columns data

Perf results for Dask:
With Dask it starts failing with OOM (potential reason), so it's proposed we won't use this approach with it:
32 columns data

Perf results for Unidist on MPI:
With Unidist on MPI it works slower with the new approach and also fails on a medium-sized data, so we won't use the new approach with MPI:
32 columns data

So...
So, summing up the results, it seems that the new distributed implementation of .from_pandas() should be engaged only for numerical data, only for Ray, and only when there are more than 6mln elements in a dataframe.

[x] first commit message and PR title follow format outlined here

NOTE:  If you edit the PR title to match this format, you need to add another commit (even if it's empty) or amend your last commit for the CI job that checks the PR title to pick up the new PR title.

[x] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #2813
[x] tests added and are passing
[x] module layout described at docs/development/architecture.rst is up-to-date

@dchigarev How does memory consumption change in the new approach?
It can be assumed that zero copy serialization does not work for Dask. Is it possible to quickly check whether this is true and whether it can be fixed somehow?

How does memory consumption change in the new approach?

Well, the common sense says, that the memory consumption will double during .from_pandas() calls. With this distributed way, there's a point when there will be 2 source dataframes in the object storage: the original big chunk and all the small chunks (partitions). The big chunk will be garbage-collected once the last splitting kernel is done, but until this point, there'll be this excessive memory consumption.
I measured how much memory does my script consume via htop during .from_pandas() with both of the approaches. I was converting a dataframe with the shape of nrows=26_000_000, ncols=32 which is ~6.2gb.

sequential approach (current master)
distributed approach (this PR)
diff

23.4gb
29.7gb
6.3gb

As you can see, the difference is exactly the size of the dataframe. This means, that we now potentially may face with OOM issue in places of where we convert some really huge dataframes from pandas. We might want to make some threshold for big frames since which we switch back to the sequential implementation, but to be honest, I don't know how we can determine that.

It can be assumed that zero copy serialization does not work for Dask.

If I understood this article correctly, then Dask doesn't really have a centralized shared storage for all its workers, each worker holds its data independently and transmit it to another worker if necessary (supposedly, with a copy). So, when we dask.scatter() the big chunk it's being sent only to one worker, and then when we submit a bunch of the 'splitting' kernels, this big chunk has to be sent to all other workers and so a lot of copies occur, since individual workers can't really share memory.

We might want to make some threshold for big frames since which we switch back to the sequential implementation, but to be honest, I don't know how we can determine that.

@dchigarev what if use df.memory_usage and compare it with the amount of free (or all) RAM?

@dchigarev test_internals failed

How does memory consumption change in the new approach?

Well, the common sense says, that the memory consumption will double during .from_pandas() calls. With this distributed way, there's a point when there will be 2 source dataframes in the object storage: the original big chunk and all the small chunks (partitions). The big chunk will be garbage-collected once the last splitting kernel is done, but until this point, there'll be this excessive memory consumption.
I measured how much memory does my script consume via htop during .from_pandas() with both of the approaches. I was converting a dataframe with the shape of nrows=26_000_000, ncols=32 which is ~6.2gb.
sequential approach (current master)	distributed approach (this PR)	diff
23.4gb	29.7gb	6.3gb
As you can see, the difference is exactly the size of the dataframe. This means, that we now potentially may face with OOM issue in places of where we convert some really huge dataframes from pandas. We might want to make some threshold for big frames since which we switch back to the sequential implementation, but to be honest, I don't know how we can determine that.

This is the point for discussion. Multiple users may get affected. I would also like to hear thoughts from ponder team. @mvashishtha, @RehanSD, @devin-petersohn

@dchigarev test_internals failed

Well, I did investigate the problem, and it appeared that you were generally right about the fact, that unfinished computations may make the if has_enough_memory() condition invalid, however, that's not the main reason why test_internals fail.
The test fails with OOM and the reason is that in each test case there's quite a big dataframe being created (there are 25 test cases). The problem is that the frames are not being garbage collected after the test case is finished since the splitting is delayed and so it's not yet completed. And since CI workers don't have a lot of memory, holding in memory 50-80 dataframes can cause OOM.
The problem can be easily reproduced like this:
import modin.pandas as pd
import pandas
import numpy as np
from asv_bench.benchmarks.utils import execute

import modin.config as cfg
# to make the problem more visible, let's set the number of partitions to
# be much more that the number of cores, this is just to artificially slow down
# the splitting part
cfg.CpuCount.put(4)
cfg.NPartitions.put(32)

NRUNS = 20
data = [pandas.DataFrame(np.random.randint(0, 100, size=(10_000, 10_000))) for _ in range(NRUNS)]

# approach 1; each iteration allocates memory for 2 copies of the 'data'
# and will only garbage-collect it when the delayed splitting is completed,
# when a new iteration starts, the splitting initiated by the previous iteration
# may not yet be completed, however, we're already starting another one,
# which leads to that there could be much more than only two copies of the data
# at the same time
for i in range(NRUNS):
    df = pd.DataFrame(data[i])

# approach 2; we wait for the delayed splitting to be completed, this ensures
# that the frame will be garbage-collected after each operation right away
for i in range(NRUNS):
    df = pd.DataFrame(data[i])
    execute(df)

Then running each of the approaches and measuring ray memory would produce the following plot:

At the first glance, increasing the memory threshold that dispatches back to the old implementation should help, however, it's not the case. The problem is that we need to know the free memory that's left in the Ray's object storage, not the memory in the whole system.
When experimenting with the threshold, I found out that psutil.virtual_memory().available/.free can't provide any meaningful correlation with what ray memory shows.
The only way I found of how we can get the ray memory values from a running process is to call a Ray's private function called memory_summary() and it looks like it's exactly what we want. The problem is, that the function works very slow and generating a memory report can take up to a couple of seconds sometimes. So I'm currently out of options of how we can do this.
My current suggestion is that maybe we should engage the distributed .from_pandas() only if some flag has been set, for example AsyncReadMode? @anmyachev what do you think?

The only way I found of how we can get the ray memory values from a running process is to call a Ray's private function called memory_summary() and it looks like it's exactly what we want. The problem is, that the function works very slow and generating a memory report can take up to a couple of seconds sometimes. So I'm currently out of options of how we can do this.

@dchigarev did you use stats_only=True?

The only way I found of how we can get the ray memory values from a running process is to call a Ray's private function called memory_summary() and it looks like it's exactly what we want. The problem is, that the function works very slow and generating a memory report can take up to a couple of seconds sometimes. So I'm currently out of options of how we can do this.

@dchigarev did you use stats_only=True?

Yes I did, and it's still very slow sometimes

@dchigarev can we write a special def __del__ for the dataframe that will force the ray calculation to be canceled when the dataframe reference disappears?

This might be quite tricky to detect whether another dataframe depends on the tasks we're willing to cancel, consider this example:
md_df = pd.DataFrame(data) # some execution pending

subset = md_df[["col1", "col2"]] # depends on the futures produced by 'pd.DataFrame(...)'
del md_df # here we're supposed to cancel the 'pd.DataFrame(...)' tasks, however the 'subset'
       # already depends on them, so canceling will lead to an error

We could potentially write our own futures (a wrapper around Ray's object ID) that will be stored in partitions and would have the fancy __del__ implementation. I'll see what it can cost us

@dchigarev can we write a special def __del__ for the dataframe that will force the ray calculation to be canceled when the dataframe reference disappears?

@anmyachev
Well, I did confirm that canceling tasks of a dataframe in it's __del__ method indeed fixes the memory consumtion problem:

However, determining whether we're allowed to cancel that exact task seems to be very tricky. Besides checking for other python references, so we wouldn't cancel a future that's stored in some another partition (problem 1 in the example), we also have to think about other futures that were produced from the original one and so doesn't have an explicit python reference on the first future, but still depends on it (problem 2):
# problem1 (seems like a solvable one):
df = pd.DataFrame(...)  # partition: (objectId: 0, call_queue: [])
subset = df[cols] # partition: (objectId: 0, call_queue: [lambda df: df[cols])
del df # here we're willing to cancel all the objectIds for 'df', however
       # we can't do that since the same objectId is also used in 'subset',
       # before canceling, we have to determine, whether this objectId is also
       # referenced somewhere else

# problem2 (I don't have an easy solution for this):
df = pd.DataFrame(...) # partition: (objectId: 0, call_queue: [])
res = df.sum() # partition: (objectId: 1 (but it depends on objectId: 0), call_queue: [])
del df # seems like we can cancel objectId0 since nothing explicitly points on
       # it anymore, however, objectId1 has objectId0 as an argument (though it's
       # not creating any python-refs on it explicitly), so canceling objectId0 will
       # also result into calceling objectId1

To deal with the first problem, we could have implemented our own ObjectId class that would track python references and cancel the task when it has no more references pointing to it. But the second problem seems much more complicated. Ray doesn't provide a way to know whether one future depends on another, which means that we potentially would need to build our own dependency manager on top of Ray in order to track that, and to be honest, I don't think that this cost justifies the profit we could get from it.
Anyway, getting back to the original problem, that was about not being able to get fast enough the free amount of memory left in Ray's plasma storage. How is this ray.cancel() thing is supposed to resolve that anyway? :)))

Summarizing this, in my opinion, we can for now hide the distributed implementation under the AsyncReadMode flag and figure out a way to enable it for everyone later

To deal with the first problem, we could have implemented https://github.com/modin-project/modin/pull/6640#issuecomment-1760005334 that would track python references and cancel the task when it has no more references pointing to it. But the second problem seems much more complicated. Ray doesn't provide a way to know whether one future depends on another, which means that we potentially would need to build our own dependency manager on top of Ray in order to track that, and to be honest, I don't think that the cost justifies the profit we could get from it.

This is a more complex but reliable solution. Wouldn't a more naive solution help, simply check the number of references (via sys.getrefcount) to Ray ObjectRefs, and if there is no more than one of them, then forcefully delete them, while leave the rest untouched and let Ray complete the calculations softly.

Anyway, getting back to the https://github.com/modin-project/modin/pull/6640#issuecomment-1759932664, that was about not being able to get fast enough the free amount of memory left in Ray's plasma storage. How is this ray.cancel() thing is supposed to resolve that anyway? :)))

That's another problem. It can potentially be circumvented by allocating a certain amount of time to receive data. If there is not enough time, then use the old implementation.

Summarizing this, in my opinion, we can for now hide the distributed implementation under the AsyncReadMode flag and figure out a way to enable it for everyone later

We can.


⚠ Spryr has degraded performance

In 362c4e0, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3885 ms

Resolved: Spryr performance has improved in f159ec0 after 7 minutes.


Fixing release bundles

Issue #, if available:
Description of changes:
Release bundles appear to have become outdated which is causing prow tests to fail
Testing (if applicable):
Unit tests pass locally
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm
/approve


HTML is escaped

http://localhost:3000/en/notes
http://localhost:3000/en/assignments/1/groups

Fixed with ce75ed572e4c

Woops, got ahead of myself there...
Some of it still isn't escaped:
http://localhost:3000/en/assignments/1/submissions/5/repo_browser
Reassigning to myself.

Noticed a few &nbsp texts in the summary tab when viewing a submission. I'll go through the locales and see where &nbsp is referenced, then raw all those references.


Fine-tuned model

Hello, congratulations on the success of your project. I am trying to reproduce the experiments, I want to use tood to fine-tune on visdrone dataset, so I use the codes from the following path:
https://github.com/fcakyon/sahi-benchmark/blob/main/mmdet_tools/train.py
https://github.com/fcakyon/sahi-benchmark/blob/main/mmdet_configs/visdrone_tood/tood_crop_480_960_cls_60.py
Due to limited server resources，we can only run batch_multiplier= 2 in the fine-tuning stage, and when we use this pth to inference on the test-dev dataset, There is a big gap between our AP results and those in the paper.
Can you provide the tood pre-trained model(pth) on the visdrone dataset?
Looking forward to your reply.
Thank you in advance.
@fcakyon

@lightyear12 I have just uploaded coco formatted result json files, classwise evaluation results and classwise error analysis plots for all of the visdrone experiments given in paper: https://github.com/fcakyon/sahi-benchmark/blob/main/README.md#visdrone-results
Is should be enough for you if your intention is to use the results in your paper. If you need anything else, feel free to write it here 👍

Thanks for your reply！👍
But we still have some questions……
We used TOOD network Finetune to complete 24 epochs on Visdrone, and our results are shown below，I want to know whether these indicators are similar to the results of your finetune？

Later, sahi library was used to complete the inference stage, but the indicators in table1 were not available. We want to know whether the inference stage in the paper is different from the predict function in sahi library (for example, there are some pre-processing for slice)？
@fcakyon

@lightyear12 inference step is similar to one in sahi library. If you specifically tell me which setting in the paper you are talking about, I can tell you which parameters you should use during inference. Also I can try to upload the weight file corresponding to the setting you are referring.

We want to reproduce the paper’s table1 TOOD results (Mean average precision values calculated on Visdrone19-Detection test-dev set.)
First, we need to obtain the TOOD model fine-tuned on Visdrone dataset, so we use the codes from the following path:
https://github.com/fcakyon/sahi-benchmark/blob/main/mmdet_tools/train.py
https://github.com/fcakyon/sahi-benchmark/blob/main/mmdet_configs/visdrone_tood/tood_crop_480_960_cls_60.py
we only change BATCH_MULTIPLIER in tood_crop_480_960_cls_60.py (from 8 to 2) in fine-tuning stage to obtain the weights file. Then we used sahi predict to load weights file to inference. The relevant parameters are:
slice_height = 256
slice_width = 256
overlap_height_ratio = 0.2
overlap_width_ratio = 0.2

Could you tell us which parameters we should use during inference?
Could you upload the TOOD weights file fine-tuned on Visdrone dataset?
@fcakyon

@lightyear12 here is the important inference parameters:
model_confidence_threshold=0.01
no_standard_prediction=False
no_sliced_prediction=False
slice_height=640
slice_width=640
overlap_height_ratio=0.25
overlap_width_ratio=0.25
postprocess_type="NMS"
postprocess_match_metric="IOU"

Will upload the weights as soon as I can (atm busy with deadlines) 👍

Thanks for your reply, we will do our best to keep trying!


[IMPROVEMENT] Update dependency + auto detect ServiceProvider

In raising this pull request, I confirm the following (please check boxes):

[x] I have read and understood the contributors guide.
[x] I have checked that another pull request for this purpose does not exist.
[x] I have considered, and confirmed that this submission will be valuable to others.
[ ] I have added tests to prove that the code in this PR works.

Description
Couldn't install this because of your internal dependency of padosoft/support and Carbon. Updated that and AutoDiscover for the ServiceProvider.

Hi,
thanks for the pr.
Unfortunately travis says that some check ware not successful
the error is in composer.json:
you write extra": {
with one " please correct in
"extra": {
to make valid json.
See:
https://travis-ci.org/padosoft/laravel-google-structured-data-testing-tool/jobs/580107127
[Seld\JsonLint\ParsingException]
"./composer.json" does not contain valid JSON
Parse error on line 50:
...phpunit"    },    extra": {        "l
--------------------^
Expected: 'STRING' - It appears you have an extra trailing comma
Can you fix this?
If you fix I accept the pull request.
thanks.
Lorenzo.

Sry, it's 2am here 😅 Fixed.
Thanks for the quick reply

@lopadova bump :)


inc is call before actual work in examples

Hi,
In some examples, inc is call before "work", for example in the single.rs example, we call inc, then sleep the next line:
https://github.com/console-rs/indicatif/blob/fb8d0e0c912104d30554d3a1ce09990f3bd430a8/examples/single.rs#L9
Should it be called after the heavy lifting?

Probably. Want to submit a PR?

Sure! I just wanted to be sure that my assumption was correct

Closing since PR was merged


Add AWS region to the AWS Config Cache key

The PR adds the AWS region to the key used by the AWS config cache
Checklist

[x] When introducing a new scaler, I agree with the scaling governance policy
[x] I have verified that my change is according to the deprecations & breaking changes policy
[x] Tests have been added
[x] Changelog has been updated and is aligned with our changelog requirements
[x] A PR is opened to update our Helm chart (repo) (if applicable, ie. when deployment manifests are modified)
[x] A PR is opened to update the documentation on (repo) (if applicable)
[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)

Fixes #6128

@zroubalik I fixed the build

/run-e2e aws

/run-e2e aws

@zroubalik Is something wrong with the e2e tests? I see they failed twice now :(

@zroubalik Is something wrong with the e2e tests? I see they failed twice now :(

yeah, issue on our side, will rerun once it is fixed

@zroubalik any updates on the e2e testing?

/run-e2e aws

@JorTurFer I rebased the PR
Now the tests failed, but it looks like some random crash, can you please rerun the failing job and the e2e tests?

/run-e2e aws

Any insight into why it panic'd/failed on the amd64 validation?

@JorTurFer is the validate - amd64 stage failure an issue with the action or an issue with the code changes in this pr?

@JorTurFer is the validate - amd64 stage failure an issue with the action or an issue with the code changes in this pr?

I've triggered it again because probably it was a transient error

@zroubalik @wozniakjan PTAL

/run-e2e aws

i would suggest to add Region in aws authorization metadata, rather than passing it all around.
https://github.com/kedacore/keda/blob/5ea1eac06e536a04cdf22383faff9e91bd374f17/pkg/scalers/aws/aws_authorization.go#L18C1-L35
and init it here
https://github.com/kedacore/keda/blob/5ea1eac06e536a04cdf22383faff9e91bd374f17/pkg/scalers/aws/aws_common.go#L53C1-L59C1
wdyt @JorTurFer ?

i would suggest to add Region in aws authorization metadata, rather than passing it all around.
5ea1eac/pkg/scalers/aws/aws_authorization.go#L18C1-L35
wdyt @JorTurFer ?

That's a good idea tbh. Could you update the PR @maxbog ?

@JorTurFer @ThaSami
Thanks for the review.
At first glance, I also thought this might be a good idea. However, after digging into the code, I'm not that convinced anymore. Here are the reasons:

Although the AuthorizationMetadata struct has Authorization in the name, what it really represents is an AWS identity: a role + credentials coming from pod identity or the AccessKey/SecretAccessKey pair. Identities are global in AWS, so IMO, region does not belong in this struct. Region is actually only used when creating AWS clients, to specify, where the queried services are, not where the identity is located.
We would get rid of the awsRegion parameter in the getCacheKey function, but then, if we still want to add it to the AuthorizationMetadata, we need to add a awsRegion parameter to the GetAwsAuthorization function, which, in turn, means we have to pass it from the different types of scaler metadata (for example, here, here, or here, or 5 different places)
Having the awsRegion parameter in the getCacheKey actually makes sense when you look at the AuthorizationMetadata as an identity. The aws.Config struct represents a AWS service client configuration, so IMO it makes perfect sense to cache it for a specific identity and for a specific region. We lose expressiveness by hiding the region in the awsAuthorization parameter.

Please let me know, if, after taking the above into account, you still want to update the PR and add the region to the AuthorizationMetadata.

Although the AuthorizationMetadata struct has Authorization in the name, what it really represents is an AWS identity: a role + credentials coming from pod identity or the AccessKey/SecretAccessKey pair.

Exactly - that's what sparked this idea for me. Since credentials are part of identity, obtaining them in the AWS SDK requires specifying a region as STS endpoints are regional.
that's why i believe including AwsRegion within the AuthorizationMetadata struct makes architectural sense because:

keeps all authentication-related data in one cohesive unit
Ensures the region information is always available when making credential requests
maintains a clear relationship between authorization data and its associated AWS region

would like to hear from @JorTurFer

I like the proposal from @ThaSami

Me too :)

Ok then, I'll make the change

One more question:
Now that the region will be embedded in the AuthorizationMetadata, I think I should get rid of awsConfigMetadata, as it's now redundant. Do you agree?
https://github.com/kedacore/keda/blob/68b6ca8d70950cb337312b5efdb7056c861af9fb/pkg/scalers/aws/aws_common.go#L42-L45

Do you agree?

yeah, makes sense!

@JorTurFer @ThaSami please take another look

Unit test are failing, could you take a look?

Unit test are failing, could you take a look?

The failing tests are for prometheus scaler, and the error message is: "HTTP transport must be Google OAuth2"
TBH, I'm not sure how this is related to the changes in the PR.

Prometheus scaler uses multiple auth providers, maybe the region change of the latest commit has had a side effect here: https://github.com/kedacore/keda/blob/68b6ca8d70950cb337312b5efdb7056c861af9fb/pkg/scalers/prometheus_scaler.go#L96-L128

Most probably it's returning an error here:
https://github.com/kedacore/keda/blob/68b6ca8d70950cb337312b5efdb7056c861af9fb/pkg/scalers/prometheus_scaler.go#L119-L123
An error in that line will make fail the test although is GCP because it returns error and not the GCP transport

Unit tests are passing now

/run-e2e aws

Can we merge the PR? I'd rather not be stuck in the conflict -> merge -> e2e test -> conflict death spiral ;)

it seems e2e tests got stuck again? otherwise can you merge this pr @zroubalik, please?

@zroubalik @wozniakjan , PTAL

@JorTurFer @zroubalik Please take a look at this PR. It's waiting for approval for 3 weeks now. The change is ready, waiting to be merged.

@maxbog there are some conflicts, please fix them and then I think we can merge this.

@zroubalik done, no conflicts now

/run-e2e aws


GPU Middle Class?

Does torchtune have any plans to support "GPU middle class" users?
We're trying to evaluate using torchtune for post-training, especially since there are many useful features implemented (RLHF, LORA, etc). However, one big sticking point is that the system seems heavily geared towards single-node training. Are there plans to support multi-node training (e.g. 16-64 nodes) and things like model parallelism, 128k context training, etc?
If not, is torchtitan the recommended system to use?
Thanks!

Now, all that said, torchtune technically already supports multi-node for FSDP. And we plan on adding tensor parallel + model parallel very soon. The absolute latest we will have these features in torchtune is end of January, but I would bet on sooner!

Thanks @joecummings that's awesome to hear!

Would you need anything beyond these parallelism techniques, e.g. pipeline parallel? Are you running on MAST or something like SLURM.

Yes we use SLURM -- I'm currently trying to hack a multi-node run from your suggestions on #2018 and torchtitan, so having some examples in torchtune would be super useful imo. We'd also take all the parallelisms we can get 😃, e.g. model, pipeline, and attention parallelism for longer context.

I second SLURM! I have also been trying to hack this into torchtune since the single-node experience is quite good.

Thanks folks for the interest! Us torchtune devs are evidently not in the GPU middle class yet 😅 and I think only @joecummings has access to a multi-node setup as of today. I know he is working on testing this out, but until then @EugenHotaj we would love to include any SLURM scripts you're able to put together as part of our documentation.

@ebsmothers the torchtitan SLRUM file  worked pretty much out of the box for us since we have a similar cluster setup (p5s on aws). I was able to run Llama 3.3 70B full finetuning on 16 nodes with no issues 😄 .

@tginart right you have to replace that torchrun line with something like:
srun torchrun --nnodes 4 --nproc_per_node 8 --rdzv_id $SLURM_JOB_ID --rdzv_backend c10d --rdzv_endpoint "$head_node_ip:29500" recipes/full_finetune_distributed.py --config recipes/configs/llama3_3/70B_full.yaml


Add error handler class

To handle setup exceptions, a method was added to each error handler.
Said method is subsequently called when setup of the client fails.
This is to ensure that a failed setup is not only logged, but also
reported to e.g. sentry.
Furthermore, a base class indicating the interface for error handlers is added.
Closes #288

I can’t say that I didn’t look at adding a test, but I was a wee bit
stumped as to what it might look like. You got me ^^
I’ll take another look and try adding a test : )
On Wed, 6 Dec 2017 at 16:28, Michael Klishin<EMAIL_ADDRESS>wrote:

@michaelklishin requested changes on this pull request.
Please add a test case, as requested in the comments.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/gocardless/hutch/pull/302#pullrequestreview-81559350,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APMdBdy8YREX9HLVW7nKZJvMg-IL2Kcwks5s9rK4gaJpZM4Q2Z9z
.

@valentin-krasontovitsch thank you.

So I just pushed a commit that introduces a test case, making sure that if Hutch.connect throws an error, that error is passed to all backends.
I'm not super happy with the test, as it relies on the implementation of the tested method: start_work_loop is tested, and we assume that the method calls Hutch.connect, which in turn is used to raise an exception.
If you have any pointers or ideas about how this could be tested in a less brittle way, let me know.
Maybe the coupling to the implementation is OK in this case...


[SYN5-718]

@mgebala8 as far as I know @Idered told you to revert the previous merge and then create PR once again? This way we are starting to have a big mess.


Climbing sound

Would add to the immersion for sure. Something like this. 🔈

I've added some sound from that source, let me know if it works for you (both technically and in terms of ambience)

They felt right but a bit long so I cut three ones out from that same source which sounds a little bit better in my opinion. See PR #2.

Sure, sounds fine. :)

In multiplayer, I've noticed the creak sounds are heard from quite afar. Not sure how to lower the distance in the current code myself, I figured I let you know here instead.

The sound is called "rope_creak", the rope and rope_end nodes defined in ropeboxes.lua have it in their soundsets. Sounds are defined as a SimpleSoundSpec which can either be a string with the name of the ogg file or a table that includes the name and also a "gain" parameter to change the sound's volume. I've updated the rope_creak sound to have a gain of 0.5, so it should be half as loud now, is that good? The most recent diff, https://github.com/minetest-mods/ropes/commit/1dd9d2de75011f08cd9bab949a206dafca0d3776, should show where to fiddle with that value to adjust it further.

I got confused by the SimpleSoundSpec, hadn't seen it before. I think the loudness wasn't the problem but that you could hear the sound from great distance. Going to try max_hear_distance when I've the time.

I'll go with whatever parameters you think work well, I don't have a multiplayer server to test this out on easily. :)


Fix/remove db3js

This PR exceeds the recommended size of 1200 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.


Update for OpenTracing Java v0.31.0-RC1

Signed-off-by: Gary Brown<EMAIL_ADDRESS>This PR uses OT Java 0.31.0-RC1.

@pavolloffay @yurishkuro

Codecov Report

Merging #246 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##             master   #246      +/-   ##
==========================================
+ Coverage     81.97%    82%   +0.03%
+ Complexity      524    522       -2
==========================================
  Files            87     87
  Lines          2003   2001       -2
  Branches        237    237
==========================================
- Hits           1642   1641       -1
  Misses          262    262
+ Partials         99     98       -1

Impacted Files
Coverage Δ
Complexity Δ

...java/com/uber/jaeger/dropwizard/Configuration.java
50% <ø> (ø)
3 <0> (ø)
:arrow_down:

...ger-core/src/main/java/com/uber/jaeger/Tracer.java
86.84% <100%> (+0.43%)
18 <2> (ø)
:arrow_down:

...aeger-core/src/main/java/com/uber/jaeger/Span.java
81% <100%> (+0.6%)
36 <1> (-2)
:arrow_down:

...reporters/protocols/JaegerThriftSpanConverter.java
90.47% <0%> (-1.59%)
21% <0%> (ø)

Continue to review full report at Codecov.

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

@yurishkuro Would it be possible for someone with commit/release privileges to merge this in a separate branch and release it?

If we want to release #.#.#-RC# then release configuration will need changes.

@yurishkuro @black-adder @vprithvi Should be ready to merge into separate branch and release as tag v0.22.0-RC1

@jpkrohling could you please also have a look if the release process will work?
We want to release 0.22.0-RC1 by pushing a tag git tag v0.22.0-RC1 in v0.22.0 branch.

@pavolloffay Juca has already reviewed and said the only change required was the regex pattern.

I reserve the right to be wrong, though :)


Feat/add qna entry

Add the Q&A entry.
We can adjust if necessary. Just let me know.

Q&A or F.A.Q. ?

It's up to you 😌


opam file: Add missing dependency

Detected in https://github.com/ocaml/opam-repository/pull/18590

Thanks


Training Code

Do you plan to release your training code sometime in the future? It would be really helpful to advance the research on monocular depth estimation!

Same request

Same request

Same request

Same request


Cannot set Boost.MaxDepth and UseSurrogates

var b = Boost.Create();
b.MaxDepth = 1;
b.UseSurrogates = false;
both throws:  System.EntryPointNotFoundException' in OpenCvSharp.dll

Thanks! 👍


Add: New programs

Adding new programs.
Checkout each and every program and drop a message if you are not satisfied with comment or any other issue with these programs.
Only after everyone's approval the code will be merge into main branch

All the programs are eligible to merge into main branch so i am merging it to main.


Change paths from relative to absolute

This should address the problem of images not showing up properly as noted by @robertoostenveld in https://github.com/bids-standard/bids-website/pull/70#issuecomment-571065865

I had already solved this relation to #72, in which I also moved the images to 'assets/img/YYY-MM-DD


EveryUpdate performance

I want to know if having multiple
Observable.EveryUpdate()
on my start function is less performant than having a single one.
Also, It would we good if UniRx had a discord so we as a community can help each other.
thanks!

I did some basic stress testing to compare the performance, and the difference is noticeable.
Observable.EveryUpdate() should be used sparingly if CPU and memory performance is of important matter.
`    List ints = new List(1);
private void Start() {
ints.AddRange(Enumerable.Range(1, 10000));
ints.ForEach(x => {
Observable.EveryUpdate().Subscribe(_ => {
var a = x;
});
});
}
// Update is called once per frame
void Update() {
    ints.ForEach(x => {
        var a = x;
    });
}`

The following code was tested, first with the observables commented, then with the Update() commented.
https://i.imgur.com/FOde8jW.png
While the Update loop took only between 1.44ms - 2ms to complete, the UniRX bulk of EveryUpdates took 14-16ms, which shows a significant performance loss.
Although the test is pretty basic, I'd like someones input on my conclusions. Thanks!

This test case, I think it should be fair.
 ints.AddRange(Enumerable.Range(1, 10000));         Observable.EveryUpdate().Subscribe(_ =>             {                 ints.ForEach(x =>                 {                     var a = x;                 });             });
The main consumption of multiple Observable.EveryUpdate() performance is to instantiate multiple FromMicroCoroutineObservables.
Multiple MonoBehaviour.Update() is mainly consumed by the call of the Unity engine.
I didn't think there was any fair way to test the performance of the two methods, but since the Unity engine MonoBehaviour.Update() is called using reflection, I think the UniRx library should be called in a faster way. I am not sure.

I didn't think that a fair way to test the performance of these two methods, but because the Unity engine calls MonoBehaviour.Update() with reflection, I think the UniRx library Observable.EveryUpdate() is faster. I am not sure.
https://blog.unity.com/technology/1k-update-calls
How Update is called
No, Unity doesn't use System.Reflection to find a magic method every time it needs to call one.
Instead, the first time a MonoBehaviour of a given type is accessed the underlying script is inspected through scripting runtime (either Mono or IL2CPP) whether it has any magic methods defined and this information is cached. If a MonoBehaviour has a specific method it is added to a proper list, for example if a script has Update method defined it is added to a list of scripts which need to be updated every frame.
During the game Unity just iterates through these lists and executes methods from it — that simple. Also, this is why it doesn't matter if your Update method is public or private.


Node LTS v14 deprecated

Module: 00
Lab/Demo: 23 Create a Custom Skill for Azure AI Search
Task: Create an Azure Function for a custom skill
Step: 01
Description of issue
Node version 14 LTS was deprecated in April of this year.
Node 18 LTS tested and works.

Same experience here, Node.js version 16,18,20 were offered by Azure Functions resource


Fix examples in manual with a dark theme

I'm just curious. This screenshot is from your documentation. Are those colors selected by any purpose? Or is it that I'm red-green-blind? I can hardly tell what's written light-grey on light-green and I cannot even guess whats written light-grey on light-orange.
Please, make it barrier-free.

Note that a light coloured theme in the manual is the default, and the colours currently assume that. I should either disable the dark mode or find a way to make these colours work well in both.