[Feature] support multi test for mlu

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
Please describe the motivation of this PR and the goal you want to achieve through this PR.
Use get_device() instead of ’cuda’ to support
Modification
Please briefly describe what modification is made in this PR.
BC-breaking (Optional)
Does the modification introduce changes that break the backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.
Use cases (Optional)
If this PR introduces a new feature, it is better to list some use cases here, and update the documentation.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMCls.
The documentation has been modified accordingly, like docstring or example tutorials.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @fwenguang  ！First of all, we want to express our gratitude for your significant PR in the MMDet . Your contribution is highly appreciated, and we are grateful for your efforts in helping improve this open-source project during your personal time. We believe that many developers will benefit from your PR.
We would also like to invite you to join our Special Interest Group (SIG) private channel on Discord, where you can share your experiences, ideas, and build connections with like-minded peers. To join the SIG channel, simply message moderator— OpenMMLab on Discord or briefly share your open-source contributions in the #introductions channel and we will assist you. Look forward to seeing you there! Join us ：https://discord.gg/UjgXkPWNqA
If you have WeChat account，welcome to join our community on WeChat. You can add our assistant ：openmmlabwx. Please add "mmsig + Github ID" as a remark when adding friends：）
Thank you again for your contribution❤


Refactor predeployed contract wrapper classes

UDC, FeeToken, Account (+ChargeableAccount) - these classes have common logic (namely the deploy method). They could use a common parent class.

class Deployable:
    async def deploy(self) -> StarknetContract:
        raise NotImplementedError("")

The make FeeToken, Account and UDCinherit from it
@FabijanC is this what this issue is about ? If so please assign it to me


Clarification around provision of persistent, unique identifiers

Describe which party provides the id value.
UUID not GUID

Withdrawing this in favour of backporting the few relevant changes from PR #50 into v1.0.x if/when that PR is approved to be merged into v1.1-dev.


Download Complete Study via Download Dialog

OHIF is a perfect frontend to the Google Healthcare API, and they both make up a complete PACS solution that is super easy to deploy.
Still, we see that many clinicians (e.g., clinical advisors in clinical studies) want to use their preferred and super-feature-rich (e.g., with fusion capability) locally installed DICOM viewers.
A common workflow would be:

Clinical advisor uses OHIF to log in the Web-based PACS (e.g., backed-up by Google Healthcare API)
Clinical advisor can search/filter contents via OHIF
Investigate the images online with OHIF capabilities
When required, the user downloads the entire study of interest to his local machine (maybe even download multiple studies at once!) and switches to his local viewer.
Over time, OHIF will get more and more features, and users will use their local viewers less and less.

The missing download capability is preventing to get the foot into the doors.
There is a related issue https://github.com/OHIF/Viewers/issues/1130# where a debugging extension has been developed that can be triggered with a shortcut. That is already great, but seems to be targeted on developers and not on end-users. There is no UI and any feedback is only visible in the developer console.
Augmenting the existing solution mentioned above with a simple download dialog, or at least a notification (e.g., "download started") would lift the feature to be acceptable by a standard medical user.

Agreed, this would be a nice general purpose features.  Note that for the IDC use case we only wanted this for debugging since we don't want to encourage downloads so restricted the scope to be consistent with our funding.  But this shouldn't prevent others from implementing this, ideally as an optional feature.
For reference here is the command that can be pasted in the developer console to initiate a download:
ohif.app.commandsManager.runCommand("downloadAndZip", {listOfUIDs: [window.location.href.split("/").pop()]})

Agreed, this would be a nice general purpose features. Note that for the IDC use case we only wanted this for debugging since we don't want to encourage downloads so restricted the scope to be consistent with our funding. But this shouldn't prevent others from implementing this, ideally as an optional feature.
For reference here is the command that can be pasted in the developer console to initiate a download:
ohif.app.commandsManager.runCommand("downloadAndZip", {listOfUIDs: [window.location.href.split("/").pop()]})

@pieper:
I have created a pull request for a dedicated study download module.
Compared to the debugging extension, I had to choose a different phase because of the following reasons:

I do not use the progressTrackingUtils to monitor the progress of the download

I have made a new commit to the dicomweb-client https://github.com/dcmjs-org/dicomweb-client, which allows to get download progress information
Unfortunately, for the Google Healthcare API, the XMLHttpRequest can get only the downloaded bytes, but not the total bytes.  Therefore, I cannot calculate the percentage, and to my understanding the progressTrackingUtils need a value between zero and one.
Therefore, I decided to show to the user the progress in terms of downloaded bytes without relying on the progressTrackingUtils.
Please note, for this to work, you need the latest commit of the master branch of the dicomweb-client. The extension works still with older versions of the dicomweb-client, but you will not see the progress in terms of downloaded bytes.

I do not grab the StudyInstanceUID from the "sudies" storeContext (as in downloadAndZipStudy({ servers, studies, progress })), since this would work only for the very first selected study. If the user selects a study, and then subsequently selects another study, the "studies" object will have two studies (each time the user selects a new study, it will be added to this list), and the downloadAndZipStudy function will take always the very first entry in "studies" which is not what the user would expect.

Therefore, I grap the  StudyInstanceUID  from the active viewport.

That being said, the debugging extension was a great starting point. Thank you very much!

Thanks for contributing this, it looks good to me 👍

Currently, there is no plan for this particular matter in OHIF v3. Therefore, I will proceed to close it as "not planned."


Initial implementation of voice file output.

Fixes #202

This is the initial implementation, and there's pretty much nothing I like about this change. It feels like a quick hack, so I'm going to rethink this one. I'm also second-guessing it's utility, as externally, there's no good way to extract voice data, apply a DSP, then play it, without the wealth of tooling in the game client.

I'm also second-guessing it's utility, as externally, there's no good way to extract voice data, apply a DSP, then play it, without the wealth of tooling in the game client.

Yeah this is also a problem, since you'd presumably want to mute the in-game line for this, and that's a whole other discussion

From a UX perspective, I'd actually say that should maybe be its own plugin, unless it were to also apply to TTT's TTS.

From a UX perspective, I'd actually say that should maybe be its own plugin, unless it were to also apply to TTT's TTS.

Yeah, I came to that conclusion as well about 2 hours ago while mulling this over. It would actually be even better to just implement a DSP in C# and configure the whole thing in-game. I'll toy around with it. I'm going to close this PR as it's clear this isn't the form nor function that should be taken for this.


feat(cli): Install multiple plugins of any type

Closes #8353

@ReubenFrankel Should we add some docs?

@edgarrmondragon What do you think about using -- (double-dash) over - as the special "any" plugin type argument? -- is used in .lock file names as a delimiter between the plugin name and variant (e.g tap-spotify--matatika.lock), so maybe it could function similarly here? At least then there is no overlap with the Unix file argument convention using -.

@ReubenFrankel Just for posterity, I'll note that with *nix CLI applications -- on its own commonly indicates that no more CLI options (of the form e.g. -n/--name) will be specified, and what remains should not be processed as such. If you're going to pass user input into a command, e.g. command "$USER_PROVIDED_VALUE", it's a best practice to use command -- "$USER_PROVIDED_VALUE" to prevent the user from providing a CLI option for the command.

@ReubenFrankel Just for posterity, I'll note that with *nix CLI applications -- on its own commonly indicates that no more CLI options (of the form e.g. -n/--name) will be specified, and what remains should not be processed as such. If you're going to pass user input into a command, e.g. command "$USER_PROVIDED_VALUE", it's a best practice to use command -- "$USER_PROVIDED_VALUE" to prevent the user from providing a CLI option for the command.

Ah, I thought I had seen that somewhere before  - that makes sense! Thanks for the explanation.

Thanks @ReubenFrankel!


Add missing search parameters, reorganize in the same order as the of…

…ficial docs, and use reflection to build the query params

Hello @PhenX,
I would prefer it if you submitted three separate pull requests, one for each of the following changes:

Reordering of properties in the record
Adding missing fields
Creating a new implementation to handle the building of the search query.

This would make it easier for me to review and address each change individually.

Ok, I'll split the PR, but I may need to wait each PR to be merged before submitting the next one, it will be easier.
I'll do it in this order :

Creating a new implementation to handle the building of the search query.
Reordering of properties in the record.
Adding missing fields.

That is fine, thanks. :)

I just noticed something about the query building : nothing is escaped, so any & or = will either break the query or make it a security issue.
I'm thinking about using Uri.EscapeDataString or QueryString.Create, what do you think ?

In fact those two options require Aspnet core ... so maybe the accepted answer on SO would be better: https://stackoverflow.com/a/829138/92315

@PhenX, I think that is a good idea, feel free to implement it. :+1:

@runeanielsen I made this PR : https://github.com/DAXGRID/typesense-dotnet/pull/127 it fixes the same issue in the export method too

Thanks @PhenX, I'll make a new release when the missing fields has been added. :+1:

Hello @runeanielsen I made the last pull request : #130


Aerial can not find my manual downloaded cache

General troubleshooting tips
Before logging an issue please check that:

[x] You have the latest version installed (There may be a beta version that fixes your issue), see here for the latest releases and bug fixes: https://github.com/JohnCoates/Aerial/releases
[x] Your issue isn't already mentioned in our issues. You may find a workaround there or a similar request already made.
[x] Your problem isn't mentioned in the troubleshooting section.

If none of this fixes your issue, tell us about the problem you are experiencing or the feature you'd like to request.
Required information
In order to help us sort your issue, we ask that you provide the following information:

[x] Mac model: iMac 2017 Retina 5K
[x] macOS version: Mojave 10.14.5
[x] Monitor setup: iMac 27-inch (5120x2880)

If appropriate, please enable Debug mode and Log to disk in Advanced tab and replicate your bug, then attach the AerialLog.txt file (You can access this file through the Advanced tab).
Description of issue / Feature request
I used a manual location for my cache videos, and I downloaded the videos manually with the links in tvos10.json.
But when I open the preference of Arial, the video list still show + icon button rather than ↓.
The preview window play videos using Network rather than cached files.

Here's the screenshot of my cache files.

Here's the screenshot of my Aerial preferences.

This is the AerialLog:
20:40:50 : UI logToDisk: true
20:42:11 : <AerialView: 0x7fc4ec61ee80> AVPlayerItemPlaybackStalledNotification name = AVPlayerItemPlaybackStalledNotification, object = Optional(<Aerial.AerialPlayerItem: 0x600000060880, asset = <AVURLAsset: 0x600000060780, URL = streaming://sylvan.apple.com/Videos/comp_DB_D011_C010_PSNK_DENOISE_v19_SDR_PS_20180914_SDR_2K_AVC.mov>>), userInfo = nil
21:01:31 : <AerialView: 0x7fc4ec61ee80> AVPlayerItemPlaybackStalledNotification name = AVPlayerItemPlaybackStalledNotification, object = Optional(<Aerial.AerialPlayerItem: 0x600000060880, asset = <AVURLAsset: 0x600000060780, URL = streaming://sylvan.apple.com/Videos/comp_DB_D011_C010_PSNK_DENOISE_v19_SDR_PS_20180914_SDR_2K_AVC.mov>>), userInfo = nil
21:03:33 : <AerialView: 0x7fc4ec61ee80> AVPlayerItemPlaybackStalledNotification name = AVPlayerItemPlaybackStalledNotification, object = Optional(<Aerial.AerialPlayerItem: 0x600000060880, asset = <AVURLAsset: 0x600000060780, URL = streaming://sylvan.apple.com/Videos/comp_DB_D011_C010_PSNK_DENOISE_v19_SDR_PS_20180914_SDR_2K_AVC.mov>>), userInfo = nil
21:03:38 : <AerialView: 0x7fc4ec61ee80> played did reach end
21:03:38 : <AerialView: 0x7fc4ec61ee80> notification: name = AVPlayerItemDidPlayToEndTimeNotification, object = Optional(<Aerial.AerialPlayerItem: 0x600000060880, asset = <AVURLAsset: 0x600000060780, URL = streaming://sylvan.apple.com/Videos/comp_DB_D011_C010_PSNK_DENOISE_v19_SDR_PS_20180914_SDR_2K_AVC.mov>>), userInfo = nil
21:03:38 : <AerialView: 0x7fc4ec61ee80> observeValue Optional("readyForDisplay")
21:03:38 : <AerialView: 0x7fc4ec61ee80> Setting player for all player layers in []
21:03:38 : shouldRestrictByDayNight : true (night)
21:03:38 : initvideocache
21:03:38 : <AerialView: 0x7fc4ec61ee80> streaming video (not fully available offline) : https://sylvan.apple.com/Videos/comp_GMT329_113NC_396B_1105_ITALY_v03_SDR_FINAL_20180706_SDR_2K_AVC.mov
21:03:38 : <AerialView: 0x7fc4ec61ee80> observing current item <Aerial.AerialPlayerItem: 0x600000136de0, asset = <AVURLAsset: 0x6000001369a0, URL = streaming://sylvan.apple.com/Videos/comp_GMT329_113NC_396B_1105_ITALY_v03_SDR_FINAL_20180706_SDR_2K_AVC.mov>>
21:03:38 : <AerialView: 0x7fc4ec61ee80> playing next video for player Optional(<AVPlayer: 0x6000002689f0>)
21:03:38 : AssetLoaderDelegate deinit
21:03:39 : Processsing contentInformationRequest
21:03:39 : expected content length: 103228938 type:com.apple.quicktime-movie
21:03:39 : Processsing contentInformationRequest
21:03:39 : expected content length: 103228938 type:com.apple.quicktime-movie
21:03:44 : connectionDidFinishLoading
21:03:45 : <AerialView: 0x7fc4ec61ee80> observeValue Optional("readyForDisplay")
21:03:45 : locale.languageCode en

Hi @xiaochunjimmy !
First thanks a lot for the log and all the details you provided.
So it looks like you only downloaded the videos from tvOS10.json, not from the other two. I would suggest you also get the videos from the entries.json first, those are the most recent ones and it will fill the list for you.
By default Aerial uses the most recent videos available, and that means that some of the older ones from the tvOS10.json will get unused, because Apple replaced them with newer versions of those videos (some are color corrected, some are longer/shorter, etc). Aerial can't use those because most of the time they don't align with the text descriptions. But there are some videos in those json that are still used, which is why we download it too.
If you look at the log, Aerial is looking for this file "comp_DB_D011_C010_PSNK_DENOISE_v19_SDR_PS_20180914_SDR_2K_AVC.mov" which comes from the tvOS12 json. You do not have this file in your directory.
So grab those from entries.json, and if you want everything, from tvOS11.json too. The files you want from the json are those where the line starts with "url-1080-H264" : . Make sure you quit and reopen System Preferences (not just Aerial panel, the full System Preferences window) so that Aerial can pick your newly downloaded videos.
By downloading all videos manually, you will have duplicates (the old files from tvOS10).  When you are done, you can go to the Advanced tab and use the Trash old videos options on the right. This will delete the duplicate video versions and will let you keep only the videos that you need.

Hopefully this makes sense. If you need any more explanation feel free to ask !

Than you so much~
I redownloaded videos from the entire.json and Aerial recognized the caches.

I simplified the JSON file content with download links only so that other users can copy and paste the links directly to download software.
Aerial-Download-Links-1080p.H264.txt

Glad this fixed it for you !


feat(core): add a schema for policy files

Thought this might come in handy.  Needs titles, descriptions and such.
This seems like a reasonable idea for schema versioning.
To test in VS Code, you can add this property to any policy file:
"$schema": "https://raw.githubusercontent.com/boneskull/LavaMoat/boneskull/policy-schema/packages/core/schema/lavamoat-policy.v0-0-1.schema.json"

Current dependencies on/for this PR:

main

PR #620   👈

This comment was auto-generated by Graphite.

@naugtur I'm unsure if we're going to be adopting Endo's policy format, or if they will adopt ours, or what.  Here's this, anyway.  Please let me know what you think.

@naugtur I'm unsure if we're going to be adopting Endo's policy format, or if they will adopt ours, or what.  Here's this, anyway.  Please let me know what you think.

I wrote policy support in Endo to be a low level representation of something powerful enough to support our current format (via translation and setup) but also many other formats.
One of the first steps on the path to rebuilding lavamoat-node on top of Endo is going to be a translation function and an attenuator to consume our current policy shape.

@naugtur Seems like it'd be good then to formalize the policy format.
What I don't have here are things like titles and descriptions of the various properties, and that would be helpful for someone (you?) to provide so that I can fill it in:

[ ] Title/description of entire schema.  Currently this is "LavaMoat Policy Schema"
[ ] Title/description of resources prop
[ ] Title/description of globals, builtins and packages within the resources prop
[ ] Are there are any properties that are outright missing?

Converting back to draft. Need to implement moduleRecord and resolutions, as well as probably add some sort of validator for testing purposes.  We can choose to validate at runtime later.

We will not normalize policy between Endo and LAvamoat as their scope differs. Endo's policy is low level, while LavaMoat is aiming to be more human readable. We're hoping to one day have the ability to put more general terms in the policy that'd get translated over to the low level policy like "network":true for better developer experience.
So there's going to be one policy format in Endo and potentially more than one format in LavaMoat

This looks OK for now.
Usually I'd want to use something like json-schema-to-typescript to generate the .d.ts, but it doesn't support patternProperties or anyOf very well, so I just handrolled it.

Closing this and opening from new branch


[VT-45] vit; .taskrc overrides in .vitrc

David Patrick on 2013-09-08T00:51:37Z says:
All the defaults for tw are in .taskrc, and vit normally inherits those settings. This feature is to allow any .taskrc setting to be entered in.vitrc, and at runtime these default overrides are used. Allowing wide differences in settings between the interactive and the cli, like default.command, for instance.

Migrated metadata:
Created: 2013-09-08T00:51:37Z
Modified: 2015-02-28T23:34:08Z

David Patrick on 2013-09-08T02:17:08Z says:
This would allow vit to have its own "include" files, and so separate reports/theme from tw, as another eammple.

Scott Kostyshak on 2015-02-28T23:34:08Z says:
Would you be satisfied if VIT just allows you to specify an alternate .taskrc file?


Rename Kubernetes resources to be more gerenic

Is your feature request related to a problem? Please describe.
Right now each kubernetes resource name contains the name of the application that it runs (united-manufacturing-hub-vernemq). The problem occurs when changing one technolgy to another, for example using HiveMQ instead of VerneMQ. Everything that was referencing united-manufacturing-hub-vernemq needs to be updated with united-manufacturing-hub-hivemq (like NodeRed flows).
This is a bad UX, since it requires a lot of work from a user perspective.
Describe the solution you'd like
All the resources (deployments, statefulsets, services, etc) that use a third-party image should be renamed to be more generic.
For example, instead of having united-manufacturing-hub-vernemq we should have united-manufacturing-hub-mqtt.
Describe alternatives you've considered
Keeping the same old name even when using a different technology. For example keep using united-manufacturing-hub-vernemq even if it's actually HiveMQ.
Additional context
none

united-manufacturing-hub-vernemq -> united-manufacturing-hub-mqtt
united-manufacturing-hub-kafka -> united-manufacturing-hub-event-store
united-manufacturing-hub-redis -> united-manufacturing-hub-cache
united-manufacturing-hub-nodered -> united-manufacturing-hub-stream-processor
united-manufacturing-hub-grafana -> united-manufacturing-hub-dashboard
united-manufacturing-hub-timescaledb -> united-manufacturing-hub-database
united-manufacturing-hub-kowl -> united-manufacturing-hub-console


Removed docs for unsupported versions of azps

Docs Build status updates of commit 9abd639:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azps-8.1.0/Az.Accounts/Add-AzEnvironment.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Az.Accounts.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Clear-AzConfig.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Clear-AzContext.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Clear-AzDefault.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Connect-AzAccount.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Disable-AzContextAutosave.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Disable-AzDataCollection.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Disable-AzureRmAlias.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Disconnect-AzAccount.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Enable-AzContextAutosave.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Enable-AzDataCollection.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Enable-AzureRmAlias.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Export-AzConfig.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Get-AzAccessToken.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Get-AzConfig.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Get-AzContext.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Get-AzContextAutosaveSetting.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Get-AzDefault.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Get-AzEnvironment.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Get-AzSubscription.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Get-AzTenant.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Import-AzConfig.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Import-AzContext.md
:white_check_mark:Succeeded
n/a (file deleted)

azps-8.1.0/Az.Accounts/Invoke-AzRestMethod.md
:white_check_mark:Succeeded
n/a (file deleted)

This comment lists only the first 25 files in the pull request.
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add a check box for changing OR statement to AND

Hey, I've been getting spammed by worthless drops just because they are rare. It would be nice to have a check box to change the (rarity)OR(worth) to (rarity)AND(worth) so that you can't for example get seeds from the rare drop table that are worth 86gp

Hey, I already made this feature, but the changes were never pushed to the plugin. I just put a request for the runelite team to put my changes in, so hopefully they accept them even if I'm not the owner of the plugin.


Add I'm Osama by Rucka Rucka Ali

Song Name
I'm Osama
Artist Name
Rucka Rucka Ali
Source
Youtube
Youtube Link
8hWVSvzh9os
Direct File Link
No response
Song ID
1
Start Offset [ms]
No response
Extra
Created from Auto Nong.
Created for level: 107177270

reject


Move all of the num sub-crates to their own repos

The separate repos are all in place, so now it's time to trim this one back.
Fixes #354.

I'll need to migrate issues and notify the outstanding PRs too...

Issue and PR updates are done, so let's go...
bors r+


Security - handlerbars

Love this template! I found this issue, though!
Replicate steps:

npm audit

Result:
Run  npm update handlebars --depth 6  to resolve 1 vulnerability
High - Prototype Pollution
Package handlebars
Dependency of │ jest [dev]
Path -  jest > jest-cli > @jest/core > @jest/reporters > istanbul-reports > handlebars
More info - https://npmjs.com/advisories/1164

Hi, thanks for the report, I've just patched this.


kdePackages: Plasma 6.2.2 -> 6.2.3

https://kde.org/announcements/plasma/6/6.2.3/
Things done

Built on platform(s)

[x] 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/)
24.11 Release Notes (or backporting 23.11 and 24.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.

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

nixpkgs-review completed but doesn't want to post a comment for some reason.


increase homepage cache to test downtime

Tests are failing for unrelated reason. Merging to get this out.


SecurityOption: fix NTLM Security Option Validation

Pull Request (PR) description
The mapping of the Network Security: Restrict NTLM security options to the underlying reg keys was wrong - this has now been fixed, including parameter validation within the resource.
This Pull Request (PR) fixes the following issues
Full fix of issue in PR #115
Task list

[x] Added an entry under the Unreleased section of the change log in the README.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

This is a full fix of #115 @kwirkykat @gaelcolas would be amazing to get into <IP_ADDRESS>

Codecov Report

Merging #127 into dev will not change coverage.
The diff coverage is n/a.

@@        Coverage Diff         @@
##           dev   #127   +/-   ##
==================================
  Coverage   89%    89%
==================================
  Files        5      5
  Lines      497    497
==================================
  Hits       446    446
  Misses      51     51

Codecov Report

Merging #127 into dev will not change coverage.
The diff coverage is n/a.

@@        Coverage Diff         @@
##           dev   #127   +/-   ##
==================================
  Coverage   89%    89%
==================================
  Files        5      5
  Lines      497    497
==================================
  Hits       446    446
  Misses      51     51

Hi @hackjammer, thanks for the fix.
It seems that you updated the values in PSD1 but not the MOF file (in the validate set), hence the failing build.
If we can get this fixed & merged this AM, and be ready by US SOD it might get released this week.
I'm currently in holidays so might be tough.

Thanks @gaelcolas - I'm too used to writing composites!
MOF has been sorted - please let me know if there's anything I can do to help get it merged!


UpdateVersion1

Added Logger and create new table which name order detail which contain more details from order history

Done


Faitl to activate typst-lsp: command 'typst-lsp.pinMainToCurrent' already exists

Component:

VSCode Extension
LSP (used with other editor)

Extension version:  0.13.0
LSP version:
OS version and name: macOS 13.6

I am on the latest stable version of the extension/LSP.
I have searched the issues of this repo and believe that this is not a duplicate.

Issue

Logs
Failed to activate typst-lsp: Error: command 'typst-lsp.pinMainToCurrent' already exists

I have same issue

This seems to collide with Tinymist Typst (or Typst Preview). As a workaround, you can (temporarily) disable one of the extensions.

Any fix?

In general I'd recommend going with Tinymist instead of typst-lsp. This one hasn't been updated for months.


Web - IOU - Currency listing page displays empty when clicked on currency

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

Version Number: 1.4.63-0
Reproducible in staging?: y
Reproducible in production?: n
Issue found when executing PR: https://github.com/Expensify/App/pull/38892
Issue reported by: Applause - Internal Team
Action Performed:

Open https://staging.new.expensify.com/
Click on FAB
Select Submit Expense
Select Manual tab
Write any amount and click on Continue button
Select any account and click on Continue button
On Final review screen click on Amount
Click on Currency

Expected Result:
Currency listing page should be displayed with available currencies
Actual Result:
Currency listing page displayed empty. When user scroll up or down the listing page, the available currencies will appear.
Workaround:
n/a
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/f379352f-6f80-42de-947b-1557855cc233
View all open jobs on GitHub

Issue is reproduced Only on MacOS/ Safari

Wow, that really is specific to Safari! It works just fine in Chrome. I wonder if this TS migration isn't the culprit https://github.com/Expensify/App/pull/40100

This seems pretty edge-case-y. I'm going to demote it as not-a-blocker.

I have locally reverted https://github.com/Expensify/App/pull/40100 but still happens.

Going to mark this as an external bug.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Currency listing page displayed empty. When user scroll up or down the listing page, the available currencies will appear.
What is the root cause of that problem?
Here, we have the logic to scrollToIndex if the focused index changes in useArrowKeyFocusManager.
In useArrowKeyFocusManager here, we call onFocusedIndexChange in an useEffect, so it will be called in first render, even if the focusedIndex did not change.
This first render of useArrowKeyFocusManager (and scrolling) happens even before the SectionList here finishes rendering (and onLayout called), so the scrolling will interfere with the SectionList rendering, causing the blank page to show.
This is a known issue and avoided that by only scrolling to the focused index after the onLayout was already called here. But due to the first rendering in useArrowKeyFocusManager, scrolling is still called before onLayout.
What changes do you think we should make in order to solve the problem?

In useArrowKeyFocusManager, we need to call onFocusedIndexChange when the focused index actually changes (not on first render). We can use usePrevious or firstRenderRef (like here) for this.
What alternative solutions did you explore? (Optional)
In scrollToIndex, early return if onLayout of SectionList wasn't called yet. To do this, we need to store isInitialSectionListRender in a ref like isInitialSectionListRenderRef too and use it, also we need to make sure to set isInitialSectionListRenderRef to false before this line to make sure the initial scroll still works fine.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Currency listing page displayed empty. When user scroll up or down the listing page, the available currencies will appear.
What is the root cause of that problem?
Here, we have the logic to scrollToIndex if the focused index changes in useArrowKeyFocusManager.
In useArrowKeyFocusManager here, we call onFocusedIndexChange in an useEffect, so it will be called in first render, even if the focusedIndex did not change.
This first render of useArrowKeyFocusManager (and scrolling) happens even before the SectionList here finishes rendering (and onLayout called), so the scrolling will interfere with the SectionList rendering, causing the blank page to show.
This is a known issue and avoided that by only scrolling to the focused index after the onLayout was already called here. But due to the first rendering in useArrowKeyFocusManager, scrolling is still called before onLayout.
What changes do you think we should make in order to solve the problem?

In useArrowKeyFocusManager here, we need to call onFocusedIndexChange when the focused index actually changes (not on first render). We can use usePrevious or firstRenderRef (like here) for this.
const prevIsFocusedIndex = usePrevious(focusedIndex);

useEffect(() => {
    if (prevIsFocusedIndex === focusedIndex) {
        return;
    }
    onFocusedIndexChange(focusedIndex)
}, [focusedIndex, prevIsFocusedIndex]);

What alternative solutions did you explore? (Optional)
In scrollToIndex, early return if onLayout of SectionList wasn't called yet. To do this, we need to store isInitialSectionListRender in a ref like isInitialSectionListRenderRef too and use it, also we need to make sure to set isInitialSectionListRenderRef to false before this line to make sure the initial scroll still works fine.
An alternative is to still reuse isInitialSectionListRender state, but we should use animated: false (or add a new param) to distinguish the first scroll. So we always allow the first scroll, if it's not the first scroll, isInitialSectionListRender is true, then we early return and don't scroll.

Bug not reproducible.
https://github.com/Expensify/App/assets/29673073/9ca3d946-7166-493c-808d-331cb27be37e

I agree, this looks like it's fixed. Going to ask QA to test again.

The issue is still reproducible on Mac/Safari, build <IP_ADDRESS>
https://github.com/Expensify/App/assets/93399543/a64bcae6-ef98-46b7-b113-4041c9705832

Bug not reproducible.

@rushatgabhane Please give it a try on MacOS Safari

I think it is fixed, I can't reproduce on Mac/Safari v1.4.68-0
https://github.com/Expensify/App/assets/51066321/1f380e38-9777-4b05-9a0e-af2b61dd041a
I'll ask QA to test on v1.4.68-0
I can also see that the full currency list is showing when clicking the Send Invoice workflow like @shubham1206agra tried.
https://github.com/Expensify/App/assets/51066321/c6f1daf1-c793-462a-9046-49262da36c43

Issue is not fixed on Mac/Safari on build <IP_ADDRESS>
https://github.com/Expensify/App/assets/93399543/21f012dd-89ba-45db-9437-573dbe5e85e4

Bump @rushatgabhane

@deetergp i can't reproduce the bug
https://github.com/Expensify/App/assets/29673073/db098104-f8c6-407c-aa61-81b3c5ca5ca7

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

I'm not able to reproduce this either, I've tried:

I created an expense in a new account that doesn't have any activity (as shown in the video) - I can't reproduce this
I created an expense in an active account - I can't reproduce this
I tried with IDR currency to USD and USD to IDR - I can't reproduce this

In the video, the entire account isn't loading when they first sign in. The account doesn't load even when they are creating the expense - I suspect this is the problem.
I think we should close this with needs reproduction and restest weekly labels to see if another Gh related to account loading helps resolve this.
@deetergp @rushatgabhane do you think this is a good next step?

I think it is fixed, I can't reproduce on Mac/Safari v1.4.68-0

@Christinadobrzyn Looking at the video, it seems you're using Chrome on Mac, not Safari.
Please try using the Safari browser on Mac, not Chrome browser on Mac
I can reproduce every time in the latest Safari version (17.4.1) on Mac, it doesn't even need to be from the OP, for a new account, when Submit expense and go to Currency page, the issue also happens.

@deetergp i can't reproduce the bug

@rushatgabhane From this video, it seems that you're also using Chrome browser. Please use the Safari browser on Mac.

@nkdengineer tried it on safari browser. Still not reproducible
https://github.com/Expensify/App/assets/29673073/ce6a9d41-4f01-4d85-a63e-68061bd35a5f

@rushatgabhane Thanks for the video, is it the latest version of Safari? (17.4.1)

yes it's 17.4.1

I was able to reproduce this on iOS/Safari while testing this issue - https://github.com/Expensify/App/issues/40873
https://github.com/Expensify/App/assets/51066321/b31ffbbe-8582-470e-9f32-adbd0f525bc6
The currency list is blank until you tap on the screen and then the currency list shows.
I think this can either be combined into this issue https://github.com/Expensify/App/issues/40873 or closed with the same reasoning - This issue seems to only be affecting RP currency, it's an edge case.
@deetergp @rushatgabhane let me know your thoughts!

Combine into this issue https://github.com/Expensify/App/issues/40873

@Christinadobrzyn It has different root cause so I don't think we should combine this GH with that one.

@Christinadobrzyn Looking at https://github.com/Expensify/App/issues/40483#issuecomment-2084208558, it seems you're using Chrome on Mac, not Safari.
Please try using the Safari browser on Mac, not Chrome browser on Mac

@Christinadobrzyn Are you able to reproduce the issue on Mac, Safari browser?

Issue not reproducible during KI retests. (First week)

Issue not reproducible during KI retests. (First week)

That's encouraging. If it's not reproducible after next week, I will go aheae and close it.

asking QA for a retest - https://expensify.slack.com/archives/C9YU7BX5M/p1715676219883889

The issue is still reproducible on  iPhone 14 Pro Max/Safari
https://github.com/Expensify/App/assets/93399543/4eeb2eac-0345-4b7d-ab88-a268a3a830d2

I can't get iPhone 14 Pro Max/Safari to load in Browserstack. @rushatgabhane are you able to test if this is still happening on iPhone 14 Pro Max/Safari?
I tested an iPhone 13/Safari and it wasn't happening so I also feel like we could make close this as an edge case. let me know your thoughts!

Issue is reproducible during KI retests.

@deetergp and @rushatgabhane if this is only happening on iPhone 14 Pro Max/Safari - should we continue with a fix or close as an edge case?

@rushatgabhane or @deetergp do you think we should work on this or should we close as an edge case/not ROI?

Great question. This feels like enough of an edge case that I am going say let's close it.

I agree, closing as an edge case.

@Christinadobrzyn @deetergp  Although this doesn't happen on all devices, but when it happens, the app looks completely broken and unusable (you can't see any item to click), so I think we should fix it.
In my case it happens every time on Mac Safari, so I bet it happens to a lot of people too.

@deetergp @Christinadobrzyn It's happening again in the Timezone page and is reported as another bug here https://github.com/Expensify/App/issues/42274
It's impacting all pages that use SelectionList.
Let's reopen this.

@nkdengineer do you know if the root is the same? I actually think we should keep the other https://github.com/Expensify/App/issues/42274 open and see if that fixes this. Because this is only affected one currency whereas the timezone could be affecting a wider group.
@deetergp do you have an opinion?

@nkdengineer do you know if the root is the same?

@Christinadobrzyn Yes the root cause is the same, my proposal fixes both issue (tested)

Okay, provided @rushatgabhane is also onboard, and that @nkdengineer has confirmed that their solution fixes both, I think we should go for it. What do you think Rushat?

@nkdengineer the root cause you've provided is to rerender when focused index changes. This is already happening, right?
We have focusedIndex in the dependency array
https://github.com/Expensify/App/blob/64695c850dfd7dc054823b69f35c9511cd934cdd/src/hooks/useArrowKeyFocusManager.ts#L71

@rushatgabhane To clarify, the root cause is that we're calling onFocusedIndexChange even though the focusedIndex did not change, we call it always, and scroll to the focused index in first render because useEffect always run once in first render. This is before the onLayout of the section list is called, interfering with the rendering and causes the blank page to show.
My solution is to make sure onFocusedIndexChange and the scrolling only happens when the focusedIndex actually changes

I closed https://github.com/Expensify/App/issues/42274 in favour of this. Although we were going to close this as an edge case.
since https://github.com/Expensify/App/issues/42274 has the same root (and is a bigger issue), should we move forward with fixing this cc @deetergp and @rushatgabhane?

Just checking in on this, are we moving forward with a propsoal @rushatgabhane?

@Christinadobrzyn yes we can move forward with @nkdengineer's proposal

cc: @deetergp

@rushatgabhane this PR is ready for preview

monitoring https://github.com/Expensify/App/pull/42816

PR was merged today 🎉

Just a heads up - I'm going to be ooo until June 24th. I'm not going to assign anyone new but if you need a new BZ teammate for any reason please feel free to ask for one to be assigned here.

The PR that introduced the bug has been identified. Link to the PR:

The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

Determine if we should create a regression test for this bug.

If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again

@Christinadobrzyn please attach payment summary whenever you're back

Payouts due:

[X] Contributor: $250 @nkdengineer (paid in Upwork - https://www.upwork.com/nx/wm/workroom/37416123/details)
[ ] Contributor+: $250 @rushatgabhane (paid through NewDot)

Upwork job is here.
Closing this but @rushatgabhane please make sure to submit for payment through NewDot!

$250 approved for @rushatgabhane


Introduce meters for client revision

When using central dogma client Watcher, we often leave logs to verify latest has been successfully updated for each client.
It might be useful if each client can report it's current state out of the box with meterRegistry.
Useful tags may include

repository
path
revision

I'm not sure if this is an already supported feature, but seems useful.

Sounds like a good idea. :+1:


REST Interface Validation

Description
Fully documents and validates the REST requests at both the server and client endpoints using BaseModels with extra = 'forbid'. In addition:

[x] Creates a wrapper around responses to serve the correct classes in a concise way.
[x] Removes duplicate FractalClient code into a _automodel_request wrapper.
[x] Adds full python docstrings and typing to the FractalClient.
[x] Homogenizes all queries to take in
[x] Additional typing and docstrings for Datasets.

Status

[ ] Changelog updated
[x] Ready to go

This pull request introduces 1 alert and fixes 2 when merging 15b93f0d39c5b88d4351e16d336f46fd3c0f83b3 into 5ae2a53a09d3387ac14d074c1a125088f6f4a0be - view on LGTM.com
new alerts:

1 for Explicit export is not defined

fixed alerts:

2 for Unused import

Comment posted by LGTM.com

This pull request fixes 2 alerts when merging fed4097337ba681d98ddaa972b244b50570a4483 into 5ae2a53a09d3387ac14d074c1a125088f6f4a0be - view on LGTM.com
fixed alerts:

2 for Unused import

Comment posted by LGTM.com

This pull request fixes 2 alerts when merging ae02517c2f03e1e415e88166d388f8281ad854be into 5ae2a53a09d3387ac14d074c1a125088f6f4a0be - view on LGTM.com
fixed alerts:

2 for Unused import

Comment posted by LGTM.com


Add RW BigInt64 methods

Descriptions
This PR is extension of PR #247 by @fanatid.
It addresses the issue described in https://github.com/feross/buffer/pull/247#issuecomment-645646172

Looks good. Since this PR uses the exponentiation operator, I'm going to drop support for IE11 and Safari 9-10 in order to accept it.
Further changes I needed to make:

Use consistent shifting to floor the offset numbers, like we do for other methods
Remove all BigInt literals in favor of using a BigInt constructor – this fixes parse errors in older browsers like Safari 11
Disable Node tests in Safari 11 and 12 since they use BigInt literal syntax

Released as 6.0.0

I'm going to drop support for IE11 and Safari 9-10 in order to accept it.

Could this mean that we could do things such as class Buffer extends Uint8Array { ... } instead?


Perfect Post Editor and Preview - Urgent

Please developers perfect Post Editor and Preview to keep users intact.

https://github.com/esteemapp/esteem-mobile/issues/581


Allow to be used for multiple Alertmanager instances.

          As a general comment, we need to make sure the alerter allows to be used as a watchdog for **multiple** alertmanagers, which is currently not the case. I don't think the current PR is blocked by that, but we need to make sure we track it as work which still needs to be completed. 👍🏼

Originally posted by @simskij in https://github.com/canonical/cos-alerter/issues/12#issuecomment-1480952545

@simskij Do we definitely want this? I'm not sure I really see the reason for it. Also, this is such a lightweight application that spinning up a second one seems very reasonable.

@simskij Can I get an idea of the scale we want to target here? Tens, Hundreds, Thousands? This will determine if we can continue using a file to store state.


Add tests for rancher2 TF provider through terratest

Framework for automating testing on terraform modules using terratest and Go.
To use:

Create and export configuration specs in config.go, to later reference in tests
Create a new _test.go file in the tests folder and begin writing a test

Please squash the commits and one question:
Are those go.mod changes necessary? Could we use the existing versions instead of bumping them?

I also have the same concerns with the go.mod files.

The modifications done in the main rancher/rancher mod file
The mod file with the test/terratest package.
Could you explain a little more on why you need them, and also why it has so many dependencies

@igomez06 I'm new to go, and i can't properly answer your question.  If they are not needed, lets remove it 👍

@izaac @igomez06
This is my first PR and i appreciate the feedback.  Please let me know the changes i need to make in order to get this PR in shape for merging.

@Josh-Diamond I mentioned this on one of your files, you should never use absolute paths when referencing packages.
You are using terra test to run the tests, is that why you have included a go.mod? Usually you don't want go.mod files within a module (rancher/rancher is a module, but it does happen this repo like the generated clients.). If you could explain the work flow of this is being run I would give you a better explanation. A quick check do you run go mod init/download in your test/terratest package?
My other objection is you are using direct rest calls to access rancher resources, when this can all be handled using the generated clients. Not saying it has to be from the framework, but the rancher/rancher repo has generated clients to access these resources, this would cut down you code a lot. Please see https://github.com/rancher/rancher/tree/release/v2.6/pkg/client/generated

@igomez06 As far as my understanding, and i'm super new to go, terratest allows you to use Go's testing on terraform modules.  So ultimately, i believe it is go that is running the tests, and utilizing terratest to grab TF module configurations to test against.  Initially when i began making the repo, i did run go mod init and go mod tidy.. I really don't know the relevance or why that go.mod file is needed.
As far as the clients, i really just didn't know about it.  I will have to learn more before commenting on that

@igomez06 So at this point, I should update the import paths from josh-diamond to rancher and delete the go.mod file? What about the go.sum? is that needed or should be removed?

@igomez06 So at this point, I should update the import paths from josh-diamond to rancher and delete the go.mod file? What about the go.sum? is that needed or should be removed?

Yes make sure it's in the structured I showed you before within the rancher/rancher repo, and remove the go.mod and go.sum, but keep them just in case, and see if you can run your tests without them.

This PR is a mess.. trying to rebase, having troubles.
@izaac could we go over this cleanup process after tomorrows demo?


compare time by equal

There is another function I want to add.
Currently, comparison of time is a simple struct comparison, but if that is the case, the difference will be born if location is slightly different.
Comparing time with equal, this difference disappears and I am very happy.
I implemented it once, so please give me feedback.

Coverage decreased (-1.4%) to 88.889% when pulling 939ef406c0f166ff15ea791d0df2daf01f34c6b7 on sadayuki-matsuno:compare_time_by_equal into 3256e0b48551fe33f3cbf93c47eca9e0a690f516 on d4l3k:master.

LGTM
Thanks so much for contributing!


rename io -> io_tools

Coverage remained the same at 85.541% when pulling f7afe4971729bb9fcfd1d5fc5989b063dd31d47c on kc/io_tools_rename into 653aec2ec14eb3dda0ebbc18e81d86e7abbca2ee on master.

Coverage remained the same at 85.541% when pulling f7afe4971729bb9fcfd1d5fc5989b063dd31d47c on kc/io_tools_rename into 653aec2ec14eb3dda0ebbc18e81d86e7abbca2ee on master.


Release ubi8 v1.2.3

Description:
Sync with osm 1.2.3

Testing done:
DONE

Affected area:

Functional Area

New Functionality
[ ]

CI System
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Demo
[ ]

Documentation
[ ]

Egress
[ ]

Ingress
[ ]

Install
[ ]

Networking
[ ]

Observability
[ ]

Performance
[ ]

SMI Policy
[ ]

Security
[ ]

Sidecar Injection
[ ]

Tests
[ ]

Upgrade
[ ]

Other
[X]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? no

Is this a breaking change? no

Has documentation corresponding to this change been updated in the osm-edge-docs repo (if applicable)? no

Codecov Report

:exclamation: No coverage uploaded for pull request base (release-v1.2-ubi8@5373174). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@                 Coverage Diff                  @@
##             release-v1.2-ubi8     #136   +/-   ##
====================================================
  Coverage                     ?   63.30%
====================================================
  Files                        ?      216
  Lines                        ?    16391
  Branches                     ?        0
====================================================
  Hits                         ?    10376
  Misses                       ?     5963
  Partials                     ?       52

Flag
Coverage Δ

unittests
63.30% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Parameterize adminUsername, adminPassword and version

Right now it's hard coded here: https://github.com/cloud-partners/oci-couchbase/blob/master/simple/scripts/server.sh#L5-L7

Whoops.  Duplicate of https://github.com/cloud-partners/oci-couchbase/issues/5


Add a function to return the individual scores of a selection

Currently:
project(trace, select((:y, 1), (:y, 2), (:y, 3)))
will return the sum of the scores of (:y, 1), (:y, 2), and (:y, 3).
Can we have a function that will return the individual scores?
This would come in handy when calculating things like WAIC and log pointwise posterior density (LPPD) where we need to produce the distribution of scores for each observation.

Maybe I'm misunderstanding, but running project three times, one for each single-address selection, should give this.

@marcoct I think the idea would be to provide a utility function that did this -- e.g., maybe it could return a choicemap-like trie mapping addresses to their scores?
I've sometimes wanted this when debugging -- I want to see which parts of a trace are contributing how much to the trace's score (and compare across multiple traces).


How to resize image with map area coords...? via maphilight

Hi,
Thanks for this awesome plugin, i've used this for mobile app, everthing works charm..!
but i cant control the image size as well canvas size, so how can i resize (or) rescale the original image and cavas for mobile devices..
help me out..

So it's 2023, and these 2 plugins are still the best way to do this type of interactive highlighted image as far as I know, lol.
Kudos to the creators of these plugins for creating something so useful.
Still can't figure out how to get this working on image resize though.
If you manually click the refresh button everything resizes and highlights correctly, but it requires manual browser refresh.
I'm happy to take a shot at it, but i'm not sure what else to look at. Any suggestions would be greatly appreciated.

@jmelnik You're right. I've been searching for months already for a better solution, but there's nothing out there.
I'm facing the same issue and tried everything already, but no luck in making the highlights responsive on resize.

This will reload the maphilight entirely and it will keep everything responsive, no matter the area size, but the only issue is that if you are using highlights with alwaysOn, these will not be remembered after reload/refresh.
I think this can be fixed also by saving some data in the localStorage, but not sure if it's a great idea.

@levente-nagy  I had to eventually give up on this method. I tried the page refresh thing too, but my users really complained about the page refreshes, lol.
I ended up going with straight up SVGs and some CSS. I save the Visio diagrams as SVG then manually add the necessary CSS to the text/css style element at the top of the file. It has the added benefit of not requiring a bunch of js just to highlight some shapes.
Turns out the trick i needed to get the correct elements to highlight was a fairly new pseudo class for :has().
This is what worked for my diagram:
`    /* custom styles */
svg {
width: 100%;
height: auto;
}
a ellipse:hover {
fill: red !important;
}
a ellipse:has(+ text:hover) {
fill: red !important;
}
a rect:hover {
fill: red !important;
}
a rect:has(+ text:hover) {
fill: red !important;
}
a path:hover {
fill: red !important;
}
a path:has(+ text:hover) {
fill: red !important;
}
div:has(div.CanvasSection) {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}`

Hope that helps.


Problem with SSL

Hi!
When i run mailslurper with SSL, the application not found. i can see old mails, but not receive new mails...
in the URL :8085 -> returns 404
Can you help me?
thanks!

What does your config look like?

Also please note that SSL is currently only setup for the service tier. The admin interface doesn't quite use certs... yet.

OK, try out release 1.13.1. SSL now can work on the admin, as well as the services and SMTP server.

FYI my test Python script failed with SSL because I forgot to start TLS. Doh! It works great when I do that.

My testing indicates SSL is working. If this continues to be an issue for you please feel free open another ticket.


Add return_bb option to CUBDatasets and add a test

I noticed we have both LabelDataset (CUBLabelDataset) and ClassificationDataset (DirectoryParsingClassificationDataset). We should unify these names because their tasks are same.

You are right.
ClassificationDataset is good because label is overloaded too much.
Also, it is consistent with other names of datasets which contain task names.
On the other hand, LabelDataset is good because this can be used for tasks other than Classification.

From my understanding, Classification in the class name indicates the main task for which the dataset was designed. Its name does not limit the usage of the dataset.
As you pointed out, we can use annotation type instead of task type. In this case, we should change class names as follows:

ClassificationDataset -> ImagewiseLabelDataset
DetectionDataset -> BBoxWithLabelDataset (?)
SemanticSegmentationDataset -> PixelwiseLabeldataset

In my opinion, there are three options. I slightly prefer 2 or 3.

Name by the main tasks for which the dataset was designed.
Name the dataset by the most distinctive annotation.

In this case, I would also suggest the following names:

ClassificationDataset -> LabelDataset
DetectionDataset -> BboxDataset
SemanticSegmentationDataset -> SemanticSegmentationDataset.

One advantage with this naming convention is that it only uses notations that have already been used in ChainerCV.

Treat LabelDataset as a special case. LabelDataset can be used in multiple tasks such as Classification and Image Retrieval. This is the primary reason why ClassificationDataset sounds wrong. On the other hand, there is one to one correspondence between a task and a dataset type for Detection and SemanticSegmentation. There is no problem with assigning a task name in this case.

ClassificationDataset -> LabelDataset
DetectionDataset -> BboxDataset
SemanticSegmentationDataset -> SemanticSegmentationDataset.

SemanticSegmentationDataset looks inconsistent. This is the name of task.

On the other hand, there is one to one correspondence between a task and a dataset type for Detection and SemanticSegmentation.

This is not true. For example, a detection dataset can be used for object counting task.

This is not true. For example, a detection dataset can be used for object counting task.

I see. So it seems that option 3 is too arbitrary.

SemanticSegmentationDataset looks inconsistent. This is the name of task.

Although it is the name of the task, it is the name of the output.

Although it is the name of the task, it is the name of the output. This can be improved.

How about SemanticMask?

I am not sure if that name is common in the field.

Personally, I prefer Name by the main tasks for which the dataset was designed. Is there anyone who think "I cannot use this dataset for image retrieval task because this is named Classification"?

On top of the inherent inconsistency problem, the task name is longer (Label -> Classification).
I observe this phenomenon a lot.

Keypoint -> Pose Estimation
Caption -> Question Answering (Although in this case, we can abbreviate the task name to QA)
Scene Graph -> Scene Graph Generation

I took a quick look at COCO and Visual Genome, which are prominent datasets that cover multiple tasks.

SemanticSegmentationDataset looks inconsistent. This is the name of task.

I think a user would not get confused about the name of Bbox/Detection dataset just because there is SemanticSegmentationDataset.

I think a user would not get confused about the name of Bbox/Detection dataset just because there is SemanticSegmentationDataset.

What do you mean?

It is totally fine to name SemanticSegmentationDataset together with BboxDataset.
We can have a task and an annotation whose names are the same.

We can have a task and an annotation whose names are the same.

Yes, that is not the problem. However, Segmentation sounds separating a thing into some pieces. Do we call separated pieces as segmentation? Aren't they segments? This is the reason why SemanticSegmentationDataset looks strange to me.

segmentation can have the same meaning as segment.
I googled the word, and it is used in two ways.
https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FAST

segmentation can have the same meaning as segment.

I see. So, SemanticSegmentationDataset is OK.
The names of datasets will be LabelDataset, BboxDataset and SemanticSegmentationDataset, right?
Perhaps, it is better to rename (pixel-wise) label to segmentation (seg/segm?). For example, vis_label -> vis_segmentation.

Perhaps, it is better to rename (pixel-wise) label to segmentation (seg/segm?)

Looking back at our internal discussion, label was preferred over segm because there is no similar name for score.
label/score pair is used throughout the library and it was suggested to be used for Semantic Segmentation as well.
However, vis_segmentation is much more informative than vis_label.
Since the situation has changed, I think segm is good.
By the way, taking instance_segmentation into consideration, I think vis_semantic_segmentation is better.

label/score pair is used throughout the library and it was suggested to be used for Semantic Segmentation as well.

I see.

By the way, taking instance_segmentation into consideration, I think vis_semantic_segmentation is better.

I thought the functionality of vis_instance_segmentation is very similar to that of vis_semantic_segmentation and we can treat both task by one function. But, vis_semantic_segmentation looks better now.

Let me summarize.

datasets -> <Identity><Main-annoatation-type>Dataset
dataset assertions -> assert_is_<main-annotation-type>_dataset
visualizations-> vis_<main-annoatation-type>
model assertions -> assert_is_<task>_link

I think it is OK to change label to segm.

I think it is OK to change label to segm.

LabelDataset -> img, label
BboxDataset -> img, bbox, label
SemanticSegmentationDataset -> img, segm

Adding to that, there are following objects:

Evaluator:   <metric>Evaluator
VisReport  <task>VisReport
evaluations:   eval_<metric>
transforms   <operation>_<annotation-type>  (e.g. resize_bbox)

VisReport VisReport

Considering the consistency with vis_*, shouldn't it be <Main-annotation-type>VisReport? Do you intend to specify the type of target?

transforms _ (e.g. resize_bbox)

If the <annotation-type> is image, we omit it, right? (e.g. random_crop_image -> random_crop)

So there are three conventions:

Annotation convention:  (e.g. img is CHW)
Dataset convention:  Set of annotations returned by a dataset  (e.g. img, label is returned by LabelDataset))
Task convention: Input and output of a network (e.g. Classification task handles a network that takes img, label during training as input. It takes img and outputs score (or prob) during testing.)

3 depends on 2 and 2 depends on 1.
For example, Detection task assumes the BboxDataset as a dataset.

Considering the consistency with vis_*, shouldn't it be VisReport? Do you intend to specify the type of target?

Since VisReport assumes the input and output of a network, I think its behavior is selected by a task.

If the  is image, we omit it, right? (e.g. random_crop_image -> random_crop)

Yes. This is for convenience.

Those three conventions look good.

Since VisReport assumes the input and output of a network, I think its behavior is selected by a task.

I see. This is reasonable.

Yes. This is for convenience.

OK.

I think we considered vision problems pretty comprehensively.
We considered tasks with

different dataset and different test time output
the same dataset and different test time output  (Classification and Image Retrieval)
different dataset and the same test time output  (Faster R-CNN and Fast R-CNN?)
the same dataset and the same test time output, but different for other reasons (is there any???)

I found that <task>_label_names is used.
Should it be <annotation>_label_names?

I found that _label_names is used.
Should it be _label_names?

If the annotation type is label. label_label_names sounds strange...
bbox_label_names is OK.

Perhaps, imagewise_label_names?

Perhaps, imagewise_label_names?

If so, LabelDataset should be ImagewiseLabelDataset?

Yeah. I think that is better.
One more thing.
DirectoryParsingClassificationDataset/DirectoryParsingImagewiseLabelDataset can be shortened to DirectoryParsingDataset because Imagewise Label is the only annotation that can be extracted by the names of subdirectories.

Is it possible to use label_names when the annotation type is image-wise label?

Imagewise Label is the only annotation that can be extracted by the names of subdirectories

Perhaps, we can make semantic segmentation/image conversion dataset by parsing directory. As you pointed out, we can extract only image-wise label from the name of subdirectories. However, DirectoryParsing sounds more general.

Is it possible to use label_names when the annotation type is image-wise label?

Do you mean this?

label_names (not imagewise_label_names)
LabelDataset instead of ImagewiseLabelDataset.

It looks OK. This can be better because it is shorter.

However, DirectoryParsing sounds more general.

Yes. This may sound too general. People can expect this to work as a directory parsing semantic segmentation dataset.

@Hakuyume
Let's finish this.

Do you mean this?
label_names (not imagewise_label_names)
LabelDataset instead of ImagewiseLabelDataset.

It looks OK. This can be better because it is shorter.

I mean both.

dataset
values
additional info

LabelDataset
img, label
label_names

BoundingboxDataset
img, bbox, label
boundingbox_label_names

SemanticSegmentationDataset
img, label
semantic_segmentation_label_names, semantic_segmentation_label_colors

I would prefer bbox_label_names over boundngbox_label_names.
bbox is used throughout the library.
Other than that, it looks ok.

I would prefer bbox_label_names over boundngbox_label_names.
bbox is used throughout the library.

Sorry, it's my mistake.

dataset
values
additional info

LabelDataset
img, label
label_names

BoundingboxDataset
img, bbox, label
bbox_label_names

SemanticSegmentationDataset
img, label
semantic_segmentation_label_names, semantic_segmentation_label_colors

If we choose to use LabelDataset for datasets with imagewise annotations, DirectoryParsingLabelDataset would be a good name.

I agree with you.

Sorry. I forgot to point out, but I prefer the dataset name for bbox to be BboxDataset.
I will start implementing these changes.

Sorry. I forgot to point out, but I prefer the dataset name for bbox to be BboxDataset.

Sorry, I fixed it. And I added two columns 'visualizer' and 'related tasks'.

The new API (https://github.com/chainer/chainercv/pull/399#issuecomment-328745157) is implemented:

#405
#419
#420

Please merge this after #405.

Good idea.

@Hakuyume
I found that mask is not really an appropriate name for this data because it can be in any value between [0, 255].
I think prob_map is better name for this.
Since, this is a relative big change, how about making another PR?

I found that mask is not really an appropriate name for this data because it can be in any value between [0, 255].
I think prob_map is better name for this.

Is it a value of probability? If so, can we scale it to [0, 1)?

Since, this is a relative big change, how about making another PR?

Yes. it is better?

Yes.
Please review this first.


ng build --prod errors

Hi,
Do you have an instance of this running somewhere? I've tried deploying it on an EC2 machine and at home, and when running ng build --prod I get the following error:
D:\battle-map>ng build --prod
Your global Angular CLI version (9.0.3) is greater than your local
version (7.3.8). The local Angular CLI version is used.

To disable this warning use "ng config -g cli.warnings.versionMismatch false".

Date: 2020-03-29T22:16:51.758Z
Hash: 72097c2466c4655adccc
Time: 12420ms
chunk {0} runtime.26209474bfa8dc87a77c.js (runtime) 1.41 kB [entry] [rendered]
chunk {1} es2015-polyfills.1e04665e16f944715fd2.js (es2015-polyfills) 56.4 kB [initial] [rendered]
chunk {2} main.fa4681da67b0e16d34dc.js (main) 128 bytes [initial] [rendered]
chunk {3} polyfills.41559ea504b9f00b6dea.js (polyfills) 130 bytes [initial] [rendered]
chunk {4} styles.fbdebb9ef7a5981adbaa.css (styles) 116 kB [initial] [rendered]

ERROR in src\app\toolbox\components\toolbar\toolbar.component.html(2,90): : Property 'tools' is private and only accessible within class 'ToolbarComponent'.
src\app\toolbox\tools\map\map-settings.component.html(11,64): : Argument of type 'number' is not assignable to parameter of type 'string'.
src\app\toolbox\tools\map\map-settings.component.html(11,64): : Property 'grid' is private and only accessible within class 'MapSettingsComponent'.
src\app\toolbox\tools\map\map-settings.component.html(15,64): : Argument of type 'number' is not assignable to parameter of type 'string'.
src\app\toolbox\tools\map\map-settings.component.html(15,64): : Property 'grid' is private and only accessible within class 'MapSettingsComponent'.

I've never coded anything in Angular, so I'm a generally confused by the whole thing.
The two errors about private access seem to be easily fixed by making the variable public in those constructors.
The two errors about number not assignable to a string stump me. The inputs in question seem to be numbers, and looks like they're setting the map's offset.x and offset.y - here I'm very specifically confused.


Update AlamofireXMLRPC.podspec

Abstract
After install 2.2.0, there are no swift files.

Thanks for the fix!
With the version pushed on cocoapods trunk (tag 2.2.0) you shouldn't have any issues. I'm currently changing the project tree on the master to work well with swift package.

After pod install, no problem! Thanks.


ofxPanelExtended::setSize bug

I wonder how to size and position an ofxPanelExtended correctly.
Width works as expected, height sets the y offset.
For instance: extendedPanel.setSize(width, 0); will produce an overlap, so the panel header is not shown.
I will have a closer look into this next week.
_oscInterfacePanel.setup("OSC Interface");
_oscInterfacePanel.setSize(ofGetWidth()/3, ofGetHeight()/8);
_oscInterfacePanel.setPosition(ofGetWidth()/3*2, ofGetHeight()/2);
_oscInterfacePanel.add(new ofxLabel(_model.getPWOSCInterface()->getRemoteHostSParameter()));
_oscInterfacePanel.add(new ofxIntSlider(_model.getPWOSCInterface()->getRemotePortIParameter()));
_oscInterfacePanel.add(new ofxIntSlider(_model.getPWOSCInterface()->getLocalPortIParameter()));
_oscInterfacePanel.add(new ofxToggle(_model.getPWOSCInterface()->getRelayBParameter()));
_oscInterfacePanel.add(new ofxToggle(_model.getPWOSCInterface()->getDebugBParameter()));

The same thing happens if you use ofxPanel, right? This is the case because when you add an item the item is attached to the bottom of the panel and the panel height is extended by the item height.
It's working when you call the setSize() function after adding the controls. I can think about how to avoid this unexpected behavior.. But it has to be the same for ofxPanel then.

Yes, it is an ofxPanel issue, I have not tested it with an ofxPanel before.
Not sure about the best way to solve this.
But it would be nice to set max height and calculate the actual height automatically every time an item is added.
If I set the size after adding items then the width is not set correctly.
_oscInterfacePanel.setup("OSC Interface");
_oscInterfacePanel.setPosition(ofGetWidth()/3*2, ofGetHeight()/2);
_oscInterfacePanel.add(new ofxLabel(_model.getPWOSCInterface()->getRemoteHostSParameter()));
_oscInterfacePanel.add(new ofxIntSlider(_model.getPWOSCInterface()->getRemotePortIParameter()));
_oscInterfacePanel.add(new ofxIntSlider(_model.getPWOSCInterface()->getLocalPortIParameter()));
_oscInterfacePanel.add(new ofxToggle(_model.getPWOSCInterface()->getRelayBParameter()));
_oscInterfacePanel.add(new ofxToggle(_model.getPWOSCInterface()->getDebugBParameter()));
_oscInterfacePanel.setSize(ofGetWidth()/3, ofGetHeight()/8);

Alright, I looked into that.
I corrected the first problem (it will take me a little bit to push it to github). You can set the size of the panel and the later added elements will have the desired width. But I won't set a fixed height. it will always adjust to the number of elements inside. I could also accept a fixed height, but its a little bit inconsistent since the panel is meant to shrink if you minimize a group inside.
I would therefore recommend to use ofxGuiPage for your purpose. Its inherited from ofxPanelExtended, but it always keeps its size.

Thanks a lot.
I did not see a setter for the width, so I thought height is meant to be the max height.
I will try ofxGuiPage.

The changes are now in the master branch. It still looks different if you resize the panel before or after adding elements, this should be fixed with https://github.com/openframeworks/openFrameworks/pull/4123


Provide a way to get a notification on inability to start a node gRPC server

Hello,
Please add an ability to be notified about errors on gRPC server start under node.js.
I created a small project which illustrates the problem:

We can run ./src/grpc.js and ensure that gRPC is configured properly
gRPC startup fails if target port is already occupied - run grpc-port-conflict.js where target port is bound to a node http server, then try to start gRPC server at the same port

The following in printed to the console:
E1122 08:53:29.221790000<PHONE_NUMBER>74464 server_chttp2.c:159] {"created":"@1479794009.221737000","description":"No address added out of total 1 resolved","file":"../src/core/ext/transport/chttp2/server/insecure/server_chttp2.c","file_line":125,"referenced_errors":[{"created":"@1479794009.221733000","description":"Failed to add port to server","file":"../src/core/lib/iomgr/tcp_server_posix.c","file_line":634,"referenced_errors":[{"created":"@1479794009.221723000","description":"Unable to configure socket","fd":22,"file":"../src/core/lib/iomgr/tcp_server_posix.c","file_line":355,"referenced_errors":[{"created":"@1479794009.221703000","description":"OS Error","errno":48,"file":"../src/core/lib/iomgr/tcp_server_posix.c","file_line":331,"os_error":"Address already in use","syscall":"bind"}]}],"target_address":"ipv6:[::]:50051"}]}

I'd expect one of the following:

allow to provide a callback to server.bind() and propagate the error there
throw an exception from server.bind() in order for clients to be able to catch and report it

Currently, that information is available, just not in the format you describe. server.bind returns the port number that was bound (useful if you're binding to port 0), and it returns 0 if the operation failed.

@murgatroid99 thanks for answer.
I'checked this and see that if I run two instances of the gRPC server, than for both the Server.bind('<IP_ADDRESS>:50051', ...) returns the value 50051. It does not return 0 for the instance which was started second (as I naively expect). Is it correct behavior?

Unless there's a major bug somewhere, that output is correct, and both servers are bound to that port. gRPC automatically binds ports with SO_REUSEPORT, so multiple gRPC servers can actually successfully bind the same port at the same time.

Thanks, I'm sorry to say I never heard of SO_REUSEPORT, though it obviously makes sense for node app.
I've just checked and found you are pretty correct - multiple server instances will serve grpc calls listening to the same port.
Also, if the port is taken by other appliction, the Server.bind returns 0 as you've described. Thank you very much! The only thing to regret is that documentation is lacking these details :)


Use OneDrive policies to control sync settings should be more clear whether feature is available in OneDrive personal

Hi, I'm working on a ReactJs project and using OneDrive to sync project when I'm not ready to commit to the remote repository. Since I've found this doc shows that I can use Policy to exclude a folder from syncing (like the node_modules folder).
Unfortunately, this documentation haven't indicated whether this feature is available on OneDrive Personal despite the "adm" folder already on my computer.

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

ID: 04ad2f16-c861-7a1b-5c1d-e4601e8f3855
Version Independent ID: c47df4cd-f706-d807-5eac-172fba1e500f
Content: Use OneDrive policies to control sync settings - OneDrive
Content Source: OneDrive/use-group-policy.md
Service: one-drive
GitHub Login: @mkbond007
Microsoft Alias: mabond

@ductoanvo this documentation is specifically for OneDrive for Business which is a separate product. This is the documentation for OneDrive personal:
OneDrive help & learning

@ductoanvo some Group Policies also work in OneDrive Personal, but there is no Group Policy to exclude a folder. Only exclude  files. The GPO name is"Exclude specific kinds of files from being uploaded"

Thanks @CallumCrowley and @HansBrender for adding more information.


SNO-613: Arbitrary transact from Ethereum to Polkadot

Resolves: SNO-613
Requires: https://github.com/Snowfork/cumulus/pull/58
Prerequisite
Xcm configs in the dest chain should be properly configured to allow bridge transact and take customized template runtime in https://github.com/Snowfork/cumulus/pull/58 as reference.
Assumptions

We provide two options send Transact with Origin from Sender or Agent. For the first option, no extra/dynamic fee will be deducted on the Ethereum side but requires a prior step to fund the sender's mapping substrate address which will be used to buy_execution in the dest chain.

For the second option with Agent as Proxy, dynamic fees are always required in Ethereum to cover the cost of XCM execution in the dest chain,  then there is no need for any extra step. We can still pass the original sender to the destination call if necessary. Requires extra field in particular call to differentiate both origins(e.g. take substrate's implementation for creating asset as reference, admin of the asset could be the real sender diff from the proxy address).

Also for the second option with Agent as Proxy,  dynamic fees are bought with the native asset of the relay chain(i.e. DOT), so the dest chain should be configured to allow MultiLocation::parent() for XCM instructions like withdraw_asset and buy_execution with some custom XCM config(e.g. take implementation from Acala as reference).  And since dynamic_fee is charged in Ether on the Ethereum side so it depends on some price oracle convert to the equivalent DOT on substrate side.

Todos
Since there is considerable change already so would prefer to focus on basic flow in this pull request, Mark the to-do list as follows, and will address it in later pull requests.
https://linear.app/snowfork/issue/SNO-619

Smoke test register_token_as_arbitrary_transact for the previous register_token but invoked with the new transact call. E2E shows it work as expected.

Just a thought but I am not sure how useful it is to send over a single xcm transact. It might more be useful to accept an entire xcm payload as opaque bytes from the Ethereum side, then decode it to a set of instructions here and then prepend:
UniversalOrigin(GlobalConsensus(network)),
DescendOrigin(X1(origin_location)),

Where origin_location is the msg.sender. This pushes the burden of buying execution and worrying about fees onto the creator of the xcm message. It will be more general and is secured by the DescendOrigin which we will prepend to the instruction set.
I am just thinking about the use case for this kind of method and it probably won't be EOA accounts using transact. It will probably be smart contracts that need to interface with Polkadot. An end user would not need to use the bridge to issue a single transact when they can issue it directly to Polkadot and save paying fees on Ethereum. A smart contract however would want to execute some logic on the Ethereum side and then co-ordinate it with some logic on the Polkadot side using transact. If we only allow a single transact then to do complex tasks you would have to queue multiple messages.
Also given that the most likely use case for this would be a smart contract, the smart contract developer would need to make sure that the contracts sovereign account is funded on the destination chain to pay for execution.
From the 2 options presented for choice of origin:

Using the msg.sender.
Using the Agent contract.

I think we need to use both options in different cases. For transact we need to use option 1. For our custom messages such as sendToken and registerToken we should use the agent contract. i.e. AssetHubs agent contract is allowed to create and mint assets on AssetHub.

It might more be useful to accept an entire xcm payload as opaque bytes from the Ethereum side, then decode it to a set of instructions

Then it requires full implementation of SCALE encoder for XCM in the solidity side which is not easy IMO. Moreover I would prefer not to expose these low-level XCM details to the end user.

I am just thinking about the use case for this kind of method and it probably won't be EOA accounts using transact. It will probably be smart contracts that need to interface with Polkadot.

Agree! Actually in current impl of transactThroughSigned I don't care if it's EOA account or a smart contract.  Though I'm not sure would assume transactThroughSovereign could be still helpful in some cases, much like the end user(EOA or a smart contract) approves the agent as proxy on their behalf. We can also add the original sender into call data if necessary as I mentioned above in Assumptions.

A smart contract however would want to execute some logic on the Ethereum side and then co-ordinate it with some logic on the Polkadot side using transact. If we only allow a single transact then to do complex tasks you would have to queue multiple messages.

I would assume for arbitrary transact actually we can call anything as we want(e.g. an Utilitity.batchAll which internally includes a lot of other transacts).

For our custom messages such as sendToken and registerToken we should use the agent contract. i.e. AssetHubs agent contract is allowed to create and mint assets on AssetHub. We currently use GatewayProxy for custom messages but I see the GatewayProxy contract sovereign as a kind of "root" account.

Agree!  And there is another option as I mentioned before for the owner here when registering asset, instead of the Gateway we can change it to the Agent address or  the original sender, then only that account(i.e. owner/admin of the asset) can mint tokens based on the checks here.

Closed in favor of https://github.com/Snowfork/snowbridge/pull/1141


Check connection has not been closed at first while checking the validity of connection

Related to https://github.com/brettwooldridge/HikariCP/issues/1889


How to finetune a Bi-encoder with lora method?

I need to finetune a embedding model and it is a Bi-encoder.I hope to reduce the cost of storage to save the checkponts.So I want to use lora.But I don't find lora arguments in the FlagEmbedding/baai_general_embedding/finetune/arguments.py.So how could I use the lora method? Thanks for your great work.

Sorry, the current code doesn't support fine-tuning with Lora.


Just curiosity

When the plugin is using the localStorage and a refresh happends internally it is just commiting a mutation to kept in sync with the store and if I declare a mutation that mutate the state this is pick up by the plugin, if so what is the best way of doing it? I am making my own for more specific needs and I will appreciate your tips and answer.
Are you changing the state directly from within the plugin?
By the way awesome plugin...

@AAhrit The recommended way is to go full-in on the Vuex API where possible. If you're going to mutate the localStorage instance from outside Vuex, you'll end up with some pretty nifty side effects.

@AAhrit So the answer your second answer, I only interact with localStorage from within the plugin. When I need to access any "persisted state" I use the getters from the Vuex.

Oh I see, but how you change the state from within the plugin in every refresh? Thanks for the answers.

@AAhrit depends on what you want to do with your plugin. I use replaceState in my plugin as I replace the complete state (localstorage merged with initial state).

When you say whenever you need to access to any "persisted state" you use Vuex getters, but this is when the state changes and you need to store what was changed? I mean you kept track any changes by watching the state through getters?

I get the state changes by subscribing my plugin to Vuex

subscribing you mean adding the plugin to the plugins array? or subscribing to mutations like so: store.subscribe(mutation. state)?

Yes indeed, exactly as described in the docs.

I'm sorry if I sound repetitive but when you access to the state you do something like this: store.getters.count from within the plugin? I'm guessing that if I put inside the paths: [] array any state I want to persist it will be something like this: paths: ['count', 'anotherCount', 'andAnotherOne']? and lastly if I don't write down what I want to persist how you from within the plugin persist everything? I mean what is your code aproach.

@AAhrit I will close this issue for now. I do not really get what you're trying to solve here. If you like to know how the plugin works try to look at the code, those hundred or so lines aren't that hard to understand.


Adjust Header component according to designs

Implement Home button, make a proper menu hover styles and make icons same size as in the designs

version
implementation

old

designs

new

The changed SVGs are not centered:
Ex:

Seems like icons are inconsistent across Figma screen designs and/or were updated without notice. cc: @onvisions
Regarding the logo button and menu icon hover - thanks for taking care of it!


Use int96 write timestamp type

It seems velox does not support read timestamp with INT64 TIMESTAMP_MICROS or TIMESTAMP_MILLIS. So I hardcode it that always use int96 to write timestamp type. This is also the vanilla Spark default behavior.
For example:
import org.apache.spark.sql._
import org.apache.spark.sql.types._

val data = (1 to 10).map(i => Row(Decimal(i, 18, 0), new java.sql.Timestamp(i)))
val schema = StructType(List(StructField("d", DecimalType(18, 0), false), StructField("time", TimestampType, false)).toArray)
val df = spark.createDataFrame(sc.parallelize(data), schema)
spark.sql("set spark.sql.parquet.outputTimestampType=TIMESTAMP_MICROS")
df.write.format("parquet").mode("overwrite").save("test")

spark.read.parquet("test").collect

Caused by: java.lang.RuntimeException: Exception: VeloxRuntimeError
Error Source: RUNTIME
Error Code: NOT_IMPLEMENTED
Retriable: False
Context: Split [Hive: file:///spark-<IP_ADDRESS>-bin-netease/test/part-00000-6f9134c8-32c0-4909-ab1a-00277d68cf8f-c000.snappy.parquet 0 - 835] Task Gluten stage-4 task-4
Top-Level Context: Same as context.
Function: readInt128
File: ../.././velox/dwio/common/IntDecoder.h
Line: 555
Stack trace:

This is the part of https://github.com/oap-project/gluten/pull/2379

cc @JkSelf this related test is passed

@ulysses-you Can you help to upstream to meta velox repo? Because we will not maintain the oap velox later after rebasing oap velox to 6.26.


Cannot use training_args.logging_steps of Hugging Face Trainer

Weights and Biases version: version 0.8.35
Python version: 3.7.6
Operating System: Linux

Description
I wanted to use Pytorch Trainer, this works
from transformers import TrainingArguments
training_args = TrainingArguments("/kaggle/working")
...
# training_args.logging_steps=2
...
from transformers import Trainer

trainer = Trainer(
        model=model,
        args=training_args,...)

This does not, I received You can only call wandb.watch once per model
from transformers import TrainingArguments
training_args = TrainingArguments("/kaggle/working")
...
training_args.logging_steps=2

from transformers import Trainer

trainer = Trainer(
        model=model,
        args=training_args,...)

Can you try to restart your kernel?
Also maybe remove the wandb folder created. I think it's due to the importing of wandb which tries to look into this unrelated folder sometimes.
Let me know if that solves it and we can look into a permanent fix.

You can also set os.environ["WANDB_WATCH"] = "false" before instantiating your trainer to disable the watching functionality.

Can you try to restart your kernel?
Also maybe remove the wandb folder created. I think it's due to the importing of wandb which tries to look into this unrelated folder sometimes.
Hi, restarting kernel does not helps with the training_args.logging_steps=2 parameters. However, it seems to  be compulsory to restarts kernel after every trainer.train().

Removing the wandb folder gives the following error
ipython-input-95-3435b262f1ae> in <module>
----> 1 trainer.train()

/opt/conda/lib/python3.7/site-packages/transformers/trainer.py in train(self, model_path)
    323             self.tb_writer.add_hparams(self.args.to_sanitized_dict(), metric_dict={})
    324         if is_wandb_available():
--> 325             self._setup_wandb()
    326
    327         # Train!

/opt/conda/lib/python3.7/site-packages/transformers/trainer.py in _setup_wandb(self)
    264         One can override this method to customize the setup if needed.
    265         """
--> 266         wandb.init(name=self.args.logging_dir, config=vars(self.args))
    267         # keep track of model topology and gradients
    268         wandb.watch(self.model)

/opt/conda/lib/python3.7/site-packages/wandb/__init__.py in init(job_type, dir, config, project, entity, reinit, tags, group, allow_val_change, resume, force, tensorboard, sync_tensorboard, monitor_gym, name, notes, id, magic, anonymous, config_exclude_keys, config_include_keys)
    914             if len(_global_run_stack) > 1:
    915                 termwarn("If you want to track multiple runs concurrently in wandb you should use multi-processing not threads")
--> 916             join()
    917         run = None
    918

/opt/conda/lib/python3.7/site-packages/wandb/__init__.py in join(exit_code)
    564     shutdown_async_log_thread()
    565     if run:
--> 566         run.close_files()
    567     if len(_global_run_stack) > 0:
    568         _global_run_stack.pop()

/opt/conda/lib/python3.7/site-packages/wandb/wandb_run.py in close_files(self)
    744             self._events = None
    745         if self._history is not None:
--> 746             self._history.close()
    747             self._history = None
    748

/opt/conda/lib/python3.7/site-packages/wandb/history.py in close(self)
    258
    259     def close(self):
--> 260         self._write()
    261         self._lock.acquire()
    262         try:

/opt/conda/lib/python3.7/site-packages/wandb/history.py in _write(self)
    230         # for resuming.
    231         if self._file == None:
--> 232             self._file = open(self.fname, 'a')
    233         if self.row:
    234             self._lock.acquire(

Let me know if that solves it and we can look into a permanent fix.

Do you have a reproducible example?
It may be an edge case we've not seen yet.

Since this is on Kaggle, I would share the notebook here. In the Settings menu on the right panel, please (1) Enable Internet for the kernel and (2) Use the lastest enviroment as seen in screenshot below

Can you confirm which dataset to use?
@vanpelt I actually get the same problem on huggingtweets which is why I make people restart the kernel after one training iteration.
Should we put this issue on hold for a little bit and try to close it with the upcoming CLI?

remove the wandb folder created.

This solved for me. Thanks @borisdayma!

The error in this thread seems to be connected to "removing the wandb director".  @borisdayma what error were you referring to here?  Is this still an issue?

I've not seen it anymore with the latest wandb version.
I think it can be closed.
@minhtriet can you confirm this doesn't happen anymore for you as well?

Hey @minhtriet
Due to the inactivity of the thread and the solution being found we are closing this thread. Please feel free to reopen this is need be. :smile: