No dependencies specified for target ...

Hello!
I'm excited to use Accio and I've started converting a project over to using SwiftPM's Package.swift to be able to.
However one of the dependencies of the project can't be resolved automatically (it doesn't use default folder structure, has targets using overlapping source...). I've tried creating a simple Package.swift to specify custom source folders (and only support one target 🙄) but it seems SwiftPM requires my target have at least one dependency. When I test the dependency's Package.swift file against Accio I get this:
❯ accio install
✨  Reverting any changes in the checkouts directory ...
✨  Resolving dependencies ...
✨  Reading package manifest at /Users/ian/Documents/Adorkable/Eunomia/Package.swift ...
✨  Generating dependency graph ...
⚠  No dependencies specified for target 'Eunomia-iOS'. Please add at least one dependency scheme to the 'dependencies' array of the target in Package.swift.
Error: The file “Package.resolved” couldn’t be opened because there is no such file.

For reference the dependency can be found here.
This is likely more a lack of understanding of how I should be writing for SwiftPM and me not fully grasping its usage, let me know if this is the right or wrong place to have this discussion.

@yoiang Hey, thanks for asking the question. Sure, I will try to help you, although usually such questions should be asked on sites like StackOverflow (where it's easier for people to find the answer later) – but here's also okay.
To understand the problem at hand, let me differentiate between two different kinds of Package.swift manifest files: App Manifest (AM) files and Dependency Manifest (DM) files.
AMs always look like this (copied from the README):
// swift-tools-version:5.0
import PackageDescription

let package = Package(
    name: "XcodeProjectName",
    products: [],
    dependencies: [
        .package(url: "https://github.com/Flinesoft/HandySwift.git", from: "2.8.0"),
        .package(url: "https://github.com/Flinesoft/HandyUIKit.git", from: "1.9.1"),
        .package(url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git", from: "1.6.2"),
        .package(url: "https://github.com/radex/SwiftyUserDefaults.git", from: "4.0.0"),
    ],
    targets: [
        .target(
            name: "AppTargetName",
            dependencies: [
                "HandySwift",
                "HandyUIKit",
                "SwiftyBeaver",
                "SwiftyUserDefaults",
            ],
            path: "AppTargetName"
        ),
    ]
)

Please note that AMs are placed within your App project (e.g. iOS project) in the root and usually created with the accio init command. Their goal is to specify which targets of your project have which dependency requirements.
Next, there's DMs which can look different depending on the structure of the dependency. E.g.:
// swift-tools-version:4.2
import PackageDescription

let package = Package(
    name: "LibraryName",
    // platforms: [.iOS("8.0"), .macOS("10.10"), .tvOS("9.0"), .watchOS("2.0")],
    products: [
        .library(name: "LibraryName", targets: ["LibraryName"])
    ],
    targets: [
        .target(
            name: "LibraryName",
            path: "LibraryName"
        )
    ]
)

This is an example DM of a dependency which doesn't have any subdependencies. The linked project (Eunomia) doesn't have any subdependencies, so a structure like this should be fine for it. If it had dependencies, then (and only then) you would need to define dependencies, which then could look something like this:
// swift-tools-version:4.2
import PackageDescription

let package = Package(
    name: "LibraryName",
    // platforms: [.iOS("8.0"), .macOS("10.10"), .tvOS("9.0"), .watchOS("2.0")],
    products: [
        .library(name: "LibraryName", targets: ["LibraryName"])
    ],
    dependencies: [
        .package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "4.1.0")),
        .package(url: "https://github.com/antitypical/Result.git", .upToNextMajor(from: "4.0.0")),
    ],
    targets: [
        .target(
            name: "LibraryName",
            dependencies: ["Alamofire", "Result"],
            path: "LibraryName"
        )
    ]
)

I hope this clarifies things a little. But unfortunately I couldn't find a fork of the linked Eunomia project in order to check if anything's wrong with your manifest. Please, could you both post the DM of the dependency and also your AM contents of your app, so I could help better?

It does! It means I was creating the DM Package.swift correctly (now pushed into https://github.com/Adorkable/Eunomia/tree/feature/SwiftPM), I was receiving this error running Accio in the dependency root to validate it's format locally before pushing it but I guess SwiftPM/Accio install isn't really the right method. Is there a method for testing/linting a DM Package.swift locally?
However from my main project's Package.swift I am now getting:
Error: The operation couldn’t be completed. (XcodeProj.XCodeProjError error 1.) after it generates the full dependency graph.
The full file for the project's own framework (with name redactions) is:
// swift-tools-version:5.0
import PackageDescription

let package = Package(
    name: "ProjectFramework",
    products: [
        .library(name: "ProjectFramework", targets: ["ProjectFramework"]),
    ],
    dependencies: [
        .package(url: "https://github.com/Adorkable/Eunomia.git", .branch("feature/SwiftPM")),
        .package(url: "https://github.com/Adorkable-forkable/KeyboardAdjuster.git", .branch("feature/SwiftPM")),
        .package(url: "https://github.com/Adorkable-forkable/FontAwesome.swift.git", .branch("feature/SwiftPM")),
    ],
    targets: [
        .target(
            name: "ProjectFramework",
            dependencies: [
                "Eunomia",
                "KeyboardAdjuster",
                "FontAwesome"
            ],
            path: "ProjectFramework"
        ),
    ]
)

Aside, does an AM require a .executable product?

I figured it out, unknown to me some tool added *.xcodeproj to the .gitignore therefore my project was missing its contents. Thanks for your help!


Incompatibility with snakeyaml 2.0

In our project, prisma indicates a vulnerabylity in snakeyaml and suggested to use the version 2.0

The problem is that Tzatziki seems incompatible with it

Can you upgrade?

Also, please note that it is probably not that much of an issue unless another framework than Spring Boot uses this dependency : https://github.com/spring-projects/spring-boot/issues/34405#issuecomment-1450280581

(tell us if it's okay for you so we can close this issue if it is)


Install Failure 0x80070659

When trying to install as standard user account receive error 0x80070659 installation is forbidden by system policy.
If I elevate to an admin  account the software installs into the admin's profile, not mine.
Need a way to specify installation directory, or to install application system-wide.
Version 1.0.47
OS Server 2016

@CGretski Do you have permissions to install MS Server prevents installation if unauthorized.


C# wrapper can crash

It looks like the C# wrapper is not following "best practices" of calling native code. I think you are just getting lucky that the code is not crashing on you (likely since the reference is long-lived).
Please use GC.KeepAlive() to ensure the GC doesn't finalize YodaNode object while you are within a native function call. Some background:
https://goo.gl/WeL3H4
https://msdn.microsoft.com/en-us/library/ms182300.aspx
https://blogs.msdn.microsoft.com/oldnewthing/20100813-00/?p=13153
I would also suggest creating a light-weight "handle" class whose sole purpose would be holding the native IntPtr and finalization of it. It is a poor practice to have a finalizable object that's holding many managed references. Why? Because now they cannot be collected until the owning object has fully died (as they could potentially be needed by its finalizer method). Literature and a much deeper explanation is available in this excellent book by Marcus Heege.

@itsff Can you share a concrete example of the scenario that we need to call GC.KeepAlive()? I think all managed objects already live longer than the associated unmanaged objects.

@splhack I just read through most of the provided links and did some research. It seems the following is true if you run this outside of visual studio
If if you are inside a object method the finalizer can be run:
YogaNode node = new YogaNode();
node.Width = 10;
node.CalculateLayout();

That means, it could be that the node gets finalized inside the CalculateLayout() function.
Which means the memory gets freed while the calculation runs.
The suggest fix is to use SafeHandle instead of IntPtras the interop marshaler handles this in a special way to ensure that this doesn't get freed inside an interop call.
I think the following should work, do you agree @itsff ?
    internal class YogaNodeHandle : SafeHandleZeroOrMinusOneIsInvalid
    {
        private YogaNodeHandle()
            : base(true)
        {
        }

        [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
        protected override bool ReleaseHandle()
        {
            Native.YGNodeFree(handle);
            return true;
        }

    }

and change the Native.cs like, e.g.:
        [DllImport(DllName)]
        public static extern void YGNodeCopyStyle(YogaNodeHandle dstNode, YogaNodeHandle srcNode);

and removing the Finalizer from YogaNode.

Well done, @woehrl01.
Moving to a dedicated SafeHandle class should address both of my concerns. First and foremost, the automatic marshaller will ensure the SafeHandle isn't disposed while the library is making a P/Invoke call. Second, moving away from having a finalizer in YogaNode will allow managed objects referenced by YogaNode to be GCed earlier, thus improving overall efficiency.
To add some background to our discussion: C# is one of those languages where a lifetime of an object can (and often is) much shorter than the "scope" it is declared in. The CLR will mark objects eligible for collection as soon as they are no longer used. As @woehrl01 pointed out in his comment, the last time the node object is being referenced is within the body of YogaNode::CalculateLayout when its private IntPtr member variable is read. So node can be destroyed by the GC while the execution is still within YogaNode::CalculateLayout right before the invocation of the native static function. YogaNode's finalizer will kick in on its own thread, and in turn delete the native memory being used by the native function. To prevent this from happening, there are basically two options: either call GC.KeepAlive(obj) to mark the object as still in use, or (as @woehrl01 suggested) switch to using a SafeHandle so that the framework can reference count your native calls.

@woehrl01 or @itsff could you open a PR with these changes. Great find!

@itsff cool, I leave it up to you. I don't mind doing the PR. Don't want to heist some "credits" so. 😄

Sounds good, gentlemen. I will do a PR tonight. @woehrl01 @emilsjolander

It seems Microsoft.Win32.SafeHandles is available on all Unity platform https://github.com/OSVR/Managed-OSVR/pull/10#r31332441

Please use this NuGet package so the behavior is correctly polyfilled across all NETstandard platforms:
https://www.nuget.org/packages/System.Runtime.Handles/4.3.0

Resolved by PR #297


added a callback controller example

It fires a callback when a one shot animation finishes.
I figured there wasn't an easy way in this new runtime to listen for a one shot animation completion. And by asking over on twitter, I was pointed to this repository by Guido Rosso.
I came up with my own solution to the problem and thought I might share it, it could be useful to someone else.
How to run it.
I decided to keep it really simple, so when the example starts, the animation starts along with it, and when it finishes it updates the button color and text. In order to restart the animation, a reload is required.

This is superseded by PR #9

This is superseded by PR #9


Can we have a sample when we use several fields for the category?

I have scenarios where I have several fields for the category and I want to have a selection based on the combination of those field values/categories.
How can this be achieved?
Thank you

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

ID: 75effaec-3c6e-83c9-c26e-8e58046cb347
Version Independent ID: 971d9758-f10b-cddb-f6fa-c007e193e457
Content: Power BI visual data point selections - Power BI
Content Source: powerbi-docs/developer/visuals/selection-api.md
Service: powerbi
Sub-service: powerbi-custom-visuals
GitHub Login: @KesemSharabi
Microsoft Alias: kesharab

Hi @djpirra , thanks for you comment. I have forwarded it along to the doc author for consideration.

@uve - is it possible to do what @djpirra describes?

Hi @djpirra, you can create a new SelectionID for each of your columns:
const categorySelectionId0 = this.host.createSelectionIdBuilder()
        .withCategory(categories[0], categoryIndex)
        .createSelectionId();

const categorySelectionId1 = this.host.createSelectionIdBuilder()
        .withCategory(categories[1], categoryIndex)
        .createSelectionId();


[SAFARI] TypeError: undefined is not an object (evaluating 'chrome.management.getSelf')

TypeError: undefined is not an object (evaluating 'chrome.management.getSelf')

Simply the live reload script because of using the yarn dev-chrome-prod


Configured remotes not showing up in quickpick menu when opening commit on remote

I set the output level to debug, but it doesn't output anything.

GitLens Version: 2021.3.1104
Git Version: 2.28.0
VSCode Version: 1.54.3
OS Version: macOS 11.2.3

Steps to Reproduce:

set gitlens.integrations.enabled to true
Based on https://github.com/eamodio/vscode-gitlens#remote-provider-integration-settings- add this to settings
"gitlens.remotes": [{
"domain": "code.company.com",
"type": "Custom",
"name": "company",
"protocol": "https",
"urls": {
"repository": "https://code.company.com/packages/${repo}",
"branches": "https://code.company.com/packages/${repo}/repo-info",
"branch": "https://code.company.com/packages/${repo}/trees/heads/${branch}",
"commit": "https://code.company.com/packages/${repo}/commits/${id}",
"file": "https://code.company.com/packages/${repo}?path=${file}${line}",
"fileInBranch": "https://code.company.com/packages/${repo}/blobs/${branch}/--/${file}${line}",
"fileInCommit": "https://code.company.com/packages/${repo}/blobs/${id}/--/${file}${line}",
"fileLine": "#L${line}",
"fileRange": "#L${start}-L${end}"
}
}],
Save
Restart VS Code
Go to COMMITS tab in source controll.
Click 'Open Commit on Remote' next to a commit

Expected: opens commit on the configured remote.
Actual: 'No auto-detected or configured remote providers found' shows up in quickpick menu as if nothing was ever configured

Yup, experiencing this.

Can either of you post what the output of git remote -vv returns? Because the domain of the custom remote definition has to match the domain of your Git remote.

Certainly, it's different. But the purpose with Custom remote should enable us to add any domain, I believe we should treat this as a bug.

So the domain and git remote -vv are different, but I was under the impression that this would still allow us to open a webpage in the browser using this template: https://code.company.com/packages/${repo}/commits/${id} with the repo and id fillied in from that corresponding commit.

The gitlens.remotes property allows you to configure custom remote "matchers", so GitLens uses those configured custom remotes in addition to its built-in remote support for GitHub, Bitbucket, etc, to match against your repository remotes. If a match is found, then the urls configuration is used to open resources. So the domain property or the newly added regex property must be specified to perform that match.

Ah I see. That makes sense. I ran into another issue. So git remote -vv shows this
backup  ssh://git.company.com:2222/pkg/RepoName/backup/username (fetch)
backup  ssh://git.company.com:2222/pkg/RepoName/backup/username (push)
origin  ssh://git.company.com:2222/pkg/RepoName (fetch)
origin  ssh://git.company.com:2222/pkg/RepoName (push)
share   ssh://git.company.com:2222/pkg/RepoName/share/username (fetch)

I have changed the domain to be git.company.com. However now ${repo} in the URL resolves to pkg/RepoName(https://code.company.com/packages/pkg/RepoName) instead of just RepoName (https://code.company.com/packages/RepoName).

So for that you'll need to use the regex property instead of domain and the first capture group is the domain part and the 2nd capture group is the repo

So for that you'll need to use the regex property instead of domain and the first capture group is the domain part and the 2nd capture group is the repo

@eamodio Could you please provide an example? I couldn't find it in the README.md document. Thanks!

For this domain
origin  ssh://git.company.com:2222/pkg/RepoName (fetch)
I tried
"regex": "ssh:\\/\\/(git.company.com):2222\\/pkg\\/(\\w+)"
"regex": "(ssh:\\/\\/git.company.com:2222)\\/pkg\\/(\\w+)"
"regex": "ssh:\/\/(git.company.com):2222\/pkg\/(\\w+)"
"regex": "(ssh:\/\/git.company.com:2222)\/pkg\/(\\w+)"

and none of them work. Could you please add documentation in the README.md on how use the regex property with some examples.

I have the original problem (No auto-detected or configured remote providers found). I have several equivalent remotes defined (for configuration reasons), and my employer has a custom protocol (sso), could either of those cause the problem?
$ git remote -vv
origin  sso://our-domain/repo-name (fetch)
origin  sso://our-domain/repo-name (push)
origin-3.2.0-hotfixes   sso://our-domain/repo-name (fetch)
origin-3.2.0-hotfixes   sso://our-domain/repo-name (push)
origin-v3.0.0   sso://our-domain/repo-name (fetch)
origin-v3.0.0   sso://our-domain/repo-name (push)
...

settings.json:
    "gitlens.integrations.enabled": true,
    "gitlens.remotes": [{
        "domain": "our-domain",
        "type": "Custom",
        "name": "Company Name",
        "protocol": "sso",
        "urls": {
            "repository": "...",
            "branches": "...",
            "branch": "...",
            "commit": "...",
            "file": "...",
            "fileInBranch": "...",
            "fileInCommit": "...",
            "fileLine": "...",
            "fileRange": "..."
        }
    }]

Is there some more information I can provide? I don't want this issue to be closed – it still affects me.

This also affects me, It used to work before but doesn't anymore, what information do you need?

FYI I tried removing my other remotes, so there's only one:
$ git remote -vv
origin  sso://our-domain/repo-name (fetch)
origin  sso://our-domain/repo-name (push)
$

I've tried setting gitlens.integrations.enabled and gitlens.remotes in my user settings and/or workspace settings (first one, then both, then only the other). I quit and restart VSCode. I still get "No auto-detected or configured remote providers found" :-(
Also, I typically ssh into a remote server to work (through VSCode's Remote - SSH extension), but I tried working out of a local folder and had the same problem.

Bump. Having the same issue here trying to use Bitbucket with GitLens. :-(

Sorry for the delay and confusion around this issue. I think I've gotten to the bottom of it, and I added 2 new examples in the README that use the regex property.
Can you please verify this fix in tomorrow's GitLens insiders edition?
You can install the GitLens insiders edition from here. Be sure to disable/uninstall the stable version of GitLens first.

Hey thank you so much for the fix!
It works for me. However, I got an Invalid escape character in string  error when using what you had in the README example.
"ssh:\/\/(my\.company\.com):1234\/git\/(.+)"
This is because \. is not a valid escape character in JSON. This caused me to dig deeper into what is actually required.
To make it work, you could remove replace \. with just . like so
"ssh:\/\/(my.company.com):1234\/git\/(.+)"
which works, but it could match other incorrect strings as well.
A better fix would be to properly escape the \ by replacing \. with \\. like so
"ssh:\/\/(my\\.company\\.com):1234\/git\/(.+)"
I also found out that in JSON, you can, but are not required to escape /. \/ is just as valid as /. Allowing \/ helps when embedding JSON in a <script> tag, which doesn't allow </ inside strings. So this means that the example in the README could be simplified to only escape the . with two \ and leaving everything else alone.
"ssh://(my\\.company\\.com):1234/git/(.+)"

Thanks, I've fixed the example.

Hi @eamodio , I'm having issues in a similar vein to the above users, and I think the regex option might be the key, but I can't seem to find any docs explaining how it works, only some examples silently using it.
A few questions I think might be handy to explain about the regex option:

What exactly does it do / allow in the remotes configuration?
What are the capture groups for? For example: (my\\.company\\.com) and (.+)
Is the option specific to ssh-related URLs, or would http/https URLs also work?

If there are already docs explaining all this, if someone could link to those I'd appreciate it, I wasn't able to find them 😞


Allow custom RSS Uri for section and taxonomy feeds

Replaces the hardcoded index.xml address with RSSUri variable in site config. Refs #1147

Merged in 3cee9b7


Windows is Not Responding since upgrade

Issue Type: Bug
Ever since the latest upgrade, I get "The Window is No Longer Responding" several times per day. I had not seen this popup before this release, and haven't changed my extensions recently.
VS Code version: Code 1.29.0 (5f24c93878bd4bc645a4a17c620e2487b11005f9, 2018-11-12T07:39:38.932Z)
OS version: Darwin x64 17.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz (12 x 2900)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
32.00GB (1.46GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (6)

Extension
Author (truncated)
Version

Bookmarks
ale
9.2.0

prettier-vscode
esb
1.7.2

smarty
imp
0.3.0

trailingwhitespacehighlighter
paj
0.0.2

vscode-hack
pra
1.1.0

save-and-run
wk-
0.0.21

(1 theme extensions excluded)

Same issue on MacOS since 1.29.0

I got it too on Windows (1.29). I wasn't doing anything in particular (debugging C++ code).

Try 1.29.1, we fixed an issue like this.


Inform users about the privacy implications when using "show remote images"

It might not be obvious to users why the app doesn't fetch remote images by default. We should show an explanation/warning, e.g. when the user presses the "show remote images" button for the first time.
We'll probably want to combine this with …

#1035
#6881

… and other options supported by Thunderbird (desktop).
This needs UI/UX design.

Why not just block images with trackers? #6125

These are two different things. Blocking known trackers is something we also want to add. But the only guarantee to not be tracked is to not load any remote content.


[VS Code] Did not prompt sign-in from user who was invited to session

Error:
Did not request sign-in from user joining the session.
Product and Version [VSCode]: 1.21.1
OS Version [Windows]: 10
Live Share Extension Version:  0.2.260
Target Platform or Language [e.g. Node.js]: React.js
Steps to Reproduce / Scenario:

Share session link with a co-worker who is not signed into Live Share Plugin
The co-woker will open the link in chrome
They click on the link and open it in VSCode
It will open a new VSCode session and present an empty window as the Co worker is not signed into the Plugin

Details
I went through the documentation with my co-worker and the documentation for the owner provided here:
4. Send someone the invite link
However that does not specify that the user requires to be signed in, it even says that they do not need to be signed up which we assumed meant that it would work out the box. We then looked into the Joiner documentation here:
4. Sign in from within your IDE/editor
The details of the documentation said the following: "To let other collaborators know who you are, you may be asked to sign in during the join process". However the co-worker was never prompted or asked to sign in and was just presented with an empty VSCode window.
When the co worker signed in the Live Session worked perfectly but it was an unnecessarily confusing and perhaps we misunderstood the meaning of the documentation, or the documentations should be further clarified.

Hey @zecuria - Thanks for reporting this. They should indeed be prompted to sign in. This may be the same as #89.  What we have recently noticed is that in certain circumstances if someone clicks to join a collaboration session before Live Share has completed the installation process (denoted by "Finishing the Live Share Installation" in the status bar), we sometimes loose the fact that VS Code was started up with a link.
Do you know if the guest joined prior to the step completing?  For example, reloading and then immediately clicking on the link.

I can confirm that they had completed the installation process as after installing and restarting they also updated their VSCode version twice from 1.19.3 > 1.21.0 > 1.21.1 and only after confirming that they had no updates remaining did they click on the link.
They restarted VSCode multiple times and attempting to join the session however it did not work. And they were just presented with a blank screen each time. Until they logged after which it worked correctly.

@zecuria Very interesting. We'd love to get a look at their logs.  Could you run the "Live Share: Export Logs" command and either just drag-and-drop the zip into a comment here or email them to<EMAIL_ADDRESS>

This the log file:
log.zip
Hopefully that helps

@zecuria Thanks very much! We'll take a look.

We just released v0.2.399 that should resolve this issue!  Let us know if it is still happening for you.


OpenRouter API Support

I love this extension and I have been using it heavily as part of vscode. However, im slowly starting to see custom tuned models outperforming GPT in many coding aspects.
While its hard to integrate and cater to many models, there are tools like OpenRouter ( https://openrouter.ai/) that provide a unified API gateway to many such models including GPT.
While it might be a big effort, i think supporting open router can significantly help a lot of developers like me.
Happy to provide any testing or documentation support for this effort

Glad to hear it Ram! Apologies if this extension is starting to feel neglected, I haven't gotten much time of late to work on it.
OpenRouter looks nice, from the docs you actually may be able to use OpenRouter with this extension right now because it says it's compatible with the OpenAI API. If you change the baseURL in the extension to https://openrouter.ai/api/v1 you may be able to use it already. But, I definitely support and any open-standards initiatives.
So, making it more clear in the extension what services are compatible and making it easier to set that up is something I can work on adding.

@Christopher-Hayes I changed the baseURL and set the corresponding API keys I got the following error
401 Unauthorized

Make sure your API key is correct, you can reset it by going to "More Actions" > "Reset API Key". Potential reasons:

- 1. Incorrect API key provided.

- 2. Incorrect Organization provided.

See https://platform.openai.com/docs/guides/error-codes for more details.

Also when I change the baseURL to https://openrouter.ai/api/v1, I'm unable to reset the API Keys

@Christopher-Hayes please let me know if you need me to any additional test. Supporting open router can help to use a wide range of models beyond OpenAI.

Added in v3.23.0. Open Router is very nice.


feat: ✨ add button tokens

✅ Checklist
General

[ ] I have added tests for my changes.
[ ] I have tested my changes.
[ ] I have updated the project documentation to reflect my changes.
[ ] I have made sure to follow the projects coding and contribution guides.

Component

[ ] I have created a new component.
[ ] I have added changes to an already existing component.
[ ] I have written integration tests (or have adjusted already existing ones).
[ ] I have validated that there are no accessibility errors.
[ ] I have created or updated any stories affected by my changes.
[ ] I have used design tokens instead of fix css values

I changed the title to fit to our guidelines.


Porting Angular 1 demos

At the moment there are 4 examples from the old version:

Simple example, with one datetimepicker: http://plnkr.co/n8L8UZ
Example with two, linked datetimepickers: http://plnkr.co/ZSjN8f
Validation example: http://plnkr.co/NmFt43
From/To validation example: http://plnkr.co/ZeKX7z

I am not sure how validation would work with Angular 2 - it is a place for discussion.
I have created a simple plunker demo, but it is not done "properly" and not all the functions work.
Fix list:

[ ] moment library can not be used in app.ts
[ ] datetimepicker dirty import is required for library to be imported

At the moment I do not know how to fix the above.
Thanks for help.

Sorry, the examples you provide is for Angular 1 or Angular 2?

i have found a great description about problem with Id in Angular2
http://papajuras.com/index.php/2016/03/27/jquery-and-angular2/

@sireneweb the link might be helpful, thanks.
I have also clarified the post.
I had created an eonasdan-datetimepicker wrapper for Angular 1 and it is working quite well now. I want to adapt all the features to Angular 2 version so it could meet different requirements.


Add sticky navbar

There should be a navbar at the top based on mockup: https://marvelapp.com/4693b4e/screen/49013639
It should have a logo on the left side.
Buttons:

About
Mentorship
New
Contact
Login/Logout

Updated mockup: https://xd.adobe.com/view/5068a91e-cd43-466c-6cff-7f3d00f10085-2659/?fullscreen


Sync API doc filtering with URL query

This PR closes #490

looks reasonable to me

for some reason this breaks the API docs page for me (I get no content) but I suspect that I did a bad rebase.

I rebased it here: #507 testing locally now


Upgrade dependencies

Description
Upgrades dependencies

Codecov Report

Merging #60 (46d3b2d) into main (c007625) will increase coverage by 0.09%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #60      +/-   ##
==========================================
+ Coverage   80.88%   80.97%   +0.09%
==========================================
  Files          36       36
  Lines        2197     2197
==========================================
+ Hits         1777     1779       +2
+ Misses        300      299       -1
+ Partials      120      119       -1

see 1 file with indirect coverage changes


Do not display keyboard logging from sensitive inputs?

For example when typing into an input field that is for passwords the values are displayed and logged, can this be removed or an option provided to remove. I understand silent mode can be enabled but by default some sensitive input fields might not want to be logged to the windows screen.

I second this! :)


Update DenyExecOnPrivileged removal to release 1.21

Update DenyExecOnPrivileged removal to release 1.21 on master (live) branch
/assign @sftim

Hi @reylejano .
I'm not sure I understand your intended branch/change.
Typically, the docs do not make future statements, though I understand that the comment is outdated.
How about modifying the sentence:
The DenyExecOnPrivileged admission plugin is deprecated?

@kbhawkey this is more of a doc bug fix as the current page is incorrect that DenyExecOnPrivileged was not removed in 1.18, it was removed in kubernetes/kubernetes#98669 for the 1.21 release

👍

/retitle Update DenyExecOnPrivileged and DenyEscalatingExec deprecation notice

Are other updates required?
/lgtm

/approve


how to get previous router name?

i want go to different router by different previous router

Please be more specific, I don't understand anything. Currently only one Router is supported per app.


[readme] Remove defunct donation address

@casey: That address should be defunct, right?

It's an on-chain address, so we can still receive funds with it, and I'm guessing it's from our Lightning wallet, which I have the seed for, so if it received funds we could restore the wallet and get at the funds. I'm still fine with removing it though, since I haven't been checking it for funds and will probably forget to do so in the future.


=2.11.0

Hi,
I am using latest version. When I run the tool, iseq creates a file in my home named '=2.11.0'.
best
nic

Hi,
Now, you can try the latest version, iSeq v1.5.0 (Also can be installed or updated by Bioconda later). Thank you again for pointing out the issues.
Bset

many thanks
nic


Missing Information In Linux- In Depth Guide

This is probably a bug with the code highlighting breaking or taking too long.  Perhaps we should throttle it

Environment:
Ubuntu 16.04 LTS
Firefox
Missing Pieces of Highlighted Instructions While in Linux
Explanation:
Several of the highlight boxes are missing instructions.

 Did you clear the browser cache? This is what I am seeing in Ubuntu 15.04 on Chrome:

Some of them appear to be cleared but I'm still seeing missing pieces.  I am on Ubuntu 16.04 Chrome:

I just published another change which seems to be working for me on my VM and in Browserstack. Can you double check please?

Hi David!  Sorry, I'm only in on Mondays and Fridays, so just now seeing this.
Unfortunately, I'm still seeing some areas where info is missing, though it seems to have cleared up some of the issues.  This is some of what I'm seeing on Chrome with my cache cleared:
Missing Info

MIssing Info

MIssing Info

There are more missing pieces but I don't know if it's helpful to list them all.  If so, I'll go in and grab them.

Probably closed by: https://github.com/donejs/donejs/issues/708


[BUG] Unable to read JSON from Detectron2 inferences

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
ubuntu20.04
FiftyOne installed from (pip or source):
pip
FiftyOne version (run fiftyone --version):
v0.13.1
Python version:
3.8.8

Commands to reproduce
data_path = "./SDO_COCO/test/images"
labels_path = "./SDO_COCO/data/coco_instances_results.json"
dataset = fo.Dataset.from_dir(dataset_type=fo.types.COCODetectionDataset,data_path=data_path,labels_path=labels_path,)

Describe the problem
Trying to load the predictions from a MaskR-CNN of Facebook Detectron2 framework the I got the following errors:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-3-a03eefad9dcb> in <module>
      5
      6 # Import the dataset
----> 7 dataset = fo.Dataset.from_dir(dataset_type=fo.types.COCODetectionDataset,data_path=data_path,labels_path=labels_path,)

~/anaconda3/envs/pytorch/lib/python3.8/site-packages/fiftyone/core/dataset.py in from_dir(cls, dataset_dir, dataset_type, data_path, labels_path, name, label_field, tags, **kwargs)
   3325         """
   3326         dataset = cls(name)
-> 3327         dataset.add_dir(
   3328             dataset_dir=dataset_dir,
   3329             dataset_type=dataset_type,

~/anaconda3/envs/pytorch/lib/python3.8/site-packages/fiftyone/core/dataset.py in add_dir(self, dataset_dir, dataset_type, data_path, labels_path, label_field, tags, expand_schema, add_info, **kwargs)
   2187         )
   2188
-> 2189         return self.add_importer(
   2190             dataset_importer,
   2191             label_field=label_field,

~/anaconda3/envs/pytorch/lib/python3.8/site-packages/fiftyone/core/dataset.py in add_importer(self, dataset_importer, label_field, tags, expand_schema, add_info)
   2700             a list of IDs of the samples that were added to the dataset
   2701         """
-> 2702         return foud.import_samples(
   2703             self,
   2704             dataset_importer,

~/anaconda3/envs/pytorch/lib/python3.8/site-packages/fiftyone/utils/data/importers.py in import_samples(dataset, dataset_importer, label_field, tags, expand_schema, add_info)
    106     #
    107
--> 108     with dataset_importer:
    109         parse_sample, expand_schema = _build_parse_sample_fcn(
    110             dataset, dataset_importer, label_field, tags, expand_schema

~/anaconda3/envs/pytorch/lib/python3.8/site-packages/fiftyone/utils/data/importers.py in __enter__(self)
    716
    717     def __enter__(self):
--> 718         self.setup()
    719         return self
    720

~/anaconda3/envs/pytorch/lib/python3.8/site-packages/fiftyone/utils/coco.py in setup(self)
    506                 images,
    507                 annotations,
--> 508             ) = load_coco_detection_annotations(
    509                 self.labels_path, extra_attrs=self.extra_attrs
    510             )

~/anaconda3/envs/pytorch/lib/python3.8/site-packages/fiftyone/utils/coco.py in load_coco_detection_annotations(json_path, extra_attrs)
   1199     """
   1200     d = etas.load_json(json_path)
-> 1201     return _parse_coco_detection_annotations(d, extra_attrs=extra_attrs)
   1202
   1203

~/anaconda3/envs/pytorch/lib/python3.8/site-packages/fiftyone/utils/coco.py in _parse_coco_detection_annotations(d, extra_attrs)
   1204 def _parse_coco_detection_annotations(d, extra_attrs=True):
   1205     # Load info
-> 1206     info = d.get("info", {})
   1207     licenses = d.get("licenses", None)
   1208     categories = d.get("categories", None)

AttributeError: 'list' object has no attribute 'get'

I tried to replace the square brackets with curly ones but then I ran into
---------------------------------------------------------------------------
JSONDecodeError                           Traceback (most recent call last)
~/anaconda3/lib/python3.8/site-packages/eta/core/serial.py in load_json(path_or_str)
     66         # Parse from JSON string
---> 67         return _load_json(path_or_str)
     68     except ValueError:

~/anaconda3/lib/python3.8/site-packages/eta/core/serial.py in _load_json(str_or_bytes)
     86     try:
---> 87         return json.loads(str_or_bytes)
     88     except TypeError:

~/anaconda3/lib/python3.8/json/__init__.py in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    356             parse_constant is None and object_pairs_hook is None and not kw):
--> 357         return _default_decoder.decode(s)
    358     if cls is None:

~/anaconda3/lib/python3.8/json/decoder.py in decode(self, s, _w)
    336         """
--> 337         obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    338         end = _w(s, end).end()

~/anaconda3/lib/python3.8/json/decoder.py in raw_decode(self, s, idx)
    354         except StopIteration as err:
--> 355             raise JSONDecodeError("Expecting value", s, err.value) from None
    356         return obj, end

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

JSONDecodeError                           Traceback (most recent call last)
~/anaconda3/lib/python3.8/site-packages/eta/core/serial.py in read_json(path)
    106         with open(path, "rt") as f:
--> 107             return json.load(f)
    108     except ValueError:

~/anaconda3/lib/python3.8/json/__init__.py in load(fp, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    292     """
--> 293     return loads(fp.read(),
    294         cls=cls, object_hook=object_hook,

~/anaconda3/lib/python3.8/json/__init__.py in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    356             parse_constant is None and object_pairs_hook is None and not kw):
--> 357         return _default_decoder.decode(s)
    358     if cls is None:

~/anaconda3/lib/python3.8/json/decoder.py in decode(self, s, _w)
    339         if end != len(s):
--> 340             raise JSONDecodeError("Extra data", s, end)
    341         return obj

JSONDecodeError: Extra data: line 1 column 370 (char 369)

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
<ipython-input-6-02d9975fded5> in <module>
      5
      6 # Import the dataset
----> 7 dataset = fo.Dataset.from_dir(dataset_type=fo.types.COCODetectionDataset,data_path=data_path,labels_path=labels_path,)

~/anaconda3/lib/python3.8/site-packages/fiftyone/core/dataset.py in from_dir(cls, dataset_dir, dataset_type, data_path, labels_path, name, label_field, tags, **kwargs)
   3421         """
   3422         dataset = cls(name)
-> 3423         dataset.add_dir(
   3424             dataset_dir=dataset_dir,
   3425             dataset_type=dataset_type,

~/anaconda3/lib/python3.8/site-packages/fiftyone/core/dataset.py in add_dir(self, dataset_dir, dataset_type, data_path, labels_path, label_field, tags, expand_schema, add_info, **kwargs)
   2221         )
   2222
-> 2223         return self.add_importer(
   2224             dataset_importer,
   2225             label_field=label_field,

~/anaconda3/lib/python3.8/site-packages/fiftyone/core/dataset.py in add_importer(self, dataset_importer, label_field, tags, expand_schema, add_info)
   2757             a list of IDs of the samples that were added to the dataset
   2758         """
-> 2759         return foud.import_samples(
   2760             self,
   2761             dataset_importer,

~/anaconda3/lib/python3.8/site-packages/fiftyone/utils/data/importers.py in import_samples(dataset, dataset_importer, label_field, tags, expand_schema, add_info)
    113     #
    114
--> 115     with dataset_importer:
    116         parse_sample, expand_schema = _build_parse_sample_fcn(
    117             dataset, dataset_importer, label_field, tags, expand_schema

~/anaconda3/lib/python3.8/site-packages/fiftyone/utils/data/importers.py in __enter__(self)
    709
    710     def __enter__(self):
--> 711         self.setup()
    712         return self
    713

~/anaconda3/lib/python3.8/site-packages/fiftyone/utils/coco.py in setup(self)
    506                 images,
    507                 annotations,
--> 508             ) = load_coco_detection_annotations(
    509                 self.labels_path, extra_attrs=self.extra_attrs
    510             )

~/anaconda3/lib/python3.8/site-packages/fiftyone/utils/coco.py in load_coco_detection_annotations(json_path, extra_attrs)
   1198             :class:`COCOObject` instances, or ``None`` for unlabeled datasets
   1199     """
-> 1200     d = etas.load_json(json_path)
   1201     return _parse_coco_detection_annotations(d, extra_attrs=extra_attrs)
   1202

~/anaconda3/lib/python3.8/site-packages/eta/core/serial.py in load_json(path_or_str)
     69         if os.path.isfile(path_or_str):
     70             # Read from disk
---> 71             return read_json(path_or_str)
     72
     73         try:

~/anaconda3/lib/python3.8/site-packages/eta/core/serial.py in read_json(path)
    107             return json.load(f)
    108     except ValueError:
--> 109         raise ValueError("Unable to parse JSON file '%s'" % path)
    110
    111

ValueError: Unable to parse JSON file './SDO_COCO/data/coco_instances_results.json'

I will attach the JSON in case you might want to check it.
Any solution?
What areas of FiftyOne does this bug affect?

[ ] App: FiftyOne application issue
[x] Core: Core fiftyone Python library issue
[ ] Server: Fiftyone server issue

Willingness to contribute
The FiftyOne Community encourages bug fix contributions. Would you or another
member of your organization be willing to contribute a fix for this bug to the
FiftyOne codebase?

[ ] Yes. I can contribute a fix for this bug independently.
[x] Yes. I would be willing to contribute a fix for this bug with guidance
from the FiftyOne community.
[ ] No. I cannot contribute a bug fix at this time.

Hi @AKMourato. The error suggests that the contents of your JSON file is a list, while, as per the docs, loading data via this syntax
dataset = fo.Dataset.from_dir(
    dataset_type=fo.types.COCODetectionDataset,
    data_path=data_path,
    labels_path=labels_path,
)

requires labels_path to a JSON file in the structure linked in the docs.
I'm guessing you have a list of model predictions rather than a full "COCO JSON". In that case, check out the end of this section to see how to load just COCO-formatted predictions into an existing FiftyOne dataset. Note that the predictions in that snippet are a list.

Hi @brimoor, thank you for your brief response.
Indeed I have. I've checked the section and things are more clear now. Although I'm finding difficulties loading the dataset.
I tried to create a dataset from images, add the classes list, and then add the predictions from the JSON, running:
dataset = fo.Dataset.from_images_dir("./SDO_COCO_2011/test/images")
dataset.default_classes = ['ssg']
preditions = [(....json copy paste....)]
fouc.add_coco_labels(dataset, "predictions", predictions)
print(dataset.count("predictions"))  # 2

got:
ValueError: Field 'coco_id' does not exist on collection '2<IP_ADDRESS>.32.01'

Though I'm afraid it is perhaps not the correct way to do it, maybe some intermediate step is missing, the documentation is not so clear about it.
coco_instances_resultss.zip
What do you advise?

The error is saying that the method was expecting a coco_id field (you can change the name of the field via the coco_id_field argument to add_coco_labels())
Such a field is required because your predictions (should) look like this:
[
    {
        "id": 1,
        "image_id": 1,
        "category_id": 2,
        "bbox": [260, 177, 231, 199],

        # optional
        "score": 0.95,
        "area": 45969,
        "iscrowd": 0,

        # extra attrs
        ...
    },
    ...
]

and FiftyOne needs to know how to map image_id to the appropriate sample in your FiftyOne dataset.
The example section I linked accomplishes that by first loading ground truth annotations in "full" COCO format with the include_id=True parameter, which will populate the coco_id field expected  by add_coco_labels().
I recommend running the example code I linked first to get the idea.
Alternatively, let me note that if you find jamming your data into FiftyOne via the COCO utilities to be more trouble than benefit, you can always just load your predictions yourself by writing a simple Python loop. Click on the Object detection tab to get the idea.

Yeah I just passed by it, I didn't realize I was supposed to first load the ground truth and then replace it with the predictions!
All fine.
In regard to the last matter, I would say this procedure is rather handy, though perhaps I would complete the doc's info a wee better.
Great work in this tool btw, congrats.
Thanks for your help.

Thanks for making the issue! I'm sure others may find this helpful until the docs are built out a bit more.


(question) Raspberry Pi support

Will raspberry pi be ever supported?
This might be gamechanger, since flutter is possible but dart is much worse than kotlin and rpi is primary platform for many iot projects

You can install Android on a Raspberry Pi and create an Android app with Jetpack Compose.

@peterfortuin yeah, it is possible. It is not production ready solution. Also you loose many advantages of raspbian/arch for heavy duty tasks. I had project that used features that are unavailable in android. So it might be a good idea for many projects but not for all of them.

It would be great if Kotlin Compose was supported on Kotlin/Native, are there any plans for that?

It's possible, however to keep discussion to the point - feel free to compile Skiko (https://github.com/JetBrains/skiko) for Linux/ARM and provide relevant patches/instructions.

@olonho I don't feel confident enough in my knowledge from c/c++ to compile skiko for ARM :). I would be glad to test the solution and provide feedback on my RPI

I also just come up with this question. After investigating it a bit, I think the first step should be compiling Skia in the Jetbrain repo (https://github.com/JetBrains/skia-build), the skiko (https://github.com/JetBrains/skiko) project depends on that. This is definitely possible (e.g. https://skia.googlesource.com/third_party/sdl/+/master/docs/README-raspberrypi.md), but it takes some effort to set it up.

If you do get the build on a raspberry pi, please do contribute the relevant build script to the jetbrains repository so everyone can benfit.

Note that link above explains SDL build, not Skia one.

As of 0.5.0-build229 we support linux-arm64 in Compose builds.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Multiclass and multichannel support for segment volume

This PR aims at supporting the segmentation with segment_volume of multichannel models (e.i., allow more than one image as input) and multiclass models (e.i., generate as much output files as the number of classes).

Pull Request Test Coverage Report for Build 360899779

30 of 37 (81.08%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.08%) to 90.891%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

ivadomed/main.py
6
13
46.15%

Totals

Change from base Build 356966781:
-0.08%

Covered Lines:
5797

Relevant Lines:
6378

💛  - Coveralls


Allow disabling virtual-hosted-style addressing

Tell us more about this new feature.
Hello,
I was wondering if there was a way to force the usage of path style requests instead of the default virtual-hosted-style addressing ?
This is actually possible with mountpoint-s3 as you can see here in their documentation.

To disable virtual-hosted-style addressing, use the --force-path-style command-line flag to instead send requests to https://example.com/docexamplebucket/.

This would allow us using the LakeFS S3 Gateway and potentially other usages that leverage tools still built around the path style addressing.
Thank you 🙏

@DamienMatias Hi - lakeFS maintainer here 👋🏽
As a WA for this issue you can configure LAKEFS_GATEWAYS_S3_DOMAIN_NAME to enable lakeFS to work with a virtual host

I'am also interested in disabling virtual-hosted-style addressing. I would like to use S3 Connector for PyTorch with a S3-compatible Ceph storage that can not be configured for virtual-hosted-style addressing because of the DNS implication. Only path-style addressing can be used in our context.

The S3 client we use supports disabling virtual-hosted-style addressing here, so I think this would just be a matter of plumbing through a new flag from the various constructors (S3IterableDataset.from_prefix and friends) to the Rust constructor here, similar to #195. I'm not sure we're going to get to this in the short term, but we'd happily review a PR!

I'll reopen this as while its merged, there's no new release. This should be supported in the next published version!


Added test for rendering integers when using slots

Summary
Hi @BlakeWilliams, the bug I was mentioning turned out an issue in our own codebase which I was able to resolve by simply following the document which I wrote myself in the previous PR 🤣
There is an additional issue I wanted to show and with this PR you will find a test case to demonstrate the issue. In the testcase '2' will render, where as 1 won't render.
We ran into when displaying .count from for example.

👋 thanks for opening this!
I wonder if we could get away with calling to_s when rendering slot content that isn't a renderable (something that responds to render_in)?
Maybe:
diff --git a/lib/view_component/slot_v2.rb b/lib/view_component/slot_v2.rb
index 8f7a507..8f40934 100644
--- a/lib/view_component/slot_v2.rb
+++ b/lib/view_component/slot_v2.rb
@@ -38,9 +38,9 @@ module ViewComponent
           end
         end
       elsif defined?(@_content)
-        @_content
+        @_content.to_s
       elsif defined?(@_content_block)
-        view_context.capture(&@_content_block)
+        view_context.capture(&@_content_block).to_s
       end

@BlakeWilliams I altered your suggestion a bit and that solves the issue for the integers not being rendered. Unfortunately it causes a different test to fail: ViewComponentTest#test_renders_haml_with_html_formatted_slot
I also checked out the capture method: https://github.com/rails/rails/blob/914caca2d31bd753f47f9168f2a375921d9e91cc/actionview/lib/action_view/helpers/capture_helper.rb#L43
But didn't see an obvious solution, especially because under normal Rails circumstances it works perfectly fine

@xtr3me Sorry for the delay!
I took a look and I'm not sure I have any good solutions at the moment except for maybe overriding the default behavior of capture. The issue seems to be that Rails will filter out non-string values, https://github.com/rails/rails/blob/914caca2d31bd753f47f9168f2a375921d9e91cc/actionview/lib/action_view/helpers/capture_helper.rb#L46
I'm still thinking on the best way to proceed, but in the meantime calling to_s is likely a good work around.

@BlakeWilliams no problem! We are not stopped by this little inconvenience and frankly i'm reporting/trying to fix this mostly to just improve the VC gem.
I'm not really a fan of overriding the capture method itself as it would probably impose problems we cannot foresee with the limited scope we have between our projects. Maybe we can take this up with someone from Rails and ask if there was a specific reason to filter out non-string values, based on that information we could determine some possible ways forward.
Maybe @joelhawksley and his network within the Rails team can answer this question?


CORE-10367: Async and retry membership persistence requests to set the request status

API pull request in https://github.com/corda/corda-api/pull/875
This change should allow some membership persistence commands to be asynchronous and add a retry mechanism in case of locking issues.

I re-checked after the last changes. There seems to be 1 unaddressed comment, other than that the rest look ok to me.


Modifying RUSTFLAGS should not invalidate the already built artifacts

Problem

It looks like changing RUSTFLAGS (or, more likely, the rustflags key in .cargo/config) will currently recompile all dependencies with the new flags (which is fine) and invalidate/overwrite the already built artifacts with the older RUSTFLAGS value.
This is causing significant pain for me as I work on a project that has multiple workspace members that define their own .cargo/config with different rustflags. This is an embedded project, an RTOS consisting of kernel and userspace binaries, to be precise, so rustflags/linker shenanigans are somewhat expected.
This issue causes a kernel build to invalidate all userspace artifacts and vice-versa, which makes development sufficiently painful that we're not using a Cargo workspace at all (breaking IDE integration in the process). Having multiple target directories of course will work around the issue, but is less than ideal.
Steps

Unfortunately the code base is not yet open-sourced, but I can try to provide a minimal example if requested.
Possible Solution(s)

The old artifacts should be reused when RUSTFLAGS is changed back to the original value.
Notes
Output of cargo version: cargo 1.42.0-nightly (86134e766 2019-12-23)

This was first implemented in https://github.com/rust-lang/cargo/pull/6503 but was reverted in https://github.com/rust-lang/cargo/pull/7417, so I'm going to close this since it's an explicit design decision now to have RUSTFLAGS overwrite artifacts.

What's the recommended way to develop in a workspace like this then? Just don't use a Cargo workspace?
Regarding https://github.com/rust-lang/cargo/issues/7416, it seems to me that there are multiple interacting things at play here:

Cargo has no built-in understanding of PGO, so the only way to use it is via RUSTFLAGS
RUSTFLAGS does not just overwrite compiled artifacts, but also changes symbol names via -Cmetadata – it makes sense to me that these are sometimes connected, but as you said in https://github.com/rust-lang/cargo/pull/7417 some changes in compiler options don't need to change every symbol name

It seems like a very drastic measure to forego caching entirely just to avoid influencing symbol names. Is it not possible to decouple these effects?

I think using a workspace is fine you may just want to use different target directories to keep the caches in different locations. If you're already using .cargo/config for rustflags you should be able to use that for target directories as well.
I think it's fine to propose changes, but a proposal to change deliberate behavior in Cargo today should take into account why Cargo is the way it is.


Source of SharpVector contains unused/unnecessary includes

There are unnecessary includes in the Vector.hpp files.

The unnecessary includes increase the dependencies of the project which is always not good.
These includes are: memory, iostream, string.
Perhaps there's more to be removed?

The iostream include is required for the invalid_argument exception and others, but there's exception include which can be safely removed.


Add return type to applyTests function

Description of changes made
If users cancel the tests applying process, the generated tests tab crashes. The expected behaviour is to close apply tests window only.
Other notes
Closes #326

[x] I have checked that I am merging into correct branch

@arksap2002 What is the difference between this PR and #331 ? they have the same description

@arksap2002 What is the difference between this PR and #331 ? they have the same description

fixed, sorry


4-rocker node

In the 4-rocker node, are the buttons 4, 5, 6 and 7 usable, for what? Teach-in for a FSR14-4x for channels 0, 1, 2, 3 works like a charm but, not for 4, 5, 6, and 7.  My suspicion is that Eltako relies on a 2 button rocker configuration, and hence igonores anything above 3.
From the documentation: "this node implements a 2 Rocker Switch (8 Buttons: 0, 1, 2, 3, 4, 5, 6, 7) that can be "click"ed or "down"ed. "click" means the button is immediately released after beeing pressed. When "down"ed you have to release the button yourself. When a receiver is in LRN mode, send either button: 0 or button: 1 to teach in Rocker 1, send button: 2 or button: 3 to teach in Rocker 2 etc.. With one USB you can send on up to 128 (0-127) channels. so you can simulate 256 Rocker switches."

In case someone else is wondering, after testing I found that on the 4-rocker,
button 0 outputs A1, which corresponds on a Enocean rocker switch the left rocker bottom position = Eltako key 2
button 1 outputs A0, left rocker upper position = Eltako key 1
button 2 output B1, right rocker bottom position = Eltako key 4
button 3 output B0, right rocker upper position = Eltako key 3
button 4 etc no effect (would need to check with Dolphinview what the actual output is)


If CMakeRun is called, information of CMakeGenerate and CMakeBuild will never show up in the quickfix list

Bug description
If CMakeRun is called, information of CMakeGenerate and CMakeBuild will never show up in the quickfix list
To Reproduce
Steps to reproduce the behavior:

Run CMakeRun
Add a bug to the code. Run CMakeBuild.

Expected behavior
The quickfix list of CMakeBuild overwrite the one occupied by CMakeRun.

Hi, thanks for the report.
While trying to reproduce your issue, I actually ran into another problem: the sequence :CMakeRun and :CMakeBuild  would fail altogether. This should now be fixed on the latest master.
I cannot reproduce your problem though. The sequence

Run :CMakeRun <target>
Add a bug to the code
Run :CMakeBuild

produces the expected results, i.e. the Vim-CMake window shows the errors as reported by CMake, and the quickfix list also displays the errors accordingly.
Also when you say

The quickfix list of CMakeBuild overwrite the one occupied by CMakeRun.

I'm not sure what you mean exactly, as :CMakeRun does not produce any quickfix list.

This indeed seems to fix my issue. I guess somewhere I misunderstood the behavior of the plugin. Thank you!


python311Packages.torch-bin: 2.0.1 -> 2.1.1

Description of changes
I'm getting an error when using the prefetch script for aarch64 linux. Not sure what we should do about that.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

Thank you for making this PR.
Actually, I have an ongoing PR to update all of the torch ecosystem to 2.1.1: https://github.com/NixOS/nixpkgs/pull/259068
It stills need a little bit of work, but I think that the merge is not that far.
I then suggest to close this one as duplicate.

sounds good to me, let me know if  I can help in anyway!


Add translations: German + Russian languages

[x] add German translations
[x] add Russian translations

Done! RU and DE languages

@

Done! RU and DE languages

please review all translated texts and make sure that that they are release ready

[ ] English
[ ] Russian
[ ] German

@

Done! RU and DE languages

please review all translated texts and make sure that that they are release ready

[x]  English
[x]  Russian
[x]  German

ok, we are ready to start with the other languages
please set up a new issues both for iOS/Android for the next 3 languages


Input data should contain either school_id or student_id

Level of data supports only student and school hence student_id or school_id column should be there in the data based on the level of data.
By assuming the school_id will be there in the input data the management level queries are also created so school_id column should always be there in the data.
Questions
How to process master data and link with trans data.

If  current master data processing as is, then we can remove this hard coded school_id column and enable it through configuration
If data is school level ,then we can enable it through configuration.

This problem will be addressed in cQube v5.0.


Reduce And Reallocate Funds From The Napa Police Department

<!--
Hi, thanks for your interest in adding your city to the website. Emails on defund12.org are all written by community members. To add your city, you **must** provide:

- Email addresses of Napa city officials
Napa City Manager<EMAIL_ADDRESS>Napa Mayor<EMAIL_ADDRESS>Napa Vice Mayor<EMAIL_ADDRESS>City council members<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Police Department
<EMAIL_ADDRESS>
Hello (name of Napa city official), as citizens and taxpayers of Napa, it has come to our attention that around 32% of the Napa County’s budget is funded towards Public Protection. While we respect and acknowledge the importance of protecting the community, we believe that the percentage of funding is way too high and that the taxes we pay to fund this budget should go towards programs that are more beneficial to the community such as education, public ways and facilities, recreational and cultural services, public assistance and any program that creates a positive lasting impact economically and socially on this community. We are disappointed that around 5% of the budget goes towards education. Our schools are critical towards the success of the youth in Napa. Many school programs in the NVUSD are being cut due to budget concerns such as LEGACY, a program that empowers and  gives a voice to the Napa youth. Without the proper funding, students will not receive an education that will help them become successful adults and future leaders. A huge part of that 32% of funds, goes to the Napa Police Department. We demand a reduction in funds for the Napa Police Department and instead reallocate those funds to community based programs such as areas relating to education. While the tourism and wine industry is benefiting businesses and wineries, the majority of residents have not benefitted.

Sincerely, (Your Name)

Napa, California

Email addresses of Napa city officials
Napa City Manager<EMAIL_ADDRESS>Napa Mayor<EMAIL_ADDRESS>Napa Vice Mayor<EMAIL_ADDRESS>City council members<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Police Department
<EMAIL_ADDRESS>
Hello (name of Napa city official), as citizens and taxpayers of Napa, it has come to our attention that around 32% of the Napa County’s budget is funded towards Public Protection. While we respect and acknowledge the importance of protecting the community, we believe that the percentage of funding is way too high and that the taxes we pay to fund this budget should go towards programs that are more beneficial to the community such as education, public ways and facilities, recreational and cultural services, public assistance and any program that creates a positive lasting impact economically and socially on this community. We are disappointed that around 5% of the budget goes towards education. Our schools are critical towards the success of the youth in Napa. Many school programs in the NVUSD are being cut due to budget concerns such as LEGACY, a program that empowers and  gives a voice to the Napa youth. Without the proper funding, students will not receive an education that will help them become successful adults and future leaders. A huge part of that 32% of funds, goes to the Napa Police Department. We demand a reduction in funds for the Napa Police Department and instead reallocate those funds to community based programs such as areas relating to education. While the tourism and wine industry is benefiting businesses and wineries, the majority of residents have not benefitted.
Sincerely, (Your Name)

@bingbongle This is a duplicate of #1132 & #953  (I’m awaiting label-changing permissions)
@YourRagingAsian If you’d like your edits added to the existing document, please submit a new issue.

Reopening since the duplicate issues didn’t have content.

Reviewing now

Edited version:

Send to: Napa City Manager<EMAIL_ADDRESS>Napa Mayor<EMAIL_ADDRESS>Napa Vice Mayor<EMAIL_ADDRESS>City council members<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Police Department
<EMAIL_ADDRESS>Message:
Hello (name of Napa city official),
My name is [YOUR NAME] and I am a resident of [CITY].
It has come to my attention that around 32% of the Napa County’s budget is funded towards Public Protection. While I acknowledge the importance of protecting the community, I believe that the percentage of funding is way too high. The taxes I pay to fund this budget should go towards programs that are more beneficial to the community such as education, public services and facilities, recreational and cultural services, public assistance and programs that create positive lasting impacts economically and socially on this community.
I am disappointed that around 5% of the budget goes towards education. Our schools are critical towards the success of the youth in Napa. Many school programs in the NVUSD such as LEGACY, a program that empowers and gives a voice to the Napa youth, are being cut due to budget concerns. Without the proper funding, students will not receive an education that will help them become successful adults and future leaders. We demand a reduction in funds for the Napa Police Department and instead reallocate those funds to community based programs such as education, youth services, health care, and affordable housing.
Sincerely,
[YOUR NAME]
[YOUR ADDRESS]
[YOUR EMAIL]
[YOUR PHONE NUMBER]


Adding serialization code for sparse accessors.

Tested in my FBX->GLB converter.
Gestaltor seems to recognize the converted sparse morph targets correctly:

@fynv Super awesome! Thanks! Merged!


Add PklProject and *.pcf to the lazy-vim config

Add PklProject and *.pcf to the lazy-vim config so that Neovim syntax-highlights these files.

Thanks!


Sometimes intersect the essential clause and the best non-essential clause.

The idea behind MAXSCORE is to run disjunctions as +(essentialClause1 ... essentialClauseM) nonEssentialClause1 ... nonEssentialClauseN, moving more and more clauses from the essential list to the non-essential list as the minimum competitive score increases. For instance, a query such as the book of life which I found in the Tantivy benchmark ends up running as +book the of life after some time, ie. with one required clause and other clauses optional. This is because matching the, of and life alone is not good enough for yielding a match.
Here some statistics in that case:

min competitive score: 3.4781857
max_window_score(book): 2.8796153
max_window_score(life): 2.037863
max_window_score(the): 0.103848875
max_window_score(of): 0.19427927

Actually if you look at these statistics, we could do better, because a match may only be competitive if it matches both book and life, so this query could actually execute as +book +life the of, which may help evaluate fewer documents compared to +book the of life. Especially if you enable recursive graph bisection.
This is what this PR tries to achieve: in the event when there is a single essential clause and matching all clauses but the best non-essential clause cannot produce a competitive match, then the scorer will only evaluate documents that match the intersection of the essential clause and the best non-essential clause.
It's worth noting that this optimization would kick in very frequently on 2-clauses disjunctions.

Opening as a draft as I still need to figure out how to test this optimization.
I tested on wikibigall where this yielded a good speedup. I would expect an even better speedup if recursive graph bisection is enabled.
                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                 CountOrHighHigh       59.20     (15.6%)       57.96     (14.8%)   -2.1% ( -28% -   33%) 0.671
                  CountOrHighMed       91.87     (15.6%)       90.04     (14.7%)   -2.0% ( -27% -   33%) 0.684
                         MedTerm      451.03      (9.1%)      446.68      (8.1%)   -1.0% ( -16% -   17%) 0.730
                         LowTerm      751.75      (8.3%)      744.56      (7.1%)   -1.0% ( -15% -   15%) 0.703
                       MedPhrase       40.42      (7.8%)       40.05      (7.9%)   -0.9% ( -15% -   16%) 0.717
                        HighTerm      339.69     (10.6%)      337.52      (9.5%)   -0.6% ( -18% -   21%) 0.844
                      HighPhrase       35.00      (6.4%)       34.82      (6.7%)   -0.5% ( -12% -   13%) 0.809
                     AndHighHigh       63.82      (4.2%)       63.55      (2.9%)   -0.4% (  -7% -    7%) 0.721
                      AndHighMed      182.62      (3.6%)      181.94      (2.4%)   -0.4% (  -6% -    5%) 0.705
                       LowPhrase       41.82      (4.8%)       41.69      (5.6%)   -0.3% ( -10% -   10%) 0.848
           HighTermDayOfYearSort      234.81      (1.5%)      234.33      (1.8%)   -0.2% (  -3% -    3%) 0.697
                      AndHighLow      823.51      (3.2%)      821.97      (2.6%)   -0.2% (  -5% -    5%) 0.846
                       OrHighLow      630.34      (2.9%)      630.52      (3.9%)    0.0% (  -6% -    6%) 0.979
                         Respell       66.16      (1.4%)       66.19      (1.7%)    0.0% (  -2% -    3%) 0.938
                          Fuzzy1      128.80      (1.4%)      128.97      (1.5%)    0.1% (  -2% -    3%) 0.777
                 CountAndHighMed      123.28      (2.8%)      123.60      (3.6%)    0.3% (  -5% -    6%) 0.803
                          Fuzzy2      114.67      (1.3%)      114.97      (1.5%)    0.3% (  -2% -    3%) 0.567
                     CountPhrase        3.38      (9.0%)        3.39      (9.3%)    0.3% ( -16% -   20%) 0.918
                CountAndHighHigh       40.81      (2.8%)       40.96      (3.8%)    0.4% (  -6% -    7%) 0.742
                        PKLookup      224.07      (2.3%)      225.12      (2.7%)    0.5% (  -4% -    5%) 0.566
                        Wildcard      144.23      (2.4%)      145.22      (3.1%)    0.7% (  -4% -    6%) 0.451
               HighTermMonthSort     5090.41      (2.8%)     5142.25      (4.2%)    1.0% (  -5% -    8%) 0.384
                         Prefix3      241.24      (4.3%)      244.33      (4.4%)    1.3% (  -7% -   10%) 0.368
                       CountTerm    17070.19      (5.1%)    17289.73      (4.9%)    1.3% (  -8% -   11%) 0.429
                          IntNRQ       88.47     (11.5%)       89.76     (13.8%)    1.5% ( -21% -   30%) 0.725
                       OrHighMed      191.58      (3.5%)      206.42      (3.7%)    7.7% (   0% -   15%) 0.000
                      OrHighHigh       60.88      (4.4%)       68.91      (4.4%)   13.2% (   4% -   23%) 0.000

I moved the optimization as part of the partitioning logic so that it's easier to test. It's ready for review.

Updated luceneutil results using wikibigall:
                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                        Wildcard       61.99      (4.0%)       61.33      (4.1%)   -1.1% (  -8% -    7%) 0.408
               HighTermMonthSort     4984.72      (2.3%)     4942.50      (2.6%)   -0.8% (  -5% -    4%) 0.272
                         Prefix3      230.04      (3.7%)      229.11      (3.5%)   -0.4% (  -7% -    7%) 0.720
                         Respell       81.35      (1.4%)       81.25      (2.0%)   -0.1% (  -3% -    3%) 0.816
                CountAndHighHigh       40.98      (4.2%)       40.97      (3.9%)   -0.0% (  -7% -    8%) 0.981
                       CountTerm    16343.93      (4.0%)    16345.74      (4.3%)    0.0% (  -7% -    8%) 0.993
                     CountPhrase        4.46      (3.5%)        4.46      (4.1%)    0.0% (  -7% -    7%) 0.980
           HighTermDayOfYearSort      238.80      (1.4%)      238.88      (1.4%)    0.0% (  -2% -    2%) 0.938
                        PKLookup      223.95      (2.1%)      224.09      (2.1%)    0.1% (  -4% -    4%) 0.925
                 CountAndHighMed      123.80      (3.9%)      123.90      (3.4%)    0.1% (  -6% -    7%) 0.943
                 CountOrHighHigh       57.72     (17.0%)       57.92     (17.7%)    0.3% ( -29% -   42%) 0.950
                      AndHighLow     1006.20      (3.0%)     1010.52      (2.7%)    0.4% (  -5% -    6%) 0.632
                  CountOrHighMed       89.50     (16.7%)       89.90     (17.5%)    0.4% ( -28% -   41%) 0.934
                     AndHighHigh       64.48      (3.6%)       64.85      (3.4%)    0.6% (  -6% -    7%) 0.608
                      AndHighMed      146.96      (3.5%)      147.93      (3.2%)    0.7% (  -5% -    7%) 0.530
                         LowTerm      994.04      (5.9%)     1008.50      (5.9%)    1.5% (  -9% -   14%) 0.434
                          Fuzzy1      150.93      (1.1%)      153.62      (2.0%)    1.8% (  -1% -    4%) 0.000
                         MedTerm      629.58      (6.2%)      641.76      (6.2%)    1.9% (  -9% -   15%) 0.324
                       MedPhrase       28.07      (5.7%)       28.62      (3.6%)    1.9% (  -6% -   11%) 0.201
                          Fuzzy2      107.70      (0.9%)      109.90      (1.7%)    2.0% (   0% -    4%) 0.000
                       LowPhrase       26.51      (6.3%)       27.15      (5.2%)    2.4% (  -8% -   14%) 0.184
                      HighPhrase       40.05      (6.5%)       41.02      (3.7%)    2.4% (  -7% -   13%) 0.147
                          IntNRQ      128.31     (15.0%)      131.43     (17.3%)    2.4% ( -25% -   40%) 0.636
                        HighTerm      399.42      (7.4%)      409.65      (8.0%)    2.6% ( -11% -   19%) 0.293
                       OrHighLow      647.57      (3.4%)      668.35      (3.6%)    3.2% (  -3% -   10%) 0.004
                       OrHighMed      143.30      (5.0%)      163.00      (6.1%)   13.7% (   2% -   26%) 0.000
                      OrHighHigh       56.47      (6.2%)       64.35      (7.8%)   14.0% (   0% -   29%) 0.000

I plan on merging in the next couple days if there are no objections.

Hi Adrien, for this sentence: "moving more and more clauses from the essential list to the non-essential list as the minimum competitive score increases. " Is it actually moving more clauses from non-essential list to essential list?

No, the sentence is correct. Non essential clauses are clauses that cannot produce a match on their own because the score wouldn't be high enough. So the more non-essential clauses, the better. When the query starts processing, all clauses are initially essential.


feat: save generated user tokens

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


fixed location queue notification lists empty location

I created a fixed location queue and enabled notifications (Win10, Chrome). When something was added to the queue, I got a notification but it had a blank Location: field.
Shouldn't that have the fixed queue mentioned, or perhaps drop the Location: mention at all?

I would say omit the location, since course staff controls + knows the location? Does that make sense?

Or leave it in for consistency in the notifications, but at least fill it in with the right data. I'm okay with either fix.

I'm working on this - I think having the location filled in even if it's fixed-location makes more sense.


Make position margin metric dependent on position and status

Should have done this in the first place ...
Can we roll out a new release with this patch included please? This could help us collect numbers more accurately.

bors r+


Proof of Concept for using lwreg as a compound registration system with additional data.

Do a Proof of Concept showing usage of lwreg as a compound registration system combined with storing data from computational experiments in something like JSONB (there’s a recent RDKit blog post including a bit about JSONB and postgresql)

I'm starting work on this for quantum chemical calculations (using cclib to parse files and pass to RDKit). I'll post when I have more results.

Thanks @ghutchis !

@ghutchis : I wanted a "quick" demo to start to demo this to the group, so I put together notebook showing one way this could be used to track computational experiments and results:
https://github.com/rinikerlab/lightweight-registration/blob/main/demos/02_computational_experiment_1.ipynb


field names in maps are not properly escaped in toJson()

CharBuf.addJsonFieldName() does not check for chars that need to be escaped in valid JSON.
Here's the sample:
    @Test
    public void testEscapesInFieldName(){
        String json = "{\"\\\"a\":5}";
        System.out.println(json); // {"\"a":5}

        Object map = JsonFactory.fromJson(json);
        System.out.println(map); // {"a=5}

        String json1 = JsonFactory.toJson(map);
        System.out.println(json1); // {""a":5}

        assertEquals(json, json1);
    }

I will take a look. We just did a boon release. And I am working on QBit at a break neck speed. But I will circle back to this...
So this test fails correct?

It does fail unfortunately.

I think it's the same issue as in Groovy. I already fixed it there.

As I mentioned in the comment, that does fix the issue but where is the
issue coming from.
Java field names are safe for JSON with no escaping no?
Is the issue just for maps, in that case the fix should be only for map
serialization.
Checking for escape carriers for each field will add a lot of processing
time for serialization.
Did you run a perf test before/after the change? I bet there was a
significant drop in performance.
Which is why I am asking... when does this happen?
Is is just for serializing maps?
I'd rather add it just for map serialization if that is the biggest
concern, and may even want to make it optional.
My goal is not to penalize the 99% use case perf for the 1% use case fix.
My goal is not to penalize the 80% use case perf for the 20% use case fix.
I can't accept the pull request as is. I want to brainstorm about it more.
On Wed, Mar 18, 2015 at 3:46 PM, René Scheibe<EMAIL_ADDRESS>wrote:

I think it's the same issue as in Groovy. I already fixed it there
https://github.com/darxriggs/groovy-core/commit/95855de54335b772f9866bceae5cfba127e666e5
.
—
Reply to this email directly or view it on GitHub
https://github.com/boonproject/boon/issues/298#issuecomment-83216195.

--
Rick Hightower
(415) 968-9037
Profile http://www.google.com/profiles/RichardHightower

I was expecting you rejecting the pull request due to performance reasons. :-)
I did a performance test for my change in Groovy. It showed a degradation of about 15% for a map entry with key size 50.

I saw perf test in the groovy JSON issue. Thanks btw for the pull request.
I do appreciate it.
The most common case is serializing Java objects which should not have this
issue.
I think I will add your patch as the defaults for serializing maps with the
ability to turn it off.
Thanks again.
On Thursday, March 19, 2015, René Scheibe<EMAIL_ADDRESS>wrote:

I was expecting you rejecting the pull request due to performance reasons.
:-)
I did a performance test for my change in Groovy. It showed a degradation
of about 15% for a map entry with key size 50.
—
Reply to this email directly or view it on GitHub
https://github.com/boonproject/boon/issues/298#issuecomment-83760475.

--
Rick Hightower
(415) 968-9037
Profile http://www.google.com/profiles/RichardHightower


Check for grecaptcha.render function availability

Instead of checking for the variable grecaptcha to be defined, now we check for the grecaptcha.render function to be defined and to be a function.
It has happened in Firefox(due to browser cache), that sometimes the grecaptcha variable is already defined, but as empty object, causing the library to fail due to the lack of the render function.
Fixes #224

Coverage remained the same at 94.697% when pulling 7d98663c9006234ed7025c8e4dbdaa499f813d77 on cached-recaptcha into eca1c7f212fbf13ff0d0eeeb08780740357646bd on master.

Just to clarify, during my tests trying to reproduce the issue, I noticed the variable grecaptcha being an empty object, but the API script was still loaded as expected. Only checking for the variable to be defined caused the availability promise to be resolved with an invalid object.


dungeondraft: init at <IP_ADDRESS>

Description of changes
This PR adds a package for the dungeon mapping tool Dungeondraft by Megasploot.
I'm adding myself as a maintainer for this package, I hope that's alright. I also have another PR for Wonderdraft. #253035
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

How would you recommend I handle the two PRs where both need the maintainer but they add different packages?

How would you recommend I handle the two PRs where both need the maintainer but they add different packages?

I'd make a separate PR just for the maintainer update, as those usually get merged a lot quicker.

I've made updates to this PR, I think it's ready for consideration again, pending the checks.

I've been doing some further testing of this on my local machine and I've determined that while it starts fine, some functionality is broken. I have yet to determine the cause.
Should I mark this PR as a draft until I am able to resolve those issues?
Thankfully the wonderdraft #253035 binary worked fine and doesn't have the same issues.

Should I mark this PR as a draft until I am able to resolve those issues?

Depends on how severe the problems are.

Well it can't find udev even though I did the patchelf to try and give it access to that, nor does it find pulseaudio despite the same treatment, and that results in one way or another with it being unable to open or save files.
It's definitely not ready for use till I work out those issues, although I've already tried several things (like adding those two libraries to the patchelf of both the bundled so's).

Okay, I think it is reasonable to turn that into a draft for now.

@IGJoshua can you rebase this? that should eliminate the maintainer commit.

PR has been rebased and marked as draft.
I'm going to be putting some more effort into this, but it is proving kinda challenging for me at the moment. I'm unsure why patchelf doesn't appear to be enough to allow loading udev or pulseaudio.

How would you recommend I handle the two PRs where both need the maintainer but they add different packages?

Do it in both. We can rebase it later.

With some help I was able to resolve what was missing and added a file dialog from gnome to the dependencies. It is now ready.

I see conventions about submitting packages have changed a lot since I last worked on this.

Commenting to register my desire for this MR to land, it would be nice if I could get rid of my FHS for this software :)

@ofborg eval

I've updated this to the new version of dungeondraft and incorporated the feedback from current reviewers.

Now we have an official formatter!
Execute it.


Permissions for viewing Activity Explorer

Hello,
Should this:
Data from Endpoint DLP can be viewed in Activity explorer. There are four roles that grant permission to activity explorer, the account you use for accessing the data must be a member of any one of them.
Global admin
Compliance admin
Security admin
Compliance data admin
Global reader
Security reader
Reports reader
Be this:
Data from Endpoint DLP can be viewed in Activity explorer. There are four roles that grant permission to activity explorer, the account you use for accessing the data must be a member of any one of them.
Global admin
Compliance admin
Security admin
Compliance data admin
It would be great if I could give users who don't need admin access, the ability to view the activity explorer tab, but it appears to be only restricted to the admin roles, the readers do not provide permission.

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

ID: 1e0ac0e1-6f08-2f8b-10c7-a967e53886f8
Version Independent ID: f510237f-0ec9-d266-3ec6-0ad6b49e2522
Content: Get started with Microsoft 365 Endpoint data loss prevention - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/endpoint-dlp-getting-started.md
Service: o365-seccomp
GitHub Login: @chrfox
Microsoft Alias: chrfox

@MichaelRyan87 Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/5291
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @MichaelRyan87 Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


A small set of edits that allow Heltec ESP32 target support

Primarily includes edits to make the RfEvent enum names unique (DIO0 is a widely used name) and a cmake toolchain file for compiling for Heltec ESP32 targets (using the Arduino board support package)

I think that should have resolved all of your comments; thanks!


Diana resize

Few minor edits but mostly looks good to me @dianavermilya

TODO:

[ ] Address edits
[ ] Final code review
[ ] Rebase
[ ] Merge

Oh, I didn't realise you were going to review this.  (I didn't finish testing/do cleanup.)  Well, thanks for the suggestions.  Will do!

@madisonmay ok this is ready for review whenever.

One final change and I think this is ready to merge in! @dianavermilya

Awesome stuff, rebase time :)

I think there was a regression after the rebase?  Looks like we kept some of the older versions...

@madisonmay should be all good to merge

Looks great! Merging...


errors :(

Hi,
Nice project
I run the script on my VM (ubuntu) and I got those errors. Do u have an idea why?
I would like to have the ACM module

I can manually make ssh on my jetson nano.
I installed rsync on my vm.
Linux r-nano 4.9.140-tegra #1 SMP PREEMPT Wed Mar 13 00:32:22 PDT 2019 aarch64 aarch64 aarch64 GNU/Linux

Hi @14nrv ,
I will fix soon. The error start from my last updated of https://github.com/rbonghi/jetson_stats and doesn't find now all environment variables.

Thank you @14nrv ,
I will fix the installer for jetson-stats and I think jetson easy will start to work without any problem!

@rbonghi
For my jetson nano (Kernel: 4.9.140, Jetpack 4.2 [L4T 32.1.0]), I made some others changes:

modules/4-kernel_update/4-kernel_update.sh

# ...
case $JETSON_L4T in
  "32.1.0")
    KERNEL_LINK="https://developer.nvidia.com/embedded/dlc/l4t-sources-32-1-jetson-nano"
    KERNEL_INTERNAL_FOLDER="public_sources/kernel_src.tbz2"
    KERNEL_FOLDER="kernel/kernel-4.9"
    ;;
# ...

b/modules/4-kernel_update/kernel_installer.sh
i replaced:
sudo zcat $KERNEL_SRC_CONFIG > $KERNEL_CONFIG_FILE
by:
sudo sh -c 'zcat /proc/config.gz > .config'


tool communication question

Hello,
I want to set up my UR5e with the Robotiq 2f-85 gripper. In the ur_robot_driver directory there is a script to activate tool communication, the documentation mentions that i have to provide a flag to activate the tool communication. If i look at the UR5e launch file it seems there is no flag for tool communication. The feature list says it is possible to use it, is it nor possible anymore to use? If it is possible to use could someone explain to me how to active the tool communication?
Thanks in advance

This functionality is disconnected from anything ROS (at least it is in the ROS 1 version).
It relies on socat being available on the ROS pc. That just needs to be started somehow (probably as part of the launch file).


Fix azure deployment to add config section with correct dependencies

Deploy to Azure could be broken if things deploy in wrong order (race condition). Fixing that with adding the config section with the correct dependencies.

Thanks a bunch!


[BUG] Adding Row as a field in a nova action causes browser to hang

Since Nova v2.4.0 -- using Row as a field in a Nova Action causes UI to hang. Probably related to inline actions.

@disitec thanks!  I have a branch with all the custom action names, etc. and this bug is preventing me from merging it.

I dont know exactly what is causing this. But if i use a row field in the action, this modal is rendered infinite times. It starts to work if I comment the portal.
vendor/laravel/nova/resources/js/components/ActionSelector.vue

here is the code that is working in 2.3.1
        <!-- <portal to="modals"> -->         <transition name="fade">             <component                 :is="selectedAction.component"                 :working="working"                 v-if="confirmActionModalOpened"                 :selected-resources="selectedResources"                 :resource-name="resourceName"                 :action="selectedAction"                 :errors="errors"                 @confirm="executeAction"                 @close="closeConfirmationModal"             />         </transition>         <!-- </portal> -->

Row field uses a modal for delete row confirm. I think this may cause the issue. Rendering a portal inside a portal.

Fixed. Available in 0.13.0