Allow creating Vecs of and implement TryFrom<JsValue> for strings and exported Rust types

This is a rebase of #2734 along with some fixes and tweaks. Sorry it took me so long to get to it!
This PR:

Adds support for passing Vecs of Rust structs to/from JS.
Adds support for passing Vec<String>s to/from JS.
Implements TryFrom<JsValue> for Rust structs and strings.

The Vec impls are little inefficient, since they work by passing Vec<JsValue>s to/from JS like normal, and then translating them to the desired Vec with TryFrom / Into<JsValue>, which requires throwing away the first allocation and making a second one.
Fixes #111
Fixes #2452
Fixes #168
Fixes #2231
This also mostly supersedes #3088. That PR does support slightly more functionality (getting access to &Struct instead of forcing you to take ownership of it and invalidate JS's handle), but it also does so by exposing the internal Anchor type used by RefFromWasmAbi, which I'm not a huge fan of.
I haven't bumped the schema version, since the actual schema hasn't changed and so older versions of the CLI are mostly still compatible, although they do give this cryptic error message if you try and use the new TryFrom<JsValue> impl for Rust structs:
error: import of `__wbg_foo_unwrap` doesn't have an adapter listed

(where foo is the name of the struct.)
So maybe it's worth bumping it anyway, not sure.

Does this allow returning Vec<_> or such from externs? That's been a big limitation in my use of ducktor for complicated types

If it's a Vec of #[wasm_bindgen]'d structs or `Strings, yes.

Thank you @Liamolucko for sorting this out. It's so good to see my work being put to use.

I think this only partially fixes #111 and #168 (depending on their scopes).
Is it expected that it does not work for returning Vecs from async functions? For both String and #[wasm_bindgen]d structs I get an error that From<Vec<_>> is not implemented for JsValue.
Minimal example:
#[wasm_bindgen]
pub async fn f() -> Vec<String> {
    unimplemented!()
}

I can imagine that it might be an easy target, though.
Side node: Passing Vecs to async fns works fine.

As this came into 0.2.88 it just broke all our framework bindings - https://github.com/rustwasm/wasm-bindgen/issues/3685
TLDR; this implements a trait on types created by the developer who is using the wasm-bindgen framework, preventing the developer from creating his own TryFrom<JsValue> implementations, which can have many use cases.


(FACT-2826) Added Facter.flush

Facter flush sets the resolved value to nil without restarting the resolution. Besides that flushing can be hooked using on_flush in custom facts.

CLA signed by all contributors.

Jenkins please test this on all


refactor data pipeline

never output header lines + use \N for null
always output .gz files
convert taxonLoader. to eliminate the database and create taxons.tsv
refactor peptideLoader to extract lineage calculation
check which tables need to be loaded for genome loading
rewrite bash files

Original issue by @bmesuere on Thu Jan 15 2015 at 15:44.
Closed by @ninewise on Fri Mar 20 2015 at 13:40.

Original comment by @ninewise on Fri Jan 16 2015 at 09:33.

There may be something incorrect about this chart. I forgot how t in the old version, the lineages are only calculated for taxons encountered during the parsing of uniprot. In the chart however, the lineages.sh script is independent of the peptideLoader.java program.
To correct this, the easiest would probably be to let the peptideLoader output a new taxons.tsv file, including only the encountered taxons. I suspect the unused taxons are ignored in the rest of the program, anyway.
Original comment by @ninewise on Fri Jan 23 2015 at 17:36.

@ninewise with the taxonomy and taxa2lca command of the api in mind, we decided that from now on we'll store the lineage of all taxa and not only the encountered ones.
Original comment by @bmesuere on Fri Jan 23 2015 at 18:31.

Fixed in f9d5b4c820674482b8ca0b116c60df6d745958a7
Original comment by @ninewise on Fri Mar 20 2015 at 13:40.


Login problems

since a couple of days i get an error when starting the instance. Everything was working fine - no update or something like that.
Bug now i get the following debug-log:
mihome-vacuume.txt
I did not change my login, so maybe a change on the server side?

turns out - i had a misconfiguration of some sort, and iobroker was not able to get internet-access.
So i close this comment.


While creating root node, node is not showing with editable area (to change the default name)

Hi,
While creating root node, node is not showing with editable area (to change the default name). Please suggest.
Source code:
    function demo_create_parent() {
        /*TO CREATE A ROOT NODE */
        $("#demo1").jstree("create_node", null, null, "last", function (node) {
            debugger;
            this.edit(node);
        });
    }

I think, both are different issues, because parent & child nodes creation.

It works fine. Here is a demo (notice core.check_callback is set to true):
http://jsfiddle.net/2kwkh2uL/19648/


[Feature Request] Improve stack_permission_limits

My setup
All players start with huskhomes.max_homes.10 and they can improve their account by doing many tasks.
The problem
There would be more than one in-game reward granting +1 home limit to the player;
LuckPerms will ignore duplicated permission nodes, so having two entries of huskhomes.max_homes.1 will not do the trick
My solution
Named bonuses! We define it the config.yml or in another file, your preference;
It would work as follows:
bonuses:
  eventOne:
    max_homes: 1
  eventTwo:
    max_homes: 5
  veryImportantTask:
    max_homes: 42069
    max_public_homes: 12

Then we grant the player huskhomes.bonuses.<eventName>:
So i would have more flexibility to plan player limits
Note
I just found out that doing

works as i need it working, but not very classy nor organizated.
I appreaciate this plugin very much, i want to thank you again for making possible to bulk delete from specific worlds!

I'd rather this be permission based, rather than config defined. Either way to solve the issue of duplicate nodes not stacking (the consequence of intended LuckPerms effective node calculation behaviour) would warrant hooking into LuckPerms (as would checking user groups directly, but I digress).
Effectively then, this request is for a LuckPerms hook.


Use block scoping in lib/, const where possible

A good post on the subject:
https://medium.com/javascript-scene/javascript-es6-var-let-or-const-ba58b8dcde75

Coverage increased (+0.07%) to 92.55% when pulling e568d9e82e9868b97c3d8565d59e6f9d2cc32b53 on paulmelnikow:const-party into cf2da202ffe6113584d0f1ac8f96800deb5be539 on MarkHerhold:master.

Coverage increased (+0.07%) to 92.55% when pulling e568d9e82e9868b97c3d8565d59e6f9d2cc32b53 on paulmelnikow:const-party into cf2da202ffe6113584d0f1ac8f96800deb5be539 on MarkHerhold:master.

Coverage increased (+0.07%) to 92.55% when pulling e568d9e82e9868b97c3d8565d59e6f9d2cc32b53 on paulmelnikow:const-party into cf2da202ffe6113584d0f1ac8f96800deb5be539 on MarkHerhold:master.


Difference between pinecone and pineconeip?

Hello,
I am trying to figure out how to test pinecone for a project but the documentation is not clear.
I have been able to use Go to compile the "cmd\pinecone\main.go" and "cmd\pineconeip\main.go" and the resulting pinecone.exe seems to start up while the pineconeip.exe gives a TUN error:
C:\Pinecone\pinecone>pinecone.exe
Router identity: 4d1748d19537ed4815c9cc31a4b729e04b9cc282bc2b9103c256f33ccc13934f
Listening on [::]:21978
Listening on [::]:21979
Listening for WebSockets on http://[::]:21980
Multicast discovery enabled on Ethernet 2 (fe80::932c:e6f2:ede6:f978)
Multicast discovery enabled on Wi-Fi (fe80::4f1c:8b27:237e:c34d)
Multicast discovery enabled on Wi-Fi (<IP_ADDRESS>)
Multicast discovery enabled on Ethernet 2 (<IP_ADDRESS>)

C:\Pinecone\pinecone>go build -o pineconeip.exe cmd\pineconeip\main.go
go: downloading golang.zx2c4.com/wireguard v0.0.0-20220703234212-c31a7b1ab478
go: downloading golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224
# github.com/matrix-org/pinecone/cmd/pineconeip/tun
cmd\pineconeip\tun\tun.go:64:14: t.setup undefined (type *TUN has no field or method setup)

How can I start up multiple pinecone.exe instances and that those instances are in the same mesh and are communicating?
Can I perhaps start multiple instances and then ping between them or something?
What are some simple steps to do it?
Thanks in advance

As a small item that might be of interest to you, I noticed that in you "pineconeip" directory that you did not have any TUN file for Windows.
In my Internet travels, I came across a set for Darwin, Linux, Unix, and Windows that might assist in your completion of the Windows TUN integration for PineconeIP as well.
https://github.com/Alienero/tun-go

Just thought that this might help


Loading state forces modal to be full page

Fixed style which forces loading state to be full page in wizard modal. Tested with overview and details pages -- the style isn't needed there anymore.
https://issues.redhat.com/browse/COST-139

Codecov Report

Merging #1566 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1566   +/-   ##
=======================================
  Coverage   77.21%   77.21%
=======================================
  Files         233      233
  Lines        3832     3832
  Branches      703      703
=======================================
  Hits         2959     2959
  Misses        780      780
  Partials       93       93

Continue to review full report at Codecov.

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


Add presets for highway=path-based cycle-footway tagging

Description, Motivation & Context
Some of the regions are opted out of the cycle-footway preset currently available in iD, since the preset insists on using the highway=cycleway tag, but those communities accepted the use of highway=path tag as their consensus on tagging the feature. Yet no alternative preset is available, therefore in these regions, those cycle-footways are displayed in iD in same way as regular path, with no way to apply any preset, neither cycleway nor path-based one. This PR aims to fill the gap.
Related issues

Closes #109
Partially overlaps with #267
Partially overlaps with #317
Closes #759
Partially overlaps with #1205

Partially resolves

will it cause github to close linked issue? maybe put "resolves (partially)" ?

FYI: There is a big refactoring on crossings as a PR that I am waiting for to be merged for a long while now.

FYI: There is a big refactoring on crossings as a PR that I am waiting for to be merged for a long while now.

FYI this was merged recently. Could you rebase your PR?

Partially resolves

will it cause github to close linked issue? maybe put "resolves (partially)" ?

@matkoniecz Actually yes it would, which we do not want, thanks for pointing that out. Reworded to "Partially overlaps with" so it won't happen.

FYI: There is a big refactoring on crossings as a PR that I am waiting for to be merged for a long while now.

FYI this was merged recently. Could you rebase your PR?

@tordans Done.

I've also now added Norway to the inclusion/exclusion country lists in the modified presets, as per #1193, since that's basically the same issue, which seems to have been "forgotten" for some reason? :man_shrugging:

@olafkryus please use the test template to add some test cases to this PR https://github.com/openstreetmap/id-tagging-schema/blob/main/.github/PULL_REQUEST_TEMPLATE.md?plain=1#L24-L70
I also commented on https://github.com/openstreetmap/id-tagging-schema/pull/1193#issuecomment-2553205701 and you might have an opinion on this.
TBH I am not sure that adding the regional preset changes to this PR will lead to this one being merged sooner. It might be better to keep those things separated.

@olafkryus

TBH I am not sure that adding the regional preset changes to this PR will lead to this one being merged sooner. It might be better to keep those things separated.

Given how the conversation went in https://github.com/openstreetmap/id-tagging-schema/pull/1193 I would like to tune back this PR to only include the added preset (and maybe the missing "de" https://github.com/openstreetmap/id-tagging-schema/pull/1384/files#diff-3b8f616654b5d2845f63eb05ce32b27741d3945ad0a71e55033de12a656d8b56R7)
I would consider this ready for merge then. But we still should check the test checklist first.

Test-Documentation
Preview links & Sidebar Screenshots
Icons are copied, and fields are directly re-used from already existing related highway=cycleway-based tagging presets.
Bicycle & Foot Path
https://pr-1384--ideditor-presets-preview.netlify.app/id/dist/#background=Geoportal2-PL-aerial_image_WMTS&disable_features=boundaries&id=w991414746&locale=en&map=20.22/50.26270/19.00850

Bicycle & Foot Crossing
https://pr-1384--ideditor-presets-preview.netlify.app/id/dist/#background=Geoportal2-PL-aerial_image_WMTS&disable_features=boundaries&id=w699046787&locale=en&map=20.22/50.26270/19.00850

Search

Info-i
Bicycle & Foot Path

Bicycle & Foot Crossing

Wording
New presets directly re-use all wording from already existing related highway=cycleway-based tagging presets.

@tordans If I had paid a bit more attention to the description of #1193, I probably would have noticed that it's similarly-looking solution is actually an unexpected method of trying to solve a bit different problem. 🫥 Whether cycleway is implying bicycle designation is quite a good point, but certainly for another issue. (on the bright side, at least that moved forward a bit :wink: ). For now, it's Norway-out from the country lists here.
Test Documentation added.

It's great to have this in place, now. Looking at it on the map makes me hope we will find a good solution for  https://github.com/openstreetmap/iD/pull/10256 which would resolve the rendering issue of those shared path lines. — Maybe you have an idea over there.

Documentation:
The info-i part is a bit unfortunate but I don't see any way to reference a wiki page that will show something with a more to the point meaning. It is all very generic hw=path and not what we would want to see here like "shared bike and pedestrian path/crossing, segregated or not".
When I switch from a shared path to a cycle path and back via presets the "segregated=*" value gets lost. But I think that is OK for this use case.
Search looks good

The info-i part is a bit unfortunate but I don't see any way to reference a wiki page that will show something with a more to the point meaning. It is all very generic hw=path and not what we would want to see here like "shared bike and pedestrian path/crossing, segregated or not".

That’s a known issue with the tagging scheme overall. I’m not sure we can reasonably expect a single brief description that covers the tag’s multiple personalities. There are too many relevant forum threads to list here, but here are a few off the top of my head:

RfC: Reorder samples in highway=path documentation
Request for Comments: Solution proposal for the path issues
Documenting the problems with highway=path
Mapping combined ways for cycling and walking

@1ec5 I was thinking along the lines of …

find a way to model a wiki data item for a tag combination and use that as reference for a preset –> AFAIK that is not part of the wiki data item setup at this point
have an optional hard coded info-i text here in the code –> this could get messy and would move more responsibility here which I don't think is worth the effort at this point

The reference cannot help here due the lack of a specific tag…


Cancel workflows for PRs from forked repositories

Issue summary

Right now we cancel all previous CI runs on each commit to every branch. This makes sense for PRs where we don't want to waste resources when multiple commits are pushed in quick succession. But for the main branch, we would like each commit to be tested and receive a green checkmark.
We can disable the cancel-workflow-action step on the main branch by adding something like if: ${{ github.event_name == 'pull_request' }} to the workflow.
Other information and links

Besides this one, I think the current setup does not work for PRs from fork repos either per their doc.
I think it's better to remove the steps from individual workflows and make a standalone one for cancelling stale workflow runs, maybe cancel-stale.yml
here's one I propose
# https://github.com/marketplace/actions/cancel-workflow-action#advanced-pull-requests-from-forks
name: Cancel stale workflows
on:
  # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_runbranchesbranches-ignore
  workflow_run:
    workflows:
      - "Build and publish Forest Docker image"
      - "Docs"
      - "Rust"
      - "Scripts"
    types:
      - requested
    branches:
      - "!main"
jobs:
  cancel:
    runs-on: ubuntu-latest
    steps:
      - uses<EMAIL_ADDRESS>        with:
          workflow_id: ${{ github.event.workflow.id }}
          # https://github.com/styfle/cancel-workflow-action#advanced-all-but-latest
          all_but_latest: true

Re-opened with slightly different scope.


Lengthen underline, correct spelling, and reword

Lengthening the underline resolves the following warning from sphinx-build:
[...]\xarray\doc\whats-new.rst:20: WARNING: Title underline too short.

v2022.03.1 (unreleased)
---------------------

Thanks @stanwest


Authorization requests with responce_type=id_token token fail

Describe the issue:
authorization requests to /authorization endpoint with responce_type set to id_token token fail.
responce: invalid_request, Bad request content type. Expecting: application/x-www-form-urlencoded or application/json
How to reproduce:
send a get request to /authorization endpoint with responce_type=id_token token
Expected behavior:
a successful response with an Access Token, an Access Token Type, and an id_token is expected
https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html
Environment information:

Product Version: IS 5.11.0beta5
OS: Linux

@Yasasr1 Can you add the request you used to reproduce this issue?

Request : https://localhost:9443/oauth2/authorize?client_id=aHsM3OMaWiJGBnczJBtw0bmEFfka&redirect_uri=https://localhost:8080&scope=openid&state=test&nonce=X3Tp9p6NH3&response_type=id_token token


Data export should be designed as a single page instead of a wizard

Data export provides a good number of options. However, showing them in multiple subsequent windows of that wizard can be overwhelming and lead to errors.
For example I'm not using the truncate option, because I know I would overlook it the next time I run the wizard and truncate tables I didn't intend to. For the same reason I never use "use selected rows/use selected columns".
If all the options could be provided in a single page (using expandable panels to ensure it doesn't get too big), I would more easily be able to check the 2/3 settings I'd normally change.
Have you ever seen the Toad data "copy data" window? It's even more option-packed than dbeaver's and fits in a single window. I can provide you with a screenshot if needed.
Data export would also be faster if I didn't need to click next so many times! WDYT?

I think this sounds reasonable. At least we can combine export/import pages into a single page.
Yes, please post some screenshots, they could be useful in any case.

Here they are:

The second tab is for adding where clauses (https://github.com/dbeaver/dbeaver/issues/4833)

I remembered it having more options, actually.
This is the data export window instead (Toad has 2 different processes, one to export to a table and the other export to insert statements, excel file, csv etc.)

Don't misunderstand me: Toad interface is cumbersome and ugly, DBeaver's much better! However I think they got right the idea of packing most export options in a single window, although with tabs, to separate exported tables (with #4834 you won't really need to look at that section anymore, as everything will be auto-mapped, so it's fine to make it less prominent) from options.

Let's try this combined settings page for now: (contents depends on source and target formats)

Mappings pages and output file(s) settings page are still separate though.

nice!


Models method to generate a dict of its hyper-params (including wrapped)

Feature Description
Method get_params for all RecTools models. It outputs a dict of all hyper-params available for tuning together with the values of the current instance. Wrapped models params are also added.
Why this feature?
This can be used in validation pipelines for easy-to-use integration with experiments trackers and metrics visualisation that is based on hyper-params.
Additional context
No response

Cases for usage:

save/load methods for models
experiments tracking (mlflow, wandb, etc)
cross_validate results go straight to MetricsApp


Fix code scanning alert - Directly using the bech32 constants

Tracking issue for:

[ ] https://github.com/FunctionX/fx-core/security/code-scanning/215

Close: #299


Custom SDF tags for surface properties

This PR consists of 3 parts:

Custom SDF tags for surface properties added to ERB template. Currently the tags for proof of concept are <surface_props:material>, <surface_props:biofouling_rating>, and <surface_props:roughness>.
Gazebo model plugin to reads the custom tags
README updated

Fixed a few style issues in other files.
Note for future maintenance:
The custom SDF attributes require a URL specified in <sdf xmlns> for the schema, so that users know what the tags mean. I used the URL of this repo, where users can expect to find the custom schema in the README. Therefore, the README is intended to be a living document that is kept updated, should the definition of the custom tags change in the future.
Question:
The Navy ship maintenance PDF we found (by Googling) in the public domain that defines the navy biofouling scale is no longer accessible. Are we allowed to reproduce that chart in this repo (e.g. in the README), so people have a reference of what the biofouling numbers in here mean? I feel like that should be okay but want to ask to make sure.
Tagging @woensug-choi for awareness of custom XML tags and example usage. The example is a model plugin. To use these in sensors, you could use a world plugin and retrieve the materials of all the models.
To test
Compile the new plugin in dave_gazebo_model_plugins package using catkin_make or catkin build.
roslaunch dave_demo_launch distorted_coke.launch

This launch file has verbose set to true so that gzdbg messages will be printed.
You should see the example custom values printed:
[Dbg] [custom_surface_properties.cc:47] Read custom SDF tags: material metal, biofouling rating 10, roughness 0.1

I can take a look after 1600 PT.  Realizing that is late ET, so if we need to iterate, we can wait till next week to merge.

@mabelzhang Please email me the biofouling guide.  I'll check and see if there are any issues with citing it.

Thanks! Guide emailed. I might be around later today.

I took a look through the code and the README changes this morning but am fighting with graphics drivers so haven't been able to compile and try out the plugin.  Looks good from the read-through.

Thank you for looking!

System is back online.  Brian, unless you're already working on it I will finish the review.

System is back online. Brian, unless you're already working on it I will finish the review.

That would be great - I'm building the dockwater container on the new office desktop....

Woohoo thank you for going through this series of PRs!

  Crushed cans are fun.


distinctUntilChanged should have initial value or should pass through the comparing method

Feature Request
FYI, I'm using angular 2+. I have no idea how to write the code correctly in JS, so the code is in TS. I hope this won't confuse people too much.
Is your feature request related to a problem? Please describe.
Consider the following:
const subject = new Subject<string>();
subject.next('INITIAL'); // The initial value of the subject

subject.pipe(
    debounceTime(500),
    distinctUntilChanged((a,b) => {
        console.log({a,b}); // never logs
        return a === b;
    })
).subscribe(x => console.log('"' + x + '"'));

// Somewhere else
setTimeout(subject.next('A'), 100);
setTimeout(subject.next('INITIAL'), 300); //> "INITIAL"

In this case, distinctUntilChanged cannot know what happened before the subscribe so it regards the next('INITIAL') as a unique value. There is currently no way to manipulate this as far as I know.
Describe the solution you'd like
I'd like distinctUntilChanged to allow setting either a initial value to which it can compare itself the first time or that the value is passed to the comparing method with the first parameter set to undefined.
Additional context
In angular with reactive forms we set an initial value for a text input field ('') and then subscribe to its value changes. When the user now enters something and immediately removes the text again, the event is triggered which triggers a fetch and resets some other fields. When using IE, focusing the input field is enough to trigger an event.
Our current workaround is to force the value again to its initial value after subscribing. This outputs a second event after the debounceTime which is still not idea.

Possible solutions
use BehaviorSubject like
const subject = new BehaviorSubject(INITIAL_VALUE);

or use startWith like
observable.pipe(startWith(INITIAL_VALUE), distinctUntilChanged(comparator))

If you want to skip first one then you can use skip operator.


python3Packages.wxPython{4_0,4_1}: fixes build, #194354

Description of changes
No wheels are built and so the hook can't put the dist folder in the dist output. The "other" format does not add the hook and thus it won't try to move the folder.
Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 194404 run on x86_64-linux 1

3 packages failed to build:

kicad-unstable
kicad-unstable-small
timeline

20 packages built:

grass
kicad
kicad-small
loxodo
mavproxy
metamorphose2
playonlinux
printrun
python310Packages.humblewx
python310Packages.kicad
python310Packages.wxPython_4_0
python310Packages.wxPython_4_1
python39Packages.humblewx
python39Packages.kicad
python39Packages.wxPython_4_0
python39Packages.wxPython_4_1
qgis
qgis-ltr
quisk
woeusb-ng


DSEGOG-344 Upgrade to ESLint v9

Description
Upgrades to eslint v9, removes an old CRA plugin. Uses flat config derived from IMS.
Fixes around 300 typescript errors in tests - on IMS we use tsc --noEmit && tsc --noEmit -p cypress/tsconfig.json as part of the linting step to include the unit and cypress tests in typescript checks, but I haven't copied that over as some tests would need to fundamentally change but I did use these and fixed the most obvious things I could find.
Testing instructions
Add a set up instructions describing how the reviewer should test the code

[ ] Review code
[ ] Check Actions build
[ ] Review changes to test coverage

Agile board tracking
Closes DSEGOG-344

Warning in the units test

 Warning in the units test

Yeah I don't think that one has a very nice solution, its the reason I decided against adding in those tests to IMS - its effectively due to the way the settings are imported before MSW is setup, so there is nothing to accept the request it sends.


Refresh hotfixes

Short description explaining the high-level reason for the pull request
Additions

Removals

Changes

provided a conditional to handle raw html passed into parse_links
fixed related links to return the correct value

Testing

Review

@user

Screenshots
Notes

Todos

Checklist

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

:+1:


[UiKit] Speed up the process of saving and retrieving data from Core Data.

Currently updating the data takes a long time.
Assumption - writing each coordinate pair as a row in a table take a long time.
Potential solution - store array of coordinates as binary data.

The update does not come unless you stop the application completely.
If force closes and then launches the application when we update it- there isn't on the details screen error with the "try again" button.

RPReplay_Final1638192783.1.mp4
The update does not come unless you stop the application completely.
If force closes and then launches the application when we update it- there isn't on the details screen error with the "try again" button.

Thanks, @AndreyKramskoy . This should be fixed in 799 build.

RPReplay_Final1638192783.1.mp4
The update does not come unless you stop the application completely.
If force closes and then launches the application when we update it- there isn't on the details screen error with the "try again" button.

Thanks, @AndreyKramskoy . This should be fixed in 799 build.


Update2 virtual-network-multiple-ip-addresses-os-config.md

I can see that last commit has taken place, and I can see the required changes in the Public Document.. but there is a slight format issue that needs to be fixed.
Currently the display shows "Debian GNU/LINUX" topic as "###Debian GNU/Linux". And also its font size is smaller than the other OS type names.
Please do the needful to fix it.

@Ekta-Microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change. @jimdial

@Ekta-Microsoft The formatting issue is fixed in private repo PR https://github.com/MicrosoftDocs/azure-docs-pr/pull/169342 (internal link that you might not be able to access). I would look for it to go live today around 10:30 AM.


Orbitool O2 incompatible with BTT MicroProbe v2

The documentation indicates that the Orbitool O2 supports the BTT MicroProbe v2, but when I plug it in the probe only turns on the LED. When using other power sources, it turns on the LED and runs a self-test that actuates the servo three times. Specifically:

When connecting  +5VDC and GND from my Meanwell RS-25-5 to the MicroProbe v2 it powers on correctly (blue LED + 3 deploys as a startup sequence).
When connecting +5VDC and GND from the Orbitool O2 to the MicroProbe v2 it does not power on correctly (blue LED, but no deploys for the startup sequence and the probe is unresponsive)

Is this a faulty Orbitool O2, or is the Orbitool incompatible with the MicroProbe v2? Or maybe something else?

See-also: #17

After reviewing the first issue on S03 board and wiring the probe this way - Pin1 - Black, Pin2 - Red, Pin3 - Yellow, Pin4 - Black, and Pin5 - White (Like the pinout diagram with servo and probe swapped) and changing the servo pin to PA15 and Probe Pin to PB3 as suggested, I can get the probe to deploy on power up, but not do the full self test.  It will not retract the probe with the stow macro.  The end stop works as it should, open when deployed and triggered when stowed.  If I wire like Section 3.8, I get no probe movement on power up or via macro, leading me to believe that the PA15 is actually the servo pin.
This is very confusing as the silkscreen on the board shows pin 5 as gnd like section 3.8, The pinout shows ground as pin 4.  Can you please advise on correct wiring and pin configuration for the O2 toolboard.

Thanks! For what it’s worth, my problem occurs even when the only pins connected are +5V and GND, and this is specifically the Orbitool O2. I appreciate the heads up on the similar problem, but for other issues (especially unrelated to these 2 pins or the Orbitool O2) it might be better to create a new issue so that it can be thoroughly documented and easy for others to find!

Noted.  I am also using the 02 board and having the same problem with power up self test.   My concern was also the wiring discrepancies in the docs  that may also be causing an issue.  Maybe we both have bad boards, as I have tested with 3 new probes, I would say it's not the probes.

On Discord I saw someone say that they had the same problem with the MicroProbe with the Octopus board, which makes me wonder whether this is an issue with the BTT Microprobe requiring lots of current on startup rather than specifically an issue with the Orbitool. It isn't clear to me whether this is as simple as "the buck converter doesn't supply enough current" or whether there's some safety feature that's preventing the MicroProbe's high current draw. (Or, maybe it's something else entirely?)
Happy to test if you have any ideas, I have a bunch of capacitors laying around and thought maybe that would help maintain 5V as the current increases (if that's even the issue), but I'm not great with electronics.

I've opened an issue in the MicroProbe issue describing the issue as well, but it isn't clear to me where the problem is: https://github.com/bigtreetech/MicroProbe/issues/38

I measured with a multimeter today, and when I hook my 5V power supply up to the probe it pulls 2A to deploy the servo. When using the Orbitool, I see a current draw of 0.15 mA, which makes me think it's an issue with the Orbitool rather than the probe.

I can confirm that the probe it not getting enough power.  It will self test when the probe is in the horizontal or probe up position. When the probe is facing the bed it will not self test completely.  It will deploy, but can't get enough power to retract.  According to the BTT documentation, the probe only requires 350mA to operate , what is the max 5V output from your board on the probe servo pin?

I am having exactly the same issue as you smbenson0712. My microprobe will work just fine in a horizontal or upside down position. I discovered this by accident, BTW. When I was swapping the probe to my spare probe I didn't bother to connect it to the print head, so I was just holding it in my hand, and viola, it worked! My printer is a normal type printer in the sense that it requires the probe pointing downward at the print bed. This problem seems to indicate that the probe isn't getting enough current to lift the probe upwards in it's normal position. I measured my voltage and the circuit is getting 5v. I've tried a couple different Microprobes v2.0 and it's exactly the same issue. These same probes work just fine on my EBB42 in any position. I should also add that the probe is correctly triggering the end stop when the probe is actually able to deploy or retract.
Look, I'm not trying to hijack this issue but since smbenson0712 went down this path I felt compelled to respond. I'll now open my own issue in case this one gets closed.  Thank you.

According to the BTT documentation, the probe only requires 350mA to operate , what is the max 5V output from your board on the probe servo pin?

My memory is that plugging it in would start between 300 mA and 400 mA and then drop to around 200 mA, but I tried to test today and accidentally fried my board. I’m not sure how. I tried to power a small light bulb but kept getting 0A on my multimeter, and then the board popped and the magic smoke came out.
I’m not sure what happened, but West3D confirmed in Discord that they’d had a few other bug reports from the Orbitool not supporting the MicroProbe, so its unlikely that I’ll be actively working on this problem any longer. I’m out $45 and a too many hours of debugging, but hopefully my flailing around GitHub/Discord/etc at least helped make this problem more apparent.
Good luck y’all!

Thanks for going as far as you did Christian. Sorry to hear about your board. Does anyone have the actual circuit layout for this board?  I’m curious to see how they are bucking down the voltage to 5v. At this point in time I think we need Dr Lorincz to shed some light.

The 5V power supply on the toolboard is designed for a constant 500mA load current. It can supply more for shorter time periods. The limitation is only the thermal limitation of the Buck coil and driver circuit. It can supply 1A from more than 1 second.
From my opinion, the issue is the microprobe itself, even if users have positive experience when connecting it to BTT boards.
I did purchase a microprobe, and I was not able to make it work reliably. Here are my findings and checks:

Checked the 5V power supply can deliver enough current for the probe - result OK - measured with scope drop over the 5V power supply when deploying the probe;
checked the probe output signal - result bad behavior - Orbitool have internal pull=up resistor of 10kOhm - the probe output is not able to correctly pull the signal to low logic level - I get something like 2V as low level logic. I disconnected the 10K resistor and only used the internal micro pull up - behavior improved, but still low level was about 1.5V not zero. This explains why the behavior on some BTT board is better. In general, its a very bad idea to use as pull up only the internal resitance of the micro which is realively high impedance. Also, direct connection without any protection circuit is a bad idea. - I'm sure btt boards will fail ESD and EMI immunity test on this function - I doubt they've have done it...or done it correctly...
lastly the deploy force of the probe is very weak...many cases fails to deploy fully even when supplied and wired correctly - even when I directly connected it to microcontroller pins like on BTT boards.
I checked the probe accuracy they claim - is nowhere near I have seen up to 0.2mm differences.
lastly this was only one sample I have tested, maybe my sample was in the bad performance range I donno - however due to the above issues I mentioned, I do not support or recommend the usage of this probe. Simply because I cannot guarantee proper operation of it. I prefer not to support the probe than to remove all the protection features of the board to improve a litle but not fix it totally.


Update ALBA-2021:4336.json

Fix duplicate affected version

Hi!
Sorry for such a long response. This PR has been lost due to high load on a team.
It seems that it is a result of a bug in errata2osv script. We will fix the root cause of a problem and come back with response ASAP. Thanks for your patience.

Sounds good, thanks @Roo4L!


problem with seeduino

hi i attached the shield on arduino uno it works ok ,but when i put it on seeduino lora gps version i get nothing ? and also i get this error
WARNING: library SPI claims to run on (samd) architecture(s) and may be incompatible with your current board which runs on (Seeeduino_SAMD) architecture(s).
any ideas ?

I also experiencing the same problem, could someone please help with this issue ?


Implement Clone on the GzDecoder

Hello,
I was wondering if there were a specific reason for the GzDecoder to not implement Clone when the R type implements Clone too.
It doesn't seem to contain complex or unclonable items in it.
Is it just because no one thought about implementing it?
Or to be sure to keep the lib compatible with potential futur versions of the lib?

So I dive into limbo of the crate and apparently the miniz_oxide::core::CompressorOxide doesn't implement Clone and this struct that is used by this GzDecoder when using the rust feature flag (I didn't even dive for when the flag is not Rust and the lib use C instead).

I think it'd be great to implement Clone! I'm not entirely sure if the libz library has support for this, however, so we'd need to make sure all the backends support it.


AE - Develop and describe Aggie Experts Search document

Works, Citations, grants and persons are all described with the same document index in Aggie Experts.  The methodology of for this allows a single item/graph, to have multiple nodes describing aspects of the item.  We need to describe and document what the individual nodes look like, and what nodes are expected to occur in what items.
outcome
The outcome of this will have

A document describing the nodes and to what items they belong

Also where the nodes come from in terms of LDP items

A list of predicates, and the proposed indices
Understanding of the nested query
cleaner documents (no expanded @context definitions)

Specifics

[x] #127

The document organization is described in https://github.com/ucd-library/aggie-experts/blob/dev/doc/digital_objects.org @Vensberg / @rakunkel-ucd let me know if this organization makes sense to you.


how to hide backend exe sidecar terminal

Describe the bug
i am opening my backend exe as sidecar . when i run tauri app backend exe is running but how to run it silently so that termial will be always hide it will run in background
Reproduction
No response
Expected behavior
sidecar terminal should run silently.it should not be visible to user
Full tauri info output
this is my code my main.rs code to run exe as sidecar
use tauri::{
  api::process::{Command, CommandEvent},
  Manager,
};

fn main() {
  tauri::Builder::default()
  .setup(|app| {
  let window = app.get_window("main").unwrap();
  tauri::async_runtime::spawn(async move {
    // `new_sidecar()` expects just filename, NOT whole path like JavaScript
    let (mut rx, mut child) = Command::new_sidecar("node-sqlite-backend")
    .expect("failed to create `my-sidecar` binary command")
    .spawn()
    .expect("Failed to spawn sidecar");

    while let Some(event) = rx.recv().await {
      if let CommandEvent::Stdout(line) = event {
        println!("Stdout: {}", line);
        window
          .emit("message", Some(format!("'{}'", line)))
          .expect("failed to emit event");
        // write to stdin
        child.write("message from Rust\n".as_bytes()).unwrap();
      }
    }
  });
    Ok(())
  })
  .run(tauri::generate_context!())
  .expect("error while running tauri application");
}

Stack trace
No response
Additional context
No response

Hi, please include the full output of the tauri info command as required by the issue template.
If you're on windows, tauri does hide the terminal by default (it uses the CREATE_NO_WINDOW flag) so if it still shows up it, as far as i know, should mean that the sidecar itself did something like calling AttachConsole() itself which means it has to be fixed in the sidecar code.

thank you its working


Determine the scope of this plugin

This is something we've already been discussing in a few different places. (#45, #46) I am making this thread to allow us a more organised place to talk about it.
I think there are 2 main questions to answer:

Should this plugin concern itself with the provisioning of infrastructure to host a site, or should it just focus on deploying a site within existing infrastructure.

Is the scope of this plugin just S3, or is it about hosting a static site on AWS? (E.g. is CloudFront functionality within scope)

Personally, my vision is this:
Infrastructure should be provisioned via Terraform, CloudFormation, or manually. I think that these tools are the best way to provision infrastructure, allowing for full customiseability and robust deployments. I think if this plugin tries to deploy infrastructure we are reinventing the wheel. However, I do think that providing guides/documentation on best practices for setting things up is a good fit for this project, even if we don't attempt to do everything for our users.
I'm planning on writing Terraform modules to make things easier, and maybe also CloudFormation templates. I'm busy for the next few weeks, but in about a month's time I should be able to work on these. I have some ideas for how to structure the modules to allow users with plenty of flexibility as to how they wish to set everything up.
As for the second question my opinion is that this plugin doesn't have to be limited to S3. I would love an option to have this plugin create a CloudFormation invalidation for me after each deployment. I'm sure there will be other similar enhancements that we can add in future.
Anyway, I think that the question about the purpose and scope of this plugin keeps coming up, so let's decide it and then we can align development with that.

Good idea to create an issue for this!

I agree that we should handle infrastructure deployment through third party solutions and not reinvent the wheel, BUT I do think it'd be nice if this was automated a bit more rather than needing users to follow yet another guide.
In generally I want there to be less guides, because I think we can take much more friction out of the entire process.
Example: gatsby-plugin-s3 cdn would create a distribution (which would simply deploy our premade terraform module) and if one exists already, invalidate it.
However, for now, writing the guide should be a good start.
We can always automate it more later on (I'm planning on doing the same for some of the existing recipes right now)

Definitely agree on the plugin not needing to be solely for S3 - yes, kinda ironic with a name like gatsby-plugin-s3.


None of the inputs have requires_grad=True. Gradients will be None

Describe the bug
What the bug is, and how to reproduce, better with screenshots(描述bug以及复现过程，最好有截图)
在训练yi-vl模型和Phi-3-vision-128k-instruct模型在webui页面训练的时候报错

下面的这段是报错信息Detected kernel version 5.4.0, which is below the recommended minimum of 5.5.0; this can cause the process to hang. It is recommended to upgrade the kernel to the minimum version or higher.
[INFO:swift] The SftArguments will be saved in: /root/autodl-tmp/result-phi/phi3-vision-128k-instruct/v8-20240530-164513/sft_args.json
[INFO:swift] The Seq2SeqTrainingArguments will be saved in: /root/autodl-tmp/result-phi/phi3-vision-128k-instruct/v8-20240530-164513/training_args.json
[INFO:swift] The logging file will be saved in: /root/autodl-tmp/result-phi/phi3-vision-128k-instruct/v8-20240530-164513/logging.jsonl
Train:   0%|                                                                                | 0/100 [00:00<?, ?it/s]/root/miniconda3/lib/python3.8/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None
warnings.warn("None of the inputs have requires_grad=True. Gradients will be None")
/root/miniconda3/lib/python3.8/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None
warnings.warn("None of the inputs have requires_grad=True. Gradients will be None")
/root/miniconda3/lib/python3.8/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None
warnings.warn("None of the inputs have requires_grad=True. Gradients will be None")
/root/miniconda3/lib/python3.8/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None
warnings.warn("None of the inputs have requires_grad=True. Gradients will be None")
Traceback (most recent call last):
File "/root/autodl-tmp/swift/swift/cli/sft.py", line 5, in
sft_main()
File "/root/autodl-tmp/swift/swift/utils/run_utils.py", line 27, in x_main
result = llm_x(args, **kwargs)
File "/root/autodl-tmp/swift/swift/llm/sft.py", line 298, in llm_sft
trainer.train(training_args.resume_from_checkpoint)
File "/root/autodl-tmp/swift/swift/trainers/trainers.py", line 50, in train
res = super().train(*args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/transformers/trainer.py", line 1859, in train
return inner_training_loop(
File "/root/miniconda3/lib/python3.8/site-packages/transformers/trainer.py", line 2203, in _inner_training_loop
tr_loss_step = self.training_step(model, inputs)
File "/root/miniconda3/lib/python3.8/site-packages/transformers/trainer.py", line 3147, in training_step
self.accelerator.backward(loss)
File "/root/miniconda3/lib/python3.8/site-packages/accelerate/accelerator.py", line 2125, in backward
loss.backward(**kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/torch/_tensor.py", line 487, in backward
torch.autograd.backward(
File "/root/miniconda3/lib/python3.8/site-packages/torch/autograd/init.py", line 200, in backward
Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn
Train:   0%|                                                                                | 0/100 [00:12<?, ?it/s]
Traceback (most recent call last):
File "/root/autodl-tmp/swift/swift/cli/sft.py", line 5, in
sft_main()
File "/root/autodl-tmp/swift/swift/utils/run_utils.py", line 27, in x_main
result = llm_x(args, **kwargs)
File "/root/autodl-tmp/swift/swift/llm/sft.py", line 298, in llm_sft
trainer.train(training_args.resume_from_checkpoint)
File "/root/autodl-tmp/swift/swift/trainers/trainers.py", line 50, in train
res = super().train(*args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/transformers/trainer.py", line 1859, in train
return inner_training_loop(
File "/root/miniconda3/lib/python3.8/site-packages/transformers/trainer.py", line 2203, in _inner_training_loop
tr_loss_step = self.training_step(model, inputs)
File "/root/miniconda3/lib/python3.8/site-packages/transformers/trainer.py", line 3147, in training_step
self.accelerator.backward(loss)
File "/root/miniconda3/lib/python3.8/site-packages/accelerate/accelerator.py", line 2125, in backward
loss.backward(**kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/torch/_tensor.py", line 487, in backward
torch.autograd.backward(
File "/root/miniconda3/lib/python3.8/site-packages/torch/autograd/init.py", line 200, in backward
Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 26530 closing signal SIGTERM
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 26529) of binary: /root/miniconda3/bin/python
Traceback (most recent call last):
File "/root/miniconda3/bin/torchrun", line 8, in
sys.exit(main())
File "/root/miniconda3/lib/python3.8/site-packages/torch/distributed/elastic/multiprocessing/errors/init.py", line 346, in wrapper
return f(*args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/torch/distributed/run.py", line 794, in main
run(args)
File "/root/miniconda3/lib/python3.8/site-packages/torch/distributed/run.py", line 785, in run
elastic_launch(
File "/root/miniconda3/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 134, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/root/miniconda3/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 250, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
/root/autodl-tmp/swift/swift/cli/sft.py FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2024-05-30_16:45:42
host      : autodl-container-ade5118aae-191466bc
rank      : 0 (local_rank: 0)
exitcode  : 1 (pid: 26529)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
Your hardware and system info
Write your system info like CUDA version/system/GPU/torch version here(在这里给出硬件信息和系统信息，如CUDA版本，系统，GPU型号和torch版本等)
这是cuda版本
root@autodl-container-ade5118aae-191466bc:~/autodl-tmp# pip show torch
Name: torch
Version: 2.0.0+cu118
Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
Home-page: https://pytorch.org/
Author: PyTorch Team
Author-email<EMAIL_ADDRESS>License: BSD-3
Location: /root/miniconda3/lib/python3.8/site-packages
Requires: jinja2, triton, networkx, typing-extensions, filelock, sympy
Required-by: xtuner, trl, triton, torchvision, peft, optimum, flash-attn, bitsandbytes, accelerate
root@autodl-container-ade5118aae-191466bc:~/autodl-tmp# pip show transformers
Name: transformers
Version: 4.40.2
Summary: State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow
Home-page: https://github.com/huggingface/transformers
Author: The Hugging Face team (past and future) with the help of all our contributors (https://github.com/huggingface/transformers/graphs/contributors)
Author-email<EMAIL_ADDRESS>License: Apache 2.0 License
Location: /root/miniconda3/lib/python3.8/site-packages
Requires: tokenizers, packaging, regex, pyyaml, tqdm, safetensors, huggingface-hub, numpy, filelock, requests
Required-by: xtuner, trl, transformers-stream-generator, peft, optimum, ms-swift
root@autodl-container-ade5118aae-191466bc:~/autodl-tmp#
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.105.17   Driver Version: 525.105.17   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA A40          On   | 00000000:01:00.0 Off |                  Off |
|  0%   23C    P8    22W / 300W |      2MiB / 49140MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA A40          On   | 00000000:41:00.0 Off |                  Off |
|  0%   21C    P8    12W / 300W |      2MiB / 49140MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
Additional context
Add any other context about the problem here(在这里补充其他信息)

贴一下命令 我帮你看看吧

fixed


[Feature Request] File name modification

Please consider adding support for custom file names for each download. (Along the lines of Windows' Save As dialog box.)
More Detail:
My suggestion is that, on a per-queue-item basis, there also be an option to edit the file name (just as the Save As dialog box when downloading whatever file via a web browser).
For users that enable "Each queue item has its own download options" in the settings: Although a different download folder can currently be selected for each queue item, chances are that someone selecting a separate folder for each queue item may very well want to edit each video's file name too. Currently, the saved file name will be the title appearing on YouTube (which, of course, can always be renamed in File Explorer following completion of each download).
How it may appear in Settings
I'd suggest programming it as default behavior of the app, but if this choice is instead just another option I'd propose that it be added to the Settings as follows: In the Queuing section, have another line (where arrow is in image) to check/uncheck the new option: "Choosing a queue item's download location also allows editing the file name". This extra option should be unavailable/greyed-out if the user didn't also enable "Each queue item has its own download options."

Implementation
One way of implementing the choice would be that instead of "Download folder" (underlined in image) it read "Download location" and, besides allowing navigation to the desired folder, it also allow the user to edit the file name or leave it unchanged.

An alternate implementation would be that, under the "Choose folder..." button (as in image), another button be added to "Choose folder and file name...".

Thanks for your consideration

Thank you for the thoughtful suggestions. After almost a year (sorry about that), version 2.12 adds the Choose folder and filename menu command. The chosen file name is not displayed alongside the folder (for technical reasons), but you can see it as a tooltip when you hover the mouse over the folder.


Button style updated

Made some style changes to the ActionButton. Please feel free to update or change anything.

Hi @ItsTobez, ATM we aim to keep the React and React Native website style quite similar, and button shapes has been based on that principle, as you can see in here:

https://reactjs.org/

After the new beta site for React will land, we probably will also go through, and revise or update the React Native website design/appearance too, but for now I would like to leave the design as is. Hope you can understand that. 🙂

No worries! :)


Comparison of stand-alone bubble popper tools

There's not a lot of standalone tools for bubble popping, so thanks for implementing this one. It's an interesting problem, and I'm a big fan of standalone implementations of core assembly algorithms.
Since there are not a lot of standalone tools that implement bubble popping, it can be challenging to find other tools to compare. ABySS's tool PopBubbles, which I wrote, can be used as a standalone tool. It can read and write GFA and GraphViz files, and can pop simple bubbles (by default) and complex bubbles with PopBubbles --scaffold. You can install ABySS and PopBubbles using Homebrew on either Linux or macOS with brew install abyss. The source code is available at https://github.com/bcgsc/abyss/blob/master/PopBubbles/PopBubbles.cpp
No need to do this comparison if you're not interested. Just wanted to share. Feel free to ask any questions that you may have about PopBubbles.

Feel free to open PRs to add bubble_gun to these lists of tools that implement GFA:
https://github.com/GFA-spec/GFA-spec#implementations
https://github.com/GFA-spec/assembler-components#collapse-variants-1

Thanks a lot, Shaun for the info.
One question, when you say bubble popping, does that mean collapsing the bubble, or just detecting and reporting it back?
Because I noticed in some literature, they talk about popping bubbles as in removing these bubbles because they might represent sequencing errors, while that's true in some cases, in many cases bubbles represent homozygous regions.
That's why I wanted BubbleGun to just focus on reporting information on bubbles and superbubbles, for whatever downstream analysis needed, also the nested or hierarchical relationship can be important when studying pangenomes and finding nested variants (e.g. This paper talks about this)
Another use case (what started the project back during my master's degree) is to re-implement graph-based haplotyping by detecting a chain of bubbles and building a MEC matrix of aligned long reads to the bubble chain which should give you back which branch in the bubble belongs to haplotype 1 and which to haplotype 2 (similar to the work done here).


Container urls not resolving

Hi!
First of all thnx for creating this little application!
I have followed the steps to build and run the dnsdock from source, when i start the application it seems to work:
[evancauwenberg@MacBook-Pro-van-Evert ~/go/bin]$ ★ sudo ./dnsdock -v 14:19:31.129 | DEBUG ▶ Handling DNS requests for 'docker'. 14:19:56.019 | DEBUG ▶ Started container 'b34830d018bd6228449dc3b4d7bb5d3945e1ea233b1f9c764da3283097357111' 14:19:56.030 | DEBUG ▶ Added service: 'b34830d018bd6228449dc3b4d7bb5d3945e1ea233b1f9c764da3283097357111': {api test [<IP_ADDRESS>] %!s(int=-1) [test.docker]}. 14:19:56.031 | DEBUG ▶ Handling DNS requests for 'test.docker'.
I have added also the following file in the /etc/resolver/
docker
nameserver <IP_ADDRESS>
But when i use dig *.docker i don't receive the expected output:
`[evancauwenberg@MacBook-Pro-van-Evert ~]$
★ dig *.docker
; <<>> DiG 9.8.3-P1 <<>> *.docker
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 1140
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;*.docker.			IN	A
;; AUTHORITY SECTION:
.			86392	IN	SOA	a.root-servers.net. nstld.verisign-grs.com.<PHONE_NUMBER> 1800 900<PHONE_NUMBER>0
;; Query time: 22 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Sat Jan  7 14:23:36 2017
;; MSG SIZE  rcvd: 101`
Thnx in advance!

I see that you are using a mac. Are you using docker toolbox or docker on mac ?

And when you execute dig with the address <IP_ADDRESS> are you receiving something?
What are the log of dnsdock (started with -v flag)?
Can you check issue #89 to be sure you don't have the same problem ?

`★ dig <IP_ADDRESS>
; <<>> DiG 9.8.3-P1 <<>> <IP_ADDRESS>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 16964
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;<IP_ADDRESS>.			IN	A
;; AUTHORITY SECTION:
.			80001	IN	SOA	a.root-servers.net. nstld.verisign-grs.com.<PHONE_NUMBER> 1800 900<PHONE_NUMBER>0
;; Query time: 27 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Mon Jan  9 11:35:29 2017
;; MSG SIZE  rcvd: 102`
[evancauwenberg@MacBook-Pro-van-Evert ~/go/bin]$ ★ sudo ./dnsdock -v Password: 15:42:04.119 | DEBUG ▶ Handling DNS requests for 'docker'. 15:42:04.127 | DEBUG ▶ Added service: '6df47ae583568235ccd86ff094de8f782d28316aaf5c4e09902c13c80472871c': {temp_nginx_1 nginx [<IP_ADDRESS>] %!s(int=-1) [test.docker]}. 15:42:04.127 | DEBUG ▶ Handling DNS requests for 'test.docker'. 15:42:04.129 | DEBUG ▶ Added service: a2f43b78fec7105807457cb9bada2a19d2454d62cb594c1dd22c0568b3f5dd22': {temp_php_1 php [<IP_ADDRESS>] %!s(int=-1) []}. 15:42:04.131 | DEBUG ▶ Added service: 'af6d1f137eb50a131c1f6656f9fa24630f596779a014260828305ae2e0835a32': {temp_mysql_1 mysql [<IP_ADDRESS>] %!s(int=-1) [mysql.test.docker]}. 15:42:04.131 | DEBUG ▶ Handling DNS requests for 'mysql.test.docker'.
I will check issue 89 :)

`
ERROR: for api  Cannot start service api: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused "exec: \"/app/docker/apache/run.sh\": stat /app/docker/apache/run.sh: no such file or directory"\n"
ERROR: for dnsdock  Cannot start service dnsdock: driver failed programming external connectivity on endpoint playpass_dnsdock_1 (9886cba2805d1e91fb20c31e6ea152d8609e33ee5b2d978aa2649b7e6543901e): Error starting userland proxy: Bind for <IP_ADDRESS>:53: unexpected error (Failure EADDRNOTAVAIL)
ERROR: Encountered errors while bringing up the project.
`
I have tried the solution given in #89 .. the only difference is that i'm using the native docker.
https://www.docker.com/products/docker#/mac

Docker for Mac has some issues on the netwoking aspect. This bug is not related to dnsdock
Please use a linux VM or switch to docker toolbox

Oooh oke, i will try that later today .. thnx for the quick response!

@evancauwenberg
What command (or config) do you use to start dnsdock container?
@aacebedo
nice to hear that you are working on the issues, waiting for the release.

@whitecolor .. tried it via docker-compose or just the native binary
./dnsdock

@evancauwenberg show your docker-compose config for launching service? With docker for mac/windows you need to map docker.sock: -v /var/run/docker.sock:/var/run/docker.sock

Closing the issue as no activity has been registered since one month


Unable to find License information for this program

I am unable to find License information for this program. Typically a Github repo will have a LICENSE file in it.

https://github.com/garrettfoster13/sccmhunter?tab=MIT-1-ov-file


Migrate to Pycord

Move to slash commands instead of reading all messages.
Abandon Guilded.

Reset CodeQL.


Color palettes for skin tones

Keep it simple. Organize using color groups. Sample real images. Use color mixer for shading so focus on non-shaded areas of skin. One group for eye colors.
This will be the character skin tones ase palette.

Inspired by: http://www.yarrninja.com/pixeltutorial/chapter9.htm


Multiple Search Selection Dropdown keeps input when selecting

Multiple Search Selection Dropdown keeps input when selecting. It should be cleaned every time user selects some item. Notices that everything works fine when there are only one option found, but when multiple, the input is not reset. Or is it expected behavior? Then, in my opinion, it still should be disabled when using closeOnChange prop.
Steps

Type something in dropdown
Chose any and press enter

Expected Result
Item is selected, input is empty
Actual Result
Item is selected, input text stays
Version
0.72.0
Testcase
codepen

Duplicate #1954. This behaviour was introduced in #1795, there was also PR for this #1955, but it wasn't finished.


Add mergify for PR automation

commit 6f2ee09ce80119f49f43e9e09599653ceeb14c5e
Author: Russell Bryant<EMAIL_ADDRESS>Date:   Fri Apr 19 10:59:41 2024 -0400
Add mergify for PR automation
This PR introduces configuration for
Mergify, with an initial configuration
that will automatically merge PRs once they meet a set of defined
criteria.
What I like about this proposed configuration is that it allows the
repo maintainers to manage the explicit merge rules in a file in the
repo itself and then allow a tool to enforce them. The rules
configured in this PR would be:

At least one mainatiner has approved the PR
There are no outstanding review requests
There are no requested changes outstanding
A hold label is not on the PR
The DCO check passes
Other CI jobs (actionlint, lint, test) are required based on which
files were changed in the PR.

Ideally once this configuration is in place, it should be incredibly
rare that anyone hits the "merge" button manually.
There are several other things that can be automated with Mergify -
check out the docs for more if you're interested.
Signed-off-by: Russell Bryant<EMAIL_ADDRESS>

Submitted as a draft for discussion.
Also, if folks like this, I need to configure the app against the repo and then validate the configuration in Mergify's dashboard before merging this.

Here's an emaple PR that was auto-merged in the bot repo: https://github.com/instructlab/instructlab-bot/pull/276

@russellb IIRC when Mergify was discussed before it was raised that it could take over/replace the labeler GitHub Action functionality we have currently - what are your thoughts on that? Is that something that indeed can/should be done or would this be more something we do on top of that existing automation?

Yes, it can do auto-labeling! There's no harm in just leaving what you have working already, though. The option to do it in this config would look something like this (not tested, but hopefully you get the idea):
pull_request_rules:
  - name: Auto label documentation PRs that change md files
     conditions:
      - files~=.*\.md$
    actions:
      label:
        toggle:
          - documentation

Fine either way - happy to swap them later but if it's simple to implement now I'm not opposed to simplifying our infra

Fine either way - happy to swap them later but if it's simple to implement now I'm not opposed to simplifying our infra

Having more in the single tool is a bit simpler, to me, but it's only worth it if we're going to use Mergify for more (like auto-merging).

@russellb I want to run a scenario by you that has to do with these 3 conditions just to make sure I understand them.
- At least one maintainer has approved the PR
- There are no outstanding review requests
- There are no requested changes outstanding

Say I open up a PR related to a part of the codebase that's Maintainer A's specialty and request their review. Maintainer A requests many changes and I do most of them but leave a few unresolved. Some time after, Maintainer B comes by and approves the PR.
If I resolve the last few requested changes from Maintainer A by hand, and remove Maintainer A's review request would the PR automatically merge (assuming the remaining conditions you've outlined in the draft are fine)?

@russellb I want to run a scenario by you that has to do with these 3 conditions just to make sure I understand them.
- At least one maintainer has approved the PR
- There are no outstanding review requests
- There are no requested changes outstanding

Say I open up a PR related to a part of the codebase that's Maintainer A's specialty and request their review. Maintainer A requests many changes and I do most of them but leave a few unresolved. Some time after, Maintainer B comes by and approves the PR.
If I resolve the last few requested changes from Maintainer A by hand, and remove Maintainer A's review request would the PR automatically merge (assuming the remaining conditions you've outlined in the draft are fine)?

I'm not positive on this one. I think we need to test the scenario.
I know that you can drop requests for reviews. If someone has requested changes, I don't think you can do anything to those. They would block until that person comes back and either approves, or at least drops the "request changes" status of their review. We need to test it to validate that's true for sure.
There's also the ability for maintainers to bypass the bot and merge manually if the need arises, like if that maintainer that requested changes went on several weeks of vacation.

I took it off of draft, as I think this is ready for final review and approval. However, I would prefer it's not actually merged and instead let me work on configuring the application on the repo first before merging the configuration. I can handle the merge when the timing is right.


TRT-1637: Revert #128 "OCPBUGS-31549: update ironic-python-agent with latest fixes"

Reverts #128 ; tracked by TRT-1637
Per OpenShift policy, we are reverting this breaking change to get CI and/or nightly payloads flowing again.
Test revert only, we don't know if this is our issue yet, but some metal jobs now are losing apiserver during install.
To unrevert this, revert this PR, and layer an additional separate commit on top that addresses the problem. Before merging the unrevert, please run these jobs on the PR and check the result of these jobs to confirm the fix has corrected the problem:
/payload-job periodic-ci-openshift-release-master-nightly-4.16-e2e-metal-ipi-ovn-ipv6

CC: @tdomnesc

PR created by Revertomatic:tm:

/payload-job periodic-ci-openshift-release-master-nightly-4.16-e2e-metal-ipi-ovn-ipv6
/hold

This one hit the same problem, the kube-apiserver went down while waiting on the masters to deploy

May 01 15:17:54 localhost.localdomain master-bmh-update.sh[16276]: E0501 15:17:54.901053   16276 memcache.go:265] couldn't get current server API group list: Get "https://api-int.ostest.test.metalkube.org:6443/api?timeout=32s": dial tcp [fd2e:6f44:5dd8:c956::5]:6443: connect: connection refused

/close


Unable to create a migration to an alias of a type

edb cli migration create fails when trying to migrate from:
# schema 1
    type User {
        link currentPolls: Poll;
    };

    type Poll;

... to:
# schema 2
    alias TEMP := User;

    type User {
        link currentPolls: Poll;
    };

    type Poll;

EdgeDB Version: ced39b843

This is delta mismatch:
================================================================================
DESCRIBE CURRENT MIGRATION AS JSON mismatch
================================================================================
<DeltaRoot at 0x7f92da98b510> (
    <AlterObjectType canonical=True, classname=default::TEMP, annotations={'confidence': 1.0}, orig_cmd_type=<class 'edb.schema.objtypes.AlterObjectType'> at 0x7f92d9a0f8d0> (
        <AlterLink canonical=True, classname=default::__|currentPolls@default|TEMP, annotations={'confidence': 1.0}, aux_object_data={'from_alias': True} at 0x7f92d9a0ee50> (
            computable       = False | None,
            inherited_fields = edb.common.checked.FrozenCheckedSet[str]({'computable', 'readonly', 'target', 'cardinality'}) | edb.common.checked.FrozenCheckedSet[str]({'readonly', 'target', 'cardinality'})
        )
    )
)

It seems like the computable gets inherited as False from the parent of the link, on the current schema, but not on the target schema.

I thought Elvis told you, but he found that out initially. Only after he couldn't reproduce, I sent the full dbschema folder and things blew up

He did not, but in retrospect, it would not have mattered - I had to do the long schema pruning and bug isolation, and only now its easy to find the cause issue:
I'm able to reproduce this by:

migrating to:

# schema 0
type User {
    multi link currentPolls := (SELECT Poll);
};

type Poll;

migrating to schema 1,
migrating to schema 2 fails

So the cause is (most probably) in the code that converts a computed link into a non-computed, also known as RESET EXPRESSION, also known as qlast.SetField(name='expr', value=None, special_syntax=True), also known as sd.AlterObjectProperty.

Also fails with single link, single property and multi property.

Hmm yeah, I missed that, thanks. Also, when do nightlies get released in GMT?

1 AM currently

(currently they are not released every 1AM UTC, because we have a few flaky tests)


Creating MAUI Handler from Avalonia and replacing maui native handlers

Is it possible to create handlers for maui Controls using Avalonia controls instead of native handlers?
If that is possible then wouldn't it be like all the work is already done for maui to have a drawn backend ?
All we need to do would be to create mappers that maps the Maui IView's property to Avalonia UI controls right ?
@jsuarezruiz

Yes with one single handlers, for example a MAUI.Button or MAUI.StackLayout with Avalonia Handlers, MAUI can support all Avalonia platform, i think for example browsers, Linux and also old Windows 7.
https://avaloniaui.net/Platforms
Avalonia could be embedded into MAUI thanks to MAUI Architecture.
https://github.com/dotnet/maui/discussions/62
https://github.com/dotnet/maui/issues/4528
https://github.com/dotnet/maui/discussions/339
https://github.com/dotnet/maui/discussions/3051


PublishSubject differences between monifu and monix

Just wanted to let you know, that PublishSuject behaves differently in monifu and monix
object Main {
  def simulateA(): Unit = {
    println("START")

    import monix.reactive.subjects.PublishSubject
    val context1 = monix.execution.Scheduler.global
    val context = context1

    val aaa1 = PublishSubject[Int]()
    aaa1.foreach(println)(context)

    for {
      i <- Range(0, 2)
    } {
      val r = aaa1.onNext(i)
      println(i, r)
    }
    aaa1.onComplete()

    println("END")
  }

  def simulateB(): Unit = {
    println("START")

    import monifu.reactive.subjects.PublishSubject
    val context1 = monifu.concurrent.Scheduler.apply(scala.concurrent.ExecutionContext.global)
    val context = context1

    val aaa1 = PublishSubject[Int]()
    aaa1.foreach(println)(context)

    for {
      i <- Range(0, 2)
    } {
      val r = aaa1.onNext(i)
      println(i, r)
    }
    aaa1.onComplete()

    println("END")
  }

  def main(args: Array[String]): Unit = {
    simulateA()
    simulateB()
  }
}

Produces
START
(0,Continue)
1
(1,Continue)
END
START
0
(0,Continue)
1
(1,Continue)
END
Process finished with exit code 0

@DellCliff don't worry, it's not the behavior of PublishSubject that changed, but that of foreach.
The new foreach is translated into foreachL.runAsync, where foreachL returns a Task and this Task is asynchronous because it is created by means of Task.unsafeCreate. I did this because this way we can now return a CancelableFuture, so it gives you back something that:

allows you to cancel the subscription
on the JVM you can block on it if you want, waiting for the end of the stream

In other words, this subscription is now asynchronous and happens on another (logical) thread. So this is why you're missing an event in that sample. It's not the behavior of the PublishSubject, which suffered only minor modifications, it's because that foreach subscription ends up happening on another thread in parallel.
If you want to fix this particular sample, to be equivalent with version 1 (Monifu), replace this line:
aaa1.foreach(println)(context)

With this one:
aaa1.doOnNext(println).subscribe()

Or more idiomatic for testing purposes:
aaa1.dump("O").subscribe()

BTW, thanks for taking the time to investigate. We need bug reports.

Thanks for clearing that up. I'm having fun experimenting around with monix so far.


øṘ doesn't work for values 4000 and above

It should be valid, just add tons of Ms.

i believe the standard way is to multiply values by 1000 by marking them somehow, see e.g. this ppcg q or the mathematica function.

Right, normally overlines are used, but we don't care here. It's currently configured to error when given 4000 or above.


No progress bar for downloads

Type: Feature Request
Why is there no means of telling how big of a download there is for Visual Studio Code besides the cryptic "Uodate downloading" OK, but for how long and how much space is it downloading. What is the mystery here? Did you guy sforget to give us a progres bar at all? Hello?
VS Code version: Code 1.79.2 (695af097c7bd098fbf017ce3ac85e09bbc5dda06, 2023-06-14T08:57:04.379Z)
OS version: Windows_NT x64 10.0.22623
Modes:

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.80.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!


Implement modifier dialog for adding equal beating

I'm sure there's a way to modify existing JI scales such that their chords beat equally.

should the ratio b/a be modified by 2^n*a/b Hz if 1/1 is modified by 2^m Hz where the m and n values are freely selected integers?

I honestly have no idea.
Beating is a strange phenomenon to get a grip on mathematically:

It is perceived in the time domain.
Every harmonic of a periodic sound beats faster based on the height but against different harmonics of simultaneous notes so there are relevant considerations in the frequency domain.
Then there's the octave-repeating nature of scales so the pitch domain cannot be ignored either.


channeldb+invoices: add spontaneous AMP receiving + sending via SendToRoute

This PR adds the ability to receive spontaneous AMP payments, and send them by crafting the appropriate request using SendToRoute. This PR is opened as a Draft since not all feature bits/TLV record types are decided.
PLEASE DO NOT RUN THIS ON A PRODUCTION NODE
Summary of  changes:

Adds support for parsing AMP record from TLV onion payload
Adds (non-final) AMP feature bits
Add InvoiceRef support for querying by pay_addr only
Add JIT AMP-invoice insertion when receiving AMP HTLC
Validation + testing around HTLC-level preimage persistence
Reconstruction of HTLCSet child preimage/hashes using amp package
Integration test demonstrating multi-path AMP via SendToRoute

TODO:

[x] expand itest assertions
[x] add more unit testing around AMP invoice settlement w/ invalid HTLC sets
[x] fix invoice parsing for AMP invoices

So the receiver gets the cancel signal and cancels all htlcs back, but does the sender learn from that which htlcs were actually held by the receiver vs the ones that were still in-flight or didn't even reach the receiver? I suppose the sender can inspect the failure message to see what the origin of the failure is.

Yes, the source of the failure will tell the sender that all HTLCs were held by the receiver. If the sender intentionally fails reconstruction, they should get incorrect_payment_details on all of them as the reply.

Only when an htlc arrives at the receiver after the set has already been cancelled, and is then cancelled back, what does this look like to the sender? Will it be clear that that final htlc wasn't part of the set and reached the receiver "independently", possibly reusing liquidity that was just released?

The set is never cancelled unless the receiver has HTLCs satisfying the full amount. If any of the individual HTLCs are canceled early, that would happen with mpp_timeout.

Just needs a rebase!


Frost Mage lua error

frost mage macro doesnt show becouse spec is string
replace:
Sequences['DB_Frosty'] = { author='Draik', specID='64',
with:
Sequences['DB_Frosty'] = { author='Draik', specID=64,
or make errorproof somewhere in ur code where u check macro and plater spec for equality
playerSpecID == tonumber(MacroSpecVar)

Fixes in 1.0.2 Thanks @camelot10


Use sampler instead of circuit-runner in tests

Summary
The cloud channel does not support circuit-runner so integration tests have been failing
Details and comments
Fixes #906

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 72.829%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2592

Relevant Lines:
3559

💛  - Coveralls


Token Test - Not Working

After adding in my token, the following error repeats and the devices are not discovered. I also removed the Envoy completely and recreated in the plugin with just the token and get the same error. I can confirm that the token item was checked and the token used is a valid operating token.
Error in Homebridge Logs: Device: <IP_ADDRESS> Envoy, probably uses new firmware 7.x.x, please enable authorization token support in plugin settings.

Thanks for test, can you try 5.6.3-beta.4, it will be very helpful because I have only envoy with firmware 5.x.x and can not test it locally.
Please also post the log if error occurs.

Just pulled the latest beta and you need to change to support self signed certificates:
Device: <IP_ADDRESS> Envoy, requesting infoData error: Error: self signed certificate
at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)
at TLSSocket.emit (node:events:520:28)
at TLSSocket._finishInit (node:_tls_wrap:944:8)
at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12) {
code: 'DEPTH_ZERO_SELF_SIGNED_CERT',
config: [Object],
request: [Writable],
response: undefined,
isAxiosError: true,
toJSON: [Function: toJSON]
}, trying again

next beta ready to test

Not yet, and what I have learned is that not all of the previous URLs are available for query in firmware 7:
Device: <IP_ADDRESS> Envoy, inventoryData error: Error: Request failed with status code 401
at createError (/usr/lib/node_modules/homebridge-enphase-envoy/node_modules/axios/lib/core/createError.js:16:15)
at settle (/usr/lib/node_modules/homebridge-enphase-envoy/node_modules/axios/lib/core/settle.js:17:12)
at IncomingMessage.handleStreamEnd (/usr/lib/node_modules/homebridge-enphase-envoy/node_modules/axios/lib/adapters/http.js:322:11)
at IncomingMessage.emit (node:events:532:35)
at endReadableNT (node:internal/streams/readable:1346:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
config: [Object],
request: [ClientRequest],
response: [Object],
isAxiosError: true,
toJSON: [Function: toJSON]
}, trying again.

The following work with delayed data:
https://envoy.local/api/v1/consumption
https://envoy.local/api/v1/production
The inventory URL is not currently available via a bearer token and API request, but you can use the bearer token to login to the web UI and then go to the inventory URL.

Next beta ready, please report back with log

Back to Self Signed Cert error:
[2/28/2022, 9:16:14 AM] [homebridge-enphase-envoy] Device: <IP_ADDRESS> Envoy, inventoryData error: Error: self signed certificate
at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)
at TLSSocket.emit (node:events:520:28)
at TLSSocket._finishInit (node:_tls_wrap:944:8)
at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12) {
code: 'DEPTH_ZERO_SELF_SIGNED_CERT',
config: [Object],
request: [Writable],
response: undefined,
isAxiosError: true,
toJSON: [Function: toJSON]
}, trying again.

Support and test for new authentication method will not be added at this time.


Added swag page and form integration

Built on top of Shanea's work:

updated the copy in the rewards section
made the /swag page mobile-friendly
fixed a few things that were bugging me

Mobile
Desktop


Add HTTP URL to sendPhoto description

In response to #271

(stupid simple commit, but it's my first time forking and creating PRs in github, wanted to get some experience)


hash replaced by which?

Hi
Maybe it is a good idea to replace the hash command by the which command ( 2x ).
if which lsb_release &>/dev/null; then
and
if which ufw &>/dev/null; then
If I do man hash I get a man (3) manpage so it does not seem to be a regular command unlike which.
Regards,
Zounp

I chose hash based on some of the information here:
http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script


⚠ Bofrost.de has degraded performance

In ab3db8d, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1464 ms

Resolved: Bofrost.de performance has improved in d36b784 after 47 minutes.


feat: HMR support for serverMiddleware

Types of changes

[x] Bug fix (a non-breaking change which fixes an issue)
[x] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Refactor

Description
Fixes #6877 #1509.
This PR brings huge DX improvements to Nuxt serverMiddleware by watching all serverMiddleware (and their require dependency tree). HMR supported for both path and handler.
Changes summary:

Server refactored to support in-place HMR of middleware stack and also adds additional meta (7505ac5b7a7d9e16ec0e30023109cefbb8bc50f9)

New middleware syntax is more consistent with express (path/handler ~> route/handle - with backward compatibility)

Fixed an important bug in cjs helper that causes process fatal error when accessing a cache entry which had already errors (more DX coming in another PR for HMR of nuxt.config) (26581e65b9ffa9cbbe84a9e59d8d8bf83fa7fb9b)
Replaced old full restart in Builder with new HMR in Builder (In rare cases if any error happens fullRestart fallback happens) (8a950ce990a7cfd737a4e5592abce4e327f2a637)

Error handling: Normal runtime errors already being handled by error middleware. In case an error happens due to syntax/reference error, a placeholder will be automatically replaced. If path is defined inside same file, we try to preserve last state otherwise show error on all routes until problem is fixes.
Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. (PR: #)
[ ] I have added tests to cover my changes (if not applicable, please state why)
[x] All new and existing tests are passing.

Please update the docs woth examples, because it not working for me.
Thanx!

I have the same issue as @GaborTorma, only the first change on the server middlewares is detected

@GaborTorma @jgmullor

If you are using Windows, there is a known issue going to be fixed with next release.
This is a basic DX improvement for serverMiddleware. Nuxt functions coming soon ;)
Would you please create an issue with reproduction steps when it is not correctly working?

@pi0 in our case we're using OSX/Ubuntu, I will try to create an issue with a jsbin later today, thank you! =)

Does anybody have an example of this working?
I am getting this error:
this.nuxt.server.serverMiddlewarePaths is not a function

@HuddleHouse Would you please ensure having 2.12+ version of @nuxt/server installed in node_modules? Are you using nuxt as middleware?

@pi0 Thanks for responding! That helped me figure out what was wrong.
It turns out 2.11+ versions of @nuxt/server & @nuxt/core were getting installed. I installed 2.12+ versions in dev dependencies and it worked!

I'm getting the below error after this change, using an Express api backend exported as below:
~/api/index.js:
import express from 'express'
...
const app = express()
...
module.exports = {
route: '/api',
handler: app
}
nuxt.config.js:
serverMiddleware: [{ route: '/api', handler: '~/api/index.js' }]
Error:
FATAL Cannot create property '_middleware' on string '~/api/index.js'
at Server.resolveMiddleware (node_modules/@nuxt/server/dist/server.js:816:35)
at Server.useMiddleware (node_modules/@nuxt/server/dist/server.js:822:36)
at Server.setupMiddleware (node_modules/@nuxt/server/dist/server.js:680:12)
at async Server.ready (node_modules/@nuxt/server/dist/server.js:610:5)
at async Nuxt._init (node_modules/@nuxt/core/dist/core.js:689:7)

@humanistical I am encountering the same problem. Any fix?

I'm getting the below error after this change, using an Express api backend exported as below:
~/api/index.js:
import express from 'express'
...
const app = express()
...
module.exports = {
route: '/api',
handler: app
}
nuxt.config.js:
serverMiddleware: [{ route: '/api', handler: '~/api/index.js' }]
Error:
FATAL Cannot create property '_middleware' on string '~/api/index.js'
at Server.resolveMiddleware (node_modules/@nuxt/server/dist/server.js:816:35)
at Server.useMiddleware (node_modules/@nuxt/server/dist/server.js:822:36)
at Server.setupMiddleware (node_modules/@nuxt/server/dist/server.js:680:12)
at async Server.ready (node_modules/@nuxt/server/dist/server.js:610:5)
at async Nuxt._init (node_modules/@nuxt/core/dist/core.js:689:7)

@mobihack
You need to exports only the app in ~/api/index.js file:
module.exports = app

@TeleMediaCC  Thank you. This solved my problem.
For others who may encounter this problem, you don't need to sub route to '/api' inside your express setup. Just export without prepending api to your express routes.


misc: let 'port provides' and trace mode honor the FS case-sensitivity.

While updating ghc in trace mode, I noticed it failing while including "GC.h". ghc actually meant to include a file named GC.h from its own source tree, but due to providing -I${prefix} before include directives for its own source tree, /opt/local/include/gc.h was picked by the compiler.
On a case-sensitive system, this wouldn't have happened.
Ultimately, the build process was able to read /opt/local/include/GC.h, even though ghc did not depend upon boehmgc, but eventually failed to build as it wasn't able to read /opt/local/include/gc/gc.h. Curiously, both files should have belonged to the same port (bohemgc.) However, port provides /opt/local/include/GC.h returned no registered port for this file - which was also queried as such by trace mode and thus allowed access. Checking port provided /opt/local/include/gc.h correctly returned boehmgc.
This PR tried to fix up this shortcoming by respecting the FS's underlying case-sensitivity.
ghc built fine for my in trace mode with it.
Because this changeset is a bit bigger than others and there's breaking potential, please review.

New changes:

memory leak fixes
replaced strcat/strcpy indirection with snprintf
spawned off a new function in tracelib fs_case_sensitive (also in the TCL part)
checks for uppercase variant as well
faulty one-time caching of FS CS value

Not fixed yet/pending discussion:

LIKE vs. COLLATE NOCASE (currently using both)
duplication in TCL and C code for FS CS detection
not using getattrlist

New changes:

checking functions moved into Pextlib.c, with a TCL interface that can be called using [fs_case_sensitive $file]
split up into TCL command function, fs_case_sensitive_darwin() that uses getattrlist() and fs_case_sensitive_fallback() that uses multiple lstat() calls
TCL command function and tracelib default to fs_case_sensitive_darwin() if __APPLE__, then call fs_case_sensitive_fallback() if either the first check failed or not __APPLE__
removed TCL duplication of lstat() algorithm
introduced new sqlite index on actual_path with COLLATE NOCASE, bumped up internal database version number - operations finally are FAST again!
removed LIKE operator usage, as we don't want to go out of our ways to escape % and _ in path values... now always using the equality operator with COLLATE NOCASE
some minor copyright notice updates

I'm pondering whether it would be beneficial to implement some sort of caching. Not exactly per-file, but at least per-mount-point. That would help to avoid the probably costly getattrlist() and lstat() calls on subsequent calls for files on the same volume.
Doing this with a static/fixed cache of 50 entries and non-eviction would be rather easy, but I'm not sure how to free memory again at the end of execution. Do you think atexit() would be good enough for that? Linux/glibc allow using atexit() in a shared library and functions will be called when the shared library is unloaded, which is the case when tclsh shuts down (hopefully not earlier...) - but I don't know how OS X handles that.
I'll probably give that a shot locally and see if it works.

New changes:

don't error out in flatfile registry mode, only issue a warning that case-sensitive search is not implemented
added proper description to first commit implementing the case-sensitivity feature
add mount point case-sensitivity caching
caching only active on BSD-like systems (check commit message why not on Linux)

Rebased commits a tiny bit to add a few string checks where necessary and make it more resilient - after Pextlib blew up during a cmake run.

I kind of lost track of this. However, I also had the opportunity to test this stuff with thousands of ports.
"Merging".


45 age verification

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--sazerac-wheatleyvodka--hlxsites.hlx.page/
After: https://45-age-verification--sazerac-wheatleyvodka--hlxsites.hlx.page/

The mobile view does not look right yet

@chhaack, a potentially interesting alternative would be to use a modal dialog. Not sure we need to but just in case you want to explore that direction there is an example in the block party: https://github.com/hannessolo/modal-demo/

add "backdoor" ignoring age check cookie - use ?noAgeCheck as request parameter


Added contentIDKey, contentIDValue, contentType when sending pageviews

Coverage increased (+1.4%) to 84.848% when pulling 52250116cc1eb59c6be69a54ac8031e69f615d8d on AddContentAttributes into 17f3a4660138d8ac9873d535021f513a62c1a288 on master.

Good job! i'll merge and release when the API is ready! After production release of june 18


Mages Disjunction can have Selective applied.

Just realised that this is probably not intended!

shouldnt this be intended? its an instantaneous spell that applies a lingering debuff on targets hit by it, not a lingering AoE effect
also, regardless, why not let it benefit from selective at base and have the toggle fix for selective deal with it along with all others?


Compile errors with apollo-smith/parser-impl feature

Description
I’m trying to make a local script to run roughly the same things as CI before submitting PRs. I see that .circleci/config.yml contains cargo clippy --all-targets --all-features -- -D warnings, but when I run the same on main I get compilation errors.
CI is green for the same commit, at this point I don’t understand what difference in my local environment leads to different results.
Steps to reproduce
The above can be reduced to:
cargo check -p apollo-smith --features parser-impl

Expected result
Compilation succeeds
Actual result
31 errors, all similar to this:
    Checking apollo-smith v0.3.1 (/Users/simon/projects/apollo-rs/crates/apollo-smith)
error[E0107]: this type alias takes 1 generic argument but 2 generic arguments were supplied
  --> crates/apollo-smith/src/argument.rs:37:71
   |
37 |     fn try_from(args_def: apollo_parser::ast::ArgumentsDefinition) -> Result<Self, Self::Error> {
   |                                                                       ^^^^^^       ----------- help: remove this generic argument
   |                                                                       |
   |                                                                       expected 1 generic argument
   |
note: type alias defined here, with 1 generic parameter: `T`
  --> /Users/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/arbitrary-1.1.0/src/error.rs:40:10
   |
40 | pub type Result<T> = std::result::Result<T, Error>;
   |          ^^^^^^ -

Environment
On current main branch: commit 5dd19f3

For now I’ll keep doing local testing without --all-features

It works with arbitrary-1.2.0. Though i think it's a mistake that we are using arbitrary::Result there in the first place.