Automatically unselect BPs that are no longer registered during voting

https://twitter.com/Devo144/status/1049464067461664768
When I vote and get the error that one of the bp's isn't registered, it would be awesome if you could show me which one it could be. Could that be possible?

We should probably:

notify the user somehow if one of the BPs they vote for is no longer registered
if the user attempts to cast a vote with a BP that's unregistered, automatically remove it from the votes about to be cast and display it's removal in the confirmation

Automatic removal of invalid votes is coming in 0.6.6 - though the UI still needs to inform the user of it.

Additional UI thoughts:
My thoughts are:

Everytime the user’s current votes is processed, we compare that against the list of all producers loaded (if producers are done loading).
If it finds a producer voted for that’s missing in the list, it appends it to a new array in the producers reducer, maybe called unregisteredProducers.
We add a new conditional sidebar element above the “who I vote for list”, that has the producers inside the unregisteredProducers array.
The same element is used to render this new list, which has a button to unvote them.
We probably also need a check on vote casting, that prevents them from confirming if one of the producers in that list is also in the new array.


Pod preemption cause Karpenter to over provision and leave Pods Pending

Version

Karpenter: v0.5.3

Kubernetes: v1.23.0
Expected Behavior
Ideally Karpenter would realis we the preemption event.
At least all Pods being responded to and not left in Pending state for an extended period of time (many minutes)
Launching an instance that will always end up being empty should also be avoided.
Actual Behavior
When there is a pod preemption there is a race between KCM and kube-scheduler on responding to the new Pods. KCM/kube-scheduler tends to win. So the higher priority Pod is already scheduled when Karpenter has created a new instance and tries to bind the Pod to the new instance. This ends up in an empty Node.
Often, Karpenter fails to react to the evicted Pod, which is then stuck Pending. That is what happens in both cases below.
At other times, Karpenter reacts to it, and because of #1044 it spins up yet another instance.
In both occasions, Karpenter eventually realises there are empty nodes in the cluster and starts terminating instances.
Also note the first log line, where it responds to the low-pri pod being evicted, leaving the node empty for a moment.
I've seen Karpenter trying to batch between 2 (first log) and 6 pods (second log). With 6 Pods, it is taking into account the 3 new Pods + the 3 evicted Pods.
Steps to Reproduce the Problem

Create a cluster with 1 Provisioner. I chose to only allow t3.mediums to make this more reproducible.
Deploy cluster-overprovisioner (default should be 3 Pods with 1 CPU)
Deploy a deployment of 3 pods with 1 CPU req
Watch what happens

Resource Specs and Logs

2021-12-28T16:15:52.904Z        INFO    controller.node Added TTL to empty node {"commit": "5047f3c", "node": "i-043ba5937cb4e30c8"}
2021-12-28T16:15:53.146Z        INFO    controller.provisioning Batched 2 pods in 1.013243904s  {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T16:15:53.167Z        INFO    controller.provisioning Computed packing of 2 node(s) for 2 pod(s) with instance type option(s) [t3.medium]     {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T16:15:53.873Z        INFO    controller.node Removed emptiness TTL from node {"commit": "5047f3c", "node": "i-043ba5937cb4e30c8"}
2021-12-28T16:15:55.327Z        INFO    controller.provisioning Launched instance: i-045ac8998bb06a84e, hostname: i-045ac8998bb06a84e.eu-central-1.compute.internal, type: t3.medium, zone: eu-central-1a, capacityType: spot   {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T16:15:55.328Z        INFO    controller.provisioning Launched instance: i-0c8a97c5fb1c5b12b, hostname: i-0c8a97c5fb1c5b12b.eu-central-1.compute.internal, type: t3.medium, zone: eu-central-1a, capacityType: spot   {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T16:15:55.343Z        INFO    controller.provisioning Bound 1 pod(s) to node i-045ac8998bb06a84e      {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T16:15:55.366Z        ERROR   controller.provisioning Failed to bind default/nginx-deployment-5d475869cd-fnfsj to i-0c8a97c5fb1c5b12b, Operation cannot be fulfilled on pods "nginx-deployment-5d475869cd-fnfsj": StorageError: invalid object, Code: 4, Key: /registry/pods/default/nginx-deployment-5d475869cd-fnfsj, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: ResourceVersion in precondition: 186789, ResourceVersion in object meta: 186820     {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T16:15:55.366Z        INFO    controller.provisioning Bound 0 pod(s) to node i-0c8a97c5fb1c5b12b      {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T16:15:55.367Z        INFO    controller.provisioning Waiting for unschedulable pods  {"commit": "5047f3c", "provisioner": "nodes"}

2021-12-28T17:00:21.097Z        INFO    controller.node Added TTL to empty node {"commit": "5047f3c", "node": "i-053c76d21c933c2f2"}
2021-12-28T17:00:21.122Z        INFO    controller.provisioning Batched 6 pods in 1.154086803s  {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:21.128Z        INFO    controller.provisioning Computed packing of 3 node(s) for 3 pod(s) with instance type option(s) [t3.medium]     {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:21.607Z        INFO    controller.node Removed emptiness TTL from node {"commit": "5047f3c", "node": "i-053c76d21c933c2f2"}
2021-12-28T17:00:23.357Z        INFO    controller.provisioning Launched instance: i-0fa1d000f7e8d70fc, hostname: i-0fa1d000f7e8d70fc.eu-central-1.compute.internal, type: t3.medium, zone: eu-central-1a, capacityType: spot   {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:23.357Z        INFO    controller.provisioning Launched instance: i-03a0f23f7249bd7ea, hostname: i-03a0f23f7249bd7ea.eu-central-1.compute.internal, type: t3.medium, zone: eu-central-1a, capacityType: spot   {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:23.357Z        INFO    controller.provisioning Launched instance: i-013001444efe77f2f, hostname: i-013001444efe77f2f.eu-central-1.compute.internal, type: t3.medium, zone: eu-central-1a, capacityType: spot   {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:23.369Z        INFO    controller.provisioning Bound 1 pod(s) to node i-0fa1d000f7e8d70fc      {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:23.384Z        INFO    controller.provisioning Bound 1 pod(s) to node i-03a0f23f7249bd7ea      {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:23.405Z        INFO    controller.provisioning Bound 1 pod(s) to node i-013001444efe77f2f      {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:23.426Z        INFO    controller.provisioning Computed packing of 1 node(s) for 1 pod(s) with instance type option(s) [t3.medium]     {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:25.428Z        INFO    controller.provisioning Launched instance: i-0c3852de37033d0b0, hostname: i-0c3852de37033d0b0.eu-central-1.compute.internal, type: t3.medium, zone: eu-central-1c, capacityType: spot   {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:25.444Z        ERROR   controller.provisioning Failed to bind default/nginx-deployment-567bcc57f7-jjwkk to i-0c3852de37033d0b0, Operation cannot be fulfilled on pods "nginx-deployment-567bcc57f7-jjwkk": StorageError: invalid object, Code: 4, Key: /registry/pods/default/nginx-deployment-567bcc57f7-jjwkk, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: ResourceVersion in precondition: 206892, ResourceVersion in object meta: 206942     {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:25.444Z        INFO    controller.provisioning Bound 0 pod(s) to node i-0c3852de37033d0b0      {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:25.457Z        INFO    controller.provisioning Computed packing of 1 node(s) for 1 pod(s) with instance type option(s) [t3.medium]     {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:27.448Z        INFO    controller.provisioning Launched instance: i-0145f43f70f17090d, hostname: i-0145f43f70f17090d.eu-central-1.compute.internal, type: t3.medium, zone: eu-central-1b, capacityType: spot   {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:27.459Z        ERROR   controller.provisioning Failed to bind default/nginx-deployment-567bcc57f7-4g7bb to i-0145f43f70f17090d, Operation cannot be fulfilled on pods "nginx-deployment-567bcc57f7-4g7bb": StorageError: invalid object, Code: 4, Key: /registry/pods/default/nginx-deployment-567bcc57f7-4g7bb, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: ResourceVersion in precondition: 206899, ResourceVersion in object meta: 206945     {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:27.460Z        INFO    controller.provisioning Bound 0 pod(s) to node i-0145f43f70f17090d      {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:27.470Z        INFO    controller.provisioning Computed packing of 1 node(s) for 1 pod(s) with instance type option(s) [t3.medium]     {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:29.515Z        INFO    controller.provisioning Launched instance: i-08d19680923ab04c9, hostname: i-08d19680923ab04c9.eu-central-1.compute.internal, type: t3.medium, zone: eu-central-1a, capacityType: spot   {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:29.537Z        ERROR   controller.provisioning Failed to bind default/nginx-deployment-567bcc57f7-dn2n7 to i-08d19680923ab04c9, Operation cannot be fulfilled on pods "nginx-deployment-567bcc57f7-dn2n7": StorageError: invalid object, Code: 4, Key: /registry/pods/default/nginx-deployment-567bcc57f7-dn2n7, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: ResourceVersion in precondition: 206903, ResourceVersion in object meta: 206948     {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:29.537Z        INFO    controller.provisioning Bound 0 pod(s) to node i-08d19680923ab04c9      {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:00:29.539Z        INFO    controller.provisioning Waiting for unschedulable pods  {"commit": "5047f3c", "provisioner": "nodes"}
2021-12-28T17:02:44.378Z        INFO    controller.node Added TTL to empty node {"commit": "5047f3c", "node": "i-0c3852de37033d0b0"}
2021-12-28T17:02:55.550Z        INFO    controller.node Added TTL to empty node {"commit": "5047f3c", "node": "i-08d19680923ab04c9"}
2021-12-28T17:02:56.871Z        INFO    controller.node Added TTL to empty node {"commit": "5047f3c", "node": "i-0145f43f70f17090d"}
2021-12-28T17:03:14.407Z        INFO    controller.node Triggering termination after 30s for empty node {"commit": "5047f3c", "node": "i-0c3852de37033d0b0"}
2021-12-28T17:03:14.434Z        INFO    controller.termination  Cordoned node   {"commit": "5047f3c", "node": "i-0c3852de37033d0b0"}
2021-12-28T17:03:14.592Z        INFO    controller.termination  Deleted node    {"commit": "5047f3c", "node": "i-0c3852de37033d0b0"}
2021-12-28T17:03:25.565Z        INFO    controller.node Triggering termination after 30s for empty node {"commit": "5047f3c", "node": "i-08d19680923ab04c9"}
2021-12-28T17:03:25.581Z        INFO    controller.termination  Cordoned node   {"commit": "5047f3c", "node": "i-08d19680923ab04c9"}
2021-12-28T17:03:25.745Z        INFO    controller.termination  Deleted node    {"commit": "5047f3c", "node": "i-08d19680923ab04c9"}
2021-12-28T17:03:26.155Z        INFO    controller.node Triggering termination after 30s for empty node {"commit": "5047f3c", "node": "i-0145f43f70f17090d"}
2021-12-28T17:03:26.170Z        INFO    controller.termination  Cordoned node   {"commit": "5047f3c", "node": "i-0145f43f70f17090d"}
2021-12-28T17:03:28.998Z        INFO    controller.termination  Deleted node    {"commit": "5047f3c", "node": "i-0145f43f70f17090d"}

Interesting. Currently karpenter looks at the pod status condition Unschedulable=True and will immediately attempt to provision. I'm not familiar with the eviction process, but if we could somehow know that the pod would schedule due to eviction, then we would not want to provision that pod.
Do you have any ideas for how we can know whether or not the kube scheduler will evict a pod for any given pod that is unschedulable?

I can do a PR for the unnecessary scale-up. That should be fairly easy.
But as mentioned above, the actual bug is the evicted pod being stuck in Pending state. I do think this is a bug as it is an unschedulable Pod that Karpenter miss.

What specifically can we use to detect this?


There is no option to use any DB other than HSQLDB while using Ambari

Hi
We are using Ambari to deploy Spring XD.
In production environment we would like to have other DBs like PostGres/MySQL etc instead of HSQLDB. But we are not getting any option.
Thanks
Rajit

We are working on this, see - https://github.com/spring-projects/spring-xd-ambari/commit/8aa4698a73c37f697cebfe59edfba9c122c3d59e


Extension recommendation code complete should propose extension names

VSCode Version: 1.6.0 - Insider
OS Version: Windows

Fixed by #26564

I get nice suggestions when I trigger suggest after a comma, but I get nothing when suggest is inside quotes -> reopening so @sandy081 can decide what to do


Exploratory Sprint: Open source solution for Model (and Transform)

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/585
Originally created by @dmor on 2019-04-12 20:20:21

Currently, we have a model file

[x]  Write opportunity assessment - https://docs.google.com/document/d/1QGUAi97QPK1duNnAQUTRpYtca6MB_e5t9tDf7CzwBWM/edit#
[ ]  Technical feasability
[ ]  Go/no-go decision

View 7 previous comments from the original issue on GitLab


Bugs found during testing

[x] Fly to button (top right) doesn't work. Clicking it doesn't take me to the selected Realm, only pops up the side menu of Realm no. 1
[x] Also using the Fly to button from the Realms menu doesn't seem to work properly. Takes me to a seemingly random place on the map.
[x] Elements on the map are not interactive. When clicking on an icon, I'd expect the side menu to show me the details of the object. Right now, nothing happens.
[x] Details button in Crypts menu doesn't do anything.

should be resolved by #73

[ ]  All dropdown filters and search by ID for the personal items tabs ("Your Realms", "Your Crypts", etc) and favorite items tabs don't work. It does work when you switch to the all items tabs ("All Realms", etc).
[ ] Details buttons should ideally toggle the side panel both on and off. Right now they only toggle on.
[ ] Trade page (via icon on the left panel) just says "test". I'm guessing this is expected but if it's not going to be in the initial release, I would hide the Trade icons on the left panel and on the Iron Bank page.

All dropdown filters and search by ID for the personal items tabs ("Your Realms", "Your Crypts", etc) and favorite items tabs don't work. It does work when you switch to the all items tabs ("All Realms", etc).
For all the slider filters (e.g. traits filter for realms): opening the filter dialog, choosing a new slider value to activate the filter, closing the dialog, then reopening the dialog displays the max value instead of the chosen one
should be fixed in the next build

[ ] Realm Rarity ranking is too steep making the filter basically useless as all 7500 Realms are less than 400 points. So there is a 7500 gap of no realms. Do we slope the number? so 90% of the bar is 1-400 ?

[ ] cannot click assets on the map and have sidebar flyout

pr is up: cannot click assets on the map and have sidebar flyout

[ ] pagination state not clearing on filter update

[ ] Side panel auto opening on mobile when a filter is selected. It shouldn't open until a user clicks a realm

[ ] if you've loaded the Realm before, resources and traits don't update from the previous Realm once you select 'details'

Flow: clicks Realms on the side menu, click 'details' of the second Realm, click back to 'details' of the first Realm and resources/traits remain from the second Realm

[ ] Slider filters don't currently handle touch events

have all these been completed?

i think everything except for:

[ ] Details buttons should ideally toggle the side panel both on and off. Right now they only toggle on.
[ ] Slider filters don't currently handle touch events

not sure if i agree with first one
touch events we can split it out in to another issue

yes I think that the button toggle the entire panel is preferable to me too.


Adding anchors to page titles

Adds anchor to top level module - similar to pytorch
Editing page.html seems the cleanest. Including the link in page.title has some escape problems
This will fix a lot of the missing anchors found here https://github.com/fastai/fastai_docs/commit/59e35ca61284cbf2d4fb7c2dc844c83292aaed7f
If fix is ok, I'll add this to course-v3

@jph00

guys, the tweaks you do to fastai_docs/docs, if it's relevant can you please remember to sync fastai/docs as well? Thanks.

Ah yes thanks for the reminder! I'll change the layout templates in the other repos


[New Feature]: Adding Back To Top "Button"

🎮 feature Request
Back To Top Button will help users head back to the start without scrolling from the Bottom of the Page.
This will make the UI better and convenient for users.

ature logic and basic description
Point down the features
feature points: This feature will help make the website more Responsive and User-Friendly.
Please Do Assign Me This Issue!
Select program in which you are contributing
No response
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

I would like to work on this issue. Kindly assign it to me.

@Durgesh4993  I have Solved The Issue. Kindly add a level-2 tag for the score evaluation process by GSsOC'24 team
Thanks and Regards!


Please Provide Full YAML Schema Definition

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/runtime-parameters?view=azure-devops
The runtime parameter for your selected branch includes small text beneath the selection box that reads: Select the branch, commit, or tag. I'd like to add similar instructions to my parameters, but the documentation doesn't specify whether or not this is supported. I'm also interested in multi-select.
Specifying the full YAML schema would answer these questions.

Thanks for the suggestion! The product teams aren’t always watching this repository, so to make sure it gets in front of them for triage, please submit your idea here.

@CullenShannon-NavyFederal We are working on adding more YAML schema examples, but in the meantime have you checked here:
https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema%2Cparameter-schema#parameters
Let me see if I can get more detail.


Samples: echo_client: No reply packet from the server

Describe the bug
echo_client sample is not working as described here.
The echo_client sends the packet but it is not received by the echo_server.
To Reproduce
Steps to reproduce the behavior:

cd samples/net/sockets/echo_client

mkdir build; cd build

cmake -GNinja -DBOARD=qemu_x86 ..

ninja

From the console, go to net-tools/
$ ./loop-socat.sh
$ sudo ./loop-slip-tap.sh
$ sudo ./echo-server -i tap0

ninja run

No packets between client and server

Expected behavior
echo-client should send and receives the packet
Impact
Sample is not working
Screenshots or console output
Attached the console output
zephyr-output.txt
Environment (please complete the following information):

OS: Linux
Toolchain Zephyr SDK
Commit SHA or Version used
HEAD 91eb1474522b766eb3294089fb251aff061aa1b4

Additional context
Add any other context about the problem here.

It's most likely an IP address mismatch - the default sample configuration allows for seamless Qemu vs Qemu, or board vs board communication. Qemu vs Linux requires to swap IP address in the Echo Client as mentioned in a comment in a project file https://github.com/zephyrproject-rtos/zephyr/blob/master/samples/net/sockets/echo_client/boards/qemu_x86.conf.
Probably we should add this information in the documentation as well, to avoid confusion in the future.

That is indeed the most probable case here. So the convention has been that zephyr is running in <IP_ADDRESS> or 2001:db8::1 and the Linux is in <IP_ADDRESS> or 2001:db8::2. Of course this is not valid if we have two zephyrs connected to each other, in that case the server should be in <IP_ADDRESS> and client in <IP_ADDRESS>. There is nothing preventing to use any IP addresses but if we stick with these examples, then it is at least somewhat easier to do the testing.

Confirmed that as @rlubos suggested, it works find with Qemu vs Linux mode after swapping the IP address.
However, the page contains invalid information:
https://docs.zephyrproject.org/latest/samples/net/sockets/echo_client/README.html#running-echo-server-in-linux-host
It may be a good idea to update the page instead of fixing anything here.


Cargo install --git fails with repo using sha256 object format

Problem
cargo install --git https://codeberg.org/Joshix/rps fails
Steps
$ cargo install --git https://codeberg.org/Joshix/rps
    Updating git repository `https://codeberg.org/Joshix/rps`
error: failed to fetch into: /home/josh/.cargo/git/db/rps-7d405a448b2c5f11

Caused by:
  unknown remote object format 'sha256'; class=Invalid (3)

$ cargo +nightly -Zgitoxide install --git https://codeberg.org/Joshix/rps
    Updating git repository `https://codeberg.org/Joshix/rps`
error: failed to clone into: /home/josh/.cargo/git/db/rps-257013808e5f3c48

Caused by:
  failed to fill whole buffer

$ env CARGO_NET_GIT_FETCH_WITH_CLI=true cargo install --git https://codeberg.org/Joshix/rps
    Updating git repository `https://codeberg.org/Joshix/rps`
fatal: mismatched algorithms: client sha1; server sha256
error: failed to clone into: /home/josh/.cargo/git/db/rps-7d405a448b2c5f11

Caused by:
  process didn't exit successfully: `git fetch --force --update-head-ok 'https://codeberg.org/Joshix/rps' '+HEAD:refs/remotes/origin/HEAD'` (exit status: 128)

Possible Solution(s)
Support the sha256 object format
Notes
No response
Version
cargo 1.83.0 (5ffbef321 2024-10-29)
release: 1.83.0
commit-hash: 5ffbef3211a8c378857905775a15c5b32a174d3b
commit-date: 2024-10-29
host: x86_64-unknown-linux-gnu
libgit2: 1.8.1 (sys:0.19.0 vendored)
libcurl: 8.9.0-DEV (sys:0.4.74+curl-8.9.0 vendored ssl:OpenSSL/1.1.1w)
ssl: OpenSSL 1.1.1w  11 Sep 2023
os: Arch Linux Rolling Release [64-bit]

Kinda blocked on https://github.com/rust-lang/git2-rs/issues/1090 and https://github.com/GitoxideLabs/gitoxide/issues/281
Still an upstream issue, though git2 is within cargo team's reach.

cc @Byron
no pressure :)

Thanks for the hint 😅!
I have added it to the list of requirements for Cargo, and once git2 adds the support for it that would pressure gitoxide to add such support as well.
On the bright side, support for it is already built-in to all of the code, but to assure basic functioning a lot of strategic tests would have to be written.

Why doesn't cargo run git clone when CARGO_NET_GIT_FETCH_WITH_CLI=true is set? That could probably fix it with that setting.

Cargo internally maintains git datatbases from different repository. They are initialized and
fetched in separate steps. We don't use git clone directly because 1) it has less customization points and 2) we don't want to assume a specific CLI tool exist on user's machine.
To make sha256 objectFormat just works for git CLI, we may need

When Cargo initializes a git database, set the extension.objectFormat to sha256 (and repositoryformatversion to 1 maybe?). I am not particularly familiar with the migration plan and how to set up these configs properly.

It might be possible to check object-format capability during git negotiation, and set the necessary configurations.

Internally Cargo checkouts source code to another directory when in use, this "local checkout" is facilitated by libgit2 now. To make it work, libgit2 must know how to do sha256 object format. The support is still in question, and could be a hard blocker.

Git CLI support was added for helping some weird networking issue on user side. From my understanding it is not a tool Cargo pursues for all its shiny new features, like lacking shallow clone support from git CLI integration. We normally libgit2 as baseline, and nowadays gitoxide is our pioneer :)


md-select multiple still selected after reset

https://jsfiddle.net/nh9kxk47/1/
when i reset the v-model on md-select the input text is set to null but the values are still ticked!
thanks

https://github.com/marcosmoura/vue-material/issues/575

same result https://jsfiddle.net/nh9kxk47/2/

Hello @meta0102 and my firend @Samuell1 !
I fixed this issue on PR #749
Soon you guys will have this bug killed.
Thanks for opening this issue :D


get single recipe in category

Coverage decreased (-0.1%) to 90.761% when pulling 38b110893509b7aecda8fa13879beb9dabc4e6cc on models_migrations into b497a2b5b422e48cd4c10627ddac6035544ffd22 on master.


chore: Optimising the code for admin settings page

Description
PR fixes following issue(s)
Fixes #25264
Type of change

Chore (housekeeping or task changes that don't impact user perception)

Testing
How Has This Been Tested?

[x] Manual
[x] Jest
[x] Cypress

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test

/ok-to-test

/ok-to-test

LGTM

/ok-to-test

/ok-to-test

/ok-to-test


Animation Panel: Fix pan regression and add translation safety

Context
Part of fixit week. Pascal noticed some untranslated stuff in the default animation props, so the ticket was to look into that.
Summary
While looking into the animation props it seems none of the untranslated strings were user facing so nothing really needed to be updated. Added some translations to labels in there just for extra safety, but none of them were user facing to begin with so 🤷
While I was in here tho, I noticed all the pan animation directions were disabled for bg elements. It seems elements with type media have been updated to be of type video , image , or gif which caused a regression in the offset testing. I just updated it to accept the new more refined media types and now it works as it did before.
Relevant Technical Choices
NA
To-do
NA
User-facing changes
Pan direction for bg element animations should now work again.

 Make an image a bg element on one page, a gif a bg element on another & a video bg element on another. See that the pan directions are properly enabling and disabling for the bg animation options on each type of bg element.

QA
Follow testing instructions described above.

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

UAT

[x] UAT should use the same steps as above.

This PR can be tested by following these steps:

Reviews
Does this PR have a security-related impact?

Does this PR change what data or activity we track or use?

Does this PR have a legal-related impact?

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[x] I have tested this code to the best of my abilities
[x] I have verified accessibility to the best of my abilities (docs)
[x] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[x] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[x] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #7123

Pan and Zoom behaviour changes to be the same as Zoom In

added image background
checked Pan And Zoom - worked fine
enlarged the image (needed to be enlarged to allow Pan Up, Pan Down, and Zoom In to work)
Pan Up, Pan Down, and Zoom In work fine - but now Pan And Zoom (which was fine before enlarging) changes to be the same as Zoom In


cmd/go: 'go build' does not cache linked executables

What version of Go are you using (go version)?

$ go version
 go1.12.4 linux/amd64

Does this issue reproduce with the latest release?

I expected go build to do an incremental build, but it seems like it recompiles everything every time I build. See go install for comparison
What did you see instead?
I expected the second go build to be incremental, rather than rebuilding everything again.

/cc @bcmills @jayconrod

go build should be building incrementally.
Can you give us more info to reproduce this? Specifically, we'd be looking for a test repository that reproduces this problem and output of two consecutive runs of go build -x ./... that shows the same commands being executed.

I've added the output of three consecutive  time go build -x ./... after first doing go clean
The first one obviously takes longer because of some downloads, but the seconds and third ones are identical from what I can see. Is this helpful by itself?
I will look into providing a test repo, but I reckon it might take some time since the code is not open source.
build1.txt
build2.txt
build3.txt

It looks like all the actions in the second and third logs are link actions. That makes sense I guess. Executables never get written to the cache, but when executables are installed (with go install, go get, go build -i), the link may be skipped for target executables that are up to date.
Executables were originally not written to the cache because before 1.12, caching was optional, and there was nowhere to put them outside of the cache if we weren't installing them.
Now that the cache is mandatory, we could store executables in the cache fairly easily. This may increase cache size significantly though, and it doesn't seem like there's much benefit.

@jayconrod You say that executables never get written to the cache, and mention go build -i which makes me a bit puzzled. The Go 1.10 release notes says
The go build command now maintains a cache of recently built packages, separate from the installed packages in $GOROOT/pkg or $GOPATH/pkg. The effect of the cache should be to speed builds that do not explicitly install packages or when switching between different copies of source code (for example, when changing back and forth between different branches in a version control system). The old advice to add the -i flag for speed, as in go build -i or go test -i, is no longer necessary: builds run just as fast without -i. For more details, see go help cache.

As I understand it they should be written to the cache, although a separate one, even without using the -i option.

I think that snippet is referring to packages (.a files) only. I don't see mention of binaries.
When building with go install, we do treat installed binaries as part of the cache, even though they aren't in the cache directory. That's why you saw the speedup earlier on the second go install command.

I'm experiencing the exact same thing. Never been able to do any incremental builds. Go build or even Go install will build the whole thing every time
go version go1.9.3 linux/amd64
I can give you the complete project to investigate once you let me know how I can upload files for you

@jeffsaremi, per the release policy Go 1.9 has not been supported since 2018-08-24 (when Go 1.11 was released). Please upgrade to a supported version (1.12 or 1.13) and see whether you can still reproduce the issue.

Thank you. I shall do as instructed and report back

As per @bcmills recommendation, I upgraded go and the problem is solved. go build now does incremental build with beautifully
thanks
go version go1.13 linux/amd64

@jeffsaremi I guess you did go install then?
With go build I'm still seeing the same behaviour as before with 1.13, which is what I expect since this issue is still open :-)

No I did a plain go build. It was smart enough not to rebuild the final binary.

Duplicate of #69290


Implemented debug request logging

Coverage increased (+0.006%) to 99.738% when pulling 364fe25f35d03c029e850d85a66f56ec6f3b6064 on debug_request_logging into 6b0b3d0edb58eef6f40af081c667be1f610c7efb on master.


Game crash after hovering some items

When i hover over some items in the mod it will crash the game
it's like that glass fence thingy (I don't remember what it is called) that will crash the game after hovering

Cannot reproduce this myself, but based on other report, it's likely caused by the same bug in #794 when using the MTR 3.2.2 1.20 alpha, which should be resolved by MTR 4.
@Atilla5990 Would be appreciated if you could supply more information, such as the crash report (If you still have it), Minecraft version, modloader and the mod you have installed for further confirmation.

Not enough information, this is very likely fixed in MTR 4


iTerm2 Image support

iTerm2 image rendering is now in Master, it's untested as I don't have any OS X devices. To enable it change image_backend to iterm2 in the script, like so:
image_backend="iterm2"

or use the launch flag --image_backend iterm2
Thanks!

iTerm2 rendering now works.


Replace jCenter repository with maven Central

This PR is in draft for now because it's generating new lint errors which I can't explain.
I'm seeing locally:
> Task :subscribing-example-app:lint FAILED
Ran lint on variant debug: 13 issues found
Ran lint on variant release: 13 issues found
/Users/quintinwillison/code/ably/ably-asset-tracking-android/subscribing-example-app/src/main/res/layout/activity_main.xml:137: Error: Replace the <fragment> tag with FragmentContainerView. [FragmentTagUsage]
  <fragment
   ~~~~~~~~

I suspect it may relate to #313.

@QuintinWillison the lint issue was about using the plain fragment element in the layout XML file instead of the FragmentContainerView. The latter is a new thing that should be used for fragments, however, it isn't very useful in our case. We need to access the fragment that we add in the layout file and this is something I couldn't easily do with that new container view. This change was forced by updating the easypermissions library but since it's only needed in the publishing example app I've moved it there and now the lint isn't complaining about the fragment tag :wink:

Thanks for adding those commits, @KacperKluka ... if you're happy with the state of the PR now then can you please approve it?


Feature support agg_state combinators

Proposed changes
support agg_state combinators state/merge/union
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.16 seconds
stream load tsv:          439 seconds loaded<PHONE_NUMBER>9 Bytes, about 162 MB/s
stream load json:         22 seconds loaded<PHONE_NUMBER> Bytes, about 102 MB/s
stream load orc:          58 seconds loaded<PHONE_NUMBER> Bytes, about 18 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          78.7 seconds inserted 10000000 Rows, about 127K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230523123930_clickbench_pr_149023.html

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.18 seconds
stream load tsv:          443 seconds loaded<PHONE_NUMBER>9 Bytes, about 161 MB/s
stream load json:         22 seconds loaded<PHONE_NUMBER> Bytes, about 102 MB/s
stream load orc:          59 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          79.2 seconds inserted 10000000 Rows, about 126K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230523144618_clickbench_pr_149131.html

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.02 seconds
stream load tsv:          450 seconds loaded<PHONE_NUMBER>9 Bytes, about 158 MB/s
stream load json:         22 seconds loaded<PHONE_NUMBER> Bytes, about 102 MB/s
stream load orc:          59 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          79.3 seconds inserted 10000000 Rows, about 126K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230524035446_clickbench_pr_149330.html

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 33.96 seconds
stream load tsv:          444 seconds loaded<PHONE_NUMBER>9 Bytes, about 160 MB/s
stream load json:         22 seconds loaded<PHONE_NUMBER> Bytes, about 102 MB/s
stream load orc:          59 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          79.5 seconds inserted 10000000 Rows, about 125K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230525093423_clickbench_pr_150395.html

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.76 seconds
stream load tsv:          442 seconds loaded<PHONE_NUMBER>9 Bytes, about 161 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          58 seconds loaded<PHONE_NUMBER> Bytes, about 18 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          77.9 seconds inserted 10000000 Rows, about 128K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230526045505_clickbench_pr_151020.html

run beut


Idea on how to handle manually editing the docs files while keeping the automated conversion

Decided to create a central discussion about this here instead of all of the ideas getting lost in various threads :)
Here's some found previous notes

https://github.com/apache/lucenenet/issues/282#issuecomment-635345730 (note: a lot has changed from this discussion to now!)
https://github.com/apache/lucenenet/pull/393
https://github.com/apache/lucenenet/pull/231
https://github.com/apache/lucenenet/pull/229#issuecomment-520831453 (scroll down to the "code samples" heading)

The issue is: We have a conversion program that converts the Lucene (java) docs to a doc format that we can use for Lucene.Net. Each time this is run it will overwrite our docs files. This means that any manual updates made to these docs files such as fixing spelling mistakes and more importantly code snippets would just be overwritten.
I have a simple proposal
In various old threads we had some complex proposals but none of these are 'perfect' and won't cater very well for things like spelling mistakes. Instead of inventing some system, we can simply use Git:

We have a branch for each lucene (java) docs conversion that we plan to do

currently this is just one: 4.8.1. This branch can be called something like docs/converted/4.8.1 and created from master

These converted branches are the only branches we ever execute the JavaDocToMarkdownConverter conversion program.

So currently, we would run JavaDocToMarkdownConverter once we create this branch. There will probably be no changes now since we've already executed this in master.

Merge the converted branch to the master branch
Make any required changes to the master branch docs files
If we need to re-run JavaDocToMarkdownConverter because we've made some fixes to it to fix some conversions, formatting, etc... we re-run this on the converted branch, then merge changes to the master branch. This will trigger a bunch of merge conflicts which can be resolved by Git merge.

We won't be running this conversion program that often so the amount of merging would be minimal and we'd only have merge conflicts on files that we've changed that have large conflicts with changes we've made in the converter ... which would be quite rare so I don't foresee a lot of work with a Git merge.
Some basic rules to this:

We will never merge into a converted branch from master since this will mean merge conflicts are not triggered and everythig would just be overwritten again
When we start working on a newer version of Lucene.Net, a new converted branch will be created from the current converted branch and the conversion is run there for the new lucene version.

@NightOwl888  Any thoughts on that?

I agree this sounds simpler to manage than other ideas that have been kicked around, provided the procedure is documented in the contributing section of the web site so we never forget how to manage it.
Implementing this procedure would close #283 and allow us to begin working on #284 immediately (and allow us to accept PRs to update API documentation).
However, the tag docs/converted/4.8.1 sounds like a finished product rather than a half-way point which is what it actually is. Perhaps one of the following would be more descriptive?

docs/converted2markdown/4.8.1
docs/markdown-converted/4.8.1
docs/raw-converted-markdown/4.8.1

Changes to JavaDocToMarkdownConverter
Since JavaDocToMarkdownConverter is only executed against the converted branch, any changes to it must also be committed to the converted branch. And being that merges only happen in one direction, changing it in the master branch would need to be strictly prohibited.
Perhaps the simplest way to enforce this would be to remove git tracking for JavaDocToMarkdownConverter from the master branch and add it to .gitignore on the master branch, but keep both enabled on the converted branches. If we follow the same conflict resolution pattern as the nbgv prepare-release command uses for the version.json file with our .gitignore file, we can prevent these changes from creeping their way back onto master when merging into it.

If we need to re-run JavaDocToMarkdownConverter because we've made some fixes to it to fix some conversions, formatting, etc... we re-run this on the converted branch, then merge changes to the master branch. This will trigger a bunch of merge conflicts which can be resolved by Git merge.

By that I hope you mean git mergetool. I use it with Git for Windows in combination with Beyond Compare, and it makes dealing with conflicts much quicker and easier.
The "LOCAL", "BASE", and "REMOTE" branches visible side by side as well as a way to quickly scroll to each merge conflict. The scrollbars are linked so you see the same section in each pane when you scroll one of them. There are color coded arrows to quickly inject different blocks/lines of text or for more complicated edits manual editing is also allowed. Beyond Compare Pro also has features that allow ignoring of "unimportant changes" such as whitespace or code comments, which make some changes easier to deal with.

In this example, I am merging master into the current branch. The head of master is displayed on the right, the current commit of the current branch is displayed on the left, and "BASE" is what the current branch looked like prior to the current commit. The bottom section is a "best guess" of how to merge it, and around 40% of the time it guesses right.
At the end of the operation of a file, it creates a backup of the merge conflict in a file with a .orig extension added to the original, so if you get it wrong on the first try there is a way to go back and fix it manually.
It takes a little getting used to, but it is much quicker to pop in a block of text by clicking a colored arrow or to resolve a conflict by clicking on an exclamation point than going through the blocks in the raw source file that git creates.

Implementing this procedure would close #283 and allow us to begin working on #284 immediately (and allow us to accept PRs to update API documentation).

yep! without a lot of work we can very quickly start getting all of the docs and code samples fixed up

However, the tag docs/converted/4.8.1 sounds like a finished product rather than a half-way point which is what it actually is. Perhaps one of the following would be more descriptive?

yep sure, I'm happy with docs/markdown-converted/4.8.1

By that I hope you mean git mergetool

yes exactly. I just use GitExtensions so this happens all automatically for me. I use KDiff instead of beyond compare since I like it better and it does all the 3 way merging, auto guessing, whitespace options, etc... (although it looks like it was made in the 80s and never changed)

Perhaps the simplest way to enforce this would be to remove git tracking for JavaDocToMarkdownConverter from the master branch and add it to .gitignore on the master branch

Yep all of what you said makes sense. The converter code could even be removed entirely from the master branch if we wanted and only live in the conversion branches.  I have no experience with what nbgv prepare-release so I don't really have a comment about that one (but seems like an interesting tool!)

I'm happy to get started on this if we agree with the branch naming?

Yep all of what you said makes sense. The converter code could even be removed entirely from the master branch if we wanted and only live in the conversion branches. I have no experience with what nbgv prepare-release so I don't really have a comment about that one (but seems like an interesting tool!)

I poked around under the hood of nbgv and then started experimenting to see what options Git may have to solve the issue with keeping JavaDocToMarkdownConverter updated on each of the converted branches. Then I realized something: this is not a VCS problem, it is a versioning problem.
This issue can be addressed simply by:

Moving JavaDocToMarkdownConverter to a repo of its own so there is only 1 copy to deal with (https://selfserve.apache.org/)
Converting it into a dotnet tool so it can be packaged and versioned with NuGet
Making all of the scripts that utilize it always uninstall and reinstall the latest version of the tool from the feed (see dotnet tool update) or use a specific version in cases where version drift is a problem

We don't have to use the official NuGet.org feed for this, it can be MyGet, Azure Devops, GitHub, or whatever as long as it is Internet-accessible.

I'm happy to get started on this if we agree with the branch naming?

Sure, that's fine.

I have converted the JavaToMarkdownConverter to a dotnet tool (currently at https://github.com/NightOwl888/lucenenet-javadoc2markdown) simply named javadoc2markdown and set up an official NuGet feed to download it from at https://dev.azure.com/lucene-net/Lucene.NET/_packaging?_a=feed&feed=lucene-net-tools
To install the latest version of the tool in the scripts to a local path, just run the command:
dotnet tool install javadoc2markdown --add-source https://pkgs.dev.azure.com/lucene-net/_packaging/lucene-net-tools/nuget/v3/index.json --tool-path ./

Then run the command:
javadoc2markdown <LUCENE DIRECTORY> <LUCENENET DIRECTORY>

The parameters are exactly the same as they were before.
Then to clean up, run the command:
dotnet tool uninstall javadoc2markdown --tool-path ./

You might want to put that last line in a finally block to ensure the script is re-runnable in the case of an exception.
The GitHub repo is only meant to be temporary until an Apache repo is set up for it. I haven't yet removed the tool from this repo, but I suggest to do so and update the scripts before doing any branching.
The changes I made are enough to decouple the docs build scripts from any specific version of the tool, but the JavaDoc2Markdown tool's build and upload to the feed could be fully automated by referencing Nerdbank.GitVersioning and copying the azure-pipelines.yml and related files from Morfologik.Stemming (minus the test stage, we don't need that). We would also need to remove some of the custom settings from the version.json file, which is what configures Nerdbank.GitVersioning and remove the explicit <Version> property from the project file.

Well done sir! 🎉
Amazing start, looks like I have some work to start on :)

@NightOwl888 This is complete now, there is a new branch docs/markdown-converted/4.8.1 which will be used solely for re-executing the dotnet global tool for the docs conversion.
What needs to happen now is:

[ ] Rebuild and publish the website and docs to reflect recent changes and fixes
[ ] Update the docs to reflect this approach

There's a bunch of other outstanding docs tasks too that I'll look into. I'll close this one.

Per @Shazwazza, when I asked him via chat whether it is now safe to update the documents with .NET-specific content:

Yes it is safe to modify the .md files now with .NET content. In some cases however, it is more safe to use docfx 'override' files. For example, we are already doing this with the /websites/apidocs/apispec/core/Lucene_Net_Codecs.md file. This is 'overriding' the default converted namespace file at /src/Lucene.Net/Codecs/package.md . In some cases it may make more sense to use override files as opposed to modifying the converted file. I guess there's no strict rules on whether to use override files or not. I dunno, i guess there's pros/cons to both. By changing the converted files it means we'd know about any changes made upstream to them in the Java Lucene project and we'd have to manually merge those, but by using override files we don't end up with merge issues which might be nicer in cases where we totally overhaul the docs.

It sounds like override files are probably better for maintenance. But on the other hand, it sounds like it might be confusing for contributors if they think that modifying the original will modify the API site.
We should probably do an experiment with each to try to get a feel for which choice is the right one for given scenarios.

I think what is easiest is in most cases is to only use override files when namespace documentation doesn't already exist. Namespace documentation will exist for most namespaces in the lucene.net project based on how our markdown converter tool works.
This will be consistent with how the "Improve this doc" button works on the documentation. When clicking on that button and namespace documentation exists, it will edit the currently existing file. When namespace documentation doesn't exist already (this is rare), there will be no "Improve this doc" button. In this case we should use override files. As an example of such a namespace, see https://lucenenet.apache.org/docs/4.8.0-beta00009/api/analysis-phonetic/Lucene.Net.Analysis.Phonetic.Language.html
There might be some cases where we use override files even if the namespace doc is already there. I think this can occur only if the updated docs are completely different from the originals.

As an example of such a namespace, see https://lucenenet.apache.org/docs/4.8.0-beta00009/api/analysis-phonetic/Lucene.Net.Analysis.Phonetic.Language.html

That was actually not part of Lucene, but part of the commons-codec package from Apache, which was imported to save us from maintaining an external library and porting the parts of it we don't need. There are a couple others, the SAX and TagSoup modules that were imported into Lucene.Net.Benchmarks to parse HTML. AFAIK, we could use HTML Agility Pack instead and dump these classes if someone were willing to analyze this at a higher level to map over the functionality.
The only actual Lucene case I can think of where we are missing the document is the migration guide (#399), presumably because it was named Migrate.txt instead of following the other "overview" and "package" naming conventions.
Lucene.Net.Codecs was only different because we were trying to release that document before we had the conversion process sorted out. Now that it is, would it make sense to integrate these changes back into the original doc?
Are there any other cases you can specifically recall where the documentation doesn't exist in Lucene? If there are no other exceptions and your suggestion is not to use override files on the rest, I am on board with that - it would be fewer files to maintain and less confusing to contributors.


Added copy commit SHA1 button in commits list

Fixes #13816
Signed-off-by: Vangelis<EMAIL_ADDRESS>

Codecov Report

Merging #13852 (0c1dc78) into master (118aedd) will increase coverage by 0.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #13852      +/-   ##
==========================================
+ Coverage   42.13%   42.24%   +0.11%
==========================================
  Files         708      708
  Lines       77167    77173       +6
==========================================
+ Hits        32514    32605      +91
+ Misses      39306    39201     -105
- Partials     5347     5367      +20

Impacted Files
Coverage Δ

models/repo_mirror.go
2.38% <0.00%> (-11.91%)
:arrow_down:

modules/cron/tasks_basic.go
87.35% <0.00%> (-3.45%)
:arrow_down:

modules/log/event.go
59.90% <0.00%> (-1.89%)
:arrow_down:

services/mirror/mirror.go
15.98% <0.00%> (-1.17%)
:arrow_down:

models/repo_list.go
78.57% <0.00%> (-0.90%)
:arrow_down:

services/pull/check.go
48.90% <0.00%> (-0.73%)
:arrow_down:

routers/user/setting/profile.go
39.32% <0.00%> (-0.56%)
:arrow_down:

services/pull/pull.go
40.68% <0.00%> (ø)

modules/markup/html.go
78.83% <0.00%> (+0.03%)
:arrow_up:

models/error.go
38.66% <0.00%> (+0.48%)
:arrow_up:

... and 12 more

Continue to review full report at Codecov.

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

Screenshot please.

I think we generally need to rework those shaboxes (which can appear in like 15 different places) to use a shared go template, maybe with some copy button functionality that only shows on hover potentially to not further complicate their already complex rendering.
Unfortunately this means that unless you're willing to do that rework, I see no future for this PR because doing it in only 1 place is too inconsistent.

Thought we may be able to make an exception and have the copy button on the commit list after all as there's space. Maye have a separated button in the same height as the shabox (will need some manual CSS).

Maybe today I will found some free time to try fixing that issue with new css

I think you can take the basic button from your first screenshot and downsize it via CSS to match the  height of the shabox and you should be good. Don't even need to color the background.

status? @macvag @silverwind

@macvag any time soon?

Sorry for my late reply. I didn't notice the first mention.
Unfortunately, I won't be able to continue my tries on this issue.

This is not ready and needs further work - therefore I'm moving it to 1.16 unless there is someone willing to take this up and fix it.

We have a better implementation

https://github.com/go-gitea/gitea/pull/17759


Footer way too big on mobile phones

Hi,
thank you for the software.
When I open my jangouts page with a mobile phone (different browsers, e. g. Chrome, Firefox) the footer (SUSE 2015 version 0.5.0) is really big and that eats space for the actual content. Is it possible to create a mobile version?
Martin.

Jangouts interface is certainly not designed for mobile phones.
At some point we started a rewrite of the interface using react. See https://github.com/jangouts/jangouts/projects/1 That new interface was mobile-first (designed to work in mobile phones, tablets and PC). Unfortunately we never finished... although we are considering to try to finish it this summer.

The UI rewrite is finished and released in version 0.6.0. So this should not be a problem anymore.


Update the cdc prev example to select columns and filter rows

Fixes DOC-8800
Updates the cdc_prev examples on the CDC queries page, so that they do not just SELECT *. The reason for this is that customers can use a regular changefeed with the diff option to achieve the same thing, if they do not need filtering.
The updated examples better fit with how we recommend customers to use either CDC queries and regular changefeeds.

TFTRs!


Translate java error positions into lines+columns

Java errors/warnings currently have a single line number and file based start/end position info.
Bloop+Metals+VSCode requires start/end line + start/end column info to highlight correctly.
This PR translates the current info into the start/end line + start/end column info.
I've put in a few tests - I doubt I've covered all possibilities but currently java errors are just highlighted at a single line number with column zero so this should be better than that.
Fixes #936

At least one pull request committer is not linked to a user. See https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user#commits-are-not-linked-to-any-user

To validate this pull request against other sbt modules, please visit this link.

@Arthurm1 Thanks for the contribution. Is the email address associated with the commit registered on GitHub?

Hi @Arthurm1,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
https://www.lightbend.com/contribute/cla

@eed3si9n My bad - was trying out VSCode containers - should be ok now.
I've signed the CLA (I think).  How do I kick off the validator so the checks pass?

I've signed the CLA (I think). How do I kick off the validator so the checks pass?

I thought it automatically does usually. You can try making some change to the comment or something and force push a new commit?


Specify git clone path

Description
Can we specify in the paket.dependencies file what path we want a git repo to be cloned into?
We're using some internal git repos. The URL of these are quite long. If repo A references repo B which references repo C, paket clones the repos in to a path which matches the URL. When its nested like A -> B -> C, we run into trouble because it exceeds the windows path size limit.
Repro steps

Have projects A B and C in repos with a long URL
Set up a git dependency from A -> B -> C, with a build script on each
Clone repo A and do a paket install

Expected behavior
Build scripts should execute, git repos should download
Actual behavior
Build scripts and other things fail due to the path exceeding the windows limit
Known workarounds
None. We can't change the URL of the git repos unfortunately.
Related information

Operating system: Windows 10
Branch: latest
.NET Runtime: 4.5.2

Hi @forki and @inosik . I'd like to have a crack at this if possible. I'm new to open source but have been a dev for 9 years. My attempt would be to:

Amend extractUrlParts to accept another argument for a git dependency. This will be the relative path to download into. Call it download-path or something.
For all download-paths specified in the paket.dependencies file, check that they are all unique
Amend the computeFilePath function to accept a downloadPath : Maybe<String> argument. If it has a value then dir becomes downloadPath otherwise it continues as usual.

Please let me know if I'm on the right track, and any other procedures I should follow (if you want me to add some tests for example).
Kind regards,
Kurren

Sounds like a plan

Build scripts and other things fail due to the path exceeding the windows limit

Where does this happen? During the first cloning (into ~/.paket/git/db/) or the second (into paket-files/)?
It might also make sense to make Pakets global Git cache directory configurable, because ~/ tends to be pretty long on Windows.

Where does this happen? During the first cloning (into ~/.paket/git/db/) or the second (into paket-files/)?

I don't get anything cloning into ~/.paket/git/db/, only paket-files/.

Where does this happen? During the first cloning (into ~/.paket/git/db/) or the second (into paket-files/)?

Only paket-files/ for now but I see no reason why it would fail for ~/.paket/git/db/if the folder to be cloned into exceeded 260 chars.


Patch/dictionary symbol style update constructor

Hi both,
Updated the DictionarySymbolStyle constructor to the upcoming one (using only a path to a stylex file).
Four samples are affected:

[ ] Feature Layer Dictionary Renderer
[ ] Graphics Overlay Dicrionary Renderer 3D
[ ] Symbols Dictionary
[ ] Dictionary Renderer with Graphics Overlay

note: XML data was updated for the first two
For the last one, while I was at it, I've updated the README to match the revised version of the common design README.
Let me know if there's any other improvements you spot.
Thanks!

Thanks! It was only yesterday that I learnt that the metadata files don't get generated automatically. They will be updated now.

Hi @tschie, @Rachael-E and I had a discussion and agreed it could be useful to not package the xml file in resources/ but get it from AGOL instead. Some other samples use this pattern too, where the xml is treated like data and is downloaded into samples-data/. I've gone ahead and made that change. Had to change the parsing of the XML around to make it work. I suspect there might be a more concise way of doing it. If you have any suggestions, please let us know. Cheers!

I simply forgot to remove them after testing that the new approach works. All removed now.


Supporting src attribute in SFCs when using vue-tsc

A SFC looking like this will generate a whole bunch of errors, although it's a perfectly legal way of writing Vue SFCs.
<script lang="ts" src="./RootComponent.ts" />
<template src="./RootComponent.html" />
<style scoped lang="scss" src="./RootComponent.scss" />

Truncated vue-tsc --noEmit ouput.
src/components/RootComponent/RootComponent.vue:2:11 - error TS1005: '>' expected.

2 <template src="./RootComponent.html" />
            ~~~

src/components/RootComponent/RootComponent.vue:2:14 - error TS1005: ';' expected.

2 <template src="./RootComponent.html" />
               ~

src/components/RootComponent/RootComponent.vue:2:39 - error TS1109: Expression expected.

2 <template src="./RootComponent.html" />
                                        ~

Thanks for the report! You might want to use <template src="./RootComponent.html"></template> instead of <template src="./RootComponent.html" /> for now.

I can't reproduce the vue-tsc error in latest version, please let me know if you still have this problem.


User details are getting null

Hi @mraible ,
  I tried the following JDL, based on some of the examples.

-- I can able to run all the dockers and launch the application.
--I can able to Login with both User and Admin
Issue is :
-- When am trying create a "Member "  from entity screen am getting an error saying Users cannot be null.
I did

One-to-One
relation ship with Members and Users

User details should pull from

Keycloak

, if am not wrong.
Did i miss something ..?
Can you please help in this .
--Thanks.
application {
  config {
    baseName gateway,
    packageName com.sample.gateway,
    applicationType gateway,
    authenticationType oauth2,
    prodDatabaseType postgresql,
    searchEngine elasticsearch,
    serviceDiscoveryType eureka,
    testFrameworks [protractor],
    buildTool maven,
    clientFramework react,
    nativeLanguage en,
    languages [en, es]
  }
  entities Members, Rewards, Address, Product, ProductCategory, ProductOrder, OrderItem, Invoice, Shipment
}

application {
  config {
    baseName school,
    packageName com.sample.users,
    applicationType microservice,
    authenticationType oauth2,
    prodDatabaseType postgresql,
    searchEngine elasticsearch,
    buildTool maven,
    serverPort 8081,
    serviceDiscoveryType eureka
  }
  entities Members, Rewards, Address
}

application {
  config {
    baseName store,
    packageName com.sample.store,
    applicationType microservice,
    authenticationType oauth2,
    databaseType mongodb,
    devDatabaseType mongodb,
    prodDatabaseType mongodb,
    searchEngine elasticsearch,
    buildTool maven,
    enableHibernateCache false,
    serverPort 8082,
    serviceDiscoveryType eureka
  }
 entities Product, ProductCategory, ProductOrder, OrderItem
}

application {
  config {
    baseName invoice,
    applicationType microservice,
    packageName com.sample.invoice,
    authenticationType oauth2,
    prodDatabaseType postgresql,
    buildTool maven,
    serverPort 8083,
    serviceDiscoveryType eureka
  }
  entities Invoice, Shipment
}

// Customer for the store
entity Members {
  firstName String required,
    lastName String required,
    gender Gender required,
    who Who required,
    email String required pattern(/^[^@\s]+@[^@\s]+\.[^@\s]+$/)
    age BigDecimal
}
// Address table for both Student and Faculty
entity Address{
  addressLine1 String,
    addressLine2 String,
    city String,
    country String,
    primaryPhone String ,
    secondryPhone String
}
enum Gender {
  MALE, FEMALE, OTHER
}
enum Who {
  STUDENT, FACULTY, ADMIN
}
entity Rewards {
  facultyName String ,
        studentName String,
        timestamp ZonedDateTime required,
        rewardReceved BigDecimal,
        date Instant required,
        content TextBlob required
}
/**
 * Entities for store microservice
 */
// Product sold by the Online store
entity Product {
  name String required
    description String
    price BigDecimal required min(0)
    size Size required
    image ImageBlob
}
enum Size {
  S, M, L, XL, XXL
}
entity ProductCategory {
  name String required,
    description String
}
entity ProductOrder {
  placedDate Instant required,
    email String required pattern(/^[^@\s]+@[^@\s]+\.[^@\s]+$/),
    status OrderStatus required,
    code String required,
    invoiceId Long,
    customer String required
}
enum OrderStatus {
  COMPLETED, PENDING, CANCELLED
}
entity OrderItem {
  quantity Integer required min(0)
    totalPrice BigDecimal required min(0)
    status OrderItemStatus required
}
enum OrderItemStatus {
  AVAILABLE, OUT_OF_STOCK, BACK_ORDER
}
/* Entities for Invoice microservice */
entity Invoice {
  code String required
    date Instant required
    details String
    status InvoiceStatus required
    paymentMethod PaymentMethod required
    paymentDate Instant required
    paymentAmount BigDecimal required
}
enum InvoiceStatus {
  PAID, ISSUED, CANCELLED
}
entity Shipment {
  trackingCode String
    date Instant required
    details String
}
enum PaymentMethod {
  CREDIT_CARD, CASH_ON_DELIVERY, PAYPAL
}
/* Entities for notification microservice */
entity Notification {
  date Instant required
    details String
    sentDate Instant required
    format NotificationType required
    userId Long required
    productId Long required
}
enum NotificationType {
  EMAIL, SMS, PARCEL
}
relationship ManyToOne {
  OrderItem{product(name) required} to Product
}
relationship OneToMany {
  Members{address} to Address{members(email) required} ,
  Members{rewards} to Rewards{members(email) required} ,
  ProductOrder{orderItem} to OrderItem{order(code) required} ,
  ProductCategory{product} to Product{productCategory(name)},
  Invoice{shipment} to Shipment{invoice(code) required}
}
relationship OneToOne {
  Members{user(login) required} to User
}
service Invoice, Shipment, Product, ProductCategory, ProductOrder, OrderItem with serviceClass
paginate Invoice, Shipment, Product, Members, ProductOrder, OrderItem with pagination
// MicroServices
microservice Product, ProductOrder, ProductCategory, OrderItem with store
microservice Members, Address, Rewards with school
microservice Invoice, Shipment with invoice
microservice Notification with notification
// will be created under 'docker-compose' folder
deployment {
  deploymentType docker-compose
  appsFolders [gateway, school, store, invoice]
  dockerRepositoryName "govindraju9999"
  consoleOptions [zipkin]
}

Exception in Logger
Bad Request: Validation failed for argument [0] in public org.springframework.http.ResponseEntity<com.samplel.users.domain.Members> com.sample.users.web.rest.MembersResource.createMembers(com.sample.users.domain.Members) throws java.net.URISyntaxException: [Field error in object 'members' on field 'user': rejected value [null]; codes [NotNull.members.user,NotNull.user,NotNull.com.sample.users.domain.User,NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [members.user,user]; arguments []; default message [user]]; default message [must not be null]]

What version of JHipster are you using?

On May 15, 2020, at 01:14, M G R<EMAIL_ADDRESS>wrote:

Hi @mraible ,
I tried the following JDL, based on some of the examples.
-- I can able to run all the dockers and launch the application.
--I can able to Login with both User and Admin
Issue is :
-- When am trying create a "Member " from entity screen am getting an error saying Users cannot be null.
I did
One-to-One
relation ship with Members and Users
User details should pull from
Keycloak
, if am not wrong.
Did i miss something ..?
Can you please help in this .
--Thanks.
application {
config {
baseName gateway,
packageName com.sample.gateway,
applicationType gateway,
authenticationType oauth2,
prodDatabaseType postgresql,
searchEngine elasticsearch,
serviceDiscoveryType eureka,
testFrameworks [protractor],
buildTool maven,
clientFramework react,
nativeLanguage en,
languages [en, es]
}
entities Members, Rewards, Address, Product, ProductCategory, ProductOrder, OrderItem, Invoice, Shipment
}
application {
config {
baseName school,
packageName com.sample.users,
applicationType microservice,
authenticationType oauth2,
prodDatabaseType postgresql,
searchEngine elasticsearch,
buildTool maven,
serverPort 8081,
serviceDiscoveryType eureka
}
entities Members, Rewards, Address
}
application {
config {
baseName store,
packageName com.sample.store,
applicationType microservice,
authenticationType oauth2,
databaseType mongodb,
devDatabaseType mongodb,
prodDatabaseType mongodb,
searchEngine elasticsearch,
buildTool maven,
enableHibernateCache false,
serverPort 8082,
serviceDiscoveryType eureka
}
entities Product, ProductCategory, ProductOrder, OrderItem
}
application {
config {
baseName invoice,
applicationType microservice,
packageName com.sample.invoice,
authenticationType oauth2,
prodDatabaseType postgresql,
buildTool maven,
serverPort 8083,
serviceDiscoveryType eureka
}
entities Invoice, Shipment
}
// Customer for the store
entity Members {
firstName String required,
lastName String required,
gender Gender required,
who Who required,
email String required pattern(/^[^@\s]+@[^@\s]+.[^@\s]+$/)
age BigDecimal
}
// Address table for both Student and Faculty
entity Address{
addressLine1 String,
addressLine2 String,
city String,
country String,
primaryPhone String ,
secondryPhone String
}
enum Gender {
MALE, FEMALE, OTHER
}
enum Who {
STUDENT, FACULTY, ADMIN
}
entity Rewards {
facultyName String ,
studentName String,
timestamp ZonedDateTime required,
rewardReceved BigDecimal,
date Instant required,
content TextBlob required
}
/**

Entities for store microservice
/
// Product sold by the Online store
entity Product {
name String required
description String
price BigDecimal required min(0)
size Size required
image ImageBlob
}
enum Size {
S, M, L, XL, XXL
}
entity ProductCategory {
name String required,
description String
}
entity ProductOrder {
placedDate Instant required,
email String required pattern(/^[^@\s]+@[^@\s]+.[^@\s]+$/),
status OrderStatus required,
code String required,
invoiceId Long,
customer String required
}
enum OrderStatus {
COMPLETED, PENDING, CANCELLED
}
entity OrderItem {
quantity Integer required min(0)
totalPrice BigDecimal required min(0)
status OrderItemStatus required
}
enum OrderItemStatus {
AVAILABLE, OUT_OF_STOCK, BACK_ORDER
}
/ Entities for Invoice microservice /
entity Invoice {
code String required
date Instant required
details String
status InvoiceStatus required
paymentMethod PaymentMethod required
paymentDate Instant required
paymentAmount BigDecimal required
}
enum InvoiceStatus {
PAID, ISSUED, CANCELLED
}
entity Shipment {
trackingCode String
date Instant required
details String
}
enum PaymentMethod {
CREDIT_CARD, CASH_ON_DELIVERY, PAYPAL
}
/ Entities for notification microservice */
entity Notification {
date Instant required
details String
sentDate Instant required
format NotificationType required
userId Long required
productId Long required
}
enum NotificationType {
EMAIL, SMS, PARCEL
}
relationship ManyToOne {
OrderItem{product(name) required} to Product
}
relationship OneToMany {
Members{address} to Address{members(email) required} ,
Members{rewards} to Rewards{members(email) required} ,
ProductOrder{orderItem} to OrderItem{order(code) required} ,
ProductCategory{product} to Product{productCategory(name)},
Invoice{shipment} to Shipment{invoice(code) required}
}
relationship OneToOne {
Members{user(login) required} to User
}
service Invoice, Shipment, Product, ProductCategory, ProductOrder, OrderItem with serviceClass
paginate Invoice, Shipment, Product, Members, ProductOrder, OrderItem with pagination
// MicroServices
microservice Product, ProductOrder, ProductCategory, OrderItem with store
microservice Members, Address, Rewards with school
microservice Invoice, Shipment with invoice
microservice Notification with notification
// will be created under 'docker-compose' folder
deployment {
deploymentType docker-compose
appsFolders [gateway, school, store, invoice]
dockerRepositoryName "govindraju9999"
consoleOptions [zipkin]
}

Exception in Logger
Bad Request: Validation failed for argument [0] in public org.springframework.http.ResponseEntity<com.samplel.users.domain.Members> com.sample.users.web.rest.MembersResource.createMembers(com.sample.users.domain.Members) throws java.net.URISyntaxException: [Field error in object 'members' on field 'user': rejected value [null]; codes [NotNull.members.user,NotNull.user,NotNull.com.sample.users.domain.User,NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [members.user,user]; arguments []; default message [user]]; default message [must not be null]]
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

 ignite doctor
System
  platform           darwin
  arch               x64
  cpu                4 cores          Intel(R) Core(TM) i7-5650U CPU @ 2.20GHz
  directory          docker-compose   /Users/mardubudi/Documents/PBIS-REPO/tis-jhip/tis-mySchool/docker-compose

JavaScript
  node               12.16.1      /usr/local/bin/node
  npm                6.14.5       /usr/local/bin/npm
  yarn               1.22.4       /usr/local/bin/yarn

Ignite
  ignite-cli         3.5.1        /usr/local/bin/ignite
  ignite src         build        /Users/mardubudi/.config/yarn/global/node_modules/ignite-cli/build
  generators         {}

Android
  java               11.0.4       /usr/bin/java
  android home       -            undefined

iOS
  xcode              11.4.1
  cocoapods          1.9.1        /usr/local/bin/pod
Govinds-MacBook-Air:docker-compose mardubudi$ jhipster --version
INFO! Using JHipster version installed globally
6.8.0

I'm curious: why did you include the output from ignite doctor? Are you creating a React Native app with Ignite JHipster, or are you just creating a React app with JHipster?

You are right @mraible  ,
Am creating react native as well  with Ignite JHipster,.
In react native Login redirection issue coming, then i realize there is separate place for that 👍

Do you see this issue in your React Native UI, or in JHipster? Tagging @ruddell in case it's React Native.

Am facing this mapping issue in JHipster react web UI.
Sure i will tag @ruddell for Login redirection issue.

Hey @mraible,  did i miss any configuration ..? or my JDL file have wrong mapping ..?

I'm not sure. I did fix an issue that seems similar recently. https://github.com/jhipster/generator-jhipster/issues/8920

Hey @mraible
So based on your comment
https://github.com/jhipster/generator-jhipster/pull/11317
it works with Angular, but fails when you use React on the gateway..?
But it is on Feb 2020 ;)  Still this issue persists ..? :) @saturnism
Can you guys please confirm.
--Thanks

Yes, the bug I fixed happened only in React and it was released with JHipster 6.8.0. If this issue is still happening, please enter an issue in the main JHipster project and include your JDL.
I'm closing this issue here because the JDL you reference doesn't exist in this project.


preventAutofill not working in Edge

General information

SDK version: 3.92.0
Environment: Sandbox
Browser and OS: Microsoft Edge version 111.0.1661.41 on Microsoft Windows 11 Home version 10.0.22621 build 22621

Issue description
Even when option preventAutofill is set to true, Edge still suggests saved payment info.
This issue does not occur in Chrome during our tests.
Apparently, this is because Edge disregards autocomplete="off". Is it possible to implement a different approach?

Hi @zamoraivanlee
We are looking into this issue. We will get back to you asap.


In beforeEach hook , call next with a callback is invalid

Version
3.0.1
Reproduction link
https://jsfiddle.net/viruscamp/z6j6yozx/3/
Steps to reproduce
Run this jsfiddle, open js console, and click "Go to Foo "
What is expected?
Js console show:
router.beforeEach /foo
router.beforeEach.next /foo
routeConfig.beforeEnter /foo
routeConfig.beforeEnter.next /foo
router.beforeResolve /foo
router.beforeResolve.next /foo

What is actually happening?
Js console show:
router.beforeEach /foo
routeConfig.beforeEnter /foo
router.beforeResolve /foo

As https://github.com/vuejs/vue-router/blob/dev/types/router.d.ts show:
router.beforeEach, routeConfig.beforeEnter, router.beforeResolve use NavigationGuard
and next in NavigationGuard receive ((vm: Vue) => any) as argument
But I cannot use this feature as the code show

Passing a callback only works with the In-Component hook beforeRouteEnter.

So It's better to remove '((vm: Vue) => any)' from 'NavigationGuard' definition.
As router.beforeEach, routeConfig.beforeEnter, router.beforeResolve use NavigationGuard, and donot support next callback
beforeRouteEnter does not use 'NavigationGuard'

There's an open issue to make this behaviour consistent though 🙂


Documentation for the builders (renamed: build helpers)

Description of changes

In Nixpkgs, we have several functions that helps defining a derivation. Such function is currently called "builders", and are document in the Builders part in the Nixpkgs manual.
This PR aims to

Define and introduce the builders in the Nixpkgs manual.
Properly document the function-based attribute recursion (finalAttrs: { }) to distinguish it from the recursive attribute (rec { }).
Document the new approach to define a builder that supports function-based attribute recursion and add such support to existing builder implementations through lib.extendMkDerivation and lib.extendMkDerivationModified introduced in #234651. (Split out of this PR)
Discuss if we wouldike to rename the term "builder" to something else. (Previous discussion: https://github.com/NixOS/nixpkgs/pull/234651#discussion_r1210849842) (candidate: build helper)

This PR also

Moves Nixpkgs manual section darwin.linux-builder from chapter Special build helper to chapter Packages, and emphasize that it is about remote builder bootstrap instead of build helpers.
Moves doc/build-helpers/packages/ -> doc/packages/ to make it parallel to doc/hooks/ and prepare for future migration. (The Packages chapter is mostly not about build helpers.)

Closes #235858
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

A big wind just blew:

doc/builders/packages -> doc/packages (without document changes, just like "languages and frameworks" and "hooks")
doc/builders/spacial/darwin-builder.md -> doc/packages/spacial/darwin-builder.md (with document changes)
doc/builders -> doc/build-helpers (with document changes)

Rebase to resolve conflicts with master changes.

Two examples added to the "Build Helper" introductory chapter.

It is only the last commit that is related to #234651. It's possible to split that commit away if we hope to merge this earlier. (Nixpkgs release 23.11 seems on the way.)

Yes, let's split out that last one and merge soon.

Yes, let's split out that last one and merge soon.

Just dropped it from this feature branch.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/2023-10-30-documentation-team-meeting-notes-90/34936/1

Rebase to resolve merge conflicts.

@Infinisil @roberth @raitobezarius this needs another approval. I'd like to merge that as is, it's a very strong improvement.

Do we need to add entries in the release note for these changes?


Got error [find_file_recursively_up(E:\TOOLS\vcpkg\vcpkg.exe, .vcpkg-root): �������� ]while running vcpkg.exe -search

First time to use vcpkg,  after executing vcpkg.exe search --debug I got the output：
[DEBUG] Feature flag 'binarycaching' unset
[DEBUG] Feature flag 'manifests' unset
[DEBUG] Feature flag 'compilertracking' unset
[DEBUG] Feature flag 'registries' unset
[DEBUG] Feature flag 'versions' unset
find_file_recursively_up(E:\TOOLS\vcpkg\vcpkg.exe, .vcpkg-root): ��������
[DEBUG] D:\a_work\1\s\src\vcpkg\vcpkgpaths.cpp(400)
[DEBUG] Time in subprocesses: 0 us
[DEBUG] Time in parsing JSON: 0 us
[DEBUG] Time in JSON reader: 0 us
[DEBUG] Time in filesystem: 11851 us
[DEBUG] Time in loading ports: 0 us
[DEBUG] Exiting after 49.58 ms (9761 us)
And got the same out running vcpkg list or vcpkg install.
It looks like a env problem but I can't fix it on my own.
Thanke for any help.

How did you get vcpkg? Clone or directly download the zip package?
Please confirm .vcpkg-root exists in the vcpkg root dir, also please clone vcpkg in non-system path to avoid the permission issues.

How did you get vcpkg? Clone or directly download the zip package? Please confirm .vcpkg-root exists in the vcpkg root dir, also please clone vcpkg in non-system path to avoid the permission issues.
Thank you for your reply.
I downloaded the ZIP package and ran bootstrap.bat, the script program downloaded vcpkg.exe.
I checked the vcpkg root, .vcpkg-root exists but empty.
The path that vcpkg unziped in is non-system path, which is output in the error log

 #find_file_recursively_up(E:\TOOLS\vcpkg\vcpkg.exe, .vcpkg-root): ��������

p.s : My OS is windows10 installed in macbook.

@DeanXi Please clone vcpkg instead of downloading vcpkg because the downloaded version cannot enable version control.

i met the same problem, i clone twice but the same result.

I think this isuse is same with https://github.com/microsoft/vcpkg/issues/19524.
Did you clone or download vcpkg in an external disk?

i just use it by putting the vcpkg to C dist like "C:/vcpkg"   ,which can solved this problem.

I think this isuse is same with #19524.
Did you clone or download vcpkg in an external disk or symbol link path?

no，just ran bootstrap.bat

i just use it by putting the vcpkg to C dist like "C:/vcpkg" ,which can solved this problem.
Thank you so much, it works!!

Duplicated to https://github.com/microsoft/vcpkg/issues/19524.


Add a documents website

Documents website for extra docs and people who don't want to go to github website

Thanks but the problem is now I have to manually keep two copies to docs in sync and remember to update both. Maybe there's a better way using git submodules or something...

Thanks but the problem is now I have to manually keep two copies to docs in sync and remember to update both. Maybe there's a better way using git submodules or something...

About that, I don't know git submodules.
Or, if you were talking about in pages, It doesn't exist. It's only /(root) or /docs

Closing due to my comment above


Fixes CLI add/remove support

Logic in add/remove was complex and buggy. This fixes that and backfills
tests.
closes #269

denominator-pull-requests #436 SUCCESS
This pull request looks good

NetflixOSS » denominator » denominator-pull-requests #61 SUCCESS
This pull request looks good


Support modern client side page templates

It's already requested here: https://github.com/SharePoint/PnP-Provisioning-Schema/issues/369


Authentication Workflow Redirection fails

What is your Scenario?
I am testing an open source application PodBrowser (https://podbrowser.inrupt.com) against several Solid (https://solidproject.org) servers. The authentication workflow requires a number of redirections:

User opens https://podbrowser.inrupt.com.
On Login page, user enters a IdP URL (e.g., https://broker.pod.inrupt.com) and is redirected to that IdP for authentication.
After successful authentication, the user is redirected to Allow access to your WebID.
After Allowing, the user is redirected back to PodBrowser.
The PodBrowser main Files page is displayed.

What is the Current behavior?
The described authentication workflow works correctly manually, and has been working (mostly) for many months via TestCafe tests. But suddenly the tests hang between steps 4 & 5.
What is the Expected behavior?
PodBrowser Files page is displayed after successful authentication.
What is your public website URL? (or attach your complete example)
https://podbrowser.inrupt.com
What is your TestCafe test code?
import { screen } from "@testing-library/testcafe";
import { t, ClientFunction } from "testcafe";

// Get the Window Size
export async function getWindowSize() : Promise<Record<string, number>> {
    const fn = ClientFunction(() => {
        return {
            width:window.innerWidth,
            height: window.innerHeight
        };
    });

    return fn();
}

// Login Fixture
fixture("Login")
    .page("https://podbrowser.inrupt.com");

// Login
test("Login", async() => {

    await t.wait(1000);

    let otherProvidersButton = screen.findAllByTestId("other-providers-button");
    let loginTextbox = screen.getByTestId("login-field");
    let identityCombobox = screen.getByRole("textbox", { name: /select id provider/i });
    let goButton = screen.getByTestId("go-button");

    // Log in via ESS Broker service
    await t
        .expect(otherProvidersButton.exists).ok("Other Provier button exists");

    await t
        .click(otherProvidersButton)
        .expect(loginTextbox.exists).ok("Login Textbox exists");

    await t
        .click(loginTextbox)
        .typeText(loginTextbox, "https://broker.pod.inrupt.com", { replace: true, paste: true })
        .expect(goButton.exists).ok("Go button exists");

    await t
        .click(goButton);

    // Submit Button visible?
    const isSubmitVisible:boolean = await screen.findByRole("button", { name: /submit/i }).visible;
    if (isSubmitVisible) {

        // Resize Window
        const windowSize = await getWindowSize();
        let resized = false;
        if (windowSize.width >= 640) {
            resized = true;
            await t.resizeWindowToFitDevice("iphone6", {portraitOrientation: true});
            await t.wait(1000);
        }

        // Username
        await t.typeText(screen.findByRole("textbox", { name: /username username/i }), "{username}", { replace: true, paste: true });

        // Password
        await t.typeText(screen.findByLabelText(/password/i), "{password}", { replace: true, paste: true });

        // Submit
        await t.click(screen.findByRole("button", { name: /submit/i }));

        // Resize Window
        if (resized) {
            await t.resizeWindow(windowSize.width, windowSize.height);
        }
    }

    // Authorize our client application to access Pod resources
    const isAllowVisible:boolean = await screen.findByRole("button", { name: /allow/i }).visible;
    if (isAllowVisible) {
        await t
            .click(screen.findByRole("button", { name: /allow/i }));
    }

    // Has the application been opened?
    await t.wait(5000);
    await t.expect(screen.findByRole("heading", { name: /files/i }).visible).ok("");
});

Your complete configuration file
{
    "clientScripts": [
        { "module": "<EMAIL_ADDRESS>}
    ],
    "reporter": [
        {
          "name": "spec"
        }
    ],
    "debugMode": false,
    "debugOnFail": false,
    "stopOnFirstFail": false,
    "skipJsErrors": true,
    "skipUncaughtErrors": true,
    "concurrency": 1,
    "quarantineMode": {
        "attemptLimit": 3,
        "successThreshold": 1
    }
}

Your complete test report
 Running tests in:
 - Microsoft Edge 96.0.1054.62 / Windows 10

 Login
 × Login (screenshots:
 C:\GitHub\inrupt\PodBrowser-TestCafe\screenshots\2022-01-05_15-02-35\test-1\Microsoft_Edge_96.0.1054.62_Windows_10\errors\1.png)

   1) AssertionError: expected false to be truthy

      Browser: Microsoft Edge 96.0.1054.62 / Windows 10
      Screenshot:

   C:\GitHub\inrupt\PodBrowser-TestCafe\screenshots\2022-01-05_15-02-35\test-1\Microsoft_Edge_96.0.1054.62_Windows_10\errors\1.png

         80 |            .click(screen.findByRole("button", { name: /allow/i }));
         81 |    }
         82 |
         83 |    // Has the application been opened?
         84 |    await t.wait(5000);
       > 85 |    await t.expect(screen.findByRole("heading", { name: /files/i }).visible).ok("");
         86 |});
         87 |

         at <anonymous> (C:\GitHub\inrupt\PodBrowser-TestCafe\login.ts:85:78)
         at fulfilled (C:\GitHub\inrupt\PodBrowser-TestCafe\login.ts:5:58)

 1/1 failed (1m 31s)

Screenshots
No response
Steps to Reproduce

Create a PodBrowser account at https://signup.pod.inrupt.com
Update test code with {username} and {password}
Execute TestCafe test > testcafe chrome login.ts

TestCafe version
Using locally installed version of TestCafe. 1.18.1
Node.js version
v17.0.1
Command-line arguments
testcafe edge ./login.ts
Browser name(s) and version(s)
Microsoft Edge 96.0.1054.62
Platform(s) and version(s)
Window 10 Pro
Other
No response

I am having problems with this issue too. I am using the @openid/appauth package which by default uses localStorage to perform an authentication flow. My app starts on http://<IP_ADDRESS>:49782 and then redirects to a login page (on a different domain). The testcafe server is still on the same url. Then, when the login page redirects back to my app, the server is now on http://<IP_ADDRESS>:49783 so the data saved in localStorage upon login redirect can't be retrieved. Although hammerhead seems to do some proxying so that the "true" domain ends up in the key of the localstorage item and the items are scoped to the domain, none of this matters if the testcafe server changes ports.

Hi @justin-barca-at-camis
Thank you for the shared information. I've reproduced the issue.

Hi @miherlosev,
Good that you have been able to replicate. Before contacting you, I tried the suggestions in over tickets (.disablePageCaching, node --max-http-header-size=1024000 ./node_modules/testcafe/bin/testcafe.js chrome login.ts) but nothing seemed to work.
Any pointers/recommendations/suggestions would be appreciated.

@kevin-inrupt
At present, we haven't found the cause of the issue. So, we cannot share any workarounds. We will update this thread once we have news.


Xul missing bone armor skill

Xul missing bone armor skill

This is a hunting excercise as to why it's not showing up... sigh


change the color of the next button programmatically

Is it possible to change the color of the next button programmatically? Thank your for response.

Hi,
It's possible via ms_nextButtonColor. Please see e.g. the styled tabs layout XML in the sample app.

Hello, thank you for response, I have seen that it is possibile via XML, I would like to know that it is possibile programmatically.

Hi @mariaCP
Sorry, I missed that.
This is not actually possible currently but it was already requested in #132 which is still open.


instagram push notifications

Hi! Do you plan to release push receiver?

Hi
It's not to be bad if we have push notifications.
But I haven't enough time to read and implement it.

Hello @ahmdrz !
This is also a necessity I have (notifications).
Do you have any study material that I can implement in my free time?
I'm implementing a bot with your API and this will help me a lot.
I'm grateful and great work.

MQTT require for this option.


Low FPS causes player to phase through colliders

Low FPS behavior can be tested by setting the target framerate.
private void Awake()
{
  Application.targetFrameRate = 10;
}

I've been working on this today. I think I'll be changing the controller to be frame-dependent, similar to celeste.
A demo of the current frame-dependent version is here: https://tarodev.itch.io/ultimate-2d-controller-frame-dependent?secret=g7nlMP0Q4Duderm4UVuUUymOWnM
It works, but has a few bugs. Anyway, keeping open until solved.

Thanks for the information, I will try to figure it out for more.

A fair amount of work was involved and I've moved development of the project to Patreon


No console logging from the content script visible

When I try to run yarn dev and open the extension all I see in the log is "background loaded" and nothing from the content script, like "content loaded". Is it correct to expect "content loaded" to be logged and what could be the reason for it not to show? Thank you!

Oh, sorry, I missed the fact that the content scripts are not run in the context of the extension but on the web page in the open tab.


Modify version info

Improve version info because we are not using minor versions of Spark.

@zhexuany i think we can skip integration test for this pr.


Should "boolean" attributes on nodes explicitly extracted as props be booleans? (Functional Components)

Version
2.3.3
Reproduction link
https://jsfiddle.net/crswll/e7b5y5qr/1/
Steps to reproduce
Set a boolean attribute on a functional component.
<foo bool>
What is expected?
bool is true in context.props
What is actually happening?
bool is empty string '' in context.props

This seems correct but not sure. It's easily doable from my side but it might be worth considering or a bug?
I arrived at this situation because I'm messing around with CSS in JS options and it's expecting something like:
{
   mx3: true,
   p: 2,
}

From some markup like:
<foo mx3 :p="2"></foo>

I'm also curious about default units for numbers on certain properties passed to :style (React has default units I guess for certain properties? but that's for another issue)

I think this is expected behavior because you did not explicitly specify types for the prop, so no casting would be performed. This is consistent with stateful components where you declare a prop with any type.


Install ollama-grid-search as a module

I would like to install ollama-grid-search as a module in my main application. Could you please provide guidance or steps on how to achieve this?

I don't think so.

Can we use a command line to run the program and get the result, or we can only install it as an application and use it?

I like the idea, but for now it's only a standalone application.. if you call it from a command line you can see the "results" logged to the terminal (mostly left for debugging purposes), but there's no way to set the input arguments.
If you know Rust and you want something to get you started in that direction, please take a look at the old cli version:
https://github.com/dezoito/ollama-grid-search/tree/main/old

Alright, thanks for answering!


after resizing to cause navbar collapse then resizing back to standard, navbar dropdown ceases to work

Duplicate issue, already resolved in 2.0.2-wip.


fix(Icon): update the call-missed-line icon in Teams theme

Before

After

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