Reduce code duplication in style files

This is feature suggestion.
In any style.yaml for tangram, I read a lot of these things:
                    # limit show smaller landuse areas to higher zooms
                    - { $zoom: { min: 4 },  area: { min:<PHONE_NUMBER> } }
                    - { $zoom: { min: 5 },  area: { min:<PHONE_NUMBER> } }
                    - { $zoom: { min: 6 },  area: { min: 150000000 } }
                    - { $zoom: { min: 7 },  area: { min: 100000000 } }
                    - { $zoom: { min: 8 },  area: { min: 10000000 } }
                    - { $zoom: { min: 9 },  area: { min: 5000000 } }
                    - { $zoom: { min: 10 }, area: { min: 1000000 } }
                    - { $zoom: { min: 11 }, area: { min: 500000 } }
                    - { $zoom: { min: 12 }, area: { min: 250000 } }
                    - { $zoom: { min: 13 }, area: { min: 100000 } }
                    - { $zoom: { min: 14 }, area: { min: 50000 } }
                    - { $zoom: { min: 15 }, area: { min: 20000 } }
                    - { $zoom: { min: 15 }, area: { min: 2000 } }
                    - { $zoom: { min: 16 } }

...and also these things...
        ocean-labels-z1:
            filter: { $zoom: [1] }
            draw:
                text-blend-order: { font: { size: 8px } }
        ocean-labels-z2:
            filter: { $zoom: [2] }
            draw:
                text-blend-order: { font: { size: 10px } }
        ocean-labels-z3:
            filter: { $zoom: [3] }
            draw:
                text-blend-order: { font: { size: 13px } }

It looks like, that wherever $zoom is used, there is a direct correlation with the size of the feature. Even where a size/area is not explicitly given, it is implied by a expectation of a size of a feature, like here:
        stream:
            filter: { kind: [stream], $zoom: { max: 17 } }

So my proposal is

change the unit of size-related features from m/m² to size on the viewport in cm/cm². For example, filter: { area { min: 1, max: 25 } } would match all areas whose size on the screen is between 1cm² and 25cm². So, this implicitly includes the zoom.
define metadata that specifies the (assumed) size/width of non-polygon features like streams, rivers, shopping malls etc and make it accessible in the style. Something like this: filter: { kind: [water-line], width {min: 0.2 } } would match all waterways whose width or assumed width in meters (if none is given) would be at least 2mm on the map at the current scale.

Pros of this approach

The metadata of the importance/assumed size of features is not defined in each style again and again, every time a little different -> no duplication of this metadata
a lot less code duplication when deciding when to display a feature, how prominent to display a feature and when to show a label or not
seamless zooming in the sense that the map also renders i.e. zoom 14.5 and 14.0 differently is possible (Not sure if it feels good, but it is at least possible).
the necessity to group the areas into "importance" tiers (which is also part of the metadata that is currently in the style) is probably unnecessary then. This also removes a lot of boilerplate
style file would pretty much shrink into defining what features to display at all and how to color/texturize them, I think

Cons of this approach

Because the units would be changed, suddenly, all styles would be invalid and would have to be fixed.

It would be possible to avoid the mentioned con by adding new filter keywords instead for this new method:

screenArea
screenWidth
etc...

Neat proposal!
On Tue, May 31, 2016 at 1:45 PM, Tobias Zwick<EMAIL_ADDRESS>wrote:

It would be possible to avoid the mentioned con by adding new filter
keywords instead for this new method:

screenArea
screenWidth
etc...

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tangrams/tangram/issues/320#issuecomment-222814684,
or mute the thread
https://github.com/notifications/unsubscribe/AA0EOzMtpLC_vgwiSdqfEQR2vR1ZNC3Uks5qHJ3agaJpZM4Iq72r
.

Intriguing! Thanks for the suggestions Tobias, we'll discuss this with the
team :)
On Tue, May 31, 2016 at 4:45 PM, Tobias Zwick<EMAIL_ADDRESS>wrote:

It would be possible to avoid the mentioned con by adding new filter
keywords instead for this new method:

screenArea
screenWidth
etc...

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tangrams/tangram/issues/320#issuecomment-222814684,
or mute the thread
https://github.com/notifications/unsubscribe/AAcEws0LVmqb4d2VQsiwq40mXRKaxNXBks5qHJ3agaJpZM4Iq72r
.

I compiled all size related information I found in the bubblewrap style into an own file. The following attachment is what I meant when I wrote of putting the metadata into an own file (The values need to be tweaked of course):
defaultSizes.txt
The same could be done for assumed widths of features (streams, ditches, highways, barriers,...)

Hi @westnordost -- thanks for the suggestion and data compilation :)
While we'd be unlikely to introduce a hard breaking change, we could definitely consider adding new units for some of those comparisons. For example, if a "raw" (unitless, e.g. 5000) area value is assumed to be meters^2, we could use px2 to indicate pixels^2 (screen area) instead, e.g. filter: { area: { min: 20px2 } }. We already support multiple units for some other values (e.g. m vs. px for line widths), so this would be consistent with current formatting.
The idea of implied sizes is also interesting. One solution is additional feature metadata as you suggest, and I could see us expanding our global syntax, or adding some other type of data mapping or macros, to support that type of logic client-side. Another option would be to push that kind of decision down to the server, as a hint in Mapzen's vector tiles. This is already something we are likely to do for areas, by assigning a small set of "tier"/importance values to landuse areas. This would also ease the client-side filtering workload, which can be substantial.
I'll keep this open for now and consider splitting into smaller tickets.

Small addition regarding the units
dp
px² is not the screen area, as different devices have different dpi. Using px as a unit for drawing lines and deciding whether to render an area or not will result in a very much smaller map for xhdpi devices.
I (also) think that cm/cm² as a unit would be weird as there is already m/m², that is why I initially proposed new filter keywords instead of another unit.
For Android, a new unit called dp (="density-independent pixels") was invented because of this issue.
%
While thinking further about eliminating the $zoom dependency, I found a use case where a unit based on screen area/size would not solve the problem but introducing a % (of viewport size) unit would:
Imagine you want to show the label for an area only if that area does not cover the whole screen or want to fade out the color of a large campus/military zone/mall from their original color to transparent once you are "in it" (=the area covers the whole viewport).

There are use cases for both, I could see using dp for filtering the areas and % for filtering and label placements & adjusting their letter spacing.

Ah yes, by convention, Tangram uses px to refer to CSS-style pixels, where 1px scales with device pixel density (window.devicePixelRatio). This gives consistent sizing across devices (as with CSS). (Device pixel ratio itself is also available within Tangram shaders, for custom effects that want to take into account screen density.)

cool 👍

OpenStreetMap Carto moved from using areas in square Mercator meters to number of (device-independent[1]) pixels. (gravitystorm/openstreetmap-carto#703) This simplified a lot of area-based rules and opened up new possibilities like area-based styling for label size(gravitystorm/openstreetmap-carto#941) which would have been too unwieldy before.
It also made it much easier to think about areas. I don't know what an area of 100000000 on z12 means without a bunch of work, but I can fairly easily figure out that 65000 device-independent pixels are a z12 tile, which I know the approximate size of.
[1]: It's rendered server-side and high dpi is done with mapnik scale, which is not quite the same as device independent, but you can think of it that way.

Makes sense, I will add a specific issue for filtering areas by pixels.

Support for filtering by px2 added in v0.10.0.

Can this be closed?

px2 solves the - { $zoom: { min: 4 },  area: { min:<PHONE_NUMBER> } } duplication. I'm not sure about the metadata part of the proposal since I wasn't understanding that part, and it isn't a problem I ran into.

Closing based on addition of px2 filtering and will take the other feedback into consideration for future syntax.


hyprland-per-window-layout: 2.3 -> 2.3.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/hyprland-per-window-layout/versions.
meta.description for hyprland-per-window-layout is: Per window keyboard layout (language) for Hyprland wayland compositor
meta.homepage for hyprland-per-window-layout is: https://github.com/coffebar/hyprland-per-window-layout
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.3.1 with grep in /nix/store/ljbgb5yapzvkqfg3dbdbmzcx5lm88jpz-hyprland-per-window-layout-2.3.1
found 2.3.1 in filename of file in /nix/store/ljbgb5yapzvkqfg3dbdbmzcx5lm88jpz-hyprland-per-window-layout-2.3.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
hyprland-per-window-layout

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ljbgb5yapzvkqfg3dbdbmzcx5lm88jpz-hyprland-per-window-layout-2.3.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A hyprland-per-window-layout https://github.com/r-ryantm/nixpkgs/archive/d9af914093f68cf6646b5fa333deead0a8bc66b0.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/d9af914093f68cf6646b5fa333deead0a8bc66b0#hyprland-per-window-layout

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ljbgb5yapzvkqfg3dbdbmzcx5lm88jpz-hyprland-per-window-layout-2.3.1
ls -la /nix/store/ljbgb5yapzvkqfg3dbdbmzcx5lm88jpz-hyprland-per-window-layout-2.3.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

hyprland-per-window-layout

Maintainer pings
cc @azazak123 for testing.

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

1 package built:

hyprland-per-window-layout


Release/0.5.2

Coverage increased (+0.2%) to 32.756% when pulling 9a4c106c70cc88db7bf010a7b21dcd0e73445238 on release/0.5.2 into 3fdb16f5412ef2beefc6d47cae1a96b177f575ef on master.

No problems with the release contents but we can't remove a full 0.5.0 feature from a 0.5.2 release... This is a 0.6.0.

Sure thing. I just wanted to get an RC out so we can make sure that it is indeed fixed. Will add the extra removal ticket and re-milestone everything.
Do we need a blog post for this?

I think we can get away with just a Discourse thread...


Create notifications config resources

What type of PR is this?

Uncomment only one  /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind bug
/kind chore
/kind cleanup
/kind failing-test
/kind enhancement
/kind documentation
/kind code-refactoring

What does this PR do / why we need it:
NOTE: This PR builds on top of https://github.com/argoproj-labs/argocd-operator/pull/635 and should only be merged after that one has been merged
This is 2/2 PRs for adding support for spinning up the notifications-controller within argocd-operator. This PR enables the operator to create/delete the argocd-notifications-cm configmap and argcocd-notifications-secret based on whether notifications has been enabled or not. It also adds a set of default template and triggers configurations to the cm out of the box, based on what is present in https://github.com/argoproj/argo-cd/blob/master/notifications_catalog/install.yaml
Have you updated the necessary documentation?

[x] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
https://issues.redhat.com/browse/GITOPS-1915
How to test changes / Special notes to the reviewer:

Start the operator locally and spin up an empty Argo CD instance
Notice that out of the box there are no configmaps or secrets created for notifications
Set .spec.notifications.enabled to true
Verify that argocd-notifications-cm and argocd-notifications-secret are created
Verify that argocd-notifications-cm contains a set of default templates and triggers out of the box
Disable notifications by setting .spec.notifications.enabled to false
Verify that the cm and secret are properly cleaned up

@jaideepr97 , this PR seems to contain changes from your earlier PR #635. Is this intentional? (Especially as this PR is raised on top of the other PR)

@ishitasequeira yes
This is built on top of the other one
Split them up since the stories were also split up that way, And it can only be tested all together
This should go in only after the first one does

I understand, but do we need same changes in both the PRs? Or are you planning on updating this PR once the other one goes in?

Thanks for the feedback @ishitasequeira !


Mute/Warn/Kick/Tempban/Softban/Ban without mentioning the user

Proposal:
Proposal written by Dadi
Is it a proposal for the website or for the bot?: bot
What is the title of your proposal?: Mute/Warn/Kick/Tempban/Softban/Ban without mentioning the user
Explain your proposal more accurately (It's best to give as much information as possible, so that we can implement the proposal better): You should be able to e.g. mute user without mentioning them.
E.g. ?mute Dadi#7808 toxic
Why should we add this feature?: When you are on a mobile phone you cannot mute user from a private channel with @user
ReportID: 223

➤ LenoxBot commented:
Approve:
It would be a important command
Denarioyt#3352


Missing my ballot token on the XAU/ERG pool on testnet

While trying to run #241 my voting fails due to a missing ballot token.
The ballot token id is 7906d9817766970f5318881b53bfa163a527961c38282db9053eb4e1f24d3ec0

The ballot token is in the ballot box that is protected with the ballot contract that has the old update NFT. The ballot box was rejected on load due to the ballot contract being different from the one in pool_config.yaml. After removing this check, the ballot box loads but cannot be used in voting due to a clause in the ballot contract that the output ballot box should have the same contract. This renders all ballot tokens in ballot boxes effectively useless. Since min_votes is 5 and there are only 4 ballot tokens in the node's wallets, there is no way to vote for any changes in the pool.


Ability to "pin" any of the options hidden in "show more options"

What feature or improvement do you think would benefit Files?
When opening the "show more options" menu, it shows any shell extensions you have.  My proposal is that you could right click on any of those items in the menu and "pin" them, such that, as soon as they are enumerated, they show up in the top level of the menu, similarly to what the option that shows all of them in the top level menu does, but without the clutter.  This way, I could pin, for example, "Open with HxD," "7-zip," and "What's using this file?" and those would show up below the "Show more options..." item in the top level menu.
Further, you could choose to pin, or pin for this file type, so for example I could pin an item only for .jpg files or only for .txt files.
As I write this, this could be extended to the "Open With..." menu as well, so you could have a specific program pinned there for certain file types or all files, and quickly open files with that program from the top-level menu.
My, writing this has really got my juices flowing.  The right click menu on a submenu item could show "Pin" (pin for every file), "Pin for this file type" (pin for any file with this type), "Pin in this folder" (pin for all files in this folder regardless of type), "Pin for this file" (pin on this exact file, and follow it if moved or copied with Files).
Please excuse my stream of consciousness.  Here's a mockup I threw together illustrating what I mean.

Requirements
Adding right clicking in a right click menu.
Files Version
<IP_ADDRESS>
Windows Version
10.0.22631.2861
Comments
No response

Thank you for your feedback, we're currently tracking this feature request in #13463. Please comment or subscribe to that issue to be notified of any updates.

Got it, I'll add my thoughts there.


Issue while Deploying strike_datePicker

I was installing strike components first time. So on installing strike_datepicker .cmp file for strike_input and strike_datepicker was not getting created. On debugging i found that strike_svg is required for strike_input so i installed strike_svg first and then installed strike_datepicker.
Steps to reproduce:-
1:- an org where no strike component is deployed.
2:- then use strike install strike_datepicker to deploy code to org.
3:- you will get an error of FIELD_INTEGRITY.

Thanks so much for identifying this issue. I'm going to remove the strike_svg reference completely and add lightning:icon instead in the next release. Cheers!


Show popup window when restarting the round

To support multiple rounds per track, ForceEndRound has to be used when restarting a round. However, ForceEndRound adds a delay before actually restarting (as opposed to RestartChallenge). Adding a popup message helps players know in advance that the round will be restarted (those who have the HUD enabled, that is).
There are two cases where this can be used:

When a false start is detected
When using /ko restart

May optionally hide the current chat message for those who have TMGery HUD enabled (using getPlayersWithHudOff).

Added in dev commit


Hide command prompt window when using cmd /C start

Welp, apparently the same pull request is there already. Sorry.


How the component uses strings？

Version
3.2.0-beta.4
Reproduction link
https://codesandbox.io/s/distracted-cannon-3e72b?file=/src/App.vue
Steps to reproduce
Component rendering error
What is expected?

What is actually happening?

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.

The experimental ref sugar syntax changed, check the relevant RFC for updates.

正是问了没有得到回复才发帖的


BarChart example in docs.rs cannot be compiled

Problem
This line causes a compilation error: https://github.com/ratatui-org/ratatui/blob/3f781cad0ad7e0d6284be0af8dc6c1e0ba7e71b4/src/widgets/barchart/mod.rs#L24
Measure
The following syntax should be used instead (as in the actual BarChart example):
.bar_style(Style::default().fg(Color::Yellow))

Modifying the BarChart example to the following compiles fine on my machine.
    let barchart = BarChart::default()
        .block(Block::default().title("Data1").borders(Borders::ALL))
        .data(&app.data)
        .bar_width(9)

        .bar_style(Style::new().yellow().on_red())

        .value_style(Style::default().fg(Color::Black).bg(Color::Yellow));
    f.render_widget(barchart, chunks[0]);

Is the compilation failing on docs.rs or on your machine?
If it fails on you machine, did you include the Stylize trait or the Ratatui prelude?

@Valentin271 Right, I haven't included the Stylize trait, I didn't know it existed. The best thing would be to make the doc examples compilable.

@Valentin271 Right, I haven't included the Stylize trait, I didn't know it existed. The best thing would be to make the doc examples compilable.

This comment is interesting because it suggests a couple of things (and that the Curse of Knowledge is present):

The style shorthand approach (implemented via the Stylize trait) is not discoverable. https://docs.rs/ratatui/latest/ratatui/style/#using-style-shorthands is the current docs for this.
Although we have a tendency to use the prelude for examples, this isn't something that is necessarily discoverable or obvious either. (The Stylize trait is included in the prelude).

In https://github.com/ratatui-org/ratatui/pull/447#pullrequestreview-1599229844 I suggested that we generally should use both those approaches, but I'm concerned that these might need a little tweak perhaps. Maybe we need to add some sort of 'See also' to each style section for the Stylize problem, and perhaps for the first example in each type we should include the necessary imports (and prelude to make it more visible).

I agree, it's always hard to document something you know.
I think the use of the prelude is a good thing. My understanding of the prelude is that you should always include the one from the lib you're working with. So maybe this is what we need to document: that the Ratatui prelude actually exists. I'd start by mentioning it on the main doc page.
However, as you said I think we should see more often the use prelude in the examples to help beginners. Generally, I'd hide every non specific import in every example except mod or type level ones.

After taking a more in depth look at the docs, the Stylize trait definitely need to be more discoverable. Currently, you'll find it pretty much only if you know it.
To address that, again I agree, we should cross reference items more. This should probably be a thing for all items rather only Stylize.

As a sum up of my post

Document the prelude existence (and maybe usage? link to the rust doc?)
Show non-obvious imports in examples (notably traits)
& show every import in mod and type level examples?
More cross-reference

@Valentin271 Just my 5 cents, I usually never start with a prelude::*, many libraries don't provide a prelude, and even with ratatui I easily started without it, having just all types included directly. Usually, I'd love to know how to use concrete traits and where the declarations go from. To cut a long story short, good documentation should help with this challenge, just as you stated. Thanks!


Not a bug but kind of annoying - place collections

I am testing out place collections. LOVE the new interface. Especially adding a pic per place. One annoying thing I noticed - whenever I click "save annotation" under the "add and annotate places" page, it kicks me back to the "edit collection" page. Not a huge deal but kind of annoying since I wanted to do all my annotations at once.

Adding to this - I am trying to add Hollywood to my place collection. We have multiple entries for Hollywood, but they are not in the index so no place portal page. Can we add maybe add something to the place details page that says something like "this place cannot be added to a collection - sorry!" or something. I think it will be confusing for people to be able to see the place but not add it to the collection.

Resolved
Good point. I've moved the button to a more intuitive location, and replaced it with an apology for unlinked places (which now appear on their own portal page instead of a place detail page).


The first mod is always downloading

2024-11-14T04:56:23.228745305Z Connecting anonymously to Steam Public...OK
2024-11-14T04:56:24.667761882Z Waiting for client config...OK
2024-11-14T04:56:24.667791198Z Waiting for user info...OK
2024-11-14T04:56:26.411479521Z Downloading item 514701120 ...
2024-11-14T04:56:27.522317681Z Success. Downloaded item 514701120 to "/home/ips-hosting/Steam/steamapps/workshop/content/346110/514701120" (12808908 bytes) Downloading item 751991809 ...
2024-11-14T04:56:28.582798519Z Success. Downloaded item 751991809 to "/home/ips-hosting/Steam/steamapps/workshop/content/346110/751991809" (1992801 bytes) Downloading item 864890773 ...
2024-11-14T04:56:29.718820463Z Success. Downloaded item 864890773 to "/home/ips-hosting/Steam/steamapps/workshop/content/346110/864890773" (2920260 bytes) Downloading item 569786012 ...
2024-11-14T04:56:30.829283391Z Success. Downloaded item 569786012 to "/home/ips-hosting/Steam/steamapps/workshop/content/346110/569786012" (8974634 bytes) Downloading item<PHONE_NUMBER> ...

I deleted the first mod in the environment variable, and the first mod is always downloading

ARK: Survival Evolved

Are you deploying the container via docker compose? Did you recreate the container after updating env variables?

Closing due to inactivity.


Classify  tags the same as  tags, and clean up regex usage a little

Fixes https://github.com/dotnet/razor-tooling/issues/6047
Adds support for <c>, and uses named groups in the regex instead of hard-coding array indexes, and stops capturing groups we don't need, stores the regexes statically, and uses raw string literals because they're objectively good.

I wonder why don't you reuse xml doc parsing code from roslyn? Isn't it more efficient to do that rather than adding support for all tags yourselves one by one?

I wonder the same thing, but this tactical fix was easier than doing that investigation for now. There are issues logged for things to be better, at least.


FileAppend transaction with large files results in TRANSACTION_EXPIRED status

Description
When creating a large file using fileAppend which automatically chunks the contents into several transactions, the operation fails with TRANSACTION_EXPIRED
Steps to reproduce
Create a file, appends a large amount of data requiring 100 chunks.
The file append operation fails with TRANSACTION_EXPIRED
Presumably, the individual append transactions are prepared in advanced and then executed sequentially, however if this sequential execution takes time, the latter chunks' transactions have a valid_start which is too far in the past.
The execution of the fileAppend should not fail in this fashion, either by incrementing the valid_start time for each chunk, or not preparing each transaction in advance.
Additional context
No response
Hedera network
mainnet, testnet, previewnet
Version
v2.1.0
Operating system
macOS

Also noted that  ChunkedTransaction has a chunk size of 1024 which is correct for ConsensusSubmit messages, fileAppend should accept a greater amount of data, in fact I've tried with 2048 and it works fine.

A setMaxChunkSize(int) would be nice so the client can optimize.

We can probably fix this by updating ChunkedTransaction to build a new TransactionId after each successive transaction after executing; since we already do signing on demand I believe this wouldn't be too bad.


all: add GOOS=wasip2 port

WASI preview 2 was officially released.
With the launch of preview2, preview1 will be deprecated and transitioned to legacy support across various tools. For instance, the documentation for wasmtime indicates that legacy code will be removed after 2 releases after the landing of preview 2.
The main differences between WASI Preview 1 and Preview 2 are:

Capability-based Security: WASI Preview 2 introduces capability-based security principles, using the facilities provided by the Wasm component model. All access to external resources is provided by capabilities. Handles, defined in the component-model type system, dynamically identify and provide access to resources.

Modularity: WASI Preview 2 uses the component model's worlds mechanism to allow specific sets of APIs to be described which meet the needs of different environments.

New Interface Definitions: For those familiar with WASI preview 1, interfaces have been adapted to use high-level types defined by the Component Model and are defined with WIT, including WASI IO, Filesystem, Clocks, and Random. A WIT package is a collection of WIT interfaces and worlds. A world is a complete description of both imports and exports of a component and may be used to represent the execution environment of a component

When we get a stable GOOS=wasip2 we might have to think on ways to deprecate (or remove) wasip1 in a future Go version.
It should be possible to "bridge" preview1 and preview2 in such a way that preview1 programs still work on preview2.

This issue now tracks discussions and feature requests regarding the new port.
Related Issues
GOOS=wasip1 tracking issue
cc @golang/wasm

I'm a little confused, is this issue supposed to track discussion towards a separate proposal for how to implement this support? I don't know that an issue is going to be the best place to have those discussions (there's a LOT of exploration to do here). This doesn't look like a proposal on its own. Is there a reason you added the proposal label?
Regarding a potential wasip2/wasm port for Go, it's something I and others contributing to the wasm ports within Go are working towards, but we're not ready to produce a proposal yet. If you want to help with this, the #webassembly channel on the Gophers slack is a good place for discussions.

It was a bit naive of mine to mark this as a proposal, I understand the complexity and work necessary to implement preview2 and I agree that the bulk of the discussion should happen somewhere else. My intention was to raise the awareness to the release and create some kind of umbrella issue regarding the new port, but maybe it is too early to do so.
Maybe we can keep this open as a feature request and use it for updates or community feedback/request while the wasm team works towards a proposal?

Thanks for the issue. Do you have an estimate of how much work needed to be done based on our wasip1 implementation? Thanks.

@cherrymui some context:
WASI Preview 2 builds on the Component Model, which introduces a new ABI distinct from the C-style Core WebAssembly calling convention of WASI Preview 1.
We should consider the GOARCH=wasm32 and go:wasmexport proposals as prerequisites for a GOOS=wasip2 port:

#63131
#65199

Some of us have been working on implementing GOOS=wasip2 in TinyGo, along with the necessary code generation for WIT IDL files to Go.
The current generated Go bindings for wasi:cli/command can be found here: https://pkg.go.dev/github.com/ydnar/wasm-tools-go/wasi. The wit-bindgen-go tool that generated this was designed to output code suitable for inclusion in the Go standard library, e.g. syscall/wasm/wasi.

Another likely requirement for supporting GOOS=wasip2 is tooling, specifically whether the Go toolchain will be able to natively output a WebAssembly component, which differs from a core Wasm module.
Currently, the WIP TinyGo port for wasip2 uses wasm-tools to perform two post-processing steps on the compiled Wasm module emitted from the TinyGo compiler (wasm-tools component embed and wasm-tools component new):
wasm-tools component embed -w wasi:cli/command $(tinygo env TINYGOROOT)/lib/wasi-cli/wit/ main.wasm -o embedded.wasm
wasm-tools component new embedded.wasm -o component.wasm

This was discussed this morning in the Bytecode Alliance Go SIG meeting. The consensus was that Go should be able to natively emit a component, and not depend on an external program (e.g. wasm-tools).

Thanks for bringing that up Randy, it's something that I've thought about too (see https://github.com/golang/go/issues/65199#issuecomment-1939263778). I agree that it would make sense for the output of wasip2/wasm to be a Wasm component, since the OS is explicitly WASI p2, not some generic Wasm environment. It's not clear to me yet what, if any, use cases there are for Go to output Wasm core modules.

A group of interested individuals is working towards making wasip2 possible, but precursors to that include #63131, #65199 (in development) and #66984 (in review). Once these are accepted and implemented we might be able to produce a wasip2 proposal. If you want to contribute to this effort, you can read through the issues and associated CLs, and join the discussion in #webassembly on the Gophers slack. Remember that all the webassembly work in Go has been designed and implemented by volunteers, not the Go team, so timelines are dependent on availability of volunteers.


Remove version: qBittorrent.qBittorrent.Beta version 5.0.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/qbittorrent/files/qbittorrent-win32/qbittorrent-5.0.0beta1/qbittorrent_5.0.0beta1_x64_setup.exe/download
OK
(Automated message - build 923)

Close with reason: Package still available;


Hamburger icon in dark mode

Hamburger icon in dark mode blends with the background. Icon color can be changed to white.

Assigned. Go Ahead ✌ @SingingApple

@SingingApple  - good catch.  Are you still working on this? Let me know if you need any help :D

@CodeSarthak Yes, I'm working on it. Sure, I'll let you know if I'll require some help!

@imabp since the dark theme has been removed from the site, shall I close this issue?

@SingingApple we have made a branch dark-mode and we are thinking to put it in community v3 release
So you can work on the issue. As we want to complete dark mode in October itself.
Just there is a note, that you need to send PR to dark-mode branch regarding dark mode implementation.


Complete merge from https://github.com/dr4Ke/ldap-to-svn-authz

@whitlockjc, are you OK to integrate those modifications?

Done.  I didn't review everything because it was 5 years worth of commits.  I really wish we had a test suite for this.  Maybe when we rewrite it we can do something like that.

Thank @justinmassiot for taking the time to carry our changes to the original author repo. Thanks @whitlockjc for this repo.


Plugin definitive guide

This is just initial thoughts. Feel free to suggest any changes.
Here are described only the new visitor plugins api. Old "full", "perItem", "perItemReverse" will be removed in v3. Old JSAPI class on every node will be also removed so nodes could be plain objects.

Hi TrySound - I'm not sure I'd be in such a rush to remove 'full'. By removing 'full' you'll just get people who were using 'full' (like me) using the 'visitor' plugin, but never returning a visitor. In order to replace the 'ast' like you could with a plugin type of 'full', you'll get people (like me) replacing all the properties on the old ast object. Completely possible to use the 'visitor' plugin type to do these things, just messier.
Example usecase: https://github.com/glennosss/svgo-autocrop/blob/master/lib/AutocropUtils.js

Hi. I understand your usecase. Though the point of new plugin api is to cover all possible use cases and remove the necessity to choose.
Your case is easy to solve as well. Workers may accept root children or even root svg element. And you just need to assign new children to root.children. This fits into idea that ast is just mutable object.

Thanks TrySound - updated to 'visitor' plugin - https://github.com/glennosss/svgo-autocrop/blob/master/index.js


C# 7.x: Adding more support for expression-bodied members

Next steps for Jon:

File a new issue for the "corresponds exactly to"
Adjust the bulleted list
Send out for review

@RexJaeschke: I note this branch now has conflicts with draft-v7. Would you like me to try to resolve them?

@jskeet . Yes please!

@jskeet . Yes please!

Righto - I'll do that on Monday.

Ping @BillWagner, @ericlippert, @MadsTorgersen, @Nigel-Ecma for a final review - I'd like to merge soon if possible.


Question: Is there a way to scale up snowfall "limit" ?

I've been doing some crazy stuff with my generator and raised the ocean level to 127 and use it as the new "63". The problem with some biomes is, that there is snow, even though there shouldn't be, because minecraft generates snow at a certain point in colder biomes. Is there a way to raise up that "snowfall-height" aswell?

@Masy98: raise the temperature.

I want to have snow on a higher level, but not at >128, if i raise the temperature there will be no snow

@Masy98 Not true. The extreme hills biome has snowfall above y=90, the temperature of the snowless taiga is slightly higher and has snow above y=125.

I agree with @JfromHolland29, if you raise the temp you should see snow start at higher elevations. See here for how to calculate your desired temperature.
I'm closing this issue but please don't feel like you have to stop leaving comments here, I'll still respond.

Yeah, thanks for the help. @NAAVOO wrote me a calculator, you can type in your wished height where snowfall should start and it calculates the Base temperature and even tells you the temperature at your min snowfall height. I assumed that the base temperature counts for Y=64. Here you can test it:
http://temperature.hiroki-studio.com/

My only problem: even if i change the temperature to 0.8 (like in forest biome), there is still snow at height 127 in taiga, but not in forest

Might have to make a cold forest biome :\

So yeah, managed to fix it by converting the biome to a custom biome with a new ID and just set the OverrideBiome to Taiga. Now there is no snow, only problem now is that water spawn as liquid, but slowly freezes. Rivers are totally fine though, just the borders of rivers that are in my custom biome

ok, have found some new issues.. I just can't seem to fix it. If i set the ReplaceToBiomeName to Taiga, it generates with taiga grass color and with no snow, if i turn on rain it starts to snow, even if i set the temperature to 0.8 like in Forest in both, my custom biome and Taiga. If i set ReplaceToBiomeName to Plains, it has the plains grass color and it rains. It seems to me that it doesn't just copy the name like it should... Apperently it copys more than that, but not from the .bc files, because it still snows in taiga if i set the temperature to 0.8 (Besides the fact that it still snows in normal taiga, even if i set the temperature to 0.8 and have it in the normalBiome group). So there seems to be something that overrides my temperature.

SO, I'm at a point where i'm 100% sure that i can't change temperature. No matter what i do, it always snows in Taiga, even if i set the temperature to 10 and it always rains in Plains, even if i set the temperature to 0. To i have to enable something or what...?

Well, apperently my configs are nearly completly ignored... When i change the iceblock to stationary_water water still turn to ice when it freezes, temperature is ignored, grass color is ignored and so on... what have i done wrong when setting up TerrainControl? :D


Add Huawei HiLink router device tracker

Description:
This PR adds support for Huawei HiLink routers. The change was developed and tested under Huawei B315 device. Home Assistant already has support for some Huawei routers but the component was not compatible with my device.
The router exposes an API to communicate with. The API can be reverse engineered by logging in with the web interface and tracing requests. Apart from that the API description, made by some people, can be found in the Internet. I encountered difficulties with login since my device requires at first to obtain a session and verification token. Then logging in have to be performed with hashed password. I managed to recrete the hashing algorithm based on JS device's libraries.
Mentioned resources:

https://github.com/knq/hilink
https://www.mrt-prodz.com/blog/view/2015/05/huawei-modem-api-and-data-plan-monitor
http://forum.jdtech.pl/Watek-hilink-api-dla-urzadzen-huawei (a thread from Polish forum)

Do you have any suggestions about the code, logging statements and level or handling network exceptions? I don't catch them at all now.
I have not started writing any documentation yet since I would like to know if the PR makes sense. If so, I will create corresponding PR in documentation repository later.
Checklist:

[X] The code change is tested and works locally.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[X] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[X] New dependencies have been added to the REQUIREMENTS variable.
[X] New dependencies are only imported inside functions that use them.
[X] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.

The parts communicating directly with the device should be moved into its own library, which should then be just called by this platform.

Okay. I suggest we close this PR and you can open a new one which uses a separate library.


triton error cuda device kernel image is invalid

driver version 450.51.06
cuda version 11.8
flash_attn: flash_attn-2.6.3+cu118torch2.3cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
when running at  flash_attn.layers.rotary.apply_rotary_emb , triton error occured !
training normally on my own device whose driver version==560

it seems same as https://github.com/triton-lang/triton/issues/4029


install.sh on Windows not working

Windows 10 1809
Having MSYS2 installed
Open cmd:

sh install.sh --git byron/dua-cli --crate dua
install.sh: GitHub repository: https://github.com/byron/dua-cli
install.sh: Crate: dua
install.sh: Tag: latest (v2.10.3)
install.sh: Target: x86_64-pc-windows-msvc
install.sh: Installing to: /c/Users/XXX/.cargo/bin
install.sh: Downloading: https://github.com/byron/dua-cli/releases/download/v2.10.3/dua-v2.10.3-x86_64-pc-windows-msvc.tar.gz
tar.exe: Error opening archive: Failed to open '\\.\tape0'
(23) Failed writing body

Thanks for letting me know. It seems the script assumes .tar.gz, whereas the github action produces a zip file (dua-v2.10.3-x86_64-pc-windows-msvc.zip).
In theory, if a .tar.gz file is provided, it should work out of the box. Just now I have added such a file to the latest release. If you could try again to verify this is working, I could adjust the build script to produce a .tar.gz file as well.
Thanks for your help

Hi,
still not working. The problem is the temp path:
td=$(mktemp -d || mktemp -d -t tmp)
# -> /tmp/... not working on Windows

This mktemp executable is from MSYS2. On a typical Windows this should fail. I assume tar would than extract it to the working directory?
I think it would be better to provide a cmd or Powershell script for Windows.

I have a feeling that install.sh wasn't really created with Windows in mind. By the looks of it, the script isn't even meant to be used on windows, and a powershell/cmd version of it is not provided either.
Maybe contributing to trust is the way to get this to work, currently I don't think there is an issue for this either.

I searched for projects using a install.sh and what they are doing on Windows. Rustup and wasm-pack use an exe (written in Rust). Other projects do not provide a solution for Windows. Maybe it's not that easy. But if it's not working, you should remove this from the readme, i think.
I used the binary now. cargo install didn't work too. Error was something like feature not supported in stable toolchain or something.

Thanks for looking into it. I agree, there doesn't seem to be an easy way right now (except for using cargo +nightly install dua-cli, and I have update the README to reflect that.
This seems better than waiting for better installation scripts to come along as it helps windows users by not misleading them.


[nmi_gen] Add a wrapper peripheral for the escalation receivers for testing purposes

Carried over from #674.
This PR adds nmi_gen, a simple wrapper peripheral that receives the escalation signals from the alert handler and converts them to interrupts for the core. These are currently not true non-maskable interrupts. The module is only used for testing the alert handler mechanism at top level, and will be adapted and/or replaced in the future.
Signed-off-by: Michael Schaffner<EMAIL_ADDRESS>

I added the .prj. file for consistency. We could just keep the module below D3 until we remove it again...

Fixed and rebased.

hmmm...  i actually thought about the escalations a little differently.
Ie, since alert_handler shoots out 4 escalation signals, they would actually go to different places in the design.  One would perhaps go to the ibex wrapper, and be used for the generation of the nmi, one would go to the power sequencer in preparation for a reset, and perhaps another would go to the not-yet-there life cycle manager for a different type of response.
So I don't really envision it going to another centralized location with signals that are again broadcast out.  This is mainly for a two reasons..

if this nmi_gen module's outputs will travel long distances to other destinations, then we just lost some of the differential properties and heartbeat protections.  It makes more sense for the responder modules to directly receive them.

if we sent them to a centralized location, it would make just as much as sense to keep it in alert_handler directly, since most of the properties would be the same.

Having said all that, I think it's fine for this to go in, but we should make it really clear, either in an issue (and it's already there in the docs) that will very likely be replaced by a different scheme and this is primarily for testing.
@cdgori , could you comment a bit on whether this aligns with your thinking?
Sorry I know a lot of this is a result of there being no top level clarity on how everything should fit together.. that is something that we collectively should work on.

@tjaychen I completely agree with you. This is by no means meant to last, but I needed a module where I can connect these escalation signals to, and at the moment, these escalation endpoints simply do not exist yet. Hence I decided a wrapper module such as nmi_gen could bridge the gap for testing purposes until we actually have endpoints for the escalation signals. Sorry if I did not make that clear in the PR description. I opened an issue to track this.


Can't delete headers within plugin

I haven't found how to sanitize headers within plugins.
For example I want to delete X-User, X-Company, X-IsAdmin, etc headers.
Conductor middleware only adds headers received from plugins.
for k, vv := range reply.HeadersIn {
	for _, v := range vv {
		r.Header.Add(k, v)
	}
}
for k, vv := range reply.HeadersOut {
	for _, v := range vv {
		w.Header().Add(k, v)
	}
}

Is there ability to delete headers or plans to do that.

Good question. Removing headers is useful for sure, but I'm not sure what the best way to support it. If you have a clever idea of how to do it, pls share.
The first solution I have in mind is adding the OverrideHeaders field to the lib.Plugin struct returned by the plugin registration and changing the loop above accordingly, i.e. clear all headers first and fill it with the response. It would force plugins to return all the headers and will be back-compatible with the same "add headers" default behavior as now.
The alternative solution is to add some reply.HeadersDel and handle it in condtuctor.
What do you think?

#109 added a pair of OverrideHeaders(In|Out) flags returned as a part of the plugin's Response and altered the conductor to respect it. I think it should address the problem with the header's removal as well as headers modifications.
Pls, see if this makes sense to you.

Thanks a lot for resolving this issue! Such plugin's behavior is exactly what I've expected.


Upgrade dependencies

force php >= 7.2
use endroid/qr-code last release
use phpunit/phpunit last release (assertInternalType is deprecated)

Great PR! Thanks!

thanks to you @smhg 😃

@romainnorberg do you remember why you chose php 7.2 and endroid/qr-code 3.6 in this PR?
I'm stuck with php 7.1 on a project and downgrading endroid/qr-code to 3.5 is the only thing necessary to support that version. Was there anything specific in 3.6 (or later)?
Maybe it's not the best idea, but as an intermediate release it might be ok.

Hello @smhg
Because projects in which we use sepa-qr-php requires phpunit >=8 and phpunit 8 require >=7.2 (and endroid/qr-code also in 3.6 (https://github.com/endroid/qr-code/compare/3.5.9...3.6.0))
No solution to migrate your project to 7.2? 7.1 has not been supported for several weeks (https://www.php.net/supported-versions.php)

PHP might be moving a bit fast for old projects these days ;) No, you're absolutely right of course.
I was just trying to figure out how necessary 7.2 was.
For phpunit, it could be solved by using a spec like "^7||^8", right? I'm not that fluent in PHP these days.

I thing you can use composer alias to solve this problem: https://blog.programster.org/composer-aliases
If not, an release like 2.x could maybe solve your problem

@romainnorberg I managed to configure it like this:
    "require": {
        "php": "^7.1",
        "endroid/qr-code": "^3"
    },
    "require-dev": {
        "phpunit/phpunit": "^7||^8"
    }

This way you get the right endroid/qr-code and phpunit versions on both 7.1 and 7.2 (and up). So the new release (3.1.0) won't change anything for you (on 7.2 or up).
Disclaimer: yes (now) supporting PHP 7.1 is absolutely silly. However, it was this easy and can of course be removed in again in a future version.
Sidenote (and justification): coming from JS, I don't really understand how PHP and some libraries (looking at you, endroid/qr-code) handle semver. PHP 7.2 seems to introduce backwards incompatible changes? Shouldn't libraries just support v5 and/or v7 (the whole major version)? It's a bit awkward.


Error applying schema

Not 100% sure what's causing this issue, I'm assuming it's an issue with psycopg2 version maybe?
When attempting to apply schema I get the following error:
$ procrastinate schema
Applying schema
Error: dict is not a sequence

Procrastinate file:
import os
import procrastinate as procrastinate_module

procrastinate = procrastinate_module.App(
    connector=procrastinate_module.Psycopg2Connector(**{
        'user': 'app',
        'password': 'password',
        'dbname': 'app',
        'host': os.environ['DATABASE_HOST'], # Uses Node IP
        'port': os.environ['DATABASE_PORT'], # Uses assigned NodePort
    })
)

Tried with psycopg2 2.8.6 and 2.9; procrastinate 0.19.0, Python 3.9.5. Digging into the issue with a stacktrace I found that changing psycopg2_connector.py:204 fixes it (though my solution seems more like a kludge then a fix):
From:
cursor.execute(query, self._wrap_json(arguments))

To:
cursor.execute(query, self._wrap_json(arguments) or None)

Any ideas why this might be happening? Seems like a version mismatch is the most likely issue; maybe I could test a known good set of versions to rule that out?
Though I don't think it's relevant, for reproducibility I'm currently using PostgreSQL 12 DB, here's the exact manifest I used to create it in K8s:
---
apiVersion: v1
kind: Pod
metadata:
  name: postgres
  labels:
    app: postgres
spec:
  containers:
    - name: postgres
      image: postgres:12
      env:
        - name: POSTGRES_DB
          value: app
        - name: POSTGRES_USER
          value: app
        - name: POSTGRES_PASSWORD
          value: password
      ports:
        - containerPort: 5432
          name: postgresdb
      readinessProbe:
        exec:
          command: ["bash", "-c", "psql -U$POSTGRES_USER -d$POSTGRES_DB -c 'SELECT 1'"]
        initialDelaySeconds: 3
        timeoutSeconds: 20
      livenessProbe:
        exec:
          command: ["bash", "-c", "psql -U$POSTGRES_USER -d$POSTGRES_DB -c 'SELECT 1'"]
        initialDelaySeconds: 3
        timeoutSeconds: 20
---
apiVersion: v1
kind: Service
metadata:
  name: postgres
spec:
  type: NodePort
  selector:
    app: postgres
  ports:
  - protocol: TCP
    port: 5432
    targetPort: postgresdb

Hello :)
If you run procrastinate with maximum verbosity (procrastinate -vvv schema), I believe you should have the full traceback which might make it easier to understand the problem. That being said, I'll have a look and see if I can reproduce with your versions

Here's the stacktrace:
DEBUG:procrastinate.cli:Log level set to DEBUG
DEBUG:procrastinate.app:Registering queue builtin
Applying schema
DEBUG:procrastinate.cli:Exception details:
Traceback (most recent call last):
  File "/home/ben/.cache/pypoetry/virtualenvs/tmp-JIDo9z9q-py3.9/lib/python3.9/site-packages/procrastinate/cli.py", line 46, in handle_errors
    yield
  File "/usr/lib/python3.9/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/home/ben/.cache/pypoetry/virtualenvs/tmp-JIDo9z9q-py3.9/lib/python3.9/site-packages/procrastinate/cli.py", line 363, in schema
    schema_manager.apply_schema()  # type: ignore
  File "/home/ben/.cache/pypoetry/virtualenvs/tmp-JIDo9z9q-py3.9/lib/python3.9/site-packages/procrastinate/schema.py", line 25, in apply_schema
    self.connector.execute_query(query=queries)
  File "/home/ben/.cache/pypoetry/virtualenvs/tmp-JIDo9z9q-py3.9/lib/python3.9/site-packages/procrastinate/psycopg2_connector.py", line 25, in wrapped
    return func(*args, **kwargs)
  File "/home/ben/.cache/pypoetry/virtualenvs/tmp-JIDo9z9q-py3.9/lib/python3.9/site-packages/procrastinate/psycopg2_connector.py", line 59, in wrapped
    return func(*args, **kwargs)
  File "/home/ben/.cache/pypoetry/virtualenvs/tmp-JIDo9z9q-py3.9/lib/python3.9/site-packages/procrastinate/psycopg2_connector.py", line 204, in execute_query
    cursor.execute(query, self._wrap_json(arguments))
  File "/home/ben/.cache/pypoetry/virtualenvs/tmp-JIDo9z9q-py3.9/lib/python3.9/site-packages/psycopg2/extras.py", line 236, in execute
    return super().execute(query, vars)
TypeError: dict is not a sequence
Error: dict is not a sequence

(I know it's been a while, just wanted to let you know that this still is on my to-do list)

(I know it's been a while, just wanted to let you know that this still is on my to-do list)

As an outsider to the issue, I would say 'appreciated!' thanks to your communicative information providing.
Not to hijack the issue, I have come across the same problem when our design called for a change in logic of our connector (from async to sync).
If that helps, here is also log from my project:
Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/ulfet/Desktop/noo-noo/api-enqueue-jobs/src/api_enqueue_jobs/__main__.py", line 6, in <module>
    safe_procrastinate_schema_apply()
  File "/home/ulfet/Desktop/noo-noo/api-enqueue-jobs/src/api_enqueue_jobs/_procrastinate/_schema.py", line 63, in safe_procrastinate_schema_apply
    _apply_schema()
  File "/home/ulfet/Desktop/noo-noo/api-enqueue-jobs/src/api_enqueue_jobs/_procrastinate/_schema.py", line 34, in _apply_schema
    app.schema_manager.apply_schema()
  File "/home/ulfet/.cache/pypoetry/virtualenvs/api-enqueue-jobs-NejF-C9v-py3.9/lib/python3.9/site-packages/procrastinate/schema.py", line 25, in apply_schema
    self.connector.execute_query(query=queries)
  File "/home/ulfet/.cache/pypoetry/virtualenvs/api-enqueue-jobs-NejF-C9v-py3.9/lib/python3.9/site-packages/procrastinate/psycopg2_connector.py", line 25, in wrapped
    return func(*args, **kwargs)
  File "/home/ulfet/.cache/pypoetry/virtualenvs/api-enqueue-jobs-NejF-C9v-py3.9/lib/python3.9/site-packages/procrastinate/psycopg2_connector.py", line 59, in wrapped
    return func(*args, **kwargs)
  File "/home/ulfet/.cache/pypoetry/virtualenvs/api-enqueue-jobs-NejF-C9v-py3.9/lib/python3.9/site-packages/procrastinate/psycopg2_connector.py", line 204, in execute_query
    cursor.execute(query, self._wrap_json(arguments))
  File "/home/ulfet/.cache/pypoetry/virtualenvs/api-enqueue-jobs-NejF-C9v-py3.9/lib/python3.9/site-packages/psycopg2/extras.py", line 236, in execute
    return super().execute(query, vars)
TypeError: dict is not a sequence

Any ideas why this might be happening?

So apparently, when using psycopg2 (and not aiopg), when using a RealDictCursor, and when the query contains a % sign, it needs to be escaped.
I've made a PR, as soon as it's merged, I'll release.
Thanks for your very thorough report !

https://github.com/peopledoc/procrastinate/releases/tag/0.20.0
https://pypi.org/project/procrastinate/0.20.0/

Thanks @ioben and @ulfet for the bug report. And @ewjoachim for the fix!


deprecate np.matrix usage

As previously discussed and announced: 0.9 deprecates np.matrix usage

Coverage decreased (-10.01%) to 76.606% when pulling f9d4a9ca5ac9e5d2ff960b164c99da86756c4fab on bnavigator:deprecate-matrix into 51c797e97ef43f15bdee87e40d0e2d932dfff6a7 on python-control:master.

Coverage decreased (-10.01%) to 76.606% when pulling f9d4a9ca5ac9e5d2ff960b164c99da86756c4fab on bnavigator:deprecate-matrix into 51c797e97ef43f15bdee87e40d0e2d932dfff6a7 on python-control:master.

#438 will handle the CI fail: The warning category changed.

Assume it's OK to change tests to use np.array instead of np.matrix then?  This caught me out while debugging a test failure in canonical_test.py today.

You might want to have a look at #438 and wait until that is merged before making changes to tests (they are undergoing significant refactoring).
We are waiting on CI tests to run, but merges should happen today.

Now that #438 is merged, this passes. But with removing the filter as discussed  https://github.com/python-control/python-control/pull/438#discussion_r550271983 it seems that the actual new default is not set properly during the test suite run.


Skipped frames

When the loading bar is displayed on the screen for long, Choreographer informs that there are a lot of frames that are skipped
You see a log entry like this
I/Choreographer: Skipped 126 frames!  The application may be doing too much work on its main thread.
This happens only on screens where I display material progress bar

Any conditions to reproduce it? Didn't see this with the sample app.


Create LICENSE

ping @martenson

ping martin? ping me: i'm the main contributor to this repo. MIT is, ok, i can agree to that.

Is there anything we still in use from p4 ? otherwise we may want to archive this ?

If we decide to archive it, can we please make sure to merge this last PR. Thanks.


doi missing from citation

[x] README.md
[x] http://pysal.org/spaghetti/

zenodo doi for all versions: 10.5281/zenodo.1343650

Addressed via #307


Add semiauto lift

I still can't get auto lifting to work. This is good enough for now.

Good enough for what? What is it that you are trying to do? Any why are there commented-out code snippets in this PR?

Good enough in terms of usability.
I was trying to make the compiler figure out what type should the output be, but it's not working.
https://github.com/idris-lang/Idris2/issues/2523
https://github.com/locriacyber/idris2-eff/blob/auto-do/src/Test/Sugar.idr

Thanks for this. It will be interesting if it goes well with type inference, but since we still have access to the simpler types as well, this should be not an issue in general.


Port forward function

Can we add the port forward function just like the frp?

Why not just use frp?

Why not just use frp?

Why not just use frp?

we can manage the device in one place instead of 2 server Web Interface.
We can drop the frp in small size devices such as embedded devices.


Function / tool calling support: make it more real-world & usable

To do really interesting things, we need to call functions / tools. It would be great to be easily able to wire up things outside the LLM.
Aka Jarvis 🥳.

This is definitely what excites me most about this project. I will probably work on this after we get all the basics right, but if anyone wants to start I would love to welcome the contribution!


#275 - extracted repo settings to enum

For #275 I've extracted repository settings to enum to avoid duplications and added instruction to continue #275.

This pull request #276 is assigned to @vatavuk/z, here is why; the budget is 15 minutes, see §4; please, read §27 and when you decide to accept the changes, inform @g4s8/z (the architect) right in this ticket; if you decide that this PR should not be accepted ever, also inform the architect; this blog post will help you understand what is expected from a code reviewer; there will be a monetary reward for this job

@Vatavuk thanks, corrected and answered

@sereshqua/z please review this job completed by @vatavuk/z, as in §30; the job will be fully closed and all payments will be made when the quality review is completed

@0crat quality good


Customer-reported issue with NNBD migration tool: couldn't load dart file /D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master/lib/route_generator.dart

couldn't load dart file /D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master/lib/route_generator.dart
Error: Error reaching migration preview server
Please fill in the following:
Name of package being migrated (if public):
What I was doing when this issue occurred:
Is it possible to work around this issue:
Has this issue happened before, and if so, how often:
Dart SDK version: 2.16.2
Additional details:
Thanks for filing!
Stacktrace: auto populated by migration preview tool.
Error reaching migration preview server:
This usually happens because the migration preview server has exited.  For
example it may have been aborted with Ctrl-C, or you may have completed this
migration, or an exception may have occurred.  Please check the console where
you invoked `dart migrate` to verify that the preview server is still running.

    at Object.b (http://<IP_ADDRESS>:50477/D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master?authToken=YiQRBo8ufzk%3D:321:3)
    at http://<IP_ADDRESS>:50477/D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master?authToken=YiQRBo8ufzk%3D:1595:32
    at Gs.a (http://<IP_ADDRESS>:50477/D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master?authToken=YiQRBo8ufzk%3D:2329:63)
    at Gs.$2 (http://<IP_ADDRESS>:50477/D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master?authToken=YiQRBo8ufzk%3D:4650:14)
    at SX.$2 (http://<IP_ADDRESS>:50477/D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master?authToken=YiQRBo8ufzk%3D:4647:16)
    at Ji.rp (http://<IP_ADDRESS>:50477/D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master?authToken=YiQRBo8ufzk%3D:4919:25)
    at Fe.Kw (http://<IP_ADDRESS>:50477/D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master?authToken=YiQRBo8ufzk%3D:4707:17)
    at RW.$0 (http://<IP_ADDRESS>:50477/D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master?authToken=YiQRBo8ufzk%3D:4851:36)
    at Object.HZ (http://<IP_ADDRESS>:50477/D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master?authToken=YiQRBo8ufzk%3D:2377:76)
    at vs.ZL (http://<IP_ADDRESS>:50477/D:/flutter%20ongoing%20project/i_exchange_it-master/i_exchange_it-master?authToken=YiQRBo8ufzk%3D:4769:3)

As of 1c7fe7196dd7a542f7f91cd6ea2ac81e1a13146c, the null safety migration tool has been removed from active development and retired. No further work on the tool is planned.
If you still need help, or you believe this issue has been closed in error, please feel free to reopen.


Revamp istioctl ztunnel-config

Fixes https://github.com/istio/istio/issues/50362

Add a cert and services dump
Remove all ztunnel stuff from proxy-config
Abstract out a lot of common logic
Support all commands taking --node OR not specifying anything at all

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
892051468c0d6d54f8dd1c4359690fc753ff7915
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
892051468c0d6d54f8dd1c4359690fc753ff7915
link
true
/test lint

gencheck_istio
892051468c0d6d54f8dd1c4359690fc753ff7915
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
892051468c0d6d54f8dd1c4359690fc753ff7915
link
true
/test lint

gencheck_istio
892051468c0d6d54f8dd1c4359690fc753ff7915
link
true
/test gencheck

integ-ambient_istio
892051468c0d6d54f8dd1c4359690fc753ff7915
link
true
/test integ-ambient

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio
892051468c0d6d54f8dd1c4359690fc753ff7915
link
true
/test gencheck

integ-ambient_istio
892051468c0d6d54f8dd1c4359690fc753ff7915
link
true
/test integ-ambient

lint_istio
308bcc5ed9bcd8589d1517da8a9c780484e5f5fb
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
513fee632da8c63a0fbf1ababda5d78e2b7e8971
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Diagnostic builds should log "global" properties

Diagnostic builds log the current environment at the start of a build:
Environment at start of build:
ALLUSERSPROFILE                = C:\ProgramData
APPDATA                        = C:\Users\davkean\AppData\Roaming
CommonProgramFiles             = C:\Program Files (x86)\Common Files
CommonProgramFiles(x86)        = C:\Program Files (x86)\Common Files
CommonProgramW6432             = C:\Program Files\Common Files
COMPUTERNAME                   = DAVKEAN-DEV
[...]

To make it easier to diagnose builds, it would be really helpful if the set of global properties were also logged:
DesignTimeBuild                = true
Configuration                  = Debug
[...]

This would help diagnose both command-line and Visual Studio builds. As example, I'm trying to figure out https://github.com/dotnet/roslyn-project-system/issues/1554, and I have no idea where to start - is this a CPS bug? Or a MSBuild bug?

Sounds entirely reasonable to me.

Isn't this fixed now?

Yeah this should be long, long done.


Refactor Nodemanager and Node handling

It needs some love and some quirks needs to be fixed.
For example the ._node attribute on connection objects should be looked at.
The name key in node object should not be needed.
Possibly make a Node class to use instead of tracking the node via a dict.

New issue will be made for 3.0.0 with more clear refactoring goals for NodeManager class instance


[tests-only][full-ci]Add api tests public link folder download

Description

Related Issue

Adds API test for

https://github.com/owncloud/ocis/issues/5229
https://github.com/owncloud/ocis/issues/5027

Motivation and Context

How Has This Been Tested?

locally
CI

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[x] Tests only (no source changes)

Checklist:

[ ] Code changes
[ ] Unit tests added
[x] Acceptance tests added
[ ] Documentation ticket raised:

Port to master is #5332


[Backport release-21.06] build-support/rust/lib: make arch and os functions respect target JSON

Description of changes
Tertiary backport of https://github.com/NixOS/nixpkgs/pull/182178, backporting further to ensure smooth migrations.
Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] 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

[ ] Fits CONTRIBUTING.md.

The eval error is some macOS bootstrapping thing and definitely unrelated.


[Emu]: OGLES, EMSCRIPTEN, Android Ports black screen.

Emulator has a black screen on the OpenGLES port code path.

Black screen is fixed but the colours are messed on Android.


Need a ConfigFromFile helper

Migrating from the legacy go-etcd client to the official client would be eased with a ConfigFromFile helper function that took a legacy config file and constructed a corresponding client Config object.
see https://github.com/kubernetes/kubernetes/issues/18760
cc @xiang90 @timothysc

Seems reasonable to have support for ingesting config from a file (or wherever) instead of expecting people to roll their own to do the same thing (especially if there are a lot of options). At the very least, new tunables could be supported "out of the box" with a standard config. Are there any downsides here aside from it being a little more code?

I think this would be really great to add, particularly for clients, but also possibly for the server component as well.
First reason is it makes sharing configuration easier. If I have 2 apps both using the etcd client libraries I could potentially use the same configuration file for both rather than having to duplicate every config option in my own apps.
Separating them also makes configuration isolated for the most part from invocation, which makes it easier to version configuration options. So with flags, you have to keep them around because even if they don't mean anything anymore, removing them will cause anything invoking the application to fail, whereas with a config file those configuration values could be removed and the app would still run simply ignoring the values in your config (assuming removing them was made backwards compatible).
Config files are generally easier to template from the orchestration and configuration management point of view point of view.
Finally, it makes it easier to support live config reloading. Configuration could be reloaded and the app could validate the config and gracefully restart on a signal. This can be done with environmental variables as well, but it isn't as simple usually. This cannot be accomplished with flags at all. This o e primarily applies to the server but not necessarily.

This would need to target 2.2 series to meet k8s 1.2 release time-frame, given etcd3's time-frame won't meet it.

@ecnahc515 I don't want to conflate client configuration with server, can you split that discussion out into a separate issue?

@jonboulle done at https://github.com/coreos/etcd/issues/4009

@jonboulle @xiang90 my first and 2nd points apply to both client and server

@liggitt @heyitsanthony @ecnahc515 I'm working on the mechanism for unified configuration management of etcd client in https://github.com/coreos/etcd/pull/3944 . Currently it just uses env vars for limited parameters but I can add a support for file based mechanism.

@xiang90 is there any status update on this one?

hi @timothysc
I'm writing the file based configuration. It can be found here: https://github.com/mitake/etcd/tree/client-config
I'll create a PR soon.

@mitake does that allow setting a client cert/key?

@liggitt currently, no. But I can add the support after we can have a consensus on the initial design.


Bullet lists and ordered lists not render correctly with indentation

I am new to this library, Sorry if this isn't an issue or it might be a configuration issue!
When I use setMarkdown method like this:
String text = "\n" +
                "- ul1\n" +
                "- ul2\n" +
                "    - ul3\n" +
                "    - ul4\n" +
                "        - ul5\n" +
                "        - ul6\n" +
                "            - ul7\n" +
                "            - ul8\n" +
                "\n" +
                "\n" +
                "1. ol1\n" +
                "1. ol2\n" +
                "    4. ol3\n" +
                "    1. ol4";
Markwon.setMarkdown(textView, text);

The result is:

I think the correct result is like this:

Sorry for my poor English.

Hello @LandChanning !
Given your input:
- ul1
- ul2
    - ul3
    - ul4
        - ul5
        - ul6
            - ul7
            - ul8

1. ol1
1. ol2
    4. ol3
    1. ol4

I have these results:

Which is the same here.
I have some questions about the bullet list and rendering artifacts:

What device do you use?
What Android version does it have?
Does it happen every time?
What version of Markwon library do you use?
Have you modified SpannableFactory and/or modified BulletListItemSpan (if using at all)

Now, about the ordered list. Honestly I do not know why but nested ordered lists must start with 1.. I really do not know if it's a bug or a feature, but this behavior is consistent between commonmark tools (the dingus that I had linked before and commonmark-java that Markwon is using). If you go to dingus again and change the nested ordered list start number to 1. everything will be working:

Now let's see what's wrong with bullet lists, please answer the questions that I had asked and add (if any) your own observations. Hopefully we will be able to resolve this issue

Hello @noties
Thank you for your reply.
About the ordered lists，it works as you say.
About the bullet lists,

What device do you use?
Xiaomi Redmi Note 4x

What Android version does it have?
Android 7.0 (MIUI 10)

Does it happen every time?
Yes

What version of Markwon library do you use?
2.0.1

Have you modified SpannableFactory and/or modified BulletListItemSpan (if using at all)?
No

Hello @LandChanning !
It seems to be a Nougat bug. I did reproduce it (with slightly different visual effect, but still). I think I have found the issue. Please check the 2.0.2-SNAPSHOT version that I had just published to snapshot repository


Fresh Install instructions fail at installing docker-compose

Quick background: I've been doing a fresh install on my Jetson Nano and updating documentation at the same time. Over the past few days and attempts, I have failed at installing docker-compose. I opened this issue to share my findings and centralise any relevant discussion.
Command:
sudo pipe3 install docker-compose
Terminal output:
Collecting cryptography>=2.5 (from paramiko>=2.4.2; extra == "ssh"->docker[ssh]<4.0,>=3.7.0->docker-compose==1.24.0)
  Using cached https://files.pythonhosted.org/packages/9b/77/461087a514d2e8ece1c975d8216bc03f7048e6090c5166bc34115afdaa53/cryptography-3.4.7.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-6hzuh9y4/cryptography/setup.py", line 14, in <module>
        from setuptools_rust import RustExtension
    ModuleNotFoundError: No module named 'setuptools_rust'

            =============================DEBUG ASSISTANCE==========================
            If you are seeing an error here please try the following to
            successfully install cryptography:

            Upgrade to the latest pip and try again. This will fix errors for most
            users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
            =============================DEBUG ASSISTANCE==========================

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-6hzuh9y4/cryptography/

many searching around, seems that updating pip is required, specifically the setup-tools module. Not just any update command was working either.
For anyone else running into this issue, here is the command that had worked for me:
python3 -m pip install -U pip setuptools
need to fully replicate by using this command directly before pip3 install docker-compose
need to replicate on other systems
Relevant links:
cryptography#5753
azure/azure-cli#16858

Thanks. I guess those need to be updated.
Which JetPack version are you using?

Failed to install docker-compose in both 4.3 and 4.5 jetpack. I only managed to do my troubleshooting in 4.5. I don't think that would have had an issue with pulling python installs, but I'm not an expert.

Hmm and if you try to install docker-compose via apt? At least that's what I do and it all worked so far. (I believe the documentation is a bit outdated and may have been written before there was proper support for docker-compose

Confirmed with a fresh install. Updated my own development branch with the correct install commands.

@napking Great!

Updated my own development branch with the correct install commands.

Would you mind setting up a quick Pull request? I'd love to have this fixed in upstream ODC as well. 🙂

Btw. I re-opened the issue as a reminder that the documentation needs fixing :-)

Closed as v3.0.2 is now released.
See also https://github.com/opendatacam/opendatacam/releases/tag/v3.0.2


BAEL-7410: Finding Parent of a Node in a Binary Tree

Hey @JavierPeris, I've made your suggested changes here. Let me know if you agree with the code now, so I can update the article draft.
Thanks!


Allow laravel schemaless attributes package reach to higher version

This PR just add an options for laravel schemaless attributes package reach to higher version. I have compared both version of 1.3.0 and 1.4.0 and it may not occur any further issues for rinvex/laravel-support

Already fixed in e888d206b418aeedda316ef661b1fd7f334663c7


[fix] Add --purge

Problem

To add the option of --purge

Solution

And how do you fix that problem

PR Status

[x] Code finished and ready to be reviewed/tested
[ ] The fix/enhancement were manually tested (if applicable)

Automatic tests
Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ after creating the PR, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization)

there is no calibre_dir variable


More money mod incompatable?

Adding this mod to a modpack with MoreMoneyStart by 299792458 removes the 1000 start. so, incompatable unless im missing something. but the default should be at 1000 without having to tweak things in the mod menu.

if LE load after it will overwrite, i could add a compatibility patch

Adding this mod to a modpack with MoreMoneyStart by 299792458 removes the 1000 start. so, incompatable unless im missing something. but the default should be at 1000 without having to tweak things in the mod menu.

why do you don't use the starting credit setting of LE tho ?


Add a cautionary link to README.md to warn fish shell users

I'm new to vim. This is a great package manager and would be the first choice of many vim virgins.
But I use fish shell which trips up vundle. I spent 2 days trying to fix the problem, installing other package managers and vim distributions before I stumbled on the page that told me about the fishyness.
Fishmongers are on the rise. It'll be unbelievably helpful if we could add a line to README.md that warns the complications of using fish and links to this page: https://github.com/gmarik/Vundle.vim/wiki#faq4.

See #561 and please let me know if that is enough and I'll merge it.

Although it already said "If you have issues, consult the FAQ", but OK, not worth spending people's life on this :)

Done

Thanks, this should be enough to let fish users know that they're not in the same boat as bash users and that they should read the FAQ.


Remove leading zeros for inputs with validate.getAmountError

Add removeLeadingZeroes helper function
Use the function to sanitize the value that uses either PositiveIntPicker component or inputs that use validate.getAmountError as a validation

Preview is available here:http://laboratory-pr1142.previews.kube001.services.stellar-ops.com/


Added logic to load Portal when Tips & Donations are enabled

closes https://github.com/TryGhost/Product/issues/3661

until now, Portal was not loaded if members were disabled. With the
introduction of Tips & Donations, signed-off readers can also make
payments, using the Portal link /#/portal/support.
now, Portal is loaded when Tips & Donations are enabled, even if
Memberships are disabled
depending on the member signup access, the "sign in" / "subscribe"
Portal buttons are hidden (both hidden if none, signup hidden if
invite-only)
for any other signup / signin Portal links (e.g., added by the theme,
or added via a Post/Page), a new popup informs the reader as such when
Memberships are disabled: "Memberships unavailable, contact the site owner for access".

Do not merge: browser tests are failing 👀


Do not overwrite inserts at the end of patched ranges.

This fixes an issue I ran into trying to update esnext to the latest magic-string.

:+1: have to run now but will push out a patch release shortly

Released. Thanks!


Specifying AudioContext sample rate

It appears that the AudioContext sample rate is currently fixed at 44.1 kHz.  Is there a current way to specify the sample rate in a script that uses this library, or is an enhancement needed?

var c = new AudioContext();
c.sampleRate = 48000;

Then it works!


nginx proxypass + custom domain crash on page load - errors in issue

1: If i load via IP:PORT it works as intended and does not crash.
2: If i load via my nginx + custom domain + lets encrypt + various ssl hardening tweaks (ssllabs a+) i get these errors below as soon as i load the page in a browser.
Note: I think it's related to my nginx setup but it's pretty standard SSL stuff (no TLS 1.0 or 1.1) but i can't see where. I have multiple other apps proxy passed with no issues.
Here are my errors: Any input or advice is welcome.
nginx error log (multiple occurrences of this error: (IP and domain redacted)
[error] 3572998#3572998: *1 connect() failed (111: Connection refused) while connecting to upstream, client: MYIP, server: domain.com, request: "GET /terminal/socket.io/?EIO=3&transport=polling&t=N2Mb7wI HTTP/2.0", upstream: "http://<IP_ADDRESS>:32546/terminal/socket.io/?EIO=3&transport=polling&t=N2Mb7wI", host: "domain.com"

The wetty app error (i have tried with --bypasshelmet
{
   "error":{

   },
   "level":"\u001b[31merror\u001b[39m",
   "message":"uncaughtException: Cannot read property 'match' of undefined\nTypeError: Cannot read property 'match' of undefined\n    at O (/home/username/.node_apps/lib/node_modules/wetty/dist/index.js:1:2961)\n    at A (/home/username/.node_apps/lib/node_modules/wetty/dist/index.js:1:3920)\n    at Namespace.<anonymous> (/home/username/.node_apps/lib/node_modules/wetty/dist/index.js:1:6285)\n    at Namespace.emit (events.js:311:20)\n    at Namespace.emit (/home/username/.node_apps/lib/node_modules/wetty/node_modules/socket.io/lib/namespace.js:213:10)\n    at /home/username/.node_apps/lib/node_modules/wetty/node_modules/socket.io/lib/namespace.js:181:14\n    at processTicksAndRejections (internal/process/task_queues.js:79:11)",
   "stack":"TypeError: Cannot read property 'match' of undefined\n    at O (/home/username/.node_apps/lib/node_modules/wetty/dist/index.js:1:2961)\n    at A (/home/username/.node_apps/lib/node_modules/wetty/dist/index.js:1:3920)\n    at Namespace.<anonymous> (/home/username/.node_apps/lib/node_modules/wetty/dist/index.js:1:6285)\n    at Namespace.emit (events.js:311:20)\n    at Namespace.emit (/home/username/.node_apps/lib/node_modules/wetty/node_modules/socket.io/lib/namespace.js:213:10)\n    at /home/username/.node_apps/lib/node_modules/wetty/node_modules/socket.io/lib/namespace.js:181:14\n    at processTicksAndRejections (internal/process/task_queues.js:79:11)",
   "exception":true,
   "date":"Sun Mar 01 2020 23:32:15 GMT+0100 (Central European Standard Time)",
   "process":{
      "pid":3686608,
      "uid":1000,
      "gid":1000,
      "cwd":"/home/username",
      "execPath":"/usr/bin/node",
      "version":"v12.16.1",
      "argv":[
         "/usr/bin/node",
         "/home/username/.node_apps/bin/wetty",
         "--forcessh",
         "--sshkey",
         "/home/username/.ssh/wetty",
         "--sshuser",
         "username",
         "--sshport",
         "22",
         "--sshhost",
         "localhost",
         "--sshauth",
         "publickey",
         "--host",
         "<IP_ADDRESS>",
         "-p",
         "32546"
      ],
      "memoryUsage":{
         "rss":47951872,
         "heapTotal":12824576,
         "heapUsed":10893416,
         "external":1937183
      }
   },
   "os":{
      "loadavg":[
         0.18603515625,
         0.1748046875,
         0.15283203125
      ],
      "uptime":906993
   },
   "trace":[
      {
         "column":2961,
         "file":"/home/username/.node_apps/lib/node_modules/wetty/dist/index.js",
         "function":"O",
         "line":1,
         "method":null,
         "native":false
      },
      {
         "column":3920,
         "file":"/home/username/.node_apps/lib/node_modules/wetty/dist/index.js",
         "function":"A",
         "line":1,
         "method":null,
         "native":false
      },
      {
         "column":6285,
         "file":"/home/username/.node_apps/lib/node_modules/wetty/dist/index.js",
         "function":null,
         "line":1,
         "method":null,
         "native":false
      },
      {
         "column":20,
         "file":"events.js",
         "function":"Namespace.emit",
         "line":311,
         "method":"emit",
         "native":false
      },
      {
         "column":10,
         "file":"/home/username/.node_apps/lib/node_modules/wetty/node_modules/socket.io/lib/namespace.js",
         "function":"Namespace.emit",
         "line":213,
         "method":"emit",
         "native":false
      },
      {
         "column":14,
         "file":"/home/username/.node_apps/lib/node_modules/wetty/node_modules/socket.io/lib/namespace.js",
         "function":null,
         "line":181,
         "method":null,
         "native":false
      },
      {
         "column":11,
         "file":"internal/process/task_queues.js",
         "function":"processTicksAndRejections",
         "line":79,
         "method":null,
         "native":false
      }
   ],
   "label":"Wetty",
   "timestamp":"2020-03-01T22:32:15.611Z"
}

The issue is most likely related to your nginx conf file for that domain but we can't know without seeing it. Make sure you are passing the Upgrade header in your location block. It should look something like this:
server {
        listen 8443 ssl;
        listen [::]:8443 ssl;

        ssl_certificate /etc/letsencrypt/live/ssh.mydomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/ssh.mydomain.com/privkey.pem;
        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

        server_name ssh.ssh.mydomain.com;

        root /var/www/wetty;

        location / {
                proxy_pass http://<IP_ADDRESS>:8000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header Host $host;
        }

}

Turns out it was this particular line:
add_header Referrer-Policy no-referrer always;

Seem like that was causing the null value error and causing the app to close?
Any recommendations on an alternative setting? https://scotthelme.co.uk/a-new-security-header-referrer-policy/
It seems to work OK with this setting.
add_header Referrer-Policy same-origin always;

I'm trying to make WeTTY available behind a cloud reverse proxy (ZyXEL's KeenDNS service) which strips Referer header. WeTTY dies with the same error in server/command/address.ts because it can't parse referer. The only reason it needs to is to extract the SSH username from the URL:

go to http://yourserver:3000/wetty/ssh/<username> to specify the user before hand.

Respectfully, this pattern of Express stripping known /ssh/ suffix from base URL and then making socketServer rely on second-hand knowledge in the form of an HTTP header to get to the same value looks like it's built to fail: it's delegating responsibility to relay crucial datapoint (username) from one component (Express) to another (socketServer) to external actors (browser and upstream proxy) which may not always be possible to control (like in my case).


Consider new (deployment) workflow

For reference:
https://github.com/FelschR/aspnetcore-identity-documentdb/pull/11#issuecomment-270379688

The current new workflow is already quite good:

all builds on master & netcore branches trigger Git releases (in draft).
netcore builds also trigger NuGet package upload

Thus:

master branch should be used for continuing development.
netcore branch should only be used for releases.


HTTP requests being executed multiple times

I'm trying to build a simple login form where, in the happy path, you type your email and password, click login, a network request is fired and a response is returned back with an auth token.
I got to the point where the request is fired after I click on the button, I get the token out of the response body and update the UI based on whether I got a successful response or not.
After a successful login I want to redirect the user to another page, which I'm also having trouble with, but I'll leave this for another time.
Based on the token received from the API, I need to both update the UI and store the token in the state. I've based off of this project which helped me a in lot getting started.
Here is the part of the code where I'm having trouble:
home-index.js
import view from './home-view'
import intent from './home-intent'
import model from './home-model'
import {Observable, ReplaySubject} from 'rx'

const Home = (sources) => {
  const {state$} = sources
  const actions = intent(sources)
  const token$ = model(sources.HTTP)
  const request$ = actions.map(data => ({
    url: '/auth',
    method: 'POST',
    send: Object.keys(data).map(k => k + '=' + data[k]).join('&')
  }))

  return {
    DOM: view(sources, token$),
    HTTP: request$,
    state$: token$,
  }
}

export default Home

home-model.js
import {Observable} from 'rx'

const homeModel = (response$) => {
  return response$.flatMap(x => x)
      .map(res => res.body)
      .startWith({})
      .catch(e => Observable.just(e.response.text))
}

export default homeModel

home-view.js
import {div, h1, h2, button, h, form, a} from '@cycle/dom'

const view = (sources, state$) => {
  const {router: {createHref}} = sources
  const portfolioHref = createHref(`/portfolio`)
  return state$.map(s => {
    if (s.token === undefined) {
      return div([
        h(`p`, s),
        form({autocomplete: 'off'}, [
          h(`paper-input.username`, { label: 'Username'}),
          h(`paper-input.password`, { label: 'Password', type: 'password'}),
          h(`paper-button.login`, { raised: 'true' }, `Login`)
        ]),
      ])
    } else {
      return div([
        h1(`Logged in!`),
        a(`.something`, {href: portfolioHref}, [`Portfolio`]),
      ])
    }
  })
}
export default view

My problem is that once I return state$: token$ in order to update the store, the request is executed twice. Is there a way I can achieve this without having it get fired multiple times?
I've tried using share() but that didn't seem to work.
I've just started playing with Cycle, so please bear with me if I'm doing it competely wrong.
Thanks!

Maybe same root cause as #238 ?

where did you put the share() ? You should put it into the model either here: response$.flatMap(x => x.share()) or here response$.flatMap(x => x).share()

Yep, I tried putting it on the model, still get double requests.
Good "catch" about the catch :) thanks

Have you checked if you request$ stream does really issue only one request?

@felipecsl have you tried using eager: true on requests? or you can also enable it everywhere as a driver setting in makeHTTPDriver?

Interesting... eager: true fixed it. @staltz care to explain why is that? is that expected behavior?

It actually makes sense, since eager causes cycle-http to replay the inner request$ and, based on the docs:
If you apply the Replay operator to an Observable before you convert it into a connectable Observable, the resulting connectable Observable will always emit the same complete sequence to any future observers, even those observers that subscribe after the connectable Observable has begun to emit items to other subscribed observers.

Thanks, this thread saved my sanity. I'm new to Rx and Cycle.js so I was suspecting I was doing something wrong in my code which I couldn't spot. I was seeing double or multiple requests from nested components while those requests that originated from my top-level components run fine. Using eager: true only in the requests originating from the nested components corrected the issue. I'm not sure why this is the case. Could someone explain? The doubly sent requests where POSTs if that even matters.

where we should set eager: true?

@kikkiraj The library has been updated a long time ago, now it's lazy, and it's described here https://cycle.js.org/api/http.html#api-makehttpdriver


connection refused with shards

connection refused error 111
ufw already disabled nothing running on the specified port

So My bot is horizontally sharded meaning U have shard ids 0,1 in process 1, 2,3 in process 2, and so on, and it seems when doing bot.ipc.start the following is returned for the second process
Traceback (most recent call last):
  File "/root/.mamba/envs/rival/lib/python3.9/site-packages/jishaku/features/python.py", line 189, in jsk_python2
    async for send, result in AsyncSender(executor):  # type: ignore
  File "/root/.mamba/envs/rival/lib/python3.9/site-packages/jishaku/functools.py", line 124, in _internal
    value = await base.asend(self.send_value)
  File "/root/.mamba/envs/rival/lib/python3.9/site-packages/jishaku/repl/compilation.py", line 154, in traverse
    async for send, result in AsyncSender(func_g(*self.args)):  # type: ignore
  File "/root/.mamba/envs/rival/lib/python3.9/site-packages/jishaku/functools.py", line 124, in _internal
    value = await base.asend(self.send_value)
  File "<repl>", line 1, in _repl_coroutine
    await bot.ipc.start()
  File "/root/.mamba/envs/rival/lib/python3.9/site-packages/winerp/client.py", line 133, in start
    await self.__connect()
  File "/root/.mamba/envs/rival/lib/python3.9/site-packages/winerp/client.py", line 101, in __connect
    self.websocket = await websockets.connect(
  File "/root/.mamba/envs/rival/lib/python3.9/site-packages/websockets/legacy/client.py", line 650, in __await_impl_timeout__
    return await asyncio.wait_for(self.__await_impl__(), self.open_timeout)
ConnectionRefusedError: [Errno 111] Connection refused

Can you please share how you initialize client in the processes? Also, are your proccess and winerp-server hosted on the same server, or  connected through internet? Are you using localhost? Or ipv4 address or something?


Correction for raw affiliation Professor of Health Systems Management & Policy, OHSU-PSU School of Public Health, Portland, OR.

Correction needed for raw affiliation Professor of Health Systems Management & Policy, OHSU-PSU School of Public Health, Portland, OR.
raw_affiliation_name: Professor of Health Systems Management & Policy, OHSU-PSU School of Public Health, Portland, OR.
new_rors: 009avj582;00yn2fy02
previous_rors:
works_examples: W4381715536
contact: 355e5c2db6edbd7367a32a06e5555204:a47a0b72 @ ourresearch.org

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.