Install on GKE cluster

Hi folks,
I tried to play with the product and evaluate its developer experience, but unfortunately, I got stuck on the installation level. I tried to install it on the GKE cluster, first using AutoPilot, then Standard one. In both cases, helm found the following problems:

Volume size of 999Ti is not a valid value as it exceeds int64.
GKE's PersistentVolumeClaims don't operate in ReadWriteMany mode.

Is it a known issue with GKE and it isn't supported or should I adjust the cluster configuration somehow?
Kind regards,
Marcin
EDIT:
I quickly skimmed through the operator PR, but it looks like it's also affected by this issue.

Hi @mtojek, thanks a lot for your interest in Orchest! As you already saw, we are working hard on it and polishing the edges. There's some more context in #885 but the work is in #916 - we hope we can iron out the last rough edges in the coming days.

Hey @astrojuanlu, do you think that you will be able to solve these blockers for GCP deployment?

Hi @mtojek! I pinged the team to get a more qualified answer on that. In the meanwhile, notice that we merged the Orchest Operator already.

Hi @mtojek , Thanks for reaching out. we just released our Kubernetes Operator. We recommend installing orchest via orchest-cli, but unfortunately, it is not possible to change volume size with orchest-cli at the moment. but you can change the volume size by deploying [orchest-controller](https://docs.orchest.io/en/latest/getting_started/installation.html#deploy-orchest-controller) into your cluster and deploy orchest by creating a OrchestCluster CRD.
A sample orchest-crd can be found here: https://github.com/orchest/orchest/blob/orchest-crd-example-and-doc/services/orchest-controller/deploy/example/orchest.yaml
note: since the project is under heavy development, this approach is not recommended for stable deployment.

@nhaghighat I appreciate the heads up, but you didn't answer the original question: does this stack work in public cloud providers with managed k8s like GCP, AWS, and Azure? Have you verified and do you support orchest there?

Alright, that justifies all GCP issues I faced. I will keep an eye on the project :)

Relates to the more general issue of installing Orchest on a non-minikube cluster: #885. Happy to keep this open to track progress on GKE specifically :100:

With the merge of #1048 we now support running Orchest on GKE (will be as of release v2022.07.2) and installation instructions can be found in the docs.


Some Malayalam URLs are not accepted

http://lyricstranslate.com/en/someone-you-നിന്നെ-പോലൊരാള്.html is a correct URL but linkify-it cuts off the last characters. We are currently using markdown-it 3.1.0 for diaspora* which has no problems with this URL so I think this could be even a regression. (3.1.0 was the first version that used linkify-it)

You can use demo permalinks for simplicity: this example
You are right. Problem is in https://github.com/markdown-it/linkify-it/commit/2eaa49273163f4446849d97778747e2c3c7560ae. Adding Cf class to "bad chars" was a mistake, caused by my wrong understanding of unicode.
Thanks for good example! Feedback from you team helps a lot to polish markdown-it & linkify-it.

Awesome! Thank you for the quick response. :)

Wow man, that was quick!


docker-build fails to build

docker-build is failing with the following error:
$ make docker-build
go: creating new go.mod: module tmp
go: found sigs.k8s.io/controller-tools/cmd/controller-gen in sigs.k8s.io/controller-tools v0.2.6
/Users/manjunath/go/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" paths="./..."
go fmt ./...
go vet ./...
#/Users/manjunath/go/bin/controller-gen "crd:crdVersions=v1" rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases
/Users/manjunath/go/bin/controller-gen "crd:crdVersions=v1" rbac:roleName=manager-role paths="./..." output:crd:artifacts:config=config/crd/bases
go test ./... -coverprofile cover.out
?   	github.com/multicloudlab/cluster-api-provider-ibmvpccloud	[no test files]
?   	github.com/multicloudlab/cluster-api-provider-ibmvpccloud/api/v1alpha3	[no test files]
?   	github.com/multicloudlab/cluster-api-provider-ibmvpccloud/cloud/scope	[no test files]
ok  	github.com/multicloudlab/cluster-api-provider-ibmvpccloud/controllers	5.601s	coverage: 0.0% of statements
docker build . -t controller:latest
Sending build context to Docker daemon  377.3kB
Step 1/15 : FROM golang:1.13 as builder
 ---> d6f3656320fe
....
....
Step 10/15 : RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o manager main.go
 ---> Running in a5f471ef08e5
build command-line-arguments: cannot load github.com/multicloudlab/cluster-api-provider-ibmvpccloud/cloud/scope: cannot find module providing package github.com/multicloudlab/cluster-api-provider-ibmvpccloud/cloud/scope
The command '/bin/sh -c CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o manager main.go' returned a non-zero code: 1
make: *** [docker-build] Error 1

This fails because dockerfile is not copying the cloud directory, hence need to be fixed in the Dockerfile

This fails because dockerfile is not copying the cloud directory, hence need to be fixed in the Dockerfile


Kubernetes resource object types

This PR defines some interfaces for Kubernetes resources and collections, so that when we work with them (e.g. after loading them from JSON) we can work with them in a safer way.  It's motivated by having to hold 'what is this any representing... is it a Foo or some internal type containing interesting data from a Foo... what fields does it actually have... etc.' in my head.  The main additions are the resource interfaces themselves (which contain only the fields we're interested in, but that's okay, they don't need to be comprehensive) and the kubectl.asJson method which encapsulates the JSON parsing and type assertion (and should be used in preference to invokeAsync when we are requesting JSON for materialisation as an object).
These changes don't prevent maintainers from using any where appropriate - I just find that capturing resource shapes helps me to avoid errors and reason more efficiently.
Making these changes also revealed some cases where resource loading code wasn't dealing with the possibility of failure, e.g. kubectl errors; these have been fixed.

I've also used this to move the Errorable<T> interface out into its own module, because it's increasingly not bound to wizard scenarios.

LGTM.

Discussed -o json with @bnookala on Slack, and decided to skip this for now as it introduces too much complexity.  But we'll need to watch out for this when reviewing code that calls asJson and if it's an issue then maybe we'll need to tackle it.


runtime(vim): Update g:vimsyn_comment_string dump file tests

Update g:vimsyn_comment_string dump file tests.
Leading whitespace is no longer matched as part of the line comment as of #13936.

thanks!


Client keeps crashing

I'm using the npm tunnel mole client.
using this command:
npm install -g @thgh/tunnelmole && npx tunnelmole --set-api-key 123456789 && npx tunnelmole 32400 as sudomain.website.com

The service I'm proxying is Plex media server. After logging into my plex media server and redirected to home page, the client will just randomly crash.
/usr/local/lib/node_modules/@thgh/tunnelmole/node_modules/ws/lib/sender.js:116
keen_frances-localtunnel-1  |       throw new TypeError('First argument must be a valid error code number');
keen_frances-localtunnel-1  |             ^
keen_frances-localtunnel-1  | TypeError: First argument must be a valid error code number
keen_frances-localtunnel-1  |     at Sender.close (/usr/local/lib/node_modules/@thgh/tunnelmole/node_modules/ws/lib/sender.js:116:13)
keen_frances-localtunnel-1  |     at HostipWebSocket.close (/usr/local/lib/node_modules/@thgh/tunnelmole/node_modules/ws/lib/websocket.js:287:18)
keen_frances-localtunnel-1  |     at WebSocketCloseMessage (file:///usr/local/lib/node_modules/@thgh/tunnelmole/message-handlers.ts:28:38)
keen_frances-localtunnel-1  |     at HostipWebSocket. (file:///usr/local/lib/node_modules/@thgh/tunnelmole/src/tunnelmole.ts:98:9)
keen_frances-localtunnel-1  |     at HostipWebSocket.emit (node:events:526:35)
keen_frances-localtunnel-1  |     at Receiver.receiverOnMessage (/usr/local/lib/node_modules/@thgh/tunnelmole/node_modules/ws/lib/websocket.js:1068:20)
keen_frances-localtunnel-1  |     at Receiver.emit (node:events:514:28)
keen_frances-localtunnel-1  |     at Receiver.dataMessage (/usr/local/lib/node_modules/@thgh/tunnelmole/node_modules/ws/lib/receiver.js:517:14)
keen_frances-localtunnel-1  |     at Receiver.getData (/usr/local/lib/node_modules/@thgh/tunnelmole/node_modules/ws/lib/receiver.js:435:17)
keen_frances-localtunnel-1  |     at Receiver.startLoop (/usr/local/lib/node_modules/@thgh/tunnelmole/node_modules/ws/lib/receiver.js:143:22)

any idea why this is happening?

Hmm, I have had a similar issue. It's related to websocket support. There is a case where a websocket errors or times out and that error code number is not valid when replaying it on localhost. There is no way to trigger a "fake websocket error".
I think 1006 is the problematic error code, but maybe there are others?
https://github.com/thgh/tunnelmole-client/blob/4af0c873e4e9b700db601e4b6d8b6db64f1f98ca/message-handlers.ts#L28
The ws package uses this function:
https://github.com/websockets/ws/blob/d8dd4852b81982fc0a6d633673968dff90985000/lib/validation.js#L35-L44

just to add, my tunnel mole server is proxied by nginx-proxy-manager. and also enabled web socket support option in the hostname:

so I'm not sure if nginx-proxy-manager is also part of the cause or not.

@thgh can I ask if this is still a recurring issue? I'd like to give tunnel mole an another shot.

@WisdomSky  The main module for this project is at https://www.npmjs.com/package/tunnelmole. I would suggest changing to that one (npm install -g tunnelmole) and see if that resolves the issue.


calling focus() not work on material input

Describe the bug
The focus() method doesn't work for material input:
document.getElementById("minput").focus();
// OR
$("#minput").focus();

To Reproduce
https://codepen.io/taurenshaman/pen/oNbgjaQ
Expected behavior
Should set focus in JS code.
Screenshots
n/a
Desktop (please complete the following information):

OS: [Windows 10]
Browser [Opera 68, FireFox 76]
Metro Version v4.3.7

Additional context
n/a

$(function(){
  document.getElementById("minput").focus();
})

https://metroui.org.ua/configuring.html#_meta_options
Read about metro4:init:mode


fix: Copy to clipboard on the system message for paid expense copies negative amount

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/35375
PROPOSAL: https://github.com/Expensify/App/issues/35375#issuecomment-1916648702
Tests

Log in under your HT account - A
Send an IOU with any amount to Account B that you have access to
Log in under account B
Navigate to the conversation with account A
Open IOU Report Conversation
Turn off the internet
Pay for the IOU
Copy the system payment message "paid {currency} {amount} elsewhere"
Paste the copied message into the Compose Box
Verify that the system message is copied without the "-" sign in front of the currency

[x] Verify that no errors appear in the JS console

Offline tests

Same as above
QA Steps

Log in under your HT account - A
Send an IOU with any amount to Account B that you have access to
Log in under account B
Navigate to the conversation with account A
Open IOU Report Conversation
Turn off the internet
Pay for the IOU
Copy the system payment message "paid {currency} {amount} elsewhere"
Paste the copied message into the Compose Box
Verify that the system message is copied without the "-" sign in front of the currency

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/113963320/47f0b98b-dcb8-41af-be84-1484f3e3c8e1

Android: mWeb Chrome

https://github.com/Expensify/App/assets/113963320/51e07b81-4191-45c8-82e0-05619ab9e16a

iOS: Native

https://github.com/Expensify/App/assets/113963320/245f758e-dc12-4da0-b3c4-73684c21d044

iOS: mWeb Safari

https://github.com/Expensify/App/assets/113963320/fc116080-4b37-4b89-8eef-d9f12a80fc4b

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/113963320/aaaddfde-e1aa-4d5b-9d03-1a5fbf90269e

MacOS: Desktop

https://github.com/Expensify/App/assets/113963320/801852fa-558d-41c6-a979-4e1ea1f60e81

🚀 Deployed to staging by https://github.com/grgia in version: 1.4.44-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.44-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[MRP] Revamp functionality of "down"

Description
Changes:

Change mrp down to only target processes defined in the local msetup.py file
Add option mrp down --all to target all running processes
Fix issue where calling down on child processes would cause pytest to output errors

Type of change
Please check the options that are relevant.

[ ] Bug fix (non-breaking change that fixes an issue)
[x] Proposes a change (non-breaking change that isn't necessarily a bug)
[ ] Refactor
[ ] New feature (non-breaking change that adds a new functionality)
[ ] Breaking change (fix or feature that would break some existing functionality downstream)
[ ] This is a unit test
[ ] Documentation only change
[ ] Datasets Release
[ ] Models Release

Type of requested review

[x] I want a thorough review of the implementation.
[ ] I want a high level review.
[ ] I want a deep design review.

Before and After
If this PR introduces a change or fixes a bug, please add before and after screenshots (if this is causes a UX change) or before and after examples(this could be plain text, videos etc ) to demonstrate the change.
If this PR introduces a new feature, please also add examples or screenshots demonstrating the feature.
Testing
Added test file tests/cmd/test_down.py
Checklist:

[x] I have performed manual end-to-end testing of the feature in my environment.
[x] I have added Docstrings and comments to the code.
[ ] I have made changes to existing documentation where needed.
[x] I have added tests that show that the PR is functional.
[x] New and existing unit tests pass locally with my changes.
[x] I have added relevant collaborators to review the PR before merge.
[ ] [Polymetis only] I ran on hardware (1) all scripts in tests/scripts, (2) asv benchmarks.

Concerns

I modified up.py to use os._exit() instead of sys.exit() in the child processes so it doesn't trigger cleanup handlers from pytest, which I'm suspecting is detecting the system exits and generating pytest errors due to that. However, I am unsure whether or not this will have side effects. Ideally I would want to make changes that only affects pytest, but I don't have a good way of doing that now.
In test_down.py I manually removed a process from process_def.defined_processes to emulate launching the process from a separate msetup.py file. Not sure if this is a good way to do it.


Add prefix to all rest calls

Is there an easy way to have a prefix added to all rest calls?
/endpoint -> /prefix/endpoint

Is there a hard way?

Well I don't know if this is the "correct" way but this worked if others want to know (referencing https://entgo.io/blog/2022/02/15/generate-rest-crud-with-ent-and-ogen/#add-custom-endpoints ):
oas, err := entoas.NewExtension(
		entoas.Spec(spec),
		entoas.Mutations(func(graph *gen.Graph, spec *ogen.Spec) error {
			p := make(ogen.Paths)
			for k, v := range spec.Paths {
				p["/rest"+k] = v
			}
			spec.Paths = p
			return nil
		}),
	)
	```
will prefix `/rest` to the endpoint


Problems with sensor.v2c_precio_luz integration in dashboard.

Hi,
I've just intalled a few day V2C Trydan and i'm using you integration but i found a problem with one sensor (sensor.v2c_precio_luz) it haven´t any value and give me error in card. I had PVPC integration from before and i can see that sensor.pvpc (entity) is working well.

In fact, when i push to configure integration only permit to introduce two values: KWh/100km and sensor.pvpc, but never appears Battery Car in KW.

Thanks for your help
Ricardo

Hi, after published this issue i could see that sensor.v2c_precio_luz could be resolved wieh changing sensor.pvpc by sensor.esios_pvcp, i tried but in my case only have this fon pvpc integration.

Thanks in advance,
Ricardo

This entity requires you to install https://github.com/danimart1991/pvpc-hourly-pricing-card

Hi,
I could.funaly obtain price because I have too many months ago PV2C installed.
After restart HA twice I could get it.
Now after two days I can see that price goes to fail again.

As you can see I have received data.for two days but now it's down again.

And as you can see pvpc is up.

Thanks for help.
Br
Ricardo

Hi,
I've just configured the componen again and restart and goes.ok.

You can close this issue and thanks for your help.
Br
Ricardo

No problem. Sorry I didn't help so much


Build failure: vmware-workstation

Steps To Reproduce
Steps to reproduce the behavior:
  virtualisation = {
    vmware = {
      host.enable = true;
      host.package = pkgs.vmware-workstation.override { enableMacOSGuests = true; };
    };
  }

Build log
error: builder for '/nix/store/pjhjib32y3id5zczwnkbqwww1a86hq0h-vmware-workstation-17.0.0.drv' failed with exit code 1;
       last 10 log lines:
       > searching for dependencies of /nix/store/8x0n164qxfc11p5b2fb6nhx8byqkv127-vmware-workstation-17.0.0/bin/vmnet-netifup
       > auto-patchelf: 3 dependencies could not be satisfied
       > error: auto-patchelf could not satisfy dependency libcrypt.so.1 wanted by /nix/store/8x0n164qxfc11p5b2fb6nhx8byqkv127-vmware-workstation-17.0.0/lib/vmware-ovftool/libvmacore.so
       > error: auto-patchelf could not satisfy dependency libcrypt.so.1 wanted by /nix/store/8x0n164qxfc11p5b2fb6nhx8byqkv127-vmware-workstation-17.0.0/lib/vmware-vix/Workstation-17.0.0/64bit/libvix.so
       > error: auto-patchelf could not satisfy dependency libcrypt.so.1 wanted by /nix/store/8x0n164qxfc11p5b2fb6nhx8byqkv127-vmware-workstation-17.0.0/bin/vmware-authd
       > auto-patchelf failed to find all the required dependencies.
       > Add the missing dependencies to --libs or use `--ignore-missing="foo.so.1 bar.so etc.so"`.
       > /nix/store/sw36plhp82916wwg6i6097rkzza7d950-stdenv-linux/setup: line 79: pop_var_context: head of shell_variables not a function context
       > /nix/store/sw36plhp82916wwg6i6097rkzza7d950-stdenv-linux/setup: line 1457: pop_var_context: head of shell_variables not a function context
       > /nix/store/sw36plhp82916wwg6i6097rkzza7d950-stdenv-linux/setup: line 1594: pop_var_context: head of shell_variables not a function context
       For full logs, run 'nix log /nix/store/pjhjib32y3id5zczwnkbqwww1a86hq0h-vmware-workstation-17.0.0.drv'.
(use '--show-trace' to show detailed location information)

Additional context
Add any other context about the problem here.
Notify maintainers

@cawilliamson @deinferno
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.2.8, NixOS, 23.05 (Stoat), 23.05.20230324.a64e169`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.3`
 - channels(root): `"home-manager, nixos"`
 - nixpkgs: `/nix/store/yrm0pxss7blbv6fnbq0i30dpjzlcnmz5-source`

Duplicate of #223476.


Typo: Chapter 4, page 77, Using our components library

Step 6 has a typo:

Open Router.razor.

It should be Open Routes.razor.

Agreed =)


nixos/test-instrumentation: use full path to env

It is sometimes useful to have a seprate /usr partition to make systemd tools happy (e.g. repart, sysupdate, gpt-auto-generator etc.). The test script should not depend on usrbinenv to make this possible.
Description of changes

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/)
24.05 Release Notes (or backporting 23.05 and 23.11 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.

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

@nikstur any nixos installation is going to have /usr/bin/env, isn't it? The fact that it's on a separate partition doesn't matter.

Not necessarily. When you put the Nix store on /usr (and then bind mount it to /nix/store), you wouldn't really have /usr/bin/env. Admittedly, this is about appliance images but I think there's enough people that use that in the NixOS world nowadays.


Remove the Neovim 0.5.0 nightly references from the README

Neovim 0.5.0 is no longer a nightly build, so this PR updates the README to remove the nightly references.

That's great and allows to test out this extension much more easily. If anybody wants to blog about this wonderful extension, now is the time (obviously I'm talking to myself as well).


About Data Grid Of Datasource

Hello,
There are one BUG and one question about data grid of datasource.
After creating a datasource , and enter the data grid tab of it.
The bug is : i've clicked the button of ascending order, but get the unexpected result:

And the question is: when i use the 'search data' for this data grid, which column would be searched?

Is it a bug?

@BookXHD Sorry to the late reply.

Yes! the sort function is a bug. We will fix soon..
'search data' function allows you to search only the data displayed on the grid.

Yes! the sort function is a bug. We will fix soon..

@BookXHD When I check again, the sort function seems to work well.
Could you check it again? If it does not work, I'd like you to give me more information about what version you are using and what the operating environment is like.

@kyungtaak I've checked it, but it still show the wrong sort.I just pull the code in the night on Apr 25, and the browser i am using is Chrome, the operating environment is macOS Mojave 10.14.4. And i think the function of sorting is provided in front ,but not the backstage server, am i right?

@BookXHD That's right. The sort function in the grid is to work in fronted.
I checked the bug case. And I'll fix this bug (#1966) soon,  Thank you for your report. :)

@kyungtaak ok, thank you!

@BookXHD fixed bug :) please check #2004 pr.

@kyungtaak copy that!


User profile page.

This project must implement a profile page where the user will be able to change their password and avatar image.

Solved by PR #69.


Grading: "Save" allows students to access unfinished grades

Sometimes, grading can take a while or involve multiple graders, and graders will save their work to the database to resume grading at a later time. However, this actually exposes the unfinished work to the students as well.
They may get confused when their grades change constantly, so making grades available for students to view should feel more permanent, especially with the notification system. Once the grades are made available for view by the students, changes should only be made if there is a good reason to, like to fix mistakes or to carry out changes in the marking scheme
Refer to the discussion on pull request #789 and issue #739

Correct. The team discussed this and decided that we keep the commenting simple for now, and revisit this after Sem 1 AY2019/20. So we'll mark this issue as _postponed.


proposal: return func() from defer for early execution

I often find I'd like to use defer in the middle of a larger function. My options are either to split the functionality out into a smaller function, or duplicate the code I'd like to defer:
// ...
file, err := os.Create(foo)
if err != nil {
	return err
}
if _, err := file.Write(bar); err != nil {
	file.Close()
	return err
}
if _, err := file.Write(baz); err != nil {
	file.Close()
	return err
}
file.Close()
// ...

I propose that defer should return a func(). When called, it will execute the deferred code, and prevent it from being executed when the function returns.
This will make the code clearer, and would remain backwards compatible:
// ...
file, err := os.Create(foo)
if err != nil {
	return err
}
close := defer file.Close()
if _, err := file.Write(bar); err != nil {
	return err
}
if _, err := file.Write(baz); err != nil {
	return err
}
close()
// ...

You can defer in the middle of a larger function like this:
// ...
func() error {
	file, err := os.Create(foo)
	if err != nil {
		return err
	}
	defer file.Close()
	if _, err := file.Write(bar); err != nil {
		return err
	}
	return nil
}()
// ...

This would effectively mean that defers should be expressions instead of statements, which is a pretty substantial change to the language. You'd also lose consistency with go statements, unless you'd make those expressions too.
Also note that defers stack, yet your proposal is for one returned func per defer. If you wanted to do multiple defers with the returned funcs, you'd have to add the boilerplate for keeping all of the funcs and calling them.

@faiface yes and I've used that pattern a couple of times, but it doesn't feel great to be bundling things up in a closure just so I can use defer...

I often stumble upon the same problem and either split my function into a couple of smaller ones or extract a couple of lines into closure. But I'm not so sure this warrants a change to defer.
One could argue that the mere fact that you need that kind of change indicates a problem with the code. And, instead of making elaborate tricks with defer, it would be much clearer to extract a helper routine.
Either way, your solution raises a lot of design and implementation questions some of which @mvdan already pointed out.

To add to @faiface's point of splitting into two funcs or adding an anonymous function; I believe this all comes down to avoiding large blocks with lots of unnecessary variables in the scope. Even if you could "activate" that defer early in the original example, the rest of the block would still have the file in scope, which is never a good thing.

If we write this package:
package defer

func Once(f func()) func() {
	done := false
	return func() {
		if !done {
			f()
			done = true
		}
	}
}

then you can write your code as
// ...
file, err := os.Create("/tmp/xy")
if err != nil {
	return err
}
close := defer.Once(func() { file.Close() })
defer close()
if _, err := file.Write([]byte("a")); err != nil {
	return err
}
if _, err := file.Write([]byte("b")); err != nil {
	return err
}
close()
// ...

which requires one extra line, and requires an explicit func, but all-in-all does not seem so bad.

That looks like a reasonable suggestion. I'll close this issue. Thanks @ianlancetaylor !


Bluetooth beaconing on XML?

New versions of MTR has make "Bluetooth beaconing" available the devices. But how this is covered by the XML? You have the following attribute:
BluetoothAdvertisementEnabled
Is this for bluetooth beacoming or something else? If tha is, then how we could control the checbox?

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

ID: 25a70665-5bf1-14f7-1df0-7596effcaf48
Version Independent ID: 813cf005-2777-9419-d1ce-3f9401ac267c
Content: Remotely manage Microsoft Teams Rooms device settings - Microsoft Teams
Content Source: Teams/rooms/xml-config-file.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@Petri-X thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

Sorry @scanum, cannot agree you. There is no issue on the product. This was simple question of which one of the XMLs control the bluetooth beaconing.
I'm a bit confused, if you do not know how the product is working, but you are still writing these documents?
Correct me if I'm wrong, you are asking me to pay money for support requests about something which then I'm giving the results to you as free of charge?


UaSettings start function not working, getting error in android device and emulator also

Level.error websocket_interface.dart:104 ::: NoSuchMethodError: The getter 'closeCode' was called on null.

Can provide more logs？

[2019-12-26 19:08:02.908] Level.info websocket_dart_impl.dart:21 ::: connect wss://devproxy01.buniapp.com:443/ws, {Sec-WebSocket-Protocol: sip}, null
I/flutter (10480): [2019-12-26 19:08:08.157] Level.error websocket_interface.dart:104 ::: NoSuchMethodError: The getter 'closeCode' was called on null.
I/flutter (10480): Receiver: null
I/flutter (10480): Tried calling: closeCode
I/flutter (10480): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
I/flutter (10480): #1      WebSocketImpl.connect (package:sip_ua/src/websocket_dart_impl.dart:37:28)
I/flutter (10480):
I/flutter (10480): #2      WebSocketInterface.connect (package:sip_ua/src/websocket_interface.dart:99:22)
I/flutter (10480): #3      Transport.connect (package:sip_ua/src/transport.dart:132:19)
I/flutter (10480): #4      UA.start (package:sip_ua/src/ua.dart:166:23)
I/flutter (10480): #5      SIPUAHelper.start (package:sip_ua/src/sip_ua_helper.dart:197:16)
I/flutter (10480): #6      _SIPRegisterState.registrationProcess (package:sipcalling/registerAccount.dart:139:12)
I/flutter (10480): #7      _SIPRegisterState._handleSave (package:sipcalling/registerAccount.dart:114:4)
I/flutter (10480): #8      _SIPRegisterState.buildRegisterBody. (package:sipcalling/registerAccount.dart:317:36)
I/flutter (10480): #9      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:706:14)
I/flutter (10480): #10     _InkResponseState.build. (package:flutter/src/material/ink_well.dart:789:36)
I/flutter (10480): #11     GestureRecognizer.invokeCallback (package:flutter/src/gest
I/flutter (10480): [2019-12-26 19:08:08.160] Level.error websocket_interface.dart:178 ::: WebSocket wss://devproxy01.buniapp.com:443/ws error: NoSuchMethodError: The getter 'closeCode' was called on null.
I/flutter (10480): Receiver: null
I/flutter (10480): Tried calling: closeCode
NOTE: Same code working in iOS  but not working in Android.

Got socket connection failed in Android but in iOS working good. below method called when socket is connected
this.onClose(_socket.closeCode, _socket.closeReason);

Looks like a bug.

@cloudwebrtc please update on this.

@cloudwebrtc please update

I am getting same error in Android. @cloudwebrtc please update on it.

CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:354))

Hello, I am facing the exact same problem with my android emulator. Was the problem fixed? and if so my someone please assist


Create a landing page

Hello, I'm a GSSOC'24 contributor
In this issue we can create a landing page where it ask for players name, language and play option.
We can also add some thrill animation and then enter the game.

Hi @Riddhi162 , I would like to work on this issue under GSSOC'24.

Hey, I would like to work on the same. Can you please assign this to me.

Hello, I'm a GSSOC'24 contributor
I would like to work on the same. Can you please assign this to me.

Kindly assign me this issue ,I can contribute to this

i would like to resolve this issue

Hello, I'm a GSSoC'24 contributor
Please label this. I am confident that I can successfully attempt to resolve the issue so I'd request you to assign it to me.

I would like to work on this issue as a contributor to the GSSOC. please assign this to me!
I have relevant skills that definitely help to enhance the website.


Prompt user for a reason to exclude an article from a collection

On the UI, create a prompt asking for a reason when a user excludes an article from a collection. Make necessary backend changes.

Done!

Whoops, wrong issue. lol

Ok, now its really done:
once added, you see this

once you type in a reason, the button is enabled

@neelsomani @Sharabesh i'll need an endpoint to feed this through. We'll probably want to save this info in the github, since its user specific


Follow button has the wrong link for redirects

The follow button does not work for redirected instances as the URL is constructed incorrectly.
client.js builds the authorize_interaction URL in the followButton() function at https://github.com/lucahammer/fedifinder/blob/main/public/client.js#L248-L258.
That function is called in https://github.com/lucahammer/fedifinder/blob/main/public/client.js#L319 with the instance parameter set to the domain of the user_handle.
In case of a redirected domain, this is incorrect however.
The solution is probably to not use user_handle.split("@")[2] but instead use domains[user_handle.split("@")[2]].local_domain to fetch the right data.

Sorry for the misunderstanding. I thought you meant the follow in the other direction.
At the moment the user domain isn't included with all domains. I will have to change that for your PR to work.


fix verion typo

WHY are these changes introduced?
Fixes #0000

WHAT is this pull request doing?

HOW to test your changes?

Post-merge steps

Checklist

[ ] I've read the Contributing Guidelines
[ ] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've added a changeset if this PR contains user-facing or noteworthy changes
[ ] I've added tests to cover my changes
[ ] I've added or updated the documentation

@dvnrsn could you please sign the CLI, follow the instructions here: https://cla.shopify.com/

Yeah sorry. I signed but am unable to retrigger

Hi @dvnrsn I re-trigger the check but it doesn't look like your CLA was register.
Do you want to try again. I can merge without it if you are ok with that.

Weird, it tells me GitHub username has already signed a CLA but yeah this is kind of trivial; you can add it to one of your other PRs or merge it.


Refactored useSpringScroll to remove unnecessary uses of useMemo

This is not super important, but while trying to fix something else (I'll open up an issue for it later) I came across this piece of code which I thought would be a little more legible like this.

Thanks for this @rijk, and sorry for the delay in getting back to you on the issues I saw you opened - been swamped with work...
I'll be looking at it all next week 👍

@breadadams looks good to me... there aren't complex calculations to need useMemo

Btw @rijk if you want to provide an email/website we can get you in the package.json contributors list 🙂, or feel free to open a PR with it yourself.

Oh, it's not necessary for me, but  you can use<EMAIL_ADDRESS>if you want


genymotion: 2.8.0 -> 3.2.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/genymotion/versions.
meta.description for genymotion is: "Fast and easy Android emulation"
meta.homepage for genymotion is: "https://www.genymotion.com/"
meta.changelog for genymotion is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/zg7f6lbzj1jf0x99xgwiksabchac70f7-genymotion-3.2.1/bin/genymotion passed the binary check.

Warning: no invocation of /nix/store/zg7f6lbzj1jf0x99xgwiksabchac70f7-genymotion-3.2.1/bin/player had a zero exit code or showed the expected version

0 of 2 passed binary check by having a zero exit code.

1 of 2 passed binary check by having the new version present in output.

found 3.2.1 with grep in /nix/store/zg7f6lbzj1jf0x99xgwiksabchac70f7-genymotion-3.2.1

found 3.2.1 in filename of file in /nix/store/zg7f6lbzj1jf0x99xgwiksabchac70f7-genymotion-3.2.1

directory tree listing: https://gist.github.com/1d94bb8a0ee407ce350245329f2401ef

du listing: https://gist.github.com/a3385d0cb0b55578cba22de0fa2b011d

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

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
genymotion

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/zg7f6lbzj1jf0x99xgwiksabchac70f7-genymotion-3.2.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/zg7f6lbzj1jf0x99xgwiksabchac70f7-genymotion-3.2.1
ls -la /nix/store/zg7f6lbzj1jf0x99xgwiksabchac70f7-genymotion-3.2.1/bin

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

1 package built:

genymotion

Maintainer pings
cc @puffnfresh for testing.

./results/genymotion/bin/genymotion
./results/genymotion/bin/genymotion: error while loading shared libraries: libsystemd.so.0: cannot open shared object file: No such file or directory

Result of nixpkgs-review pr 133050 at da800123 run on x86_64-linux 1

1 package built successfully:

genymotion

3 suggestions:

warning: build-tools-in-build-inputs
which is a build tool so it likely goes to nativeBuildInputs, not buildInputs.
Near pkgs/development/mobile/genymotion/default.nix:22:3:
   |
22 |   buildInputs = [ which xdg-utils ];
   |   ^

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/development/mobile/genymotion/default.nix:36:3:
   |
36 |   installPhase = ''
   |   ^

warning: fixup-phase
fixupPhase should not be overridden, use postFixup instead.
Near pkgs/development/mobile/genymotion/default.nix:42:3:
   |
42 |   fixupPhase = ''
   |   ^

this version needs more libs in the lib path...
libXrender
fontconfig.lib
freetype
systemd

by adding these to the "packages" list used for making "libpath" (and into the import on the top), you can make this version work
First time ever trying something like this, I didn't even knew anything about binaries.
spent all night, learning everything related and got it fixed
Hope this helps...

this version needs more libs in the lib path...
libXrender
fontconfig.lib
freetype
systemd
libpulseaudio

by adding these to the "packages" list used for making "libpath" (and into the import on the top), you can make this version work First time ever trying something like this, I didn't even knew anything about binaries. spent all night, learning everything related and got it fixed
Hope this helps...

Nice, thanks.

@Dulanjala007 can you check again if it now works correct?

@Dulanjala007 can you check again if it now works correct?

tested this locally adding it to my config directly importing into packages, not the proper way..
so i can't test this pull, sorry...

you can test it with https://nixos.wiki/wiki/Nixpkgs/Reviewing_changes#Packages or nixpkgs-review

but if it worked for you the way you did it then this pr should work too ( it launches for me but i dont have virtualbox)

but if it worked for you the way you did it then this pr should work too ( it launches for me but i dont have virtualbox)

i added this pull as a flake input and added to nixpkgs via overlays, installed correctly.
but there's an issue with the virtualbox, saying :- Xlib:  extension "NV-GLX" missing on display ":0"
there was many conflicts in opengl version and other .so files
so I added the "virtualbox" from the same repo of the pull to the overlays, and rebuild the system,
so the virutualbox also updated
there was so many changes to system, after a restart..
Genymotion works with no issues, emulator start correctly  :smile:


[Text Analytics] Regeneration with the updated Swagger v3.1.0-preview.1

Could you update the changelog too?

@maririos I believe I addressed all your comments and we had an offline discussion around them. I will go ahead and merge this PR now.


Is it possible to show more comparison with o1-preview . in coding and agentic actions?

I mean , the latest claude 3.5 sonnet, in 2024-10-22
Can more official comparison be shown , in this format


[VL] Link lib gluten to arrow's static libraries

Removes linking libvelox.so with arrow libs, which is useless.
With static arrow libs linked, no need to keep lib arrow & lib parquet in Gluten Jar.

Perf regression observed

/Benchmark Velox

Perf regression observed

@FelixYBW, seems the regression is caused by other code or some other test factors. After code rebase, TPCH's perf. is 1067.17s now.

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_6231_time.csv
log/native_master_07_01_2024_5d6d214f0_time.csv
difference
percentage

q1
37.90
34.57
-3.329
91.22%

q2
23.78
23.98
0.204
100.86%

q3
41.34
39.13
-2.209
94.66%

q4
32.72
32.81
0.087
100.26%

q5
71.63
70.64
-0.997
98.61%

q6
9.98
8.16
-1.823
81.74%

q7
81.96
83.92
1.957
102.39%

q8
85.51
85.80
0.283
100.33%

q9
118.33
120.92
2.593
102.19%

q10
44.73
46.13
1.406
103.14%

q11
19.86
21.88
2.019
110.17%

q12
26.51
25.17
-1.348
94.91%

q13
38.53
41.24
2.702
107.01%

q14
18.19
20.05
1.869
110.28%

q15
32.32
33.15
0.821
102.54%

q16
14.35
13.35
-1.001
93.02%

q17
104.86
104.45
-0.415
99.60%

q18
148.35
148.04
-0.310
99.79%

q19
14.90
13.81
-1.093
92.66%

q20
29.51
27.79
-1.716
94.18%

q21
266.60
266.41
-0.194
99.93%

q22
12.63
13.75
1.119
108.86%

total
1274.52
1275.14
0.624
100.05%

Observed some issues in dynamic build after this change
[ 69%] Linking CXX executable BenchmarkCompression
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4_compress_default'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `ZSTD_initCStream'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `ZSTD_freeCStream'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_compressBound'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4_compress_HC'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_compressFrame'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_compressFrameBound'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_flush'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `inflateInit2_'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `ZSTD_minCLevel'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_createDecompressionContext'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_freeCompressionContext'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_decompress'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_getErrorName'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `ZSTD_maxCLevel'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `ZSTD_createCStream'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_compressBegin'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4_decompress_safe'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `ZSTD_getErrorName'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `inflate'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_isError'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_resetDecompressionContext'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_createCompressionContext'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `ZSTD_endStream'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4_compressBound'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `LZ4F_compressionLevel_max'
/usr/bin/ld: ../../releases/libgluten.so: undefined reference to `ZSTD_compressBound'

The build command used is
dev/builddeps-veloxbe.sh --build_type=RelWithDebInfo --build_tests=ON --build_benchmarks=ON

@PHILO-HE Update, if I change to  --build_tests=OFF --build_benchmarks=OFF then compilation could succeed.

@PHILO-HE Update, if I change to  --build_tests=OFF --build_benchmarks=OFF then compilation could succeed.

@zhztheplayer, thanks for your feedback!  Looks the main branch doesn't pass it.

@PHILO-HE can you confirm if BUILD_TYPE=relWithDebInfo is passed to Arrow when you build arrow? Looks the main branch doesn't pass it.

@FelixYBW, currently, we always build arrow with Release type, assuming generally no need to align the build type with main project. Hongze has helped fixed some issues related to thrift. And now both arrow/velox can use system installed arrow libs. If you have any issue, please let me know.


How do I preview pdf using tinymist in neovim?

I have configured tinymist in neovim and the Hover and snippets are working. But I cannot figure out how to preview my pdf using tinymist like I can do in vscode?

set export mode to onType and open the exported pdf in your the favorite viewer.

It already is set to onType but isn't working apparently. Also does this mean that there's no scrollsyncing like in the vscode extension?

It already is set to onType but isn't working apparently.

I don't know it and there is no related report since recent months. If there is a bug please send the concrete log.

Also does this mean that there's no scrollsyncing like in the vscode extension?

For pdf preview, no. But you could set up https://github.com/chomosuke/typst-preview.nvim.

I followed the config suggestions provided (by the author)[https://github.com/Myriad-Dreamin/tinymist/blob/main/editors/neovim/README.md#configuring-lsp-server] with lazyvim, and it turns out that the setting in settings = {...} is not read by the language server at all

I can confirm that the settings from lspconfig is not read by tinymist server.

I tested with a vanilla lazyvim with exact same setup as documentation, but I add some log after initialization for tinymist, while the exportPdf setting is always set to "never"

I tested with a vanilla lazyvim with exact same setup as documentation, but I add some log after initialization for tinymist, while the exportPdf setting is always set to "never"

What's your config like? I managed to get it to work.

I followed this setting and tinymist is definitely attached, but it is still not working. but I guess there is something wrong with lazyvim or my sesttings, as I can make it work in a lunarvim setup

I realized that is was my ufo config conflict with it, it is totally my fault, sorry for taking your time, please ignore eveything from me

they are already here: https://myriad-dreamin.github.io/tinymist/frontend/neovim.html#label-Configuring LSP Server.


typeof Foo['bar'] has strange precedence

Type queries combined with indexed access types currently produce a parse tree that is surprising in its behavior.
One would think that typeof Foo['bar'] would be parsed as typeof (Foo['bar']), which would really be something like typeof Foo.bar.
That's not the case. It's actually parsed as (typeof Foo)['bar'].
Conveniently, it seems that semantically (when type-checking) these are identical, but it seems strange for syntactic consumers. Do we believe this is currently working as intended?

It should have the same precedence as in an expression. but this is a breaking change, and so far there is no functional impact of this on the output. marking it as a revisit for now.

Seems too late to change this now.

Worth reconsidering in my opinion https://github.com/microsoft/TypeScript/issues/44857
I kind of doubt anyone would be broken by this change.

I remember discovering this a while back and was quite surprised that the relative precedence for typeof vs. [] in a type context was the exact opposite of runtime typeof.
Worth noting though that I’ve seen a lot of examples given out on Gitter and Discord that freely do stuff like typeof Class["prop"], which is how I found out about the odd precedence in the first place.  I prefer to add parentheses to minimize confusion, but from what I’ve seen, it is likely to be a breaking change if the precedence is changed now.

Seems easy enough to make this change and compile tonnes of code to see what the rates of breaks is.

TypeQuery is parsed as EntityName. Therefore, currently we can only use the following names in TypeQuery: a (Identifier), a.b (QualifiedName).
https://github.com/microsoft/TypeScript/blob/ef9fd97e4dbcc0a26fa5bac7007e8bfa594ccccd/src/compiler/parser.ts#L3078-L3081
@DanielRosenwasser Do we need to parse it as an expression?
/cc @sandersn @RyanCavanaugh

TypeQuery is parsed as EntityName. Therefore, currently we can only use the following names in TypeQuery: a (Identifier), a.b (QualifiedName).
https://github.com/microsoft/TypeScript/blob/ef9fd97e4dbcc0a26fa5bac7007e8bfa594ccccd/src/compiler/parser.ts#L3078-L3081
@DanielRosenwasser Do we need to parse it as an expression?
/cc @sandersn @RyanCavanaugh

TypeQuery is parsed as EntityName. Therefore, currently we can only use the following names in TypeQuery: a (Identifier), a.b (QualifiedName).
https://github.com/microsoft/TypeScript/blob/ef9fd97e4dbcc0a26fa5bac7007e8bfa594ccccd/src/compiler/parser.ts#L3078-L3081
@DanielRosenwasser Do we need to parse it as an expression?
/cc @RyanCavanaugh


InsertAsync throws an exception

Hi,
I'm getting an exception while trying to insert and record. It's inserts records into DB but also throws an exception as "Null object cannot be converted to a value type".
Exception Detail:
Error parsing column 0 (Id=)
I'm using MSSql .net core 3.1. The table has the only Name and Id fields Id is guid and creates by DB. (newid())
Dapper v.2.0.78
MicroOrm.Dapper.Repositories v.1.15.0
`
[Table("Test")]
public class Test : BaseKeyEntity
{
[Column(nameof(Name))]
public string Name { get; set; }
}
public class BaseKeyEntity
{
[Key, Identity]
[Column(nameof(Id))]
public virtual Tkey Id { get; set; }
}
Service method:
public async Task CreateAsync(TestDto test)
{
var testEnt = new Test() { Name = test.Name };
await _dbContext.TestRepository.InsertAsync(testEnt);
return testEnt;
}
Repo class:
public class TestRepository : RepositoryBase, ITestRepository
{
public TestRepository(IDbConnection connection) : base(connection)
{
}
}
`

I do not think get a GUID from the database is possible. SCOPE_IDENTITY or @@IDENTITY can give you the last identity(int) used based on the counter but as GUID is completely random, it may not be possible.
Not sure if you've an option to redesign your dB but I would either make my client app create a new GUID and save to the dB or have another unique key in the table and return that instead.

@harshitgindra Adding a SELECT SCOPE_IDENTITY(); in the insert query works like a charm. Returns a inserted record GUID.

@CnytSntrk
Can you share a sample? I tried few things but I wasn't able to get the GUID back.
Here's what I tried
Table structure
CREATE TABLE dbo.TestGuid
(
    TestGuidId UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWSEQUENTIALID(),
	Name NVARCHAR(100) NOT NULL,
	CreatedOn DATETIME2 DEFAULT (GETDATE())
);

Insert script
INSERT INTO dbo.TestGuid( Name)
VALUES( 't')
SELECT SCOPE_IDENTITY();

When I run the insert script, I do not get back the GUID.
If suggest if there's anything I can do to my table structure or insert script to get the guid back.
Thanks in advance.

@harshitgindra Hi sorry i forgot tell you. I also added  OUTPUT inserted.Id  before VALUES word
Query should be like
INSERT INTO dbo.TestGuid( Name)
OUTPUT inserted.Id
VALUES( 't')
SELECT SCOPE_IDENTITY();
I can share my GenericRepo if needed

Ahh ! Got it...
That makes sense.. By adding output, it worked for me as well.
Thanks for the clarification and sharing the example.

@harshitgindra your welcome sir

@harshitgindra Is this still problem? Can we close it?


Add recon / personal data link collection

https://computercrimeinfo.com/cleaningid.html

http://www.social-engineer.org/


Allow extensions to participate in file rename/move operations

Many languages import files by filename:
import "myfile.dart";

If a user renames this file using explorer, the code references to it become broken and need fixing up. The Dart language server has support for returning the code edits required during a file rename to avoid this. As far as I can see there isn't an API for this yet.
I think could be useful for many languages (Dart, JS, TS, maybe even HTML's script tags/link tags!).

Do you want to be part of the rename-file-command or just have an event/file-event that tells you something has been renamed?

Based on the language server docs:

The refactoring must be activated before an actual file moving operation is performed.

I guess I'd need to know before it happened (I guess once the rename has happened, it may not be able to figure out the changes required). The API in theory could return errors, so it may be worthwhile allowing cancellation of it with some sort of message, though I don't know whether that's actually a possibility in the implementation (their MOVE_FILE is part of a refactor API which handles other things so the API is somewhat generic).

Thanks for clarifying - I have updated the title accordingly

I'd say we should only handle renames in the explorer

This sounds reasonable to me; however to handle this for Dart we really need to be called before the rename occurs; onDidRenameFile will be too late.

I'd say we should only handle renames in the explore and not try to handle renames outside of the editor or try making this API part of the FileWatcher.

Agreed, but going a step further to say this is shouldn't be depend on events at all. When moving a file (via whatever user-gesture) we should now that there is a move/rename participant that we need to involve in the process. And it should probably not be the default (or behind a prompt) so that you still move a file without the smarts

Related to #24846

A few thoughts on possible API designs:
Event
export interface ResourceRenamedEvent {
	readonly oldResource: Uri;
	readonly newResource: Uri;
}

export namespace workspace {
	export const onDidRenameResource: Event<ResourceRenamedEvent>;
}

Simplest. Allow an extension to be notified after the rename has occurred (thus not solving the dart requirement). Also cannot be scoped per language/filetype
Provider / Handler
export interface ResourceRenameProvider {
	provideRenameEdits(oldResource: Uri, newResource: Uri, token: CancellationToken): ProviderResult<WorkspaceEdit>;

	prepareRename?(oldResource: Uri, newResource: Uri, token: CancellationToken): ProviderResult<{ /* something */ }>;
}

export namespace workspace {
	export function registerResourceRenameProvider(selector: DocumentSelector, provider: ResourceRenameProvider): Disposable;
}

Create a standarized provider that can handle renames. This provider could start out simple and be extended with other functionality, such as intercepting renames before they happen with prepareRename.
One question is how to handle directory renames and how these would work if we also use a document selector

Is this API usable by us in v1.24, or only internal extensions? Was it implemented in a way that supports our rename operations?

No, this api is still in proposed and does not support being triggered pre-rename

Is it likely that this will be supported in future?

@bpasero An onWillRenameFile-event requires some internal infrastructure (similar to onWillSave) and the question is where to put it. We have the corresponding functions in the file service interface but I also know that renaming a file is much more elaborated (reverting changes, closing editor etc). What is your recommendation esp. since debt-work is planned. Will there be an injectable, service-like rename-operation which should handle this?

One other thing to consider: we may need a new activation event so that a language extension that handles moves/renames can be activated even if no files of that language have been opened yet. See #51298
Would be best if we could do this per language:
"activationEvents": [
     "onRenameFile:javascript"
]

Not clear what to do about directory renames here

For a directory, you could just get languages for all descendants and fire the event for them?
I think we activate on workspaceContains so a new activation event probably isn't necessary (I don't know if that's common though).

This is the current proposal
export interface FileRenameEvent {
	readonly oldUri: Uri;
	readonly newUri: Uri;
}
export interface FileWillRenameEvent {
	readonly oldUri: Uri;
	readonly newUri: Uri;
	waitUntil(thenable: Thenable<any>): void;
}
export namespace workspace {
	export const onWillRenameFile: Event<FileWillRenameEvent>;
	export const onDidRenameFile: Event<FileRenameEvent>;
}

@DanTup How would you like to wait? Do you need to run some checks on the server before renaming or do you need to modify the workspace first? Also, do you want to prompt the user with something and prevent rename?

Sorry for the delay.. I need to send the request to my server before the rename happens, and it will then return me the edits. However I'm not sure if I need to apply those edits before or after the rename (eg. if the edits contain a filename that was also being renamed, for ex. if a folder was being renamed). I'll do some testing and post back shortly..

Actually, these APIs are both for files only; so assuming you're calling this API for each file, I guess I need to make my edits before you move on to the next file. So, I think the API above should work and I'll just send the Promise from applying the edits into waitUntil?

Let's try that again...
What happens when a user renames a folder? Are you going to call this multiple times? If so, at what point does the underlying folder get renamed? My API only works for a file at a time, but if you're going to call it sequentially it might need to create a new folder then move each file individually into it?
Another option would be to allow me to return the edits to you; that way you can collect all the edits, rename the folder, and then apply the edits (and you have a mapping of the file names, so can apply the edits to the correct file even if it's moved since the edits were generated).

What happens when a user renames a folder? Are you going to call this multiple times? If so, at what point does the underlying folder get renamed?

Renaming a folder is an "atomic" thing - you rename that folder and that's it. So, that will make it a single call/event.

Another option would be to allow me to return the edits to you; that way you can collect all the edits, rename the folder, and then apply the edits

Yeah, that's the question. We can make this analog to the onWillSaveTextDocument-event which calls each listener sequentially and allowing them to run async operations. Like so
export interface FileWillRenameEvent {
	readonly oldUri: Uri;
	readonly newUri: Uri;
	waitUntil(thenable: Thenable<WorkspaceEdit>): void;
}

It would mean that you can asynchronously compute a workspace edit and that we would apply it before renaming the file/folder.

So, that will make it a single call/event.

Ah sorry, I was thinking this was just a file because of the class prefix. waitUntil(thenable: Thenable<WorkspaceEdit>) sounds good. If my server can't do folders, I guess it's valid for me to list the files inside that Uri and send requests for all the edits and then merge them together? Since you're applying them atomically, the offsets/etc. will all be correct since they're all based on the same state of the document (eg. all calculated from the same starting point).
Let me know if this becomes available to test in Insiders and I can wire it up for real and give it a good test.

@DanTup I have just pushed a first cut of this. The waitUntil-function can now be called with promises that resolve to a workspace edit which we then apply.
export interface FileWillRenameEvent {
	readonly oldUri: Uri;
	readonly newUri: Uri;
	waitUntil(thenable: Thenable<WorkspaceEdit>): void;
}

My test sample looks like this. That that you can call waitUntil multiple times and that we will create a single workspace edit. The order of its edits is the order in which waitUntil is called, not in which the promises resolve.
   vscode.workspace.onWillRenameFile(e => {

        e.waitUntil(new Promise<vscode.WorkspaceEdit>(resolve => {
            let edit = new vscode.WorkspaceEdit();
            let uri = e.newUri.with({ path: e.newUri.path + '-edit' });
            edit.createFile(uri, { ignoreIfExists: true });
            edit.insert(uri, new vscode.Position(0, 0), `[PART1] from ${e.oldUri.toString()} => ${e.newUri.toString()}\n`);
            setTimeout(() => resolve(edit), 1000);
        }));

        e.waitUntil(new Promise<vscode.WorkspaceEdit>(resolve => {
            let edit = new vscode.WorkspaceEdit();
            let uri = e.newUri.with({ path: e.newUri.path + '-edit' });
            edit.insert(uri, new vscode.Position(0, 0), `[PART2] from ${e.oldUri.toString()} => ${e.newUri.toString()}\n`);
            setTimeout(() => resolve(edit), 100);
        }));
    });

Cool; thanks! I presume since you're making a single edit the whole thing is atomic and all locations resolved from the original docs, so I can just call it multiple times for convenience with no change from building a single one?
I'll see if I can get time to try this out on Monday in Insiders and let you know how I get on :-)

I presume since you're making a single edit the whole thing is atomic and all locations resolved from the original docs

Yeah, it should be the state at which the event occurred and you can compute your things from there. Obviously things can change in parallel but then we try to fail the operation.

I hit an issue while implemented this with my language server; it's throwing an unexpected error, so I'm blocked on testing this until I've figured that out. I'll come back to this as soon as I can though.
Btw, something that popped into my head while working on this - what happens if docs are modified during this process? For other refactors, I grab a copy of document.version and then at the time I come to apply the edit (after all the async, server stuff) if it has changed, I reject the edit. I can't do anything like that here because I don't know what documents will be in the returned edits (well, I'd have to grab document versions for all potentially affected docs and that would be messy). Is code doing anything special here? If a document is modified while this rename is "in flight" the offsets etc. that come back are potentially invalid and might make bad edits.

I hit an issue while implemented this with my language server; it's throwing an unexpected error, so I'm blocked on testing this until I've figured that out. I'll come back to this as soon as I can though.

No worries, we won't make this API stable this month and we have til the end of July to stabilise this.

Btw, something that popped into my head while working on this - what happens if docs are modified during this process? For other refactors, I grab a copy of document.version and then at the time I come to apply the edit (after all the async, server stuff) if it has changed, I reject the edit. I can't do anything like that here because I don't know what documents will be in the returned edits (well, I'd have to grab document versions for all potentially affected docs and that would be messy). Is code doing anything special here? If a document is modified while this rename is "in flight" the offsets etc. that come back are potentially invalid and might make bad edits.

Yeah, fair question. Currently we capture the document versions when serialising the workspace edit and we will bail out if the documents change while applying but we don't capture all versions before calling listeners. That something I can look into as extensions should have smooth sailing here.

Well this is embarrassing... Despite being documented (including  being really explicit about needing to send the request before the rename occurs), it's not actually implemented in the Dart analysis server yet. Doh!
So; the API seems good to me, but I can't make a real implementation just yet. I may look at doing the implementation if nobody else gets to it soon. I hope since it's a new implementation we can make it handle directories server-side to avoid me having to send tons of requests (which is how I'd started).
Not sure what you want to do with the API in the meantime; I'm not sure how quick we'll have an implementation (if I end up doing it, I might need some help so there may be some back & forth).

Hehe - no worries. We can leave it in proposed for longer and/or reach out to other candidates. Keep me posted. Thanks

Will do - I've got some pointers on how to implement it so I hope to find time to have a crack at it next month.

I'm also interested in this feature and would like the ability to prevent the rename operation.

Any progress on this?

I got blocked on my implementation in Dart, but there was a proposed API detailed above that I presume would work for other extensions wanting to try it out and give feedback.

I'd like to write an extension that performs some actions on file rename - I'll try and get something working with the proposed API and see where it goes... cheers.

Here is a use-case: SourceControl providers should be able to watch file rename events in the associated workspace and build a map of original and new file names. For example, the Git provider could then run git mv rather than showing one new file and one deleted file thus forever losing the association and file history.
I am implementing a custom source control provider and can test the api when available.

@jrieken really sorry it took sooooo long for me to get back to this. I got most of the implementation done in the Dart SDK and then never got back to it. Recently someone finished it off and enabled it anyway, and I've just tested with the onWillRenameResource proposed APIs, and it seems to work perfectly :-)
I'll need to add some prompt (like TS has) for the user to approve/opt-out before shipping, but the API seems good to finalize IMO :-)

@jrieken is it too late to finalize this in the May release?

yes

I suspected so :) Any reason it couldn't go into June? (someone asked about it, and it seems all the real work is done, it just needs to be available in stable and I could ship :-))

Any reason it couldn't go into June?

We are a small team but there are also some concerns how well (or actually not so well) this aligns with the exiting file watcher API. E.g the latter doesn't have rename at all while the former only has rename.
We need to make it more clear that one source of events is the filesystem and that other source of events is file operations triggered from inside VS Code, e.g onDidRename will not fire if you use the mv command. In the same spirit we might need to add more events, like on[Will|Did][Create|Delete] events

e.g onDidRename will not fire if you use the mv command

My expectation was that this would only fire for things the user did in the UI, so that doesn't concern me. In fact, the purpose of this API was for those that needed to construct edits prior to the rename, so I'm not sure if it'd ever work with a watcher if it only fires events after they've happened?

My expectation was that this would only fire for things the user did in the UI,

Yes, we just need to make sure that everyone understands this.

Makes sense - but does that need anything more than comments on the event?

@jrieken let me know if there's anything I can do to help this along - it'd be neat to ship my rename work :-)

@jrieken is it likely this will be considered for the next release? If the only thing required is ensuring the docs/tooltips make it clear this doesn't fire for filesystem changes but only UI events, I could send a PR?

Nothing planned yet - we are pretty busy with the web companion but I will bring in up for July planning.

Understood. Thanks!

When selecting multiple files simultaneously, drag and drop, workspace.onWillRenameFile listener will receive multiple standalone FileWillRenameEvents, this will require language server itself to associate them together. If the client is able to pack them to a composite event in advance, feel like make more sense.

I agree that there is merit in having the event talk about multiple resources, e.g. when dropping/pasting many resources. Making that API change is easy but the underlying infrastructure isn't fit so the API implementation will have a bug (for a long time) such that the array is always of length 1. That will help us get this API out (and stable) but it will not help extensions...

Do the latest comments mean the API will change to have an array (even though it'll be called repeatedly for now)? Do you have an idea when this might be finalised so it can be used in stable?

What's holding back moving this API from proposed to production. I hope is not about the array stuff, as there are many other events that doesn't provide such pattern.

@jrieken is there any update on this? It's not clear what the next step is - will there be changes and do you need feedback, or could it ship in its current form?

No update, still the old problems/tasks

move current implementation from textFileService to fileService
add events for create/deletion of files
support creating/moving/deleting N files at once (so that we can reflect that correctly in the API)
adopt N files support in explorer (and others?)
expose extensions API

@DanTup you are welcome to help out, step 1 and 2 should be relatively easy

@jrieken any chance for this getting finished during the October housekeeping iteration?

Merged #83822, there is some work left, namely this

[ ] Should we enforce time limits for the onWill-events, like onWillSaveTextDocument, or should we only show a status bar message?
[ ] Should we disable bad listeners (slow, throwing exceptions...)
[ ] Should the onWill-events allow to do stuff, like sending off a workspace edits etc

Apart from the questions about there is now onWill and onDid event for create, delete, and rename. The design is that these events will fire when the corresponding operations are triggered from the UI (e.g. explorer) or when triggered via the WorkspaceEdit-API. They are not triggered when using vscode.workspace.fs-API or the corresponding internal low level API, e.g when creating a log-file or a temp-folder.

@jrieken makes sense, i can look into this next week.

This is the current proposal: https://github.com/microsoft/vscode/blob/1dc2f73c434b40e1d13120363fc97612153ebaf2/src/vs/vscode.proposed.d.ts#L826-L919
@DanTup Can you give it a try/read. Note the ways in which the event is triggered, e.g via user gestures and applyEdit but not via OS file events or the workspace.fs-api. Make sense? Surprises?

@jrieken looks good to me. I think it's worth being explicit in the comments about what happens when a folder is moved though - does it send a single entry with the folder in it, or a collection of all the descendant files?
Also - if the move will conflict with existing files (eg. I drag foo.txt into bar which already has a foo.txt) how will that behave? Will VS Code prompt to overwrite first? Should extensions assume if they get a rename event and a destination already exists, VS Code is going to replace it unconditionally (and if so, would that first fire a delete event?)

I think it's worth being explicit in the comments about what happens when a folder is moved though

Only the folder changes, added that to the notes

Also - if the move will conflict with existing files (eg. I drag foo.txt into bar which already has a foo.txt) how will that behave? Will VS Code prompt to overwrite first? Should extensions assume if they get a rename event and a destination already exists, VS Code is going to replace it unconditionally (and if so, would that first fire a delete event?)

There is no guarantee that the operation will succeed when will-events are created and generally no preparation has been performed yet. The latter shouldn't be too much of a problem because the WorkspaceEdit that listeners can add should generally allow you create folders etc

The latter shouldn't be too much of a problem because the WorkspaceEdit that listeners can add should generally allow you create folders etc

That's true, but there are weird unfixed bugs like https://github.com/microsoft/vscode/issues/56986 :(

@bpasero I have added textFileService.copy api via https://github.com/microsoft/vscode/commit/137bda62abea5a693a22f078906efb6f6cdcbf04
@jrieken now the explorer no longer uses the fileService, only for resolving, checking if it can handle a resource and minor things like that. All operations now use the textFileService. The only exception being the creation of a folder, since I did not want to introduce notion of folders to the textFileService for now. Explorer does not use the bulk api, since the fileService could not reliebly do multiple file operations in parallel. So for now the textFileService does not need this api.
Try it out and let me know how it beahves. I just verified that the operations in the explorer work as before.
@jrieken will there be a test plan item for this? I would not mind having some people verify that the explorer actions are working as before.
I am unassigning myself from this issue. Please let me know if anything else is needed from the Explorer side. Thanks

@jrieken will there be a test plan item for this? I would not mind having some people verify that the explorer actions are working as before.

Yes - be aware that you'll receive the issues for not supporting N-file operation. It's not about running them in parallel but about signalling correctly to the outside world. Simply add a moveN-function that fires an event for all and then talks to the file service sequentially.

@jrieken yes, makes sense. Thanks

@isidorn curious what kind of issue you saw when using the file service in parallel with different operations?

@bpasero that was the older issue almost a year ago. Some operations would not be executed. I can try it again and let you know if that is still the case

@isidorn yes please do and file a separate issue


Dashboard integration: Updating user requirements and port-forwarding correct namespace

Description

Removed user requirement to apply dashboard to their cluster, rely on 'dapr init -k' or helm install
Added search for dashboard namespace: searches namespaces dapr-system and default for dashboard pod
Added method to check if pod exists in namespace

Issue reference
closes #389
References: https://github.com/dapr/dapr/pull/1752
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

Hi all,
Originally, this issue included the ability for the user to pass a -n flag to dapr dashboard, allowing them to set the preferred namespace to run the dashboard. This was removed because it seemed unnecessary. If anyone has any strong opinions about adding/ keeping this feature removed, please let me know.

Hi all,
Originally, this issue included the ability for the user to pass a -n flag to dapr dashboard, allowing them to set the preferred namespace to run the dashboard. This was removed because it seemed unnecessary. If anyone has any strong opinions about adding/ keeping this feature removed, please let me know.

We discussed further and we are adding that capability as Dapr control plane could be running in other than dapr-system or default name.


Supporting floats from json represented like integers

const x = {float: 1.0}
// x = {float: 1}
JSON.stringify(x)
// {"float": 1}

import gleam/dynamic.{dict, float, string}
import gleam/json

pub fn json_float_test() {
  let json_string = "{\"float\": 1}"

  let assert Ok(_) = json.decode(json_string, dict(string, float))
}

  1) json_test.json_float_test: module 'json_test'
     #{function => <<"json_float_test">>,line => 7,
       message => <<"Assertion pattern match failed">>,
       module => <<"json_test">>,
       value =>
           {error,
               {unexpected_format,
                   [{decode_error,<<"Float">>,<<"Int">>,[<<"values">>]}]}},
       gleam_error => let_assert}
     location: json_test.json_float_test:7
     stacktrace:
       json_test.json_float_test
     output:

And what would work if I made it manually and not use JSON.stringify
pub fn json_float_manually_test() {
  let json_string = "{\"float\": 1.0}"

  let assert Ok(_) = json.decode(json_string, dict(string, float))
}

Right now I am having to convert the float by adding 0.00000001 or some small value to it to force it to make it a float representation. Would it be possible to allow the 1 be able to be a float on the gleam side? Possibly there is some way to convert the int to a float in the process? Just that I want to pass it always as a float but the json string representation will convert it to an int if it's like 1.0.
Thank you.

I keep doing this, figuring it out after I make the post but here is how I fixed it... Take a any of float and then get an int and convert it to a float.
pub fn json_float_test() {
  let json_string = "{\"float\": 1}"

  let assert Ok(_) =
    json.decode(
      json_string,
      dict(
        string,
        any([
          float,
          fn(x) {
            int(x)
            |> result.map(fn(i) { int.to_float(i) })
          },
        ]),
      ),
    )
}


CLOUD-82792 remove dns resolution and hostname validation on vpc

Change the base branch accordingly.

miszkuzi

cherry-picked commit to rc-1.14 for hotfix, so closing this PR


Rely on the new twig-pack

Since the purpose of the website-skeleton is to give you "all" the features a website would normally need, I think it makes sense to rely on the "twig-pack" now that it exists.
This should be transparent to new users. And existing users would now get the extra stuff in the back on a composer update.

Let's do the change in 4.4.

Thank you @weaverryan.


docs: update Kent C. Dodds Twitter avatar

Pre-flight checklist

[ ] I have read the Contributing Guidelines on pull requests.
[ ] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

Test Plan

Test links

Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs

@Josh-Cena, Please verify and let me know

Change looks good—once the CLA status gets updated (provided you did sign it) we can merge 👍

having a similar problem on my newsletter landing page 😅 wonder if there's a reliably way to get a twitter avatar URL
https://thisweekinreact.com/subscribe

This works: https://unavatar.io/twitter/SidaChen63

Change looks good—once the CLA status gets updated (provided you did sign it) we can merge 👍

Done @Josh-Cena


How do we start an app on the cloud from a remote device? How do we provide our login credentials?

📚 Documentation
How do we start an App on the cloud from a remote device? How do we provide our login credentials?
If you can provide env variables, set LIGHTNING_USER_ID and LIGHTNING_API_KEY with your user id and api key
You can find these values in the credentials file on your local machine where you had logged in already
~/.lightning/credentials.json
cc @borda @rohitgr7 @Felonious-Spellfire

Related #15033


Ability to update add new metadata for a subject via API

A future request if it doesn't already exist- From reading the documentation I might have missed this, but if a subject is already uploaded in a subject set, through the API is it possible for the project owner to add metadata to it or change the state to hide metadata that's already uploaded from the classification interface?  We didn't add any metadata to P4: Terrains targets because the ability to hide metadata hadn't bee implemented yet.  If it's not a capability, I think this would be helpful especially as you learn the things that your project's volunteer community would like access to.

@mschwamb you can add details to the metadata field, http://docs.panoptes.apiary.io/#reference/subjects/subject/edit-a-single-subject

A request chagning the metadata hash must contain a full representation of the attribute.

Note, you would have to konw the panoptes subject ID mapping to your supplied metadata and then update the exisiting metadata hash via the API via the PUT resource. You can use the subject dump to get the details of the current mapping. Take care with though since if you incorrectly modify it, i.e. change the id metadata mapping, you'll need an old subject dump export to reconstruct the original mapping.

okay. thanks @camallen . I will tread with extreme care here. Good to know the functionality is there.


sanitycheck: support pre/post flash scripts fix

Fix of the #21528
Post script was called to late, and sanitycheck didn't complete the run.
Now post script will be called earlier right after the west flash
finishes programming of the board.
I tested it on the Microchip board, pre script triggered reset
of the board, post script finished reset of the board.
In original code sanitycheck can't finish the run,
because post script was called too late, and it caused timeout error.
It was due to board was still in the reset mode after programming,
but it should be in the run mode to run the test and print the serial output.
That fix will solve issue for other boards too,
which need reset before and during programming.
Signed-off-by: Maksim Masalski<EMAIL_ADDRESS>

This is a change in behavior, the post script is supposed to run after test execution, you are changing this to run after flash, why dont you do the reset in the flash script directly?

This is a change in behavior, the post script is supposed to run after test execution, you are changing this to run after flash, why dont you do the reset in the flash script directly?

Reset is made in the flash script, but after flashing need to release reset button, to see run of the test. In the current implementation it is not working, that why that change is necessary and vital for the further development.

That why that change is necessary and vital for the further development of boards that require to be in reset state while flashing.

Change might be necessary, but you can just move the location of a hook to satisfy one use-case. Post-script was added as a general hook that runs after a test is executed, if we need a post-flash hook, then that needs to be added on top of what we have already. This was just added in #21684, so please see of #21684 works for you with post_flash_script in the hardware map for a hook that runs after flashing is completed.

Ok, will test it today.

addressed in #21684


Update xmlhttprequest-ssl version

We are using a version with known vulnerability per https://github.com/google/nomulus/security/dependabot/package-lock.json/xmlhttprequest-ssl/open
The package-lock.json file is autogenerated. Not sure if it is correct given that it still has v1.5.5 in it...

This change is

Yeah I don't think I trust that this actually updated the xmlhttprequest-ssl version. The dependency analysis shows that it comes from Karma, so we probably should try updating the Karma version

seems like the most recent version of Karma 6.3.2 doesn't have this dependency (tested locally), running the tests to see if everything still passes

seems like the most recent version of Karma 6.3.2 doesn't have this dependency (tested locally), running the tests to see if everything still passes

Do you know how npm handles diamond dependencies? Does it pick the higher version or what? Also is there an easier way to see the dependency graph other than going through the package-lock.json file manually and searching for the string?

By diamond dependencies do you mean that there is some package A which depends on B and C, and B and C each depend on different versions of D?
I don't know how it deals with those, though your guess seems like a good one.
For viewing dependencies, here I just viewed the package-lock.json file but npm ls is useful for more complex situations


[Modify parameter to be by reference ] Codeunit 5600 "FA Insert Ledger Entry" - OnInsertFAOnBeforeCheckFALedgEntry

Hello,
We would need to have the parameter FALedgEntry by reference in the event OnInsertFAOnBeforeCheckFALedgEntry from Codeunit 5600 "FA Insert Ledger Entry".
So instead of this:
[IntegrationEvent(false, false)]
local procedure OnInsertFAOnBeforeCheckFALedgEntry(FALedgEntry: Record "FA Ledger Entry"; FALedgEntry2: Record "FA Ledger Entry"; var IsHandled: Boolean)
begin
end;

to be declared like this:
[IntegrationEvent(false, false)]
local procedure OnInsertFAOnBeforeCheckFALedgEntry(**var** FALedgEntry: Record "FA Ledger Entry"; FALedgEntry2: Record "FA Ledger Entry"; var IsHandled: Boolean)
begin
end;

We would need to have this parameter as by reference, because we want to use this event to update some fields on FALedgEntry from  FALedgEntry2. Later in the function InsertFA, a Modify is done on FALedgEntry, so the changes done on this record on event OnInsertFAOnBeforeCheckFALedgEntry will be saved.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Added meta-mender-imx6ul

Added support for NXP's i.MX 6UL Evaluation Kit
NOTE: It still points to my forked repo for initialization scripts. After merge I'll update those links to meta-mender-community
Signed-off-by: Daniel Selvan D<EMAIL_ADDRESS>

@mirzak , @drewmoseley can you merge this board integration, so that we can add the respective document in Mender hub?

@mirzak thanks for the review, I'll update these ASAP.
FYI @tkmozhi

@mirzak all comments addressed.
FYI @tkmozhi

@mirzak hopefully the new links pointing to the correct branch. Nice catch!
Updated contributing section as well


JAVA-2105: Transient Replication Support

I think the solution proposed here is correct. I don't believe we want to consider transient replica's full replica's for the purposes of token aware load balancing.
I believe at this time only NetworkTopologyStrategy and Simple Strategy are supported for transient replication

I think this should address all the concerns raised here. Let me know if further changes are required. I will squash and merge upon approval.

This was merged a bit too soon.


Fix import order (goimports)

Motivation
https://github.com/golang/go/wiki/CodeReviewComments#imports

Changes
Only the import order has changed.

Reviewer Guidelines
This changes has produced by the goimports tool.

@lynncyrin No, I don't. And I will try to investigate it.

There's two ways that I'm aware of.
One would be to just run the goimports command (goimports -w -local github.com/urfave/cli .) and validate with git that no files have changed.
The other would be to bring in golangci-lint, which is a linter that combines a bunch of smaller linters like govet, golint, staticcheck, and others. That's what I typically use in projects.
The config to include this particular import check would be:
[linters]
enable = [
  "goimports",
]

[linters-settings.goimports]
local-prefixes = "github.com/urfave/cli"

As a litmus test, the default configuration for golangci-lint finds 4 ineffectual assignments, 5 instances of unused code that can be removed, one error that is not checked (in a test file), and one nil check that can be omitted. With a super opinionated configuration that I've used on projects before, it flags 116 issues, the majority of which are style-related (e.g., cyclomatic complexity, line length, godoc comments, etc.).  We'd have the freedom to settle anywhere on that spectrum.
If there's interest, I can set this up for us. I also realize this is a comment on a merged PR, so I can open an issue as well if we want to continue discussion.


Fixed broken bracket in docstring

Current coverage is 82.50% (diff: 100%)

Merging #507 into master will increase coverage by 0.19%

@@             master       #507   diff @@
==========================================
  Files            76         76
  Lines          2035       2035
  Methods        1888       1888
  Messages          0          0
  Branches        147        147
==========================================
+ Hits           1675       1679     +4
+ Misses          360        356     -4
  Partials          0          0

Powered by Codecov. Last update a53fab4...3db0f53

Thanks!


New problem's sol - The employee that did the longest task

Pl review and merge my PR.

Thanks for the PR. !!


Viridian ownCloud / list index error

Hello,
try to use this wonderful software with my ownCloud Music.
But when I try I get this error
Authentication Successful!
Authentication = e723c7ca91408ffb58fc53d5500e7934
Number of artists = 183
Traceback (most recent call last):
  File "/usr/share/viridian/AmpacheTools/AmpacheSession.py", line 258, in get_artists
    artist_name = child.getElementsByTagName('name')[0].childNodes[0].data
IndexError: list index out of range
Traceback (most recent call last):
  File "/usr/share/viridian/AmpacheTools/AmpacheSession.py", line 313, in get_albums
    artist_name    = child.getElementsByTagName('artist')[0].childNodes[0].data
IndexError: list index out of range

Could you help me?

Hey, thanks for the interest.  Unfortunately I haven't touched Viridian in quite some time (~5 years now... time flies).
I'll try to take a look this weekend

Did you find anything?


Cannot read property 'split' of null: added conditional control on data

Added a conditional control on "data".
fixed #49

I'm really sorry. it's for the #49 issue.


Create more packages to allow users to depend only on what they need

I think packages are missing for the server:

JRPC-Server-TCP
JRPC-Server-HTTP
JRPC-Server-Core This package could be used if users only use the message-processor.

I would like to add support for web socket as transport layer in the future.
For the clients we will have similar packages:

JRPC-Client-TCP
JRPC-Client-HTTP

What do you think @gcotelli ?

I think it's a good idea. I will do it and also add some groups to the baseline. Can  you add me as an external collaborator to the project so I can assign me the issues I will be working on?

Invitation sent.


Add GAPButton example

looks very good otherwise. Please make the minor changes requested, and send a review request.

@rgrover Please review.

@LiyouZhou : please include @PrzemekWirkus 's recommendations and resubmit. thanks. :)

@rgrover please review.


disk2vhd.exe doesn't work on 64 bit windows 10 (need disk2vhd64.exe also)

Bug Report
Package Name: sysinternals
Current Behaviour
disk2vhd fails to launch on 64bit windows x86-64 architectures

Expected Behaviour

disk2vhd64.exe should be installed / launched on 64 bit systems rather than disk2vhd.exe which is the 32 bit version
Additional context/output
when running disk2vhd.exe or disk2vhd.ps1 the following error popup is shown:
---------------------------
Disk2Vhd
---------------------------
Error launching 64-bit version: The system cannot find the file specified.
---------------------------
OK
---------------------------

Possible Solution

It seems that the disk2vhd64.exe should be installed instead of or in addition to disk2vhd.exe for 64 bit windows.
System details
Windows version: [e.g. 7, 8, 10]
Window 10 21H2
OS architecture: [e.g. 32bit, 64bit]
64bit
PowerShell version:  $PSVersionTable.PSVersion
Major  Minor  Patch  PreReleaseLabel BuildLabel

7      2      0
Same error happens with native PS 5.1
Additional software: [(optional) e.g. ConEmu, Git]
Windows Terminal

Hey, can you make a PR for the fix?