(PUP-8470) Unable to modify groups or users when forcelocal is true

jenkins please test this

I still need to add tests to this

@melissa I figured as much but I wanted a build to play with on a linux box

CLA signed by all contributors.

@melissa Re-target at master since there are no planned 5.4.x releases?

I've retargeted this to the master branch


Added symmetric tree recursion solution.

Coverage remained the same at 100.0% when pulling 4dfa55820f009bce3741f6fccf09aa29e3c549fe on symmetric-tree into 4bcbd9b83751d61792b7913869f2e32874e121c7 on master.


fix(sentry): Update and use local client to not pollute global scope

Sentry node isn't recommended for a Shared environment because it hooks into global scope and overrides APIs.
This was causing external errors to be captured and sent unadvertedly.
Sentry has a guide on how to configure it in a shared environment:
https://docs.sentry.io/platforms/javascript/best-practices/shared-environments/

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


WIP: Speedup StateVector printing

This was something I was playing around with. I'm not playing with it any more because it turns out that StateVector is deprecated, or that we don't really care so much about the analysis output (e.g. because SCONE doesn't use it anyway).
Turns out, printing a StateVector can eat up a fair amount of time (e.g. 7-9 %). We probably shouldn't use StateVector, but my first instinct was to look into how printing is currently done.
The existing printing approach involves getting a printf format string from IO and then using that in printf calls. My first gut instinct is to change the api to be something like:
// might create a useless allocation
std::string format(double d);

// better: appends to some existing string (that can be recycled)
void format(double d, std::string& append_target);

// maybe best: appends to some output `ostreambuf`
void write(double d, std::ostream& o);

But the current implementation also allows callers to SetScientificMode etc. etc. Some of these function calls are unused in opensim-core, and I can't find any usages in opensim-gui, but god knows if they're used in the wild. My first instinct is to just rip out as much as possible from the API, which leaves setting the padding and setting the precision.

This current implementation does waay more allocations than necessary (because it creates a new string element in the return value, allocates a string per call, etc.), but it's just a thrown-together implementation to get things compiling.
A "better" implementation would recycle a dynamic buffer between each print call and have the output format into that buffer. It'd be silly to put this buffer onto each StateVector (because there's millions of these allocated). Something as simple as a thread_local string that is reset at the start of each call, or an extremely over-allocated (e.g. thousands of bytes) stack buffer should be enough to avoid the heap alloc on each call.
However, this is bike-shedding at its worst, because the allocations are dwarfed by the formatting overhead (e.g. in printf and sprintf).

Closing because it'd be better  to open a new PR with fresh eyes if this is re-approached as a thing we want to refactor.


Automated cherry pick of #4119: fix: 1. image-quota-list 404 not found 2. usage nil pointer panic

Cherry pick of #4119 on release/2.13.
#4119: fix: 1. image-quota-list 404 not found 2. usage nil pointer panic

/lgtm
/approve

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.13@319f531). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.13   #4120   +/-   ##
==============================================
  Coverage                ?   6.89%
==============================================
  Files                   ?     519
  Lines                   ?   87727
  Branches                ?       0
==============================================
  Hits                    ?    6049
  Misses                  ?   81179
  Partials                ?     499

Flag
Coverage Δ

#aFlag
6.89% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/filters.go
0% <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 319f531...8dde22f. Read the comment docs.


Use resource prefix for library resources

This fixes #794.

@TheCraftKid might I also suggest you try branching? 😂 Nah, I'm just kidding with you but you should always try starting a PR by checking out a fresh version of upstream/dev, or in this case the 2.1 dev branch. Otherwise you end up with a whole bunch of conflicts and unrelated change like that DB stuff. Best of luck resolving those conflicts! 😀

@TheCraftKid we're getting close to 2.1.0 and I am happy to include this in the release if you have time to finish it in the next day or two.  What do you think?  If you have any questions or need some help just let me know.

Yep, sorry about the delay; a Windows update messed up my desktop environment.
On a side note, I learned how to use branches and remove the irrelevant code to this PR. Is there a way for me to add my commits to this PR, or will I have to make a new one?

@TheCraftKid just commit again and push to the same branch, the PR will update like magic.

Wow, that took way too long. That updated like magic, all right. I'm really sorry if there are some screwy commits or anything else in this PR.
Final note: just to get the linter to stop complaining, I added tools:ignore="ResourceName" to the root of the strings.xml file. Just making sure this is okay.

@TheCraftKid glad you pulled through!!! 😀
I hate to be the bearer of bad news again, but the issue you're trying to resolve—#794—is about the string res names, not the layouts. We definitely should keep the layout name changes (thanks!), but the styles.xml file should have a root res name prefix ignore tag instead of the string res which should each have the prefix. More work for you, sorry! 😊

Okay, that should solve the issues @SUPERCILEX brought up.

@TheCraftKid we still have a ton of merge issues though, you need to merge the firebase version-2.1.0-dev branch into your branch and then resolve all conflicts.

@TheCraftKid most of these conflicts are my fault I will send a PR to your branch that will fix it.

Opened https://github.com/TheCraftKid/FirebaseUI-Android/pull/1 which will fix it.
Here's an issue though: because this adds the fui_ prefix to all of the strings it messes up all of the translations.  Obviously I could just add the fui_ prefix to all of our translated strings as well but the problem is in the translation portal we use the string name is used as a unique ID so I'm actually not sure how it would react to this refactoring.
Since the major goal of 2.1.0 was to get translations out I am concerned about how this PR affects it.  I'd like to punt this to 2.1.1 so I can think about the implications of adding this prefix.
@TheCraftKid @SUPERCILEX what do you think?

I'd be willing to keep v2.1.0 translation-based and move the resource name changes to v2.1.1 if that means we can push the essential v2.1.0 changes.

@TheCraftKid thanks for your flexibility, I think that's the safest move.  I definitely want to get your resource prefix change in ASAP after 2.1.0 though, it's the right thing to do for developers.

Woot no more conflicts!  The build is failing now but that's working as intended since we have not answered the translation question yet.

@TheCraftKid I opened https://github.com/TheCraftKid/FirebaseUI-Android/pull/2 to fix the final issues.

@TheCraftKid nice!  This one is all set to merge, thanks for the hard work.


save guidance images for debugging

for now, this is only implemented during SD-based SDS, i.e. not Zero123

Here's an example for the hamburger:

Thanks!


feat: Update the GH repo

Description:
The PR adjusts the GH action.
Tasks:

Update the GH action

Recommendation:

Clean up the repository and remove the venv folder, as it is not recommended to check in its virtual environment and it's not so easy to contribute to the project.

Regarding the venv folder, I would rather prefer to keep it in the repository for a while.
As you can see, this is the first PR that I'm facing to, so it'll take some time to accept it (I'm trying to accept the first commit only).

Regarding the venv folder, I would rather prefer to keep it in the repository for a while. As you can see, this is the first PR that I'm facing to, so it'll take some time to accept it (I'm trying to accept the first commit only).

You should remove the venv as soon as possible, as no one can simply contribute to the repository. You are using a hard pinned version and for example, on Linux, I must remove the folder completely to set up an environment! All steps should be linked e.g. in the requierments.txt file and if you need the environment without an internet connection you should think of using the vendor folder.

I would prefer to keep the venv for now, but not sure how to merge only the first commit without breaking everything. Could you change the PR to just modifying the actions file, please?

I have reverted the commit. As described here, you should clean up the repository and remove the venv folder.


feat: add foundry framework (hybrid project)

the objective and what it allows is:

add foundry without removing hardhat, this to give flexibility and more focus to the tests.
it gives more facility for the tests since they are in solidity and not JS or TS.
allows to create deeper tests
it gives you the facility to continue using hardhat, you can test in both frameworks and then decide whether to migrate to another ;)

We debated this a lot and honestly I rather it would be in Foundry, but since the purpose of Swaplace is not to dive too deep but rather find a solid state that everyone can read. People still kinda freak out with Rust 😄
Foundry is the next-level tool while Hardhat is more widely known, it's kinda easy for newcomers.
We are wrapping up the Chain Link Hackathon and will deliver the Swaplace+CCIP using Foundry.

I agree with your criteria, that's why I mentioned using a hybrid model, since there is a library that provides the facility and there are no problems. Maybe some will contribute in foundry and others in hardhat

We are using Echidna for the Fuzz and I think it covers the Foundry for this simple case. I'm closing this for now. It will resurrect in the future, I'm pretty sure.


Fixes #617: Tabs in update with federate query are not parsed correctly.

This PR addresses GitHub issue: #617 .
The fix addresses the issue by setting the tab size to 1 when parsing updates (copied the same code that is applied to parsing queries). I also edited the generated SyntaxTreeBuilder.java instead of rerunning jjtree/javacc on sparql.jjt (although I verified that works).
Also updated package names in sparql.jjt to org.eclipse.rdf4j as they seem to have been forgotten.
Signed-off-by: Pavel Mihaylov<EMAIL_ADDRESS>

Running hudson verify: https://hudson.eclipse.org/rdf4j/job/rdf4j-verify-pr/34/

Hudson verify succeeded.


As a developer, I would like this app to create .phpstorm.meta.php

Format (in progress) defined here:
https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Advanced+Metadata
It would be nice if this plugin supported creating a compatible .phpstorm.meta.php
Thanks.

@connerbw I find this, maybe helps?

JBZoo PimpleDumper
Simple way to auto create pimple.json and .phpstorm.meta.php
https://packagist.org/packages/jbzoo/pimpledumper


Resolving unnamed generate blocks Lint warnings

@amullick007 Can you run .github/scripts/stamp_repo.sh and push the updates once this branch has passed all your internal tests? (vcs, lint, rdc, etc). Ideally this would be part of an automated flow at some point.

@amullick007 Can you run .github/scripts/stamp_repo.sh and push the updates once this branch has passed all your internal tests? (vcs, lint, rdc, etc). Ideally this would be part of an automated flow at some point.

Done, please check


FirestoreRecyclerAdapter not working with LifecycleOwner

Android device: Moto G5s Plus
Android OS version: Android N 7.1.1
Google Play Services version: 3.1.0
Firebase/Play Services SDK version: 11.4.2
FirebaseUI version: 3.0.0

Trying to use FirestoreRecyclerAdapter but getting ClassCastException if trying to use it with Architecture Components. Seems like it was working with previous versions of SDK.
Below is the code in my Activity class:
val query = FirebaseFirestore.getInstance().collection("")
.document("")
.collection("")
.whereEqualTo("id", "")
val options = FirestoreRecyclerOptions.Builder().setQuery(query, Pojo::class.java)
.setLifecycleOwner(this)
.build()
recyclerView.adapter = MyAdapter(options, R.layout.some_xml)
But I am getting below exception:
java.lang.ClassCastException: com.firebase.ui.firestore.FirestoreRecyclerAdapter_LifecycleAdapter cannot be cast to android.arch.lifecycle.GeneratedAdapter                                                                                at android.arch.lifecycle.Lifecycling.a(Lifecycling.java:79)                                                                                at android.arch.lifecycle.Lifecycling.a(Lifecycling.java:62)                                                                                at android.arch.lifecycle.LifecycleRegistry$ObserverWithState.<init>(LifecycleRegistry.java:319)                                                                                at android.arch.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:145)                                                                                at com.firebase.ui.firestore.FirestoreRecyclerAdapter.<init>(FirestoreRecyclerAdapter.java:37)
This only happens when we do setLifecycleOwner(this) on FirestoreRecyclerOptions. Seems like in previous versions it was working fine.

Set your lifecycle dependency to beta1 annotationProcessor "android.arch.lifecycle:compiler:1.0.0-beta1" beta2 conflicts.

Does that mean, I have to use beta1 with Firestore?

Yes.

The library currently uses version 1.0.0-beta1 of Android Architecture Components and version 26.1.0 of the Android Support Libraries which implement the LifecycleOwner interfaces used in setLifecycleOwner(). Make sure you're using version 26.1.0 of the support libraries.

Hmmm, we'll need to recompile the db modules—I thought Google was supposed to stop breaking stuff at beta. 😆 Anyway, if you're up to setting up JitPack, you can add a custom version of FirebaseUI that I built until we release an official version with beta2 bundled:
implementation 'com.github.SUPERCILEX.FirebaseUI-Android:firebase-ui-firestore:9cc77708bd'

Thanks all for helping to debug this.  I am going to close this issue since it can be fixed with different dependencies, thanks!

I copied FirestoreRecyclerAdapter out to my project and let it implement DefaultLifecycleObserver so that I could use arch 1.0.0-rc1 & java8 env.

@b95505017 Yeah, I'd like to somehow get FUI on Java 8, but I remember a failed experiment with @samtstern on EasyPermissions where we had to revert to Java 7 to support devs who haven't upgraded yet.
@samtstern what do you think our policy should be with Java 8? Should we wait until AGP 3.1 is released and then say everyone has to support Java 8? Or is everything already being compiled to Java 7 bytecode anyway and it should work now?

@SUPERCILEX last time I tried what I learned (or what I think I learned) is that as soon as I set my source compatibility level to 8 I am mandating that folks who consume this library do the same.  If that's the case I'd say I have no plans to update to java 8 for years ... If I had to put my money on where the community will go I'd bet that we see a split into two main camps: Java 7 and Kotlin.
There's a chance though that there's a way for us to use Java 8 and allow Java 7 devs to consume the library.  If that's the case, sign me up.

@samtstern Well crud, I thought you might have some magic solution up your sleeve... guess not. 😆
Prep for a great plug 😄: speaking of Kotlin... are you open to that? I know you weren't so sure before, but I've been using Kotlin for a while now and I can tell you it's definitely worth it. I think it's far too late the refactor PR, but once that's done I'd like to add the dependency and convert our ExtraConstants file or something small like that to Kotlin. If you're worried about Java interop, I've got you covered—I'm very familiar with the bytecode decompiler so I know how most of Kotlin's syntactic sugar gets translated into Java. What do you think?

I am certainly open to Kotlin in the project, and it's awesome that you have the knowledge because I am a n00b.
I'm excited to see the recording of the "Building Libraries in Kotlin" talk at Kotlinconf:
https://blog.jetbrains.com/kotlin/2017/09/kotlinconf-new-workshop-and-community-event-by-jetbrains-and-realm/
But in general I agree, Kotlin is great and we should use it where we can.

@samtstern AWESOME!!! 😆 Cool talk BTW, that's when I wish I could live in SF. Hopefully Realm will record some of it.


Introduce a new CARM config map with support for teamIDs and service level isolation

Issue #, if available: https://github.com/aws-controllers-k8s/community/issues/2031
Description of changes:

on top of https://github.com/aws-controllers-k8s/runtime/pull/139
putting the CARMv2 map behind a feature flag
adding support for service level isolation e.g.

data:
  team-a: "arn:aws:iam::111111111111:role/team-a-global-role"
  s3.team-a: "arn:aws:iam::111111111111:role/team-a-s3-role"
  dynamodb.team-a: "arn:aws:iam::111111111111:role/team-a-dynamodb-role"

OR
data:
<PHONE_NUMBER>11: arn:aws:iam::111111111111:role/global-role
  s3.111111111111: arn:aws:iam::111111111111:role/s3-role
  dynamodb.111111111111: arn:aws:iam::111111111111:role/dynamodb-role

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm cancel


[nginx-ingress-controller]: Improve performance (listen backlog=net.core.somaxconn)

ping @bprashanth

LGTM just logging nit

LGTM thanks

Hi i am wondering why this wasn't added to port 80 and 443 as well? @aledbf @bprashanth


Does AsyncChannel supports multiple producers/consumers?

I was playing with AsyncChannel and tried to implement a multiple producers multiple consumers pattern but stumbled on an issue: I wasn't able to terminate the async iteration of all consumers. When there is one consumer the solution is simple, just call AsyncChannel.finish() at the end of the production to send a nil value to the only consumer which then stops.
However, when there are multiple consumers all of them should receive a nil value from the producers. To achieve this I tried to call .finish() as many time as there are consumers but only one stopped.
Is this intended behavior, i.e. an AsyncChannel should only be used with one consumer, or is this a bug? Please see the code snippet bellow to reproduce it.
System:
MacBook Air early 2015
macOS v12.3.1
Xcode v13.3
Swift v5.6
PS: I just read in the documentation that .finish() returns immediately if the channel is already finished, so this means that calling it multiple times won't work for multiple consumers.
import Foundation
import AsyncAlgorithms

func producer(channel: AsyncChannel<Int>, id: Int) async {
    for _ in 0..<3 {
        await channel.send(id)
    }
}

/// Spawns `count` producers
func produce(channel: AsyncChannel<Int>, count: Int) async {
    await withTaskGroup(of: Void.self) { group in
        for id in 0..<count {
            group.addTask {
                await producer(channel: channel, id: id)
            }
        }
    }

    for _ in 0..<count {
        await channel.finish()
    }
}

func consumer(channel: AsyncChannel<Int>, id: Int) async {
    for await value in channel {
        try? await Task.sleep(nanoseconds: 1_000_000_000)
        print("Consumer \(id) consumed value produce by producer \(value)")
    }
    print("Consumer \(id) terminated")  // Only one consumer is stopped
}

/// Spawns `count` consumers
func consume(channel: AsyncChannel<Int>, count: Int) async {
    await withTaskGroup(of: Void.self) { group in
        for id in 0..<count {
            group.addTask {
                await consumer(channel: channel, id: id)
            }
        }
    }
}

@main
enum App {
    static func main() async throws {
        let channel = AsyncChannel<Int>()

        async let p: Void = produce(channel: channel, count: 4)
        async let c: Void = consume(channel: channel, count: 4)

        _ = await (p, c)
    }
}

I think this is perhaps a bug; finish should terminate everything awaiting it

Hi
this PR addresses that issue -> https://github.com/apple/swift-async-algorithms/pull/152

Looks great!


Add publishing of website to Github workflow

Currently we publish the website by running the following command:
GIT_USER=nadvolod CURRENT_BRANCH=master yarn run publish-gh-pages
It might be better and easier to do this automatically through a GH workflow after the Docs changes are merged into master

maybe this? https://github.com/clay/docusaurus-github-action


vcpkg still removes all packages when upgrade operation fails

Describe the bug
This is an ancient bug tracks back to when vcpkg was first released. When I run vcpkg upgrade --no-dry-run and if for whatever reason it fails (such as network errors), I lose all installed packages...
Environment

OS: Windows 10 21H1
Compiler: irrelevant.

To Reproduce
C:\Users\Yukino Hayakawa>vcpkg upgrade
The following packages will be rebuilt:
  * eigen3[core]:x64-windows-static -> 3.3.9#1
  * fmt[core]:x64-windows-static -> 8.0.1
  * imgui[core]:x64-windows-static -> 1.84.2#1
  * llvm[clang,compiler-rt,core,default-options,default-targets,disable-abi-breaking-checks,disable-assertions,disable-clang-static-analyzer,enable-bindings,enable-terminfo,enable-threads,enable-zlib,lld,target-x86,tools]:x64-windows-static -> 12.0.1
  * spdlog[core]:x64-windows-static -> 1.9.2
  * vcpkg-cmake[core]:x64-windows -> 2021-09-13
  * vcpkg-cmake-config[core]:x64-windows -> 2021-09-27
  * zlib[core]:x64-windows-static -> 1.2.11#12
Additional packages (*) will be modified to complete this operation.
If you are sure you want to rebuild the above packages, run this command with the --no-dry-run option.

C:\Users\Yukino Hayakawa>vcpkg upgrade --no-dry-run
The following packages will be rebuilt:
  * eigen3[core]:x64-windows-static -> 3.3.9#1
  * fmt[core]:x64-windows-static -> 8.0.1
  * imgui[core]:x64-windows-static -> 1.84.2#1
  * llvm[clang,compiler-rt,core,default-options,default-targets,disable-abi-breaking-checks,disable-assertions,disable-clang-static-analyzer,enable-bindings,enable-terminfo,enable-threads,enable-zlib,lld,target-x86,tools]:x64-windows-static -> 12.0.1
  * spdlog[core]:x64-windows-static -> 1.9.2
  * vcpkg-cmake[core]:x64-windows -> 2021-09-13
  * vcpkg-cmake-config[core]:x64-windows -> 2021-09-27
  * zlib[core]:x64-windows-static -> 1.2.11#12
Additional packages (*) will be modified to complete this operation.
Starting package 1/16: eigen3:x64-windows-static
Removing package eigen3:x64-windows-static...
Elapsed time for package eigen3:x64-windows-static: 309.3 ms
Starting package 2/16: spdlog:x64-windows-static
Removing package spdlog:x64-windows-static...
Elapsed time for package spdlog:x64-windows-static: 26.97 ms
Starting package 3/16: fmt:x64-windows-static
Removing package fmt:x64-windows-static...
Elapsed time for package fmt:x64-windows-static: 10.62 ms
Starting package 4/16: imgui:x64-windows-static
Removing package imgui:x64-windows-static...
Elapsed time for package imgui:x64-windows-static: 7.537 ms
Starting package 5/16: llvm:x64-windows-static
Removing package llvm:x64-windows-static...
Elapsed time for package llvm:x64-windows-static: 1.246 s
Starting package 6/16: vcpkg-cmake:x64-windows
Removing package vcpkg-cmake:x64-windows...
Elapsed time for package vcpkg-cmake:x64-windows: 5.542 ms
Starting package 7/16: vcpkg-cmake-config:x64-windows
Removing package vcpkg-cmake-config:x64-windows...
Elapsed time for package vcpkg-cmake-config:x64-windows: 3.317 ms
Starting package 8/16: zlib:x64-windows-static
Removing package zlib:x64-windows-static...
Elapsed time for package zlib:x64-windows-static: 6.295 ms
Detecting compiler hash for triplet x64-windows-static...
A suitable version of git was not found (required v2.32.0). Downloading portable git v2.32.0...
Downloading git...
  https://github.com/git-for-windows/git/releases/download/v2.32.0.windows.2/PortableGit-<IP_ADDRESS>-32-bit.7z.exe -> D:\Temporal\Dev\Tools\vcpkg\downloads\PortableGit-<IP_ADDRESS>-32-bit.7z.exe
Error: Failed to download from mirror set:
https://github.com/git-for-windows/git/releases/download/v2.32.0.windows.2/PortableGit-<IP_ADDRESS>-32-bit.7z.exe: WinHttpReceiveResponse() failed: 12030

C:\Users\Yukino Hayakawa>vcpkg upgrade --no-dry-run
All installed packages are up-to-date with the local portfiles.

C:\Users\Yukino Hayakawa>vcpkg --version
Vcpkg package management program version 2021-09-10-2059ef11aa6067e6f59b0d939c5d17e3c5c47d3e

See LICENSE.txt for license information.

Expected behavior
Old packages should be retained as if no operation has been issued.

@JonLiu1993  Ok. Thanks for the tips.


Google Tag Management discovery API - Unrelated exception raised

Using client for Google Tag Management API
google-api-python-client==1.7.11
  serviceName = 'tagmanager'     serviceName = 'v2'
I got seems like unrelated exception when trying to list GTM container in GTM account
 File "/env/lib/python3.7/site-packages/googleapiclient/discovery.py", line 743, in method (name, pvalue, regex)) TypeError: Parameter "parent" value "/accounts/999999999” does not match the pattern "^accounts/[^/]+$"
Looks like initial issue is what user hits api call quota limit  and should it raise HttpError with HTTPStatus.TOO_MANY_REQUESTS

@SergeiLF would you be able to provide a longer sample?
From looking at the error message, it looks like the format of parent needs to  be tweaked. Can you try changing /accounts/999999999 to accounts/999999999 (removing the leading forward slash)?


Does Sharp not support basic bitmap files?

What are you trying to achieve?
Import a bitmap (.bmp) file to a buffer.
Have you searched for similar questions?
Yes, and found various similar failures online where the installation was questioned which implied support, but nothing was ever resolved beyond user error
Are you able to provide a minimal, standalone code sample that demonstrates this question?
# sharp installs without issue.  canvas is not installed.  this is a clean install of Ubuntu 20 - which I created after getting the same error on a windows machine.
import sharp from 'sharp';
sharp('./test.bmp').toBuffer()
.then((buffer)=>{
    console.log('success');
})
.catch((error)=>{
    console.log(`fail ${error}`);
    // fail Error: Input file contains unsupported image format
});

Are you able to provide a sample image that helps explain the question?
Pretty much any bitmap I have tried. (github doesn't allow me to attach a bitmap here)

Please see https://github.com/lovell/sharp/issues/806 specifically https://github.com/lovell/sharp/issues/806#issuecomment-419661745

Thanks for the timely reply.
For others that may just want to import a standard 24-bit bmp file into sharp without an additional bmp library, you can do something like this:
import fs from 'fs'
import sharp from 'sharp'

function importBmp24(filePath: string): sharp.Sharp {

    // open bmp file, create DataView to access headers properties & data, do rudimentary validation of bitmap structure
    const buff = fs.readFileSync(filePath);
    let dv = new DataView(buff.buffer, buff.byteOffset, buff.byteLength);
    if (buff.toString('ascii', 0, 2) !== 'BM' || dv.getUint32(2, true) !== fs.statSync(filePath).size) throw new Error('invalid bitmap');

    return sharp(
        // bitmap pixels are stored as BGR in rows from bottom to top. 'reverse()' fixes pixels to RGB and rows from top to bottom
        // the flop() is needed to correct the resulting horizontal flip.
        // a copy of the buffer with slice(0) is required because sharp ignores the byteOffset and byteLength properties of the buffer.
        (new Uint8Array(buff.buffer, buff.byteOffset + dv.getUint32(10, true) /*pixel offset*/, dv.getUint32(34, true)) /*data size*/).reverse().slice(0),
        { raw: { width: dv.getUint32(18, true) /*width*/, height: dv.getUint32(22, true) /*height*/, channels: 3 } }
    )
    .flop()
    .ensureAlpha();
}}

Glad to hear you worked it out, thanks for the update. The BGR to RGB conversion can also be achieved using the recomb operation - see https://github.com/lovell/sharp/issues/2171#issuecomment-616806979

but if a solution is so simple, why can't include this logic into sharp?


Not an issue - request

Could you make an option to show average usage of physical processor core instead of thread usage?

You mean instead of showing each thread, just show the average of each physical core? If so, I'm afraid not. It's not that it's impossible, it's just that adding yet another mode for up to 64 threads is a pain... and I am on a very tight schedule.
Sorry!

The pain is to have this 64 lines for each thread...

Oh! You mean one line for overall average CPU usage? I actually already implemented that. You can opt-in to beta testing in the global settings skin, and once you have installed the beta, you can find the option in the CPU Meter settings skin.

No. It would be like:
If I have 8c/16t I want 8c to be shown as average of 2/16 th threads. Let's take values of logical core 1 and 2, sum and divide by two.  For example 1t 50% usage and 2t usage is 100%, average of it would be 75% and display it as value of 1c.
Value per core (average of two threads) would be represented by percentage and value per thread would look like as shown below:

I promise I'll consider it. The only issue is that I am extremely limited on the time I can work on this project. Starting in a month or two, I will be without internet access (or a computer at all) for up to two years. If I complete everything currently on my list and have more time before I have to leave, I'll add this in.
Thanks, and sorry again!


Fixed i phone 7 plus rotation

fixed split view on the iPhone n+

Ah, I wonder if this was a project file merge issue...

I'm not sure I follow; on the 6+, this is only used when in landscape (when in splitview)


Force HTTPs isnt working as expected.

Describe the bug
Force HTTPS is incorrectly applying to outbound playlist connections.
With force HTTPs on, threadfin tries to connect to playlist using the wrong port.
My playlist is usually located on x.x.x.x:8080, however when I enable HTTPs within threadfin after running it through my reverse proxy, every time i attempt to load the playlist, it tries to communicate on x.x.x.x:443.
It would appear that the forcing https applies to outbound connections as well as inbound as it currently stands.
When I check my playlist, it still shows as :8080 being configured within the threadfin settings.
I would have expected the playlist to still be read by threadfin as HTTP, but then pushed to clients as HTTPs.
Server (please complete the following information):

OS - Ubuntu (Installed in docker container)
Intel 64 Bit
Threadfin Version and Build [1.1 (16)]

To Reproduce
Steps to reproduce the behavior:
Access threadfin itself via a reverse proxy
Add a playlist located on a web server presenting on a non standard port, but using HTTP. (for me, port 8080)
Force HTTPs within threadfin settings
Attempt to view a channel through any client once playlist has updated.
Expected behavior
I would have expected threadfin to access the playlist on http://:8080 rather than forced through https://:443, before buffering it and passing out out to clients that are connected to threadfin via https://:443.
Additional context
While this doesnt behave as I would have expected, if this does happen to be intended behaviour, please advise me accordingly and I will look to try and adjust my setup to reflect.

Https uses 443 that's how that works. This is how it should be

No problem, thanks for clarifying, I didnt know if it would work in a
similar manner to a reverse proxy setup, I would have preferred it if I had
the ability to amend the urls within the M3U that threadfin creates to be
https, while still retaining the outbound connection from threadfin to the
server on :8080. While it makes sense from the client -> server perspective
everything would be https, I dont think it really needs to be for the
server->server connection which would be local only and never accessed by
any other device.
On Sat, Jul 20, 2024 at 3:42 PM Nick Wallace @.***>
wrote:

Closed #304 https://github.com/Threadfin/Threadfin/issues/304 as not
planned.
—
Reply to this email directly, view it on GitHub
https://github.com/Threadfin/Threadfin/issues/304#event-13589879457, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADAE74VTUKBNLTBOVOSUQS3ZNJZMFAVCNFSM6AAAAABLF3CJQOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJTGU4DSOBXHE2DKNY
.
 This is forced by all browsers now too. You cannot and should not have a mix of HTTP and HTTP


add catch-all router for single page app

@hbcarlos this should work for what we discussed. routing can happen easily in the frontend now :)

Codecov Report

Merging #249 (a484bb2) into master (2a96953) will decrease coverage by 0.68%.
The diff coverage is 58.18%.

@@            Coverage Diff             @@
##           master     #249      +/-   ##
==========================================
- Coverage   83.40%   82.71%   -0.69%
==========================================
  Files          33       34       +1
  Lines        2500     2563      +63
==========================================
+ Hits         2085     2120      +35
- Misses        415      443      +28

Impacted Files
Coverage Δ

quetz/config.py
90.56% <ø> (+1.88%)
:arrow_up:

quetz/frontend.py
58.18% <58.18%> (ø)

...ons/a3ffa287d074_case_insensitive_channel_names.py
68.75% <0.00%> (-6.25%)
:arrow_down:

quetz/jobs/runner.py
93.16% <0.00%> (-3.10%)
:arrow_down:

quetz/testing/fixtures.py
96.87% <0.00%> (-2.35%)
:arrow_down:

quetz/tasks/workers.py
96.42% <0.00%> (-0.07%)
:arrow_down:

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 1e42a7b...a484bb2. Read the comment docs.

Nice! Thanks Wolf!!


[IRGen] Cleanup unused lambda capute recently introduced. NFCI.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test and merge


azure-functions-core-tools templates are missing from 24.05 package

Quick heads up: I'm pretty brand new to Nix, so apologies if I've missed something or if I go about this issue the wrong way. Let me know.
Describe the bug
Installing the current release (24.05) or unstable (at time of writing) package of azure-functions-core-tools (package version 4.0.5455) leaves some functionality unusable due to the templates/ directory of the release missing from the nix cache.
I've tried to init a new .NET function and the tools cannot complete due to the missing templates:
[user@system:~]$ func init FunctionApp --worker-runtime dotnet-isolated --target-framework net8.0

Can't find templates location. Looked under '/nix/store/0ydxfg1b4r6f2ylbbd80x1s2i91w7v5k-azure-functions-core-tools-4.0.5455/lib/azure-functions-core-tools/templates/net-isolated'

Sure enough, if I cd to that location, the whole templates/ directory is not present.
Here is the GitHub release the 24.05 package should presumably be pulling (based on the package version):
https://github.com/Azure/azure-functions-core-tools/releases/tag/4.0.5455
Downloading an asset from the above and unzipping it does contain the templates/ directory as expected.
Switching to 23.11 and using azure-functions-core-tools version 4.0.5348 works correctly.
I've observed this using Flakes and nix develop / direnv on both Fedora 40 with Nix and macOS using nix-darwin.
Steps To Reproduce
Steps to reproduce the behavior:

create a Flake targeting nixpkgs unstable or 24.05
define a devShell with the following packages:

azure-cli
azure-functions-core-tools

Define combined dotnet packages per these docs:

    (with dotnetCorePackages;
          combinePackages [
            sdk_8_0 # SDK for the app itself

            # .NET 6 for func tools
            runtime_6_0
            aspnetcore_6_0
          ])

nix develop
try to init a new dotnet Function App:

func init FunctionApp --worker-runtime dotnet-isolated --target-framework net8.0

Get the error described above.

Example Flake to reproduce
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
  };

  outputs = {
    self,
    nixpkgs,
    ...
  } @ inputs: let
    forEachSystem = nixpkgs.lib.genAttrs ["aarch64-darwin" "x86_64-linux"];
  in {
    devShells =
      forEachSystem
      (system: let
        pkgs = nixpkgs.legacyPackages.${system};
      in {
        default = pkgs.mkShell {
          name = "my-project-shell";

          packages = with pkgs; [
            (with dotnetCorePackages;
              combinePackages [
                sdk_8_0
                runtime_6_0
                aspnetcore_6_0
              ])
            azure-cli
            azure-functions-core-tools
          ];
        };
      });
  };
}

Expected behavior
func init FunctionApp --worker-runtime dotnet-isolated --target-framework net8.0
should successfully complete and create a new Function App.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
I don't know if this affects anything other than dotnet - not familiar enough with the inner working of the azure functions tools to know what else uses that templates directory.
I have confirmed it works with the 23.11 version for azure-functions-core-tools: Here's a Flake that works for me:

Example Flake with workaround
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
    func-nixpkgs.url = "github:NixOS/nixpkgs?ref=release-23.11";
  };

  outputs = {
    self,
    nixpkgs,
    func-nixpkgs,
    ...
  } @ inputs: let
    forEachSystem = nixpkgs.lib.genAttrs ["aarch64-darwin" "x86_64-linux"];
  in {
    devShells =
      forEachSystem
      (system: let
        pkgs = nixpkgs.legacyPackages.${system};
        func-pkgs = func-nixpkgs.legacyPackages.${system};
      in {
        default = pkgs.mkShell {
          name = "my-project-shell";

          packages = with pkgs; [
            (with dotnetCorePackages;
              combinePackages [
                sdk_8_0
                runtime_6_0
                aspnetcore_6_0
              ])
            azure-cli
            func-pkgs.azure-functions-core-tools
          ];
        };
      });
  };
}

Since the 23.11 version works, I have noticed that the package scripts differ quite a lot between 23.11 and 24.05.
I'm not deep enough into Nix yet to know if the difference matters, but clearly they are approaching the packaging a little differently.
Notify maintainers

@mdarocha @Detegr are package maintainers
@momeemt has opened #310237 to upgrade the tools but it still uses the 24.05 package approach; would be interested to know if that has the same issue.
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
this path will be fetched (0.00 MiB download, 0.00 MiB unpacked):
  /nix/store/y11cs26gb9b1irv5hk776mra7hgy80bl-nix-info
copying path '/nix/store/y11cs26gb9b1irv5hk776mra7hgy80bl-nix-info' from 'https://cache.nixos.org'...
 - system: `"x86_64-linux"`
 - host os: `Linux 6.8.10-301.fsync.fc40.x86_64, Fedora Linux, 40.20240531.0 (Kinoite), nobuild`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - nixpkgs: `/nix/store/fjs1x9gz2n1dvjqcyyl6qsw110qxc2zn-source`

Add a :+1: reaction to issues you find important.

Any workaround?

@beforan Thanks for bringing this to our attention.
Looking at the packaging difference between 23.11 and 24.05, it's clear why this happens.
In 23.11, we fetch the zip (which includes the templates, as you have already found out) and patch the executables to work for NixOS.
In 24.05, we have opted for a different approach which is to compile the executables using the builder modules in nixpkgs, so there is no need for patching.
It seems that in switching packaging approaches, we have missed that some files (such as the templates directory) should also be present in the derivation.
@momeemt, since you have already created a PR for the updated version of the azure-functions-core-tools, would you be open to fixing this in your PR by adding the templates folder in the postInstall phase?


When copying, imports to outside the ast sources are lost

When emitting a directory as described in #182 #183, with the workaround from #195, imports to pre-compiled sources are lost. I only tested it when using the tsconfig compiler options baseUrl and paths. Example project:
root/dist/compiler/*                    // Directory with code manipulation code using ts-simple-ast
root/dist/runtime/something.ts          // Runtime component imported after code manipulation
root/test/src/test.ts                   // Code to test above on
root/test/dist/test.[js, js.map, d.ts]  // Only existing after running root/dist/compiler
root/test/gen/test.ts                   // Only exists after running root/dist/compiler
root/src/*                              // Source directory of root/dist
root/tsconfig.json                      // tsconfig to compile root/src
root/tsconfig.test.json                 // tsconfig used to compile and manipulate root/test/src with root/dist/compiler

tsconfig.test.json subset:
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "something": [
        "dist/runtime/something"
      ]
    }
  }
}

During code manipulation of roots/test/src/test.ts with root/dist/compiler, the code is first copied to root/test/gen/test.ts, then manipulated so it includes MyType from something (the typescript compiler should dereference this via paths in tsconfig.test.json), saved in root/test/gen/test.ts and finally emitted to root/test/dist/test.[js, js.map, d.ts]. I expected the referencing of something to work (as it did without copying`, but it throws ast diagnostics:
root/test/gen/test.ts.linenr: Cannot find name 'Something'.

OK, apparently I added the code to the wrong code. My bad ...

That's ok :)


Unwanted margin for ButtonGroups inside of forms

Bug already reported ?

[X] I confirm that I have checked if the bug already has been reported

For which framework/library you are reporting the bug
React, Chlorophyll
Component name
ButtonGroup, Group, FormGroup
Description

There is no margin between Label and ButtonGroup.
There is 0.5rem unwanted margin below the ButtonGroup since it is inside the a group.
The id property is not allowed on a <ButtonGroup />.

Steps To Reproduce

Use TypeScript and React.
Add a ButtonGroup as an input inside of a FormGroup.

Current Behaviour

id is not allowed on the ButtonGroup
The margins/spacing is flipped.

Expected Behaviour
id should be allowed on the ButtonGroup Component.
The margin should be between the Label and the Input (in this case a ButtonGroup)
Less magic for components, or clearer rules. By using the group I also got all of these CSS rules that I did not expect

Is there any plans of a more utility based CSS framework or would you be open for a SEB Green Config for something like Tailwind?

Is this the setup you are looking for ?

Example:

Yeah I guess. Right now I solved by adding flex-column to the label and buttongroup's parent and gap of 8px (Spacing3 right)

Yeah I guess. Right now I solved by adding flex-column to the label and buttongroup's parent and gap of 8px (Spacing3 right)

Yes with flex and gap things would be better but for now I pushed a little fix.

To add to @astrit's reponse, the ButtonGroup is actually the Segmented Control component from Design LIbrary, which is not meant to be used as a form input.
This is currently unclear in Green though, especially with the unaptly named ButtonGroup component, and I think we need to improve documentation and provide better examples to explain what the components were designed for.


Scrolling Not Working Correctly

The scrolling will only scroll on the first line even if I put the scrolling anywhere else.
And if I put ' in-front the , the board will not work.

It does seem to work with or without the ' in front of  if you put a space between  and the variable , but then it scrolls the info underneath the page title .


⚠ SceneTime has degraded performance

In 73ba12e, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 5957 ms

Resolved: SceneTime performance has improved in 9813350.


Different package name makes the different result

Different package name makes the different result, when I use package app, the result is
Student study
Student study

when I change the package name from app to stu, the result is
BoyStudent study
GirlStudent study

I want the second result but unaffected for the package name

package app

import (
	"fmt"
)

type IStudent interface {
	study()
}

type Student struct {
}

func (me *Student) study() {
	fmt.Println("Student study")
}

type StudentProxy struct {
	student IStudent
}

func (me *StudentProxy) study() {
	me.student.study()
}

type studentManager struct {
	students map[string]*StudentProxy
	finder   func(string) IStudent
}

var sm = &studentManager{
	students: map[string]*StudentProxy{},
}

func StudentManager() *studentManager {
	return sm
}

func (me *studentManager) SetFinder(finder func(string) IStudent) {
	me.finder = finder
}

func (me *studentManager) GetStudent(name string) *StudentProxy {
	proxy, ok := me.students[name]
	if !ok {
		stu := me.finder(name)
		proxy = &StudentProxy{student: stu}
		me.students[name] = proxy
	}
	return proxy
}

func (me *studentManager) MethodA() {
	names := []string{"boy", "girl"}
	for _, name := range names {
		me.GetStudent(name).study()
	}
}

func (me *studentManager) MethodB() {
	names := []string{"boy", "girl"}
	for _, name := range names {
		me.GetStudent(name).study()
	}
}

package auto

import (
	"github.com/boringwork/godemo/interface/app"
	"github.com/boringwork/godemo/interface/impl"
)

func Finder(name string) app.IStudent {
	switch name {
	case "boy":
		return &impl.BoyStudent{}
	case "girl":
		return &impl.GirlStudent{}
	}
	return nil
}

package impl

import (
	"fmt"

	"github.com/boringwork/godemo/interface/app"
)

type BoyStudent struct {
	app.Student
}

func (me *BoyStudent) study() {
	fmt.Println("BoyStudent study")
}

type GirlStudent struct {
	app.Student
}

func (me *GirlStudent) study() {
	fmt.Println("GirlStudent study")
}

package main

import (
	"github.com/boringwork/godemo/interface/app"
	"github.com/boringwork/godemo/interface/auto"
)

func main() {
	app.StudentManager().SetFinder(auto.Finder)
	app.StudentManager().MethodA()
}

What version of Go are you using (go version)?
go version go1.10.1 darwin/amd64

This doesn't look like a bug report but rather a question about the language. For questions about Go, see https://golang.org/wiki/Questions.

The package name affecte result of program, why did you think this is not a bug?

@bradfitz
I find this weird too, simplified repo below.
Not sure which's the correct behavior as this is about an unexported function but it should either print
B
B

or
A
C

But it's printing
A
B

package main

import (
	"a"
	"b"
	"c"
)

func main() {
	testA := a.A{}
	testC := c.C{}
	b.Test(testA)
	b.Test(testC)
}

package a

import (
	"fmt"

	"b"
)

type A struct {
	b.B
}

func (A) foo() {
	fmt.Println("A")
}

package b

import (
	"fmt"
)

type Foo interface {
	foo()
}

type B struct {
}

func (B) foo() {
	fmt.Println("B")
}

func Test(f Foo) {
	f.foo()
}

package c

import (
	"fmt"

	"c"
)

type C struct {
	b.B
}

func (C) foo() {
	fmt.Println("C")
}

@AlexRouSg I can't recreate that.  For me it prints
B
B

which is what I would expect.  How exactly did you build the program?
I did this:
> ls -R /tmp/x/src
.:
a/  b/	c/  main/

./a:
a.go

./b:
b.go

./c:
c.go

./main:
main.go
> cd /tmp/x/src/main
> GOPATH=/tmp/x go build
> ./main
B
B

@ianlancetaylor I did a go run main.go on 1.10.3

@AlexRouSg Is the layout of files exactly as I show above?  What is GOPATH set to?

Ah, I see that with Go 1.10 I do get
A
B

This may be #24693, which is fixed in 1.11.

Yup on tip I get
B
B


Implement episode and server selection

Create a view controller specific for browsing a series. Episodes could be browsed using a table view.
Create a dropdown menu in order for the user to select a server.

Implemented episode browsing and watching


Add support to fetch executables from a remote repository

SSHDeployer assumes that the executable jars/tar are located locally as a part of the test project. It will nice to add an option to fetch the executable from a remote server.

This feature is now added. To fetch executable from remote host add this to the config.
:
eg: "client_exec_path" : "localhost:/tmp/file.exe"


fix: calculate delta prometheus summary

Prometheus summary type calculate delta value to properly allow average calculation in NRQL.
Fixes #188

Pull Request Test Coverage Report for Build 330926641

29 of 29 (100.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.04%) to 57.918%

Files with Coverage Reduction
New Missed Lines
%

pkg/metrics/sampler/sampler_routine.go
2
94.74%

Totals

Change from base Build 328789885:
0.04%

Covered Lines:
10939

Relevant Lines:
18887

💛  - Coveralls


Missing background in MODERN and SIMPLE SECTION skins.

@HanSolo what do you think about this pull request?

To be honest I do not really like it because the skin was not meant to be modified like this, so I guess I won't add it.

I understand.
My problems here is that all the gauges I allow in my product (a subset of the Medusa ones) must have the same properties, otherwise the final users will not understand why, for example, changing the background will not result in a visible change for some gauges.
Today or, more probably, tomorrow I'll send you a private message about this and how I think to solve it.


Making an Order with CSV

Hi Zipline Maintainers,
How do i make an order if instead of using a data bundle, i used a dataframe from a CSV as the backtest's data source ?
Thanks.

@GuacheSuede The easiest way to use a .csv file would be to ingest it as a data bundle, using the csvdir bundle

gotcha, how does one

change the required format/columns of csvdir ?
allow ingesting of tick data instead of the only allowed minute and daily data in csvdir ?

@GuacheSuede

change the required format/columns of csvdir ?
allow ingesting of tick data instead of the only allowed minute and daily data in csvdir ?

To do that you'd probably have to modify the csvdir bundle yourself, or write a new one, unfortunately. An alternative solution to this would be to just have date,open,high,low,close,volume, and zero out high,low,close`

We only support minutely and daily frequencies, so your best best is to upsample to minutely or daily

@freddiev4
Hi Freddiv4,
I was able to ingest minute data, but with minute data we dont have daily data[I was hoping zipline generate daily data based on minute data] and notices we can not load split/dividen with it. As my algo is based on daily data, but for having orders implemented on the 30 mins before market close it seems I should have minute data as well. How we can ingest both at the same time.
Thanks


Categories should be added as array

This PR fixes a problem where the tags are not going to be setted

@juanignaciosl check this tiny PR

LGTM


Feature: Integrate Advanced Security page into properties window

Feature: Integrate Advanced Security page into properties window
Motivation and Context
Planned by Files team
Details of changes

[x] Integrate Advanced Security page into properties window
[x] Update titlebar text styling
[x] Update the height of each NavigationViewItem from 40px to 36px (32px is default)
[x] Tweaked UI in all properties pages
[x] Add backward navigation functionality in properties window
[x] Use generalized Parameter class for every class in Properties

PR Checklist

[x] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
[x] Did you build the app and test your changes?
[x] Did you check for accessibility? You can use Accessibility Insights for this.
[x] Did you remove any strings from the en-us resource file?

[x] Did you search the solution to see if the string is still being used?

[x] Did you implement any design changes to an existing feature?

[x] Was this change approved?

[x] Are there any other steps that were used to validate these changes?

Go to properties window
Navigate to Security tab
Click 'Advanced permissions' button

Screenshots
Backward navigation button & new titlebar looks & Integrated SecurityAdvancedPage

Is this ready for review?

@yaira2 Yes done.

@0x5bfa thank you for all your hard work on this PR. This has been on the todo list for almost 2 years but it kept getting put off do the size and other priorities so I'm happy it's finally taken care of.


Fix code coverage

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@05e8f51). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #18   +/-   ##
=========================================
  Coverage          ?   83.82%
=========================================
  Files             ?       33
  Lines             ?      606
  Branches          ?       60
=========================================
  Hits              ?      508
  Misses            ?       79
  Partials          ?       19

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 05e8f51...97c05ab. Read the comment docs.


Web: Some images are not show due to Referer

For example, the feed https://rsshub.app/thepaper/featured.
An example: <img alt="" src="https://imagecloud.thepaper.cn/thepaper/image/220/451/797.jpg" style="width: 600px;" class="NB-small-image">.
If I set it with referrerpolicy="no-referrer", then it works fine. The image appears again.

The only way this will work is if you load it into Custom JS for your own account. Unfortunately I can't make this change for everybody because it will strip referrers from all image requests and we'd piss off a lot of publishers.


[WIP] Add Fused Vanilla RNN and dropout

Description
In this PR, it creates Fused Vanilla RNN(tanh/relu) operator and dropout of GRU/LSTM/vRNN for CPU.
@pengzhao-intel, @TaoLv
Feature changes
New features

Single layer/Multiple layer and unidirectional/bidirectional Vanilla RNN(tanh/relu), including both forward and backward computation.
Support dropout of GRU/LSTM/vRNN

Unit-test changes

Create new testcase in tests/python/unittests/test_operator.py.
update testcase in example/rnn/bucketing/cudnn_rnn_bucketing.py
Check consistency with original RNNCell implementation.

Performance
We have tested performance of FusedRNN and NonFused RNNCell on our local Skylake-8180 with 2 Sockets and 56 cores. Use MKL as blas lib in this performance test.
Test input size is from DS2 default parameters(seq_length = 300, batch_size = 20, input_size = 800, hidden_size = 800).
Layer=1 bidirectional = False

API
Inference time(fwd, samples/sec)
Training time(fwd + bwd, samples/sec)

rnn.RNNCell - NoFusedRNN(Tanh, CPU)
492.61
198.02

this PR - FusedRNN(Tanh, CPU)
952.38
318.98

speedup
1.93x
1.61x

API
Inference time(fwd, samples/sec)
Training time(fwd + bwd, samples/sec)

rnn.RNNCell - NoFusedRNN(Relu, CPU)
277.78
104.17

this PR - FusedRNN(Relu, CPU)
740.74
177

speedup
2.67x
1.7x

Layer=5 bidirectional = True

API
Inference time(fwd, samples/sec)
Training time(fwd + bwd, samples/sec)

rnn.RNNCell - NoFusedRNN(Tanh, CPU)
38.91
22.73

rnn.RNNCell (Tanh, cuda)
47.85
26.95

rnn.RNNCell (Tanh, cudnn)
208.33
81.63

this PR - FusedRNN(Tanh, CPU)
104.17
34.01

speedup -this PR/RNNCell (Tanh, CPU)
267.7%
149.7%

speedup -this PR/RNNCell  (Tanh, cuda)
217.7%
126.2%

speedup -this PR/RNNCell  (Tanh, cudnn)
50%
41.7%

API
Inference time(fwd, samples/sec)
Training time(fwd + bwd, samples/sec)

rnn.RNNCell - NoFusedRNN(Relu, CPU)
40.73
22.6

rnn.RNNCell (Relu, cuda)
52.91
26.81

rnn.RNNCell (Relu, cudnn)
206.83
82.64

this PR - FusedRNN(Relu, CPU)
134.23
35.97

speedup -this PR/RNNCell (Relu, CPU)
329.5%
159.2%

speedup -this PR/RNNCell  (Relu, cuda)
253.7%
134.2%

speedup -this PR/RNNCell  (Relu, cudnn)
64.9%
43.5%

Convergency Curve
We have tested Convergency of FusedGRU/LSTM(dropout = 0.5) on our CPU-Skylake-8180 with 2 Sockets and 56 cores and GPU-P100  by using example/rnn/bucketing/cudnn_rnn_bucketing.py
Test input size is layer = 3, batch_size = 32, num-embed = 800, num-hidden = 800, num-epochs 20

Please remove [WIP] from the title and add the JIRA number to it. https://issues.apache.org/jira/browse/MXNET-107


[$250] mWeb -Error page when open #exfy-roadmap while #new-expensify-feedback is open

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

Version Number: 1.4.82-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4622123&group_by=cases:section_id&group_id=229066&group_order=asc
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Logout of New Expensify if logged in
Navigate to the following link - https://staging.new.expensify.com/r/6776919265133947
(#new-expensify-feedback)
While #new-expensify-feedback is open navigate to the following link - https://staging.new.expensify.com/r/868417741568295
(#exfy-roadmap)

Expected Result:
#exfy-roadmap room should open and chat history should be visible
Actual Result:
Error page appears when navigate to #exfy-roadmap link while #new-expensify-feedback is open
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/27919dcd-cc46-4ef8-9a1d-bdd99c96eff4
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~017e4f9542b1cde2bc
Upwork Job ID:<PHONE_NUMBER>717141030
Last Price Increase: 2024-07-17

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

Possible offending PR: https://github.com/Expensify/App/pull/43090

or maybe https://github.com/Expensify/App/pull/43159

This is reproducible on production too, removing blocker

Proposal
Re-state the problem that we are trying to solve in this issue:
When a user is logged out and navigates to the #exfy-roadmap public room from the #new-expensify-feedback room on the mobile web (mWeb) version of New Expensify, an error page appears instead of displaying the chat history of the #exfy-roadmap room.
What is the root cause of that problem?
A state management issue where the application does not handle the transition between public rooms correctly while the user is logged out. This involves incorrect handling of session states or improper routing logic when switching from one public room to another.
What changes do you think we should make in order to solve the problem?
To solve this problem, we need to make sure that the application correctly manages state transitions and routing between public rooms when the user is logged out. Specifically, we should:

Ensure Proper Session Handling:

Verify that the session state is correctly managed when switching between public rooms while logged out.

Ensure that the session state is correctly checked and maintained when navigating between rooms.

function navigateToRoom(roomId) {
    if (!isUserLoggedIn()) {
        // Ensure session state is correctly managed
        handleSessionStateForLoggedOutUser();
    }
    // Navigate to the room
    navigateTo(roomId);
}

function handleSessionStateForLoggedOutUser() {
    // Logic to manage session state for logged-out users
    // This might involve setting appropriate state flags or clearing unnecessary session data
}

Fix Routing Logic:

Guarantee that the routing logic correctly handles navigation from one public room to another without causing an error.
function navigateTo(roomId) {
    try {
        // Ensure the room ID is valid and exists
        if (isValidRoomId(roomId)) {
            // Perform navigation
            window.location.href = `/r/${roomId}`;
        } else {
            throw new Error("Invalid room ID");
        }
    } catch (error) {
        console.error("Navigation error:", error);
        showErrorPage(); // Show error page if navigation fails
    }
}

function isValidRoomId(roomId) {
    // Logic to check if the room ID is valid
    return true; // Placeholder - replace with actual validation logic
}

Any Alternative Solutions Explored?(Optional)**

Implement Room Preloading:

We can preload room data to ensure smooth transitions between rooms, especially when the user is logged out.

Use Client-Side Routing:

Client-side routing to handle room transitions more smoothly and reduce the risk of encountering an error page.

@TheGithubDev thank you for your proposal.

A state management issue where the application does not handle the transition between public rooms correctly while the user is logged out. This involves incorrect handling of session states or improper routing logic when switching from one public room to another.

I like what you're thinking but could you please explain the root cause in detail? Where exactly is the incorrect session or routing logic? Can you please explain it in detail with the help of an example if needed. You can also link code where this problem is happening

Proposal
Please re-state the problem that we are trying to solve in this issue.
Public room Error page when open url to #exfy-roadmap report, while #new-expensify-feedback is open
What is the root cause of that problem?
When Opening #exfy-roadmap report page, the request took long time to complete the request. When user open it by url, the pusher already authenticated and already subscribe to user channel even though the open report for that room isn't completed yet. then there is Pusher event received with lastUpdateID, this pusher data is just an update so it is really small data, then when OpenReport Completed the lastUpdateID is the same as the pusher event. this will make onyxUpdate won't run because lastUpdateID is same:
https://github.com/Expensify/App/blob/75c104bfe009ef937bcd129a35bb5a2e52f4339d/src/libs/actions/OnyxUpdates.ts#L85-L86
But the complete data is stored in OpenReport server response and it is not updated by onyxupdatemanager.
Here is some ss from log:
What changes do you think we should make in order to solve the problem?
We need to make the authenticatePusher http request queue on SequentialQueue. So it will authenticate only when OpenReport is completed. The pusher authenticate is in here:
https://github.com/Expensify/App/blob/75c104bfe009ef937bcd129a35bb5a2e52f4339d/src/libs/actions/Session/index.ts#L751-L752
In makeRequestWithSideEffects:
https://github.com/Expensify/App/blob/75c104bfe009ef937bcd129a35bb5a2e52f4339d/src/libs/API/index.ts#L159-L160
we add  parameter shouldBeSequential, then adjust the return value:
...
if (shouldBeSequential) {
    return SequentialQueue.waitForIdle().then(() => Request.processWithMiddleware(request));
}

return Request.processWithMiddleware(request);

@tsa321 could you please attach the log screenshot that you've mentioned

@rushatgabhane
Here is some ss from log:

Onyx data:

@tsa321 i like your analysis. One Q: how do you think waiting for SequentialQueue to be idle before we authenticate pusher will impact a user that's signed in?

@rushatgabhane After further investigation:

The pusher event is triggered by User.subscribeToUserEvents() (multiple event pusher).
The bug also occurs for signed-in users, so we cannot delay subscribeToUserEvents or Pusher.authenticate.
I believe the bug is caused by the following sequence:

After user authenticated (second visit to a public room will make user authenticated / an Auth token is present in Onyx)
OpenReport is requested to the server.
The server adds the user's account ID to the participant list of the report.
This change in the participant list triggers a pusher event from the server .
The pusher event is received by the user before the OpenReport response.
Onyx updates based on the pusher data, setting lastUpdateID to the latest value.
When the OpenReport request completes, it has the same lastUpdateID as the pusher data, causing the OnyxData from the OpenReport to be ignored.

The solutions for this issue could be:

Store the previous Onyx update, and if the lastUpdateID is the same, compare the newest received Onyx update with the last stored update. Then, apply the Onyx update to the differences.

Make sequential Onyx updates between API write requests and pusher data. If an API write request is loading and pusher data arrives, we must first finish the Onyx updates of the API request, then continue with the pusher update.

Handle the logic in Report Screen: if the OpenReport completed and there is no error response from server, retry the OpenReport request.

@rushatgabhane delaying authenticatePusher cannot fix this issue, because:
https://github.com/Expensify/App/blob/b021195b864211efbaaefe188226b2830b91b7d8/src/libs/Navigation/AppNavigator/AuthScreens.tsx#L208-L214
User.subscribeToUserEvents() is executed first, before OpenReport.
I believe a good solution is to wait for OpenApp to complete before calling subscribeToUserEvents(). What do you think?

If we want to handle it in report screen, the code could be:
useEffect(() => {
    if (!reportMetadata.isLoadingInitialReportActions && !report.reportID && reportActions.length > 0 && retryCount.current < maxOpenReportRetries) {
        retryCount.current += 1;
        fetchReportIfNeeded()
    }
}, [reportMetadata.isLoadingInitialReportActions]);

then in:
https://github.com/Expensify/App/blob/b021195b864211efbaaefe188226b2830b91b7d8/src/pages/home/ReportScreen.tsx#L398-L403
we change the first condition into :
(!wasReportAccessibleRef.current && !firstRenderRef.current && !report.reportID && !isOptimisticDelete && !reportMetadata?.isLoadingInitialReportActions && !userLeavingStatus && retryCount.current < maxOpenReportRetries)

@rushatgabhane, can we get an update on this one? Thank you!

@tsa321 thanks again. My main concern with delaying the subscription to pusher events is that an authenticated user would have to wait for OpenApp API call to complete before receiving new messages. This will make the app feel really slow

@rushatgabhane

Wait for OpenApp() to complete before calling User.subscribeToUserEvents(), but do this only if the user is anonymous.

Yes, this could work for an anonymous user. However, this bug also occurs with authenticated users if they haven't visited the room before. (The bug happens on the first visit by entering a URL in the URL bar; if the user clicks a link in chat, the bug doesn't occur.)

okayy, in that case we should go for the retry solution

@tsa321 what is the value of maxOpenReportRetries and how will we decide that?

@rushatgabhane for this issue, 1 retry is fine

@rushatgabhane did you see this response? Do you need anything else?

@johncschuster the proposed fix will negativity impact performance of opening the app. So I'm not comfortable with going with it
@tsa321

@tsa321 has a solution that involves retrying but that looks like a hack to me

Issue not reproducible during KI retests. (First week)

@rushatgabhane I think the simple solution is to change the comparison in here:
https://github.com/Expensify/App/blob/75c104bfe009ef937bcd129a35bb5a2e52f4339d/src/libs/actions/OnyxUpdates.ts#L85-L86
from <= lastUpdateIDAppliedToClient to < lastUpdateIDAppliedToClient

@tsa321 in the existing code, do you know why an onyx update is applied even if updateID is same? Because I'm concered about any regression that might arise

@rushatgabhane Since the Onyx update for HTTPS occurs within applyHTTPSOnyxUpdates and considering the WRITE API operates sequentially, I believe changing the comparison from <= to < will not cause any regression.

@rushatgabhane / @youssef-lr do you believe this is still an issue? I noticed @mvtglobally was unable to reproduce the behavior here. How about we retest this one more time, and if it doesn't persist, we close it?

Waiting on a retest. I'll ping the QA room for that.

Error page appears when navigate to #exfy-roadmap link while #new-expensify-feedback is open
https://github.com/user-attachments/assets/722c6c74-47e4-4c14-a3de-a9fc0769ac2a

Getting a sense check on the priority of this issue here

We're going to close this for now.


Align jenkins jobs' parameters' names

Some parameters we use for openjdk pipeline and downstream build jobs are not matching.
It is good to align them to make code more clear , e.g:

cleanWorkspaceBeforeBuild vs CLEAN_WORKSPACE
useAdoptBashScripts vs USE_ADOPT_SHELL_SCRIPTS

The goal is to

change CLEAN_WORKSPACE to CLEAN_WORKSPACE_BEFORE_BUILD , change useAdoptBashScripts to useAdoptShellScripts
update document, comments

Hi @zdtsw, I am potential outreachy candidate can you assignt this issue to me?

@sakshi1215 do you want to finalize this issue?


Consider adding a Builder to NodeManager

Currently, NodeManager is a somewhat tangled, big module. It could use some refactoring.
A good place to start may be creating a convenient Builder to avoid using the NodeManager::create function that takes a lot of options. There are multiple ways to do it, so some design ideas would be very welcome.

For this are you thinking of consolidating the NodeManagerGeneralOptions, NodeManagerTrustOptions, and the NodeManagerTransportOptions as well i.e., have the builder create a fully functioning NodeManager by including optionally chained methods that could also create these things?
Something like the SecureChannelsBuilder?

I'd love to give this a shot. Please assign it to me 🚀

@SanjoDeundiak hi I just have a clarifying question re: design.
Looking at this creation call as an example, I foresee the API looking something like this:
let node_man = NodeManager::new(&ctx)
  // general config opts
  .node_name(node_name.as_ref())
  .skip_defaults(cmd.launch_config.is_some())
  .pre_trusted_identities(pre_trusted_identities)
  .cli_state(cli_state.clone())
  // transport opts
  .flow_control_id(listener.flow_control_id().clone())
  .tcp_transport(tcp.async_try_clone().await.into_diagnostic()?)
  // trust opts
  .trust_context(trust_context_config)
  .create()
  .await
  .into_diagnostic()?;

However, in the create method, some of these are required to be present in order for a NodeManager to be created. An example is the node_state.
In order to prevent misconfigurations, I'm thinking of using typestate:
struct NotCreateable;
struct Creatable;

struct NodeManagerBuilder<W> {
  // fields

impl<W> NodeManagerBuilder<W> {
 // things that aren't explicitly needed to construct a NodeManager
}

impl NodeManagerBuilder<NotCreatable> {
  // methods that return a builder which cannot be constructed
}

impl NodeManagerBuilder<Createable> {
  pub fn create(self) -> NodeManager {
    // we know for sure that all the items needed are here.
  }
}

What do you think?

Hi @seve-martinez. Thanks a lot for starting to share useful thoughts on this subject.
I would actually like to put this on hold for now because I started doing some refactorings between ockam_command and ockam_api to simplify how we make calls inside a node (here is a PR preparing the work).
This is going to touch how we create and pass around a NodeManager so I'd rather not have too much friction there. I also want to see if we can start carving out some interfaces and implementations so that we don't have to pass around this "God object".
More importantly, you pointed out the question of the CliState. We think it needs to be revisited. We are now planning a big overhaul of the CliState to use a relational database for backend persistence instead of a tree of directories and files. This is going to have a major impact on how we create a node so we will have to revisit this issue at this stage anyway.
Please stay tuned, I will post issues for which I will love to have contributions as soon as I get a little more clarity on the current refactoring. Thanks for your help!


What does "for the current environment" mean

Issue Transfer
This issue has been transferred from the Azure SDK for .NET repository, #26331.
Please be aware that @boylec is the author of the original issue and include them for any questions or replies.
Details
This method creates a cookie with properties that have no setters.
The comment about CreateNew says it creates a cookie "for the current environment". The meaning of this is non-obvious.
The Append method's comment states: "To create a cookie, you can use the Microsoft.Azure.Functions.Worker.Http.HttpCookies.CreateNew method." This appears to be false because creating a cookie using this method doesn't appear to allow me to set the cookie's value or other attributes due to the lack of setters on the resulting IHttpCookie object.
What gives?

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

ID: 81095906-a34f-1cef-f357-d86000f9ac0e
Version Independent ID: 640580c2-e54e-0e75-ff39-3233a8a7b2af
Content: HttpCookies.CreateNew Method (Microsoft.Azure.Functions.Worker.Http) - Azure for .NET Developers
Content Source: xml/Microsoft.Azure.Functions.Worker.Http/HttpCookies.xml
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

It certainly seems like IHttpCookie is meant to have setters as well. We'll discuss how we can update this without it being a breaking change.


Generalize Pagination

This PR implements offset-based pagination for the plants and seeds endpoints.
The frontend has been adjusted to use this pagination in the following parts.

Fetch seeds in the seed list view now loads pages when scrolling down.
Search for seeds in the seeds list view now uses query parameters in the backend API .

[x] The buildserver is happy.
[x] The PR is rebased with current master.

Checklist

[ ] I added unit tests for my code
[ ] I fully described what my PR does in the documentation
(not in the PR description)
[ ] I fixed all affected documentation
[ ] I fixed all affected decisions
[ ] I added code comments, logging, and assertions as appropriate
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax

Review

[ ] Documentation is conforming to our Documentation Guidelines
[ ] Examples are well chosen and understandable
[ ] Code is conforming to our Coding Guidelines
[ ] Code is consistent to our Design Decisions

Rebased on current master.

Great job, thanks to you both!


Update boto3.  Addresses #2230.

Addresses #2230.

@adamnovak Does this work for you?

Hmmm... it looks like boto3 is only used in one function ( https://github.com/BD2KGenomics/toil/blob/45de1029ae190b8e0bb3a4addcc7ebc7bec69173/src/toil/jobStores/aws/utils.py#L258 ).  I think this is safe to merge as all the tests are passing except for two known flakes (http://jenkins.cgcloud.info/job/toil-pull-requests/4103/).  I'll make an issue to write a test for it explicitly later.


Can no longer install numba with python 2

The synergistic demos use brainweb, which starts by using pip install numba. That now fails:
 running bdist_wheel
  /usr/bin/python /tmp/pip-install-sW2ewi/llvmlite/ffi/build.py
    File "/tmp/pip-install-sW2ewi/llvmlite/ffi/build.py", line 122
      raise ValueError(msg.format(_ver_check_skip)) from e
                                                       ^
  SyntaxError: invalid syntax

Also seen here https://stackoverflow.com/questions/61925676/can´t-install-numba-for-python with a comment "try a new version of Python".
Is there a work-around? Do we need numba or can we make it optional (without a lot of work).
This is currently a problem as our VM is still stuck on Python 2

I think numba is a leftover from some performance hacks @rijobro was trying - looks like it can be removed.

yeah, it looks like it wasn't actually being used in the notebook. It is, however, used in a few others (but not pip installed):

https://github.com/SyneRBI/SIRF-Exercises/blob/master/notebooks/Synergistic/de_Pierro_MAPEM.ipynb
https://github.com/SyneRBI/SIRF-Exercises/blob/master/notebooks/Synergistic/Solutions/Dual_PET_Answer-noMotion.ipynb
https://github.com/SyneRBI/SIRF-Exercises/blob/master/notebooks/Synergistic/Solutions/Dual_PET_Answer-wMotion.ipynb

Serves us right from not upgrading to Python 3. @paskino, this will have to be a priority after 2.2 (unless it's a matter of dropping in ubuntu 20.04, but that seems unlikely!)
I suggest to move the import numba to a new cell, but commented out, saying that they can uncomment it and subsequent @jit lines if they have python3 (and numba).

How much of a speedup does it really give in those notebooks? May just be better to leave it out...

Comment from a notebook says

Using jit gets computation time from 90 secs to 2!

So I'm inclined to comment it out rather than delete.


Task> Run Task fails to start cygwin zsh integrated terminal on Windows

VSCode Version: 1.20.1
OS Version: Windows 10 Enterprise

Steps to Reproduce:

Set up integrated terminal settings for cygwin zsh.
"terminal.integrated.shell.windows": "C:\.babun\cygwin\bin\zsh.exe",
"terminal.integrated.shellArgs.windows": [],
Run "Task> Run Task" and choose any task.
"npm: start"
Verify terminal execution

Executing task in folder test: npm run start <
/usr/bin/zsh: can't open input file: /d
The terminal process terminated with exit code: 127
Terminal will be reused by tasks, press any key to close it.

/d argument commonly passed to cmd is getting passed to the zsh integrated terminal.

Does this issue occur when all extensions are disabled?: Yes/No
Yes

@dbaeumer not clear to me where the /d argument gets appendend.
The npm script runner creates the following ShellExecution:

The terminal execution adds the /d assuming that under Windows the default is cmd.exe if we don't know it. I can add support for zsh.exe but a better way would be to control the shell for tasks independently from the terminal.

The terminal execution adds the /d assuming that under Windows the default is cmd.exe if we don't know it. I can add support for zsh.exe but a better way would be to control the shell for tasks independently from the terminal.
Added zsh.exe. Closing since I have and issue to seperate the terminal from task shell.


Turkish Support please

Can you add Turkish please? Thx

What do you need?

That is now available in the latest version


Few more Inference Endpoints fixes

What does this PR do?

Fix clear request with an ID (it was causing a crash on server).
Raise an error when there are too many requests (it should never happen, but it's good to handle that).
Add more prefill lengths to warmup. It will take longer, but it will end up in faster inference for shorter prompts, at least until we find a better fix for bucketing and padding not working as expected.
Image version set to 0.1.2 (ready for release).

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Fix validator when default value is used

Found this issue because a user was querying target=summarize(<metrics>,"15min"), without specifying the func parameter. By default the func parameter is sum, but the validator threw an exception because None is not a valid value for func.
The first commit adds a test to illustrate the problem, the second fixes it and makes the test passes.

Good idea, your suggestion would make it nicer. I'll do that in a future PR then once this is merged.


Ignore files and folders starting with '.' in

It will reduce the noise in the NOT_INCLUDED warning.
@yarikoptic and @satra - what do you think?
Related to #293 and https://github.com/nipy/heudiconv/issues/106

@chrisfilo - isn't @mgxd suggestion of generating a bids config file sufficient to handle this?

Yes it would, but it requires directing heudiconv users to perform a custom step which is not ideal. I would like the whole process to be as straightforward as possible for users.
There are also other '.' files such as .DS_store on mac.
Do you see a substantial downside of ignoring '.' files in the validator?

@chrisfilo - it wouldn't require heudiconv users to do a custom step. whenever they use -b, a bids config file will be created with the hidden files ignored. i'm assuming this gets used automatically by the validator.
regarding hidden files, perhaps bids will use hidden files in the future, who knows !?!
to generalize this a bit more, one can consider that we use a .bidsignore file, but i see the config option as being sufficient for now.

The config file is provided as command line option - it is not read automatically from the validated dataset (the config files were meant to be reused across datasets - for example by a repository that has specific, more strict metadata requirements). This means users will have to provide this command line option and point to the config file generated by heudiconv. It is also not possible to provide config files for the online version of the validator.
If BIDS will start using '.' files in the future we can modify the validator.
The concept of a .bidsignore file is definitely appealing and worth implementing at some point. However, changing the defaults might improve the user experience (especially for people with less expertise).

Actually in theory this test should already ignore '.git' subdirectories.
https://github.com/INCF/bids-validator/blob/c82f0064ad95c8fee5a3f42776d590444acbcf48/utils/type.js#L63
called in:
https://github.com/INCF/bids-validator/blob/c82f0064ad95c8fee5a3f42776d590444acbcf48/validators/bids.js#L219

that one seems to be ignoring .git only on the top level. (what about any subdirectory being a git submodule?)
.bidsignore indeed sounds handy... what syntax would it be? ;)

It ignores /.git and all of its subdirectories. We would have to add some thing for submodules (again I think ignoring all . and their subdirectories at any level would be most user friendly)
.bidsignore should probably follow the same syntax as .gitignore. It would be cool, but I doubt it will get much use outside power users.

hidden ('.') files are now ignored reducing the noise #368


Make mod_auth_matrix_user_verification lookups async

So we don't block prosody.
Removes usage of "http" lua library, using the
prosody built in HTTP library instead.

Closing in favour of #11


nz-tabset nzCentered not working

Reproduction link
https://stackblitz.com/edit/angular-cspyyo?file=src/app/app.component.ts
Steps to reproduce
1.set [nzCentered]="true"
2.tabs not display center
What is expected?
tabs display center
What is actually happening?
tabs not display center

Environment
Info

ng-zorro-antd
11.4.1

Browser
chrome

in version 10 nzCentered is working
version 11.4.1 not working

@hsuanxyz we need to sync styles 😃
https://github.com/ant-design/ant-design/pull/30106/files

@stygian-desolator Can you submit a PR for this? Because components/style/themes/default.less:L242 has not been fully tested


bypassSecurityTrustHtml in formly lib increases potential for XSS

Description
The addition of bypassSecurityTrustHtml in this change raises some security concerns due to the potential of library clients using the safeHtml flag incorrectly. This is limiting us from bringing formly into our internal project.
Suggested alternative is to change template type to (string | SafeHtml) and let consumers call bypassSecurityTrustHtml themselves if they so choose. This is needed to avoid compilation error described here -https://github.com/ngx-formly/ngx-formly/issues/2039#issuecomment-583890544
This helps stick to the angular team's guidance on using bypassSecurityTrust functions - "When using bypassSecurityTrust..., make sure to call the method as early as possible and as close as possible to the source of the value, to make it easy to verify no security bug is created by its use."
Minimal Reproduction
Commit in question - https://github.com/ngx-formly/ngx-formly/pull/2090/commits/2205eaed7eb55925a45979a6d49a93aebbe14bd8

bypassSecurityTrustHtml is not enabled by default, you must pass true to safeHtml option in order to by pass it.

You can even prevent using that feature in your app by creation a custom extension and throw an Error when safeHtml is true.


fix(button outline): adding button outline to individual card icons. removing from transparent

@bluepnume I'm also working on changes to only show outlines when tab is pressed. We can wait for those changes to merge if you think that's appropriate.


fix: nullability issue in projections

Addresses #3029

Addresses #3029

I think you tagged the wrong issue. This looks more like #3028


Fix compilation with Xcode >= 16.0

I came across the issue when my package (which indirectly depends on Jinja) was built on swiftpackageindex.com
The build resulted in error, more info here:
https://swiftpackageindex.com/builds/EF6D0DF9-542C-47AE-9D1A-D16C8790BF71
Looks like the easiest fix is to provide a separate Package.swift for Swift 6.0. To repro it locally you can try to build it from command line using:
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun xcodebuild -skipMacroValidation -skipPackagePluginValidation build -scheme Jinja -destination platform=macOS,arch=arm64 OTHER_SWIFT_FLAGS=-strict-concurrency=complete

Without<EMAIL_ADDRESS>this should give an error, with it, it should build.

Same happens in swift-transformers repo https://swiftpackageindex.com/builds/F6095453-30D2-4175-8FBF-E28D9AD440FE it fails to compile because seems like swift 6 has BareSlashRegexLiterals enabled by default https://github.com/swiftlang/swift-evolution/blob/main/proposals/0354-regex-literals.md#source-compatibility

Another solution would be to wrap regex literals in #/.../#, let me know how you want to proceed @maiqingqiang

Thank you, I'll review it tonight.

Adding<EMAIL_ADDRESS>only solved the build issue, it didn't really make Jinja support Swift 6, right?

Adding<EMAIL_ADDRESS>only solved the build issue, it didn't really make Jinja support Swift 6, right?

yes, that's correct, it makes Jinja compile with >= Xcode 16.0, I'll update the PR title

Another solution would be to wrap regex literals in #/.../#, let me know how you want to proceed @maiqingqiang

Perhaps we could do it this way?
https://github.com/swiftlang/swift-evolution/blob/main/proposals/0362-piecemeal-future-features.md
#if compiler(>=5.7)
  #if hasFeature(BareSlashRegexLiterals)
  let regex = /.../
  #else
  let regex = #/.../#
  #endif
#else
let regex = try NSRegularExpression(pattern: "...")
#endif

Another solution would be to wrap regex literals in #/.../#, let me know how you want to proceed @maiqingqiang

Perhaps we could do it this way? https://github.com/swiftlang/swift-evolution/blob/main/proposals/0362-piecemeal-future-features.md
#if compiler(>=5.7)
  #if hasFeature(BareSlashRegexLiterals)
  let regex = /.../
  #else
  let regex = #/.../#
  #endif
#else
let regex = try NSRegularExpression(pattern: "...")
#endif

Looks good, however:

this might be a bit excessive because this package will not work with Swift < 5.8, that's the version which is specified in Package.swift
why don't we wrap every regex literal between # so for example this line becomes .replacing(#/{##}/#, with: "")wdyt? This way we don't need additional package.swift for swift 6 only

Sure, you can directly use .replacing(#/{##}/#, with: "").


Feature/Send Storage Regions [PLAT-685]

❗ Depends on https://github.com/CenterForOpenScience/osf.io/pull/8218, must be merged first
Purpose
Send saved storage region to WB as part of stored auth request.
Changes

Pulling waterbutler_settings and waterbutler_credentials off of associated Region object, rather than settings.
QA Notes

Side Effects

Ticket
https://openscience.atlassian.net/browse/PLAT-685

Replaced by https://github.com/CenterForOpenScience/osf.io/pull/8358