buildNpmPackage fails to build git dependencies

Describe the bug
I'm trying to package pyright with buildNpmPackage, but it fails when it tries to install a npm dependency which points to public git repository.
Pyright depends in jackspeak==2.1.4 which in turn depends on "cliui": "github:isaacs/cliui#isaacs/esm-cjs-consistency".
When I try to build the expression below, it fails with:
...
ERROR: npm failed to install dependencies

Here are a few things you can try, depending on the error:
1. Set `makeCacheWritable = true`
  Note that this won't help if npm is complaining about not being able to write to the logs directory -- look above that for the actual error.
2. Set `npmFlags = [ "--legacy-peer-deps" ]`

Unfortunately, using neither makeCacheWritable, nor npmFlags help.
With the --verbose flags, it seems to be that prefetch-npm-deps didn't handle the git repository correctly, and npm ci tries to refetch it, hence it fails on nix sandbox.
...
Installing dependencies
npm verb cli /nix/store/8lmzw9jisghs9kih9xqxk5cypn6d678z-nodejs-18.16.1/bin/node /nix/store/8lmzw9jisghs9kih9xqxk5cypn6d678z-nodejs-18.16.1/bin/npm
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>npm verb logfile could not create logs-dir: Error: EACCES: permission denied, mkdir '/nix/store/nhs2z4k96x9yafy454vc8mxww2wj1h5q-pyright-1.1.316-npm-deps/_logs'
npm verb title npm ci
npm verb argv "ci" "--loglevel" "verbose" "--ignore-scripts" "--omit" "optional"
npm verb logfile logs-max:10 dir:/nix/store/nhs2z4k96x9yafy454vc8mxww2wj1h5q-pyright-1.1.316-npm-deps/_logs/2023-06-28T01_48_33_215Z-
npm verb logfile could not be created: Error: ENOENT: no such file or directory, open '/nix/store/nhs2z4k96x9yafy454vc8mxww2wj1h5q-pyright-1.1.316-npm-deps/_logs/2023-06-28T01_48_33_215Z-debug-0.log'
npm verb logfile no logfile created
npm verb stack Error: EACCES: permission denied, mkdir '/nix/store/nhs2z4k96x9yafy454vc8mxww2wj1h5q-pyright-1.1.316-npm-deps/_cacache/tmp'
npm verb cwd /private/tmp/nix-build-pyright-1.1.316.drv-1/source
npm verb Darwin 20.6.0
npm verb node v18.16.1
npm verb npm  v9.5.1
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /nix/store/nhs2z4k96x9yafy454vc8mxww2wj1h5q-pyright-1.1.316-npm-deps/_cacache/tmp
npm ERR! errno -13
npm verb Error: EACCES: permission denied, mkdir '/nix/store/nhs2z4k96x9yafy454vc8mxww2wj1h5q-pyright-1.1.316-npm-deps/_cacache/tmp'
npm ERR!
npm ERR! Your cache folder contains root-owned files, due to a bug in
npm ERR! previous versions of npm which has since been addressed.
npm ERR!
npm ERR! To permanently fix this problem, please run:
npm ERR!   sudo chown -R 301:30000 "/nix/store/nhs2z4k96x9yafy454vc8mxww2wj1h5q-pyright-1.1.316-npm-deps"
npm verb exit -13
npm verb unfinished npm timer reify<PHONE_NUMBER>847
npm verb unfinished npm timer reify:unpack<PHONE_NUMBER>969
npm verb unfinished npm timer reifyNode:node_modules/jackspeak/node_modules/cliui<PHONE_NUMBER>984
npm verb code -13
...

Steps To Reproduce
Steps to reproduce the behavior:

Use the following expression:{ lib, buildNpmPackage, fetchFromGitHub }:

buildNpmPackage rec {
  pname = "pyright";
  version = "1.1.316";

  src = fetchFromGitHub {
    owner = "microsoft";
    repo = "pyright";
    rev = version;
    hash = "sha256-o4SErHXbnL+glnHmZ1ZEeDqnoh7DptJ2h0hzxqjMFBE=";
  };

  npmDepsHash = "sha256-NVcjgQqB48I3Vxkl86+JoEQW+w+NAsoeToXUC/Lb3iY=";

  forceGitDeps = true;

  npmInstallFlagsArray = [
    "--omit=optional"
  ];
}

it fails

Expected behavior
buildNpmPackage/prefetch-npm-deps should handle git dependencies
Screenshots
Additional context
Notify maintainers
@winterqt

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-darwin"`
 - host os: `Darwin 20.6.0, macOS 10.16`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.15.1`
 - channels(root): `"nixpkgs-22.05pre335126.391f93a83c3"`
 - nixpkgs: `/Users/marsam/code/nix-config/nixpkgs`

If you need forceGitDeps = true, then it's an upstream issue and unlikely to work in any reproducible manner (because the dev deps needed to build git dependencies aren't locked anywhere)

I'll take a look at this particular derivation in a bit though and see what I can come up with to workaround it

Looking at it, I think your best options here are to either 1) bug upstream at https://github.com/isaacs/cliui to add a package-lock.json, 2) bug upstream to publish to npm registry (so that way it can be downloaded as a dep pre-built), or 3) patch out the build scripts from cliui package and manually run tsc yourself on that dep

Unfortunately this isn't (yet) something we can do anything about
I have some questionably bad ideas to deal with specific cases of dependencies that lack integrity hashes and/or resolved URLs in lockfiles that could be generalized to this kind of problem for transitive dev deps too, but I doubt it would work well and it'll be a bit before I have the stuff together to make even that work (I'm having to rewrite lockfile fixup)
Really if every dependency is not locked, there's no much we can do about it that isn't a major hack in the end


Wrong indication of found elements related to selected Attributes

I tried to create a full test on the testrecorder presentation.
While selecting a title by attributes, i selected the type "sap.m.Title" and the attribute text "About Testing".
The found items remained by 4 items. only attaching an additional attributes refines this to 1 item.
Also changing from Action to Assertion Type the 4 Items come back.
A small debugging showed that only the type is send to the injected code for the selection and the attribute is removed.
This only happens while refetching matching items.

Unfortunately, I do not know on which page you have found this issue, therefore, I tried my best to reproduce the issue as I already worked on similar issues in PR #53. I was able to reproduce, at least, parts of the issue with the following steps. But, I do not know whether this is the complete problem that you describe, so please re-check this!
Steps to reproduce (a part of the problem?):

Go to https://ui5.sap.com/#/api/sap.m.
Start recording a new test for this site.
Select ActionListItem in the TreeList on the left side.
In the test-recorder window, provide a unique combination of attributes by selecting 'Binding: title' and save.
There are three attributes provided for filtering now, the panel titles are colored in green, but, still and erroneously, 325 items are found.

The found items remained by 4 items. only attaching an additional attributes refines this to 1 item.
Also changing from Action to Assertion Type the 4 Items come back.
A small debugging showed that only the type is send to the injected code for the selection and the attribute is removed.
This only happens while refetching matching items.

I do not think that the attribute is removed somehow, it is rather not added in the first place (see code below): the preview is updated before adding the attribute filters.  After reworking the workflow in PR #50, this was likely an unknown side-effect as, in the old workflow, the items were retrieved again somewhere else so that the problem has not occurred.
https://github.com/msg-systems/ui5-testrecorder/blob/cf4204dd4eb947cd08ab98aafada8cb94ecff4cd/scripts/popup/controller/TestStep.controller.js#L1727-L1747
I tried the simple fix: Changing the order of events (add the attribute filters first, then update the preview) indeed has an immediate effect on the problem. I will push a fix to PR #53 for you to review.

Also changing from Action to Assertion Type the 4 Items come back.

This is potentially fixed by executing the needed preview update when updating the test-step type. A fix by means of the commit dac9b1b54e207253f7d53945aaa488524d98f469 is already pushed to PR #53. Please review it there.


iptrade request

Hi Ivan, please show link of block explorer for the different networks you run

Hi Ivan, please show link of block explorer for the different networks you run

https://www.mintscan.io/umee/validators/umeevaloper1zu47e76gf46uqgv9mcvkacul9jl9l2alq45qwe
https://www.mintscan.io/rizon/validators/rizonvaloper1kjz7hqkfvd6uhfl0e0t9cdg9gcgu9p068p97zp
https://findorascan.io/node?node=47034DC213A160EA8B0B4B5605F70B08004F4F3B

Hi Ivan, please show link of block explorer for the different networks you run

If we talk about testnets, then there are more than 10 active projects in different networks in which I am a validator.


AttributeError (unhandled exception) attempting to download specific manga

What happened ?
Downloading this title results in a stack trace ending with AttributeError: 'NoneType' object has no attribute 'name':
https://mangadex.org/title/d703e15b-8bfb-4fc1-a8fe-1d8fb8626ef1/puku-yuri
What did you expect to happen ?
Manga should be downloaded.
OS version
Ubuntu 22.10
App version
v2.10.3
Installation origin
PyPI (Python Package Index)
Installation origin (other sources)
No response
Reproducible command
mangadex-dl https://mangadex.org/title/d703e15b-8bfb-4fc1-a8fe-1d8fb8626ef1/puku-yuri --save-as pdf-single
Additional context
Stack trace:
Traceback (most recent call last):
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/cli/init.py", line 76, in _main
download(args)
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/cli/download.py", line 33, in download
url(args, args.type)
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/cli/url.py", line 166, in call
self.func(self.id, args)
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/cli/url.py", line 97, in download_manga
dl_manga(*args)
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/main.py", line 167, in download
download_manga(manga, base_path)
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/main.py", line 137, in download_manga
fmt.main()
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/format/base.py", line 830, in main
self.download_single(total, merged_name, cache)
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/format/base.py", line 780, in download_single
ims = self.get_images(chap_class, chap_images, path, count)
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/format/base.py", line 87, in get_images
chap_name = chap_class.get_name()
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/chapter.py", line 302, in get_name
return self._make_name(self._name)
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/chapter.py", line 290, in _make_name
name += f'[{sanitize_filename(self.groups_name)}] '
File "/home/curt/py3_venv/lib/python3.10/site-packages/mangadex_downloader/chapter.py", line 311, in groups_name
return f'User - {self.user.name}'
AttributeError: 'NoneType' object has no attribute 'name'

This bug has been fixed in #93. You can try it yourself by installing development version. If you have problem or another issue, let me know 👍
If you have git, you can install it with pip.
pip uninstall mangadex-downloader
pip install git+https://github.com/mansuf/mangadex-downloader.git@26fa397b98402e879af29497df961206d4652acc

If you're installing mangadex-downloader from github releases, you can download the development version in here:
The download files are available in "artifacts" section
https://github.com/mansuf/mangadex-downloader/actions/runs/7257051033


Request: add winmundo.com to the filter

Evidence: https://winmundo.com/biztalk-tools-for-converting-x12-to-xml-based-on-an-xsd-schema/
Original: https://stackoverflow.com/questions/58282694/tools-for-converting-x12-to-xml-based-on-an-xsd-schema

Thanks a lot!
Closed by 9f957831863b6811b1c427737e0e2fd9ed1124ea


Cancellable subscriptions in GRPC api

Background
I have a question regarding various subscriptions (server side streams) in lnd grpc api:
Suppose that I want to subscribe for status of single invoice using invoicesrpc service, that is SubscribeSingleInvoice . This method is a server stream, returning all updates of specified invoice. But if invoice has already settled, there is no reason for client to continue monitoring it, and there is no ‘proper’ way to end the subscription according to grpc protocol (https://github.com/elixir-grpc/grpc/issues/179). The ‘proper’ way to implement a cancellable subscription would be a bidirectional streaming rpc where first client request would initiate the subscription, and second request would stop it.
Maybe it’s worth changing the subscription rpcs in lnd to support this, or just add new rpcs?

Once lnd's subscriptions reach a terminal state (invoice settled or expired, payment failed or completed etc), the server will terminate the stream to the client because it has no more updates.
Other grpc client implementations clients to cancel streams (golang passes in a context which can be cancelled to kill the stream, python seems to have a similar stream.cancel), so unfortunately this seems like an elixir issue rather than something we can address.

@carlaKC I'm facing a similar problem to what @ischepin described. I tested it on v.0.12.1-beta and for payments it works as expected - when a terminal state is reached, the server ends the stream. On the other hand it does not work for invoices. When the invoice reaches settled state the stream remains open. until I cancel it on the client side. I tested it in javascript using a slightly modified code from official docs (https://api.lightning.community/?javascript#subscribesingleinvoice). The 'end' callback is never reached.
let call = invoices.subscribeSingleInvoice(request);
call.on('data', function(response) {
  // A response was received from the server.
  console.log("resp", response);
  if (response.state == 'SETTLED') {
    // If I don't call cancel here the stream stays open indefinitely
    call.cancel();
  }
});
call.on('status', function(status) {
  // The current status of the stream.
  console.log("stat", status);
});
call.on('end', function() {
  // This is never reached
  console.log("end");
});

call.on('error', function(...args) {
  // This is reached if I cancel the stream
  console.log("error", args);
});

Is it a bug?

My mistake here, looks like we don't close single subscriptions. Fix incoming!


meta-press, firefox-meta-press: init

Ported from https://github.com/ngi-nix/meta-press. Tested on aarch64-linux.

@wamirez please archive the flake repo once this is merged


Fix crash on startup on Oculus driver

I think the API for arr_t changed but the oculus driver code did not change to the new rules

I added a second commit that fixes a warning in headset_oculus. Because of some messiness in merging with my private fork, I'm putting the commit on this PR rather than making it its own PR. Sorry about this.

core/os is good since it uses os_window_set_vsync, thanks!


Add instructions on how to limit the scope for action push trigger

Looking at repos for papers recently published in JOSS, people in the community will almost universally store paper.* files alongside their code, usually in the paper directory.
The current usage guide suggests running the workflow on every push, regardless of whether it is to paper or src, wasting resources on generating duplicate paper.pdf drafts (in the case described above).
This small PR adds instructions to the README on modifying the draft-pdf.yml workflow to limit its trigger to pushes or (a) paper directory or (b) specific files.

Thanks!


Include HTTP error code when gorilla DialContext fails

Include HTTP error code when gorilla DialContext fails
Motivation:
When connection to a WebSocket server fails, we only return the error that we get from the gorilla DialContext. This error usually doesn't contain enough information to debug why the connection failed. DialContext also returns a non-nil http.Response, which contains the HTTP status returned by the server. We should include this HTTP status too in the error being returned back to the user.
Modifications:
Instead of ignoring the http.Response returned by DialContext, include the HTTP status from the response in the error.
Result:
HTTP Error returned by the server is also included in the error returned to the user.
For example: dial websocket failed: 403 Forbidden: websocket: bad handshake

👍

Included in v0.8.3.

Thanks for merging. I don't see the v0.8.3 tag yet. Is there a milestone planned for that release?


Fix shiftY calculation typo

In this PR during refactoring a typo error was introduced and because of it the calculation of shiftY is broken right now. This PR fixes it.
Also, there is an issue with it.

Before
After

I tested this in my fork and it worked for me. Thanks for fixing this @rmyhal . Looking forward to an official merge :-)

Thanks for the fix and sorry for causing the issue in the first place!

Are the render tests running in CI? Feels like the sort of typo fixed here would not have passed a render test...

Not sure, but I iOS and Android run a lot of tests.


Fixed Monitoring Booking Order

Coverage remained the same at 77.658% when pulling 1ac4e6dfb735744ea9d59f995984039977a32b6b on kharissuryandaru:dev into cc57ddcba73c010449f214c51592d8b247044cc4 on danliris:dev.


Add mathematical functions with a RealFieldElement argument

Currently, FieldGradient, FieldUnivariateDerivative1 and FieldUnivariateDerivative2 classes have 2 kind of mathematical methods. On the one hand, the ones with a double value argument and, the other hand, the ones with their object type in argument. See the example below for FieldGradient class:
/** {@inheritDoc} */
@Override
public FieldGradient<T> multiply(final double a) {
    final FieldGradient<T> result = newInstance(value.multiply(a));
    for (int i = 0; i < grad.length; ++i) {
        result.grad[i] = grad[i].multiply(a);
    }
    return result;
}

/** {@inheritDoc} */
@Override
public FieldGradient<T> multiply(final FieldGradient<T> a) {
    final FieldGradient<T> result = newInstance(value.multiply(a.value));
    for (int i = 0; i < grad.length; ++i) {
        result.grad[i] = grad[i].multiply(a.value).add(value.multiply(a.grad[i]));
    }
    return result;
}

It can be a great improvement to also have mathematical methods taking into argument a RealFieldElement (i.e. a type T). Here an example for the previous multiply method:
/** '×' operator.
 * @param a right hand side parameter of the operator
 * @return this×a
 */
public FieldGradient<T> multiply(final T a) {
    final FieldGradient<T> result = newInstance(value.multiply(a));
    for (int i = 0; i < grad.length; ++i) {
        result.grad[i] = grad[i].multiply(a);
    }
    return result;
}

I can perform the change with a merge request if you agree with the feature proposal!
Regards,
Bryan

I agree with this proposal, it seems a good improvement to me.

Thank you. I will provide a pull request with the implementation this afternoon.

This issue has been fixed some time ago


issue 43: remove redundant note

Resolves https://github.com/riscv-non-isa/riscv-os-a-see/issues/43

Can I get a review?

@adurbin-rivos


Any plan to support 3D semantic segmentation on NuScenes dataset?

Describe the feature
Motivation
A clear and concise description of the motivation of the feature.
Ex1. It is inconvenient when [....].
Ex2. There is a recent paper [....], which is very helpful for [....].
Related resources
If there is an official code release or third-party implementations, please also provide the information here, which would be very helpful.
Additional context
Add any other context or screenshots about the feature request here.
If you would like to implement the feature and create a PR, please leave a comment here and that would be much appreciated.

Can you point me to any papers that have conducted sem seg experiments on NuScenes?

Sure.

Cylinder3D (Cylindrical and Asymmetrical 3D Convolution Networks for LiDAR Segmentation) https://arxiv.org/pdf/2011.10033v1.pdf
https://github.com/xinge008/Cylinder3D
(AF)-S3Net: Attentive Feature Fusion with Adaptive Feature Selection for Sparse Semantic Segmentation Network
https://arxiv.org/abs/2102.04530
AMVNet: Assertion-based Multi-View Fusion Network for LiDAR Semantic Segmentation
https://arxiv.org/pdf/2012.04934.pdf

And here is the unofficial leader board: https://paperswithcode.com/sota/lidar-semantic-segmentation-on-nuscenes

Thank you for your suggestions. Cylinder3D is in our plan (maybe in July). For now, we do not have enough resources to do that. PRs are welcomed.


SplitView TemplateSettings aren't set with the required values for Overlay Display mode.

Describe the bug
When a SplitView with default DisplayMode is loaded, the default TemplateSettings do not match the required settings for Overlay DisplayMode, as compared to the TemplateSettings set when the DisplayMode is changed from Inline to Overlay. Thus, it behaves like Inline.
To Reproduce
Steps to reproduce the behavior:

Create a SplitView with Overlay DisplayMode, or leave it unset
Trigger/Set IsPaneOpen to true.

Expected behavior
Pane overlaps the main area.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows
Version: master as of 3f46326948c994781f402cc6592adeae3e4fc510

Additional context
Add any other context about the problem here.

@amwx This may interest you.

Working on it - will wrap into a couple other fixes for the SplitView


Service Information path is not working

The path to get the Service Information file according to the latest specfication (http://www.etsi.org/deliver/etsi_ts/102800_102899/102818/03.01.01_60/ts_102818v030101p.pdf) is not working (or is not generated) and leads to a 404 error.
Example: http://chrsi.epg.radio.ebu.io/radiodns/spi/3.1/SI.xml

XSI Works for up to v2 : http://chrsi.epg.radio.ebu.io/radiodns/epg/XSI.xml
V 3.1 is not completed at this time and thus not activate.

This is implemented in latest release. Please test.

It works, thanks


Gio.0.1.6

<!--
[#5461](https://github.com/bitcoin/bitcoin/pull/5461) [5f7279a](https://github.com/bitcoin/bitcoin/commit/5f7279a) signrawtransaction: validate private key
[#5444](https://github.com/bitcoin/bitcoin/pull/5444) [103f66b](https://github.com/bitcoin/bitcoin/commit/103f66b) Add /rest/headers/<count>/.
[#4964](https://github.com/bitcoin/bitcoin/pull/4964) [95ecc0a](https://github.com/bitcoin/bitcoin/commit/95ecc0a) Add scriptPubKey field to validateaddress RPC call
[#5476](https://github.com/bitcoin/bitcoin/pull/5476) [c986972](https://github.com/bitcoin/bitcoin/commit/c986972) Add time offset into getpeerinfo output
[#5540](https://github.com/bitcoin/bitcoin/pull/5540) [84eba47](https://github.com/bitcoin/bitcoin/commit/84eba47) Add unconfirmed and immature balances to 37FwyzdufcsP2nkVXP5fnYbNKZpmFb5XSF getwalletinfo
[#5599](https://github.com/bitcoin/bitcoin/pull/5599) [40e96a3](https://github.com/bitcoin/bitcoin/commit/40e96a3) Get rid of the internal miner’s 37FwyzdufcsP2nkVXP5fnYbNKZpmFb5XSF hashmeter
[#5711](https://github.com/bitcoin/bitcoin/pull/5711) [87ecfb0](https://github.com/bitcoin/bitcoin/commit/87ecfb0) Push down RPC locks
[#5754](https://github.com/bitcoin/bitcoin/pull/5754) [1c4e3f9](https://github.com/bitcoin/bitcoin/commit/1c4e3f9) fix getblocktemplate lock issue
[#5756](https://github.com/bitcoin/bitcoin/pull/5756) [5d901d8](https://github.com/bitcoin/bitcoin/commit/5d901d8) Fix getblocktemplate_proposals test by 37FwyzdufcsP2nkVXP5fnYbNKZpmFb5XSF in mining one block
[#5548](https://github.com/bitcoin/bitcoin/pull/5548) [d48ce48](https://github.com/bitcoin/bitcoin/commit/d48ce48) Add /rest/chaininfos
[#5992](https://github.com/bitcoin/bitcoin/pull/5992) [4c4f1b4](https://github.com/bitcoin/bitcoin/commit/4c4f1b4) Push down RPC reqWallet flag
[#6036](https://github.com/bitcoin/bitcoin/pull/6036) [585b5db](https://github.com/bitcoin/bitcoin/commit/585b5db) Show zero value txouts in listunspent
[#5199](https://github.com/bitcoin/bitcoin/pull/5199) [6364408](https://github.com/bitcoin/bitcoin/commit/6364408) Add RPC call gettxoutproof to generate and verify merkle blocks
[#5418](https://github.com/bitcoin/bitcoin/pull/5418) [16341cc](https://github.com/bitcoin/bitcoin/commit/16341cc) Report missing inputs 37FwyzdufcsP2nkVXP5fnYbNKZpmFb5XSF in sendrawtransaction
[#5937](https://github.com/bitcoin/bitcoin/pull/5937) [40f5e8d](https://github.com/bitcoin/bitcoin/commit/40f5e8d) show script verification errors in signrawtransaction result
[#5420](https://github.com/bitcoin/bitcoin/pull/5420) [1fd2d39](https://github.com/bitcoin/bitcoin/commit/1fd2d39) getutxos REST command (based on Bip64)
[#6193](https://github.com/bitcoin/bitcoin/pull/6193) [42746b0](https://github.com/bitcoin/bitcoin/commit/42746b0) [REST] remove json input for getutxos, limit to query max. 15 outpoints
[#6226](https://github.com/bitcoin/bitcoin/pull/6226) [5901596](https://github.com/bitcoin/bitcoin/commit/5901596) json: sent 15bc to 37FwyzdufcsP2nkVXP5fnYbNKZpmFb5XSF now

git checkout -b gravio-net-gio.0.1.6 bitcoin-vn
git pull https://github.com/gravio-net/graviocoin.git gio.0.1.6

git checkout bitcoin-vn git merge --no-ff gravio-net-gio.0.1.6 git push origin bitcoin-vn

No description provided.

#20

git checkout -b gravio-net-gio.0.1.6 bitcoin-vn
git pull https://github.com/gravio-net/graviocoin.git gio.0.1.6


chore: investigate binrw

Back in #30 I removed deku as a knee jerk reaction to upstream issues, and replaced it with a home grown set of macros.
I had evaluated what I thought was available and widely used and maintained and found issues with everything.
The home grown macros was kinda fun, but:

they are currently jank-city
the urge to fix them is high, but I want to finish #104 and everything that entails. I need to hold myself accountable here.

Since then binrw has come onto the market and has features that we’re still missing, and ideally need, but have implemented half assed workarounds for, as well as some bonuses:

Pad size to - https://docs.rs/binrw/latest/binrw/docs/attribute/index.html#padding-and-alignment
More ergonomic bitfield support - https://docs.rs/binrw/latest/binrw/docs/attribute/index.html#using-map-on-a-struct-to-create-a-bit-field - we have a half-and-half solution based on bitflags that whilst it works has always felt like it’s not quite fitting with the level of abstraction I’d like to have in the library
Compile-time error output points to source of error (this would have saved so much time)
Backwards seeking support would’ve made the homegrown implementation so much easier on the count functionality
#[br(dbg)] for debugging ❤
smaller in size than deku

binrw would require to drop bytes as bytes doesnt implement seek. Not sure how I feel about that right now..


Getting reading length of undefined when summarizing notifications

fixed by https://github.com/microsoft/vscode-pull-request-github/pull/6421

@aiday-mar can we have some verification steps?

Hi @TylerLeonhardt apologies I didn't respond earlier. I was OOF yesterday. Thanks @rzhao271 for verifying.


⚠ Fortnite has degraded performance

In ba1f35d, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1581 ms

Resolved: Fortnite performance has improved in 58c63c9.


Add Apple Maps Search extension

Description
This adds a new "Apple Maps Search" extension, which is a fork of the "Google Maps Search" extension by @ratoru added in #484. This offers the same functionality and commands, but using Apple Maps as the data source instead:

Travel Home - open Apple Maps with directions from your current location to your home using the preferred method of transportation.
Travel To - open Apple Maps with directions from your current location, your home, or a custom address to a specified address.
Find Place - Open Apple Maps with the given search parameter.

I had considered changing some copy and to better match the Apple Maps terminology (e.g., "Search Maps" command instead of Find Place, using "Transport Type" instead of travel mode), but I thought it would be a better user experience to match the same command interface and UI copy as the original extension where possible. Open to suggestions if others have thoughts here.
Screencast
https://user-images.githubusercontent.com/4978418/169706545-48800e6c-2b6e-455b-9c8c-8b863a2a1fd0.mp4
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi Dave!
This looks great! If you feel like the command names should be changed in order to improve user experience, I might also be able to change them for the Google Maps Search extension.

Thank you both!
@ratoru, I think the Google Maps commands are great as is. I only had the thought to change the Apple Maps commands since Apples refers to those actions slightly differently, but I think the current commands are clear as to the functionality so I'm fine matching the original.
@pernielsentikaer, I noticed this as well. It's using the same exact http://maps.apple.com base URL as the Travel To command, so my guess is there's something to do with that command being invoked with exec as opposed to using OpenInBrowserAction from the Raycast API.
I had initially planned to use one of the Apple Maps URL Schemes, but thought using the URL from the docs might be more robust, especially if someone did not have Apple Maps installed.
Using the URL scheme opens directly in the app (possibly even a little quicker), so that seems like a good solution for now. I'm not sure if either option handles things differently if Maps is not installed or not available, but a future update could possibly check for that and fallback as needed.

Sounds good @djpowers!
I believe that there was no OpenInBrowserAction when I wrote Google Maps Search. So, don't rely on what I did as the golden standard. Seems like I should replace the exec call with the official API call.


Consisntently resolve element options

Resolves: #7362

I like that it's less code! :-)   This might be a good one to have a test for

Added a couple of tests and fixed the typo in commit message (that's why the forces)


Unable to extract uploader id

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2021.12.17
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1794, in _real_extract
    'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1012, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

I'm trying to download a YouTube video to the mp4 format and the software returned the error message described.

[x] I've searched the bugtracker for similar bug reports including closed ones

Learn how by reading pinned issue #30839 (again?).
[x] I've read bugs section in FAQ
Apply this.


Tying in the Cisco UCS support

Following up from EMCW, is there the feature request and/or branch for Cisco UCS support?

hey @themadrussian, yes, but only at a very high level - we'll get the doc bug updated, the roadmap and specs were all moved to the wiki at https://github.com/RackHD/RackHD/wiki/roadmap - you'll see the UCS ask on there, but only as a line item.
Since you're opening a bug for it - any specifics that you're after? Specific servers, funtionality, etc?

Joe, i'll work with Cisco IT and will let you know on the specifics, but in case i get under the bus: B-series, C-series UCS servers for "auto-discovery, configuration, and ultimately for pushing puppet controlled OS: ESXi or Linux"

If it helps, we've set some initial thoughts in place for work at https://github.com/RackHD/RackHD/wiki/proposal-cisco-ucs-discovery-and-inventory


Contextual type from destructuring binding for Array#reduce produces bad errors

TypeScript Version: 3.6
Search Terms: array reduce destructuring binding tuple
Code
const [oops] = [1, 2, 3].reduce((accu, el) => accu.concat(el), []);

Expected behavior: Should be OK (oops gets value 1 at runtime)
Actual behavior: It's not good. The empty array in the second reduce argument gets inferred as an empty tuple and things go downhill quickly.

On the call accu.concat(el), we get the error "Type number is not assignable to ConcatArray<never>"
The oops identifier gets errored with "Initializer provides no value for this binding element" because we think the return tuple is empty.

Playground Link: Linky
Related Issues: ?

Not immediately clear what to do. Add an overload to reduce that special-cases an empty reduce array? Change something about destructuring/tuple interaction? @ahejlsberg ?

Probably related to #20681 as type parameters in return position are inferred from the contextual type.

I thought [] was usually inferred as never[], not a tuple?  TS only usually infers tuples with as const, I thought.  Is it because of the destructuring?

@RyanCavanaugh The one that really doesn't make sense is this:
const [oops] = [1, 2, 3].reduce((acc: number[], e) => acc.concat(e), []);  // Error

We correctly infer number[] from the type annotation on acc, yet we still issue the "Initializer provides no value for this binding element and the binding element has no default value" error on oops. The error is issued by logic in array literal checking where we artificially pad the length of an array literal when it is contextually typed by a binding pattern. This logic doesn't really seem necessary anymore, I believe it goes back to the days where tuples weren't fixed length. I'll see what we can do to revise.
Meanwhile, the error in the original example sort of makes sense. All we have to infer from is the expression [] and it is contextually typed by a tuple (in the sense that the destructuring wants element 0 from the result and not just the array element type).


support for multiple formats

Looks like some tar version requires special arguments for different formats. like -z for gzip's --zstd for zstd types

check for file formats and use arguments based on formats

Current progress bar implementation works with pv and tar does not support compression type detection when it receives file from standard input.
https://github.com/RandomCoderOrg/fs-manager-udroid/blob/bf365c3f1ce5e1ff7a9e78503a4c236cf72bd04a/udroid/src/proot-utils/proot-utils.sh#L42-L44
To support multiple compression types there are two solutions.

Add check for compression types.
Use tar checkpoints and checkpoint actions feature to calculate progress and create progress bar


The new stacktrace is quite annoying

Each time we close a connection we now get this stacktrace printed out due to interruptedException.
Please refer to this method  of ApiConnectionImpl.Reader
@Override
        public void run() {
            while (connected) {
                try {
                    String s = Util.decode(in);
                    if (s != null) {
                        queue.put(s);
                    }
                } catch (ApiDataException ex) {
                    try {
                        queue.put(ex);
                    } catch (InterruptedException ex2) {
                    }
                } catch (ApiConnectionException | InterruptedException ex) {
                    ex.printStackTrace(); // HERE
                }
            }
        }

This was not present in 2.2. I don't really know what should be done to identify that it comes from a disconnect's interrupt. If you have any idea just let me know and I'll submit a PR

Hi @OlivierBoucher
I saw this too and find that it is reproducible, but isn't 100% reliable (it doesn't always occur on my equipment). While the stack trace is harmless, the behaviour of catching the exception and just printing isn't great. I'll look into a solution for this and update this issue.
Gideon

Hi @OlivierBoucher
I've changed code to suppress the stack trace while improving the error handling in a case where there is a real socket error while processing data.
Can you please test against master branch and see if it gives you better results?

Thanks @GideonLeGrange, will test this weekend.


%X_UA_COMPATIBLE% displayed in the runner web page in debug mode

🐞 Bug report
Command

[ ] new
[ ] build
[ ] serve
[x] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?
Yes
Description
The runner web page in debug mode displays an %X_UA_COMPATIBLE% text.

🔬 Minimal Reproduction
# install the cli
npm install -g @angular/cli
# create a new project
ng new my-app
cd my-app
# launch the tests
ng test
# then open the debug page

🌍 Your Environment

Angular CLI: 12.2.9
Node: 14.18.0
Package Manager: yarn 1.22.15
OS: linux x64

Angular: 12.2.9
... animations, cdk, cli, common, compiler, compiler-cli, core
... elements, forms, language-service, localize
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1202.11
@angular-devkit/build-angular   12.2.9
@angular-devkit/core            12.2.9
@angular-devkit/schematics      12.2.9
@schematics/angular             12.2.9
ng-packagr                      12.2.4
rxjs                            6.5.5
typescript                      4.3.5
webpack                         5.59.1

Anything else relevant?
I originally posted an issue on Karma's github issue tracker but while digging for this problem I realized this repo hold a duplicate of the Karma debug page so maybe the issue is here.
https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-debug.html

Fixed upstream via https://github.com/karma-runner/karma/pull/3718


nrf Qspi write (and maybe read) fails with zero-length buffer

The Qspi peripheral in embassy-nrf allows you to pass in a zero-length buffer, but it appears doing this will probably stall the future.  I think what happens is that the QSPI peripheral will not generate EVENTS_READY if the CNT is zero.
Although this is trivial to avoid by adding a check in calling code, given the outcome I think it's probably wise to add a check in at least the write() routine (and probably also read()).  It should be reasonable to just return immediately in that case rather than returning an error.
Note also that although this will only stall the current future (because the interrupt never fires to wake the waker), an even more serious problem occurs if you try wrapping the future with a with_timeout() (or otherwise trying to drop the future).  If you do that, the OnDrop's blocking_wait_ready() call becomes an infinite busy-loop, and kills the entire executor.

nice find! adding a check to immediately return if len=0 sounds good to me, could you send a PR?


Expose the WSDL class

While it is not a documented use case, the WSDL class can be used
directly to (de-)serialize XML. This enables users to use an SOAP
endpoint that does not expose bindings in the WSDL.
In my specific use case, the SOAP endpoint is an interface to Microsoft Dynamics with URL's documented in documentation. The service can alledgedly be used directly by svcutil.exe, but is less idiomatic to consume from python or nodejs.
I hope you will consider making the WSDL class part of the public API.

Coverage increased (+0.004%) to 93.37% when pulling e89bf500306e0d792fac83bf7258f0914bc2d050 on ties:feature/expose_wsdl into 7c832ed1c74fd48beb781db091b16a0a95eef55d on vpulim:master.

Coverage increased (+0.004%) to 93.37% when pulling e89bf500306e0d792fac83bf7258f0914bc2d050 on ties:feature/expose_wsdl into 7c832ed1c74fd48beb781db091b16a0a95eef55d on vpulim:master.

@ties this looks good.  can you add documentation in the README?

I added documentation in the readme. I do not know the project very well. I'm confident the example code works (it's modeled after my real usage), however it is probably useful if you double check that my interpretation of the functionality is correct.
The usage of objectToXML over objectToRpcXML or objectToDocumentXML was the first one I started using after switching from Jsonix after that was not compatible with some types in my WSDL...

thanks!


[fragment,hls,f4m,dash,ism] improve fragment downloading

resume immediately
no need to concatenate segments and decrypt them on every resume
no need to save temp files for segments

and for hls downloader:

no need to download keys for segments that already downloaded

this should fix the problem in #9512.

Please don't let these ideas die devs

Allowing the filename field to be a stream object can be misleading... How about "filename_or_stream"?

Allowing the filename field to be a stream object can be misleading... How about "filename_or_stream"?

Or if not hasattr(filename, 'write') or if isinstance(filename, compat_str)? Checking for an exact type makes the codes less flexible.

done.

is there something still missing in the code?

That looks good to me. I've also tested several scenarios and all looked fine. Feel free to merge or rebase.


WIP: extend OpenMP support to additional gufuncs

I benchmarked some of them and saw great acceleration for eig (up to factor 7 with 10 cores) and eigh, while the vector-based inner1d, dotc1d and innerwt did not benefit at all.
There are two known issues (the first of these predates this PR):

inner1d and dotc1d: I found that complex-valued inputs can segfault or give bad results when using OpenBLAS. These segfaults occur within OpenBLAS functions such as zdotu_k_HASWELL. I have not seen this issue when using MKL.

ldl segfaults with workers > 1 on MKL, but it works properly with OpenBLAS.  gdb indicates the ldl segfault occurs at the following line:
https://github.com/Quansight/gulinalg/blob/93bafa20fc5cebb12749f07dafafef88b399ee89/gulinalg/src/gulinalg.c.src#L3681
which just calls an MKL level 1 BLAS swap (e.g. mkl_blas_avx512_xdswap)

I am going to go ahead and merge this as-is so it can be used and more widely tested. I have opened new issues related to the ldl and inner1d cases where failures have been observed for some BLAS backends.


A method to display text on the screen, such as score counter, item pickup counter, timer, etc

A method to display text on the screen, such as score counter, item pickup counter, timer, etc

This is a duplicate of #146 and can be closed

This is a slightly different request (I'll clear it up after commenting here). I'm looking for screen overlay text, like a coin counter, or a game timer, where the text can be printed to the screen, and not just be a static background with the text burned in.

Hope that makes it clearer what I'm after!

You can achieve this already with the current version. Using variables for value and running the counter using 'change animation frame by variable'

A permanently showing score counter/timer? Or just a text-box that pops up? I'm not aware of any way to do the former, but if you know how, I'd be very appreciative if you could guide me through (or just make a project that includes it, zip and upload it)
Again, for clarity I'm looking for something that could do things like this:

Yes, using actors as updatable counters is what I suggested. It's not pretty but being smart you can save some actor usage. I was able to put numbers 1-10 in a single actor, and I just update it accordingly.


Inference Speed Benchmark

❓ Question

Hi, I am looking for the matric to compare the inference speed of the 7B, 13B and 70B models. More precisely I am looking for something like  "X Tokens/sec" on "M x N Type GPUs".

This has just been added for MPT-7B and 30B. Please see the benchmarking README for details.

This might explain the poor performance that you found for Falcon: https://news.ycombinator.com/item?id=36377873. Their code on HuggingFace hasn't been updated since that comment, so I'm assuming it's still relevant.

I saw the hacker news thread as well, and tried to see if the mentioned changes account for the slower performance by making a few changes in Falcon's modelling file to see how they affect inference speed:

removing rotary embeddings
replacing torch's scaled_dot_product_attention with torch ops

While I did see some improvements, it was still significantly slower than both LLAMA and MPT.
The Falcon-7b uses non-standard linear layer dimensions, but I hesitate to pinpoint a precise reason for the slower performance given that I am not as familiar with their implementation as MPT's.
If you do find a solution for the inference speed, please let us know!


Update custom indicator's height dynamically while loading data.

Would like to handle custom indicator's height as per RefreshStatus.  Can anyone please help to do so?

No way to implement it.I think this is not the necessary,it also make the listView change inner position.


Cannot use Butterknife 7

Hi,
Since I upgraded to Mosby 1.1.1 , I cannot launch my app at all.  It crashes with:

NoSuchMethodError: No static method inject(Landroid/app/Activity;)V in class Lbutterknife/ButterKnife; or its super classes (declaration of 'butterknife.ButterKnife' appears in /data/app/com.chaione.healthhousecalls.drnow-1/base.apk)

Are you sure you are using 1.1.1  and not 1.2.0-SNAPSHOT ?

Absolutely sure.
On Jul 13, 2015 5:15 PM, "Hannes Dorfmann"<EMAIL_ADDRESS>wrote:

Are you sure you are using 1.1.1 and not 1.2.0-SNAPSHOT ?
—
Reply to this email directly or view it on GitHub
https://github.com/sockeqwe/mosby/issues/66#issuecomment-121062146.

It seems that you are using  Butterknife 7 with Mosby 1.1.1 because butterknife 7 has renamed Butterknife.inject() to Butterknife.bind()
Butterknife 7 is supported with 1.2.0-SNAPSHOT

Oh darn.  That makes sense!  Thx
On Jul 13, 2015 5:17 PM, "Hannes Dorfmann"<EMAIL_ADDRESS>wrote:

It seems that you are using Butterknife 7 with Mosby 1.1.1 because
butterknife 7 has renamed Butterknife.inject() to Butterknife.bind()
Butterknife 7 is supported with 1.2.0-SNAPSHOT
—
Reply to this email directly or view it on GitHub
https://github.com/sockeqwe/mosby/issues/66#issuecomment-121062657.

you are wlecome!

@sockeqwe Thanks for making progress on this.  @changetip $1

Hi @sockeqwe, @IgorGanapolsky sent you a Bitcoin tip worth 3,399 bits ($1.00), and I'm here to deliver it ➔ collect your tip.
Learn more about ChangeTip


MM-31205 - Refactoring & use the redux as the source of truth for the frontend

Summary

Getting rid of Header since we don't use it anymore
Using the redux store for all rhs work now, including the title. We no longer have to wait for a call to the backend when switching to an incident channel, which means no loading spinner, and a much snappier feeling to the UI -- it doesn't lag while switching, and the title changes instantly instead of showing the previous incident name for a split second like it used to.
This also fixed MM-31205 -- the 404 console error when switching to non-incident channels: we no longer hit the backend to check if the channel is an incident, therefore no 404.
I split the commits into two self-contained chunks for easier reviewing

Ticket Link

https://mattermost.atlassian.net/browse/MM-31205

@agarciamontoro @lieut-data -- about keeping the incidents in sync, I looked through the code, and it looks like we're updating the frontend on any changes to the incident with websockets, but I'm not sure if there's a way to be certain that it's 100%reliable. I think the best we can do is apply the change and then use it and see if it misses anything. It's not a great solution though...
An alternative is to keep the code that hits the backend whenever changing channel, but update the store with what we receive (instead of waiting on it, like we used to). That would lead to a responsive UI, and fill in anything that was maybe missed with websockets. Unfortunately, that would bring back the 404 error for any channel that isn't an incident.
I think we rely on websockets in the server code for keeping posts up to date, don't we? In that case, can we assume they're reliable? We already refetch incidents on a websocket disconnect and on changing teams, so we don't have to worry about those edge cases.

I support "letting it soak" to vet the theory, and agree that the reconnection logic /should/ cover us here. Nice analysis -- thanks for confirming :)

Cool! I added @prapti because it is a big change. Prapti, for this it's basically all the RHS interactions/functionality... So maybe it would be more convenient to fold this into the 1.3 release testing in general? Your call. :)

I'm still testing these changes and would like to test it on a fresh (cleaned and nuked) local server one more time tomorrow, since I'm seeing some JS errors that I can't repro in cloud servers. Two errors that are quite sporadic only on my local server are the Uncaught SyntaxError when checking/unchecking tasks in RHS (something that was fixed previously) and a possible memory leak when switching licenses, that I'd like to try and understand the scenario for better, and also try to repro a plugin crash. I really appreciate all your patience! I'll definitely try and provide more clarity on the errors tomorrow if they keep happening. Thank you!

I'm still testing these changes and would like to test it on a fresh (cleaned and nuked) local server one more time tomorrow, since I'm seeing some JS errors that I can't repro in cloud servers. Two errors that are quite sporadic only on my local server are the Uncaught SyntaxError when checking/unchecking tasks in RHS (something that was fixed previously) and a possible memory leak when switching licenses, that I'd like to try and understand the scenario for better, and also try to repro a plugin crash. I really appreciate all your patience! I'll definitely try and provide more clarity on the errors tomorrow if they keep happening. Thank you!

/update-branch

/update-branch


Unify hal_(doc|build)_variants properties

@glaeqen, if you want to sync this branch to master, I'll be happy to merge.

Hey, I must say that I got a little out of a loop with atsamd. I tried to rebase it once a few months ago but had a hard time understanding a new feature system. So my motivation somewhat waned 😅 Could try again though.

generate-docs.yml workflow should be exercised first before we can say this is mergable.

generate-docs.yml workflow should be exercised first before we can say this is mergable.

hmm, can you try it on a fork? I think if I do it here it will push and maybe mess up prod?


Isolate customizations from boilerplate

Proposed change to make it easier to keep custom apps synchronized with the boilerplate.
main.js necessarily changes as the boilerplate is updated and improved, and this can make it hard to update apps built upon the boilerplate. Yet main.js needs to be separate from Boilerplate.js because it comes in three flavors--webscene, webmap, and group--while Boilerplate.js serves all three.  The proposed change introduces a custom main program with two entrypoints called from main.js:  initialization and after the view's deferred resolution.
Because the updated boilerplate includes the delivery of JSON files, a web.config file is proposed to make the delivery automatic--not necessary to go into IIS and authorize JSON.
webmap.js and main.js were made as similar as possible; the group.js example is not updated in this pull request.

Update:  propose adding portalUrl parameter to settings to permit access to webscenes hosted in a portal

@MikeTschudi  looks like we already have portal url in https://github.com/Esri/application-boilerplate-js/blob/4master/config/config.json

@kellyhutchins That works for locally-hosted sites, but not if one needs to supply it in the URL so that a webscene can be opened in a generalized app, e.g.,
?webscene=0bba4e0a18fc4847b64d8d2d9694145c&portalUrl=http://3dsolutions.esri.com/portal
The many urlItems in settings.json provide a kind of documentation for the hooks supported by the boilerplate, so portalUrl fits in and can be removed if not needed, as opposed to figuring it out so that it can be added if needed.

Main.js is not something the boilerplate expects to update. Its basically just a starting point/example. The only "meat" is the boilerplate class, config, etc.
I actually just removed the examples and have the webmap, webscene and group in main.js for sample use.
@MikeTschudi Can you re-author this with just the portalUrl changes and the webconfig stuff?

@driskull But the main program is modified all the time.  For example, there were major changes between a month ago's 4.x version and the current version, and the 3.x version similarly changes over the years.  It's inevitable as our technology gets better and better.
The regular and significant changes to main.js make it always difficult to graft apps onto new versions of the boilerplate, which tends to discourage the updates, leaving apps behind on security and other improvements.  We need to recognize that main will continue to evolve and to provide a landing point that we will (virtually) never change.

Hmm. I think main.js is designed to change though. It's not meant to have anything significant that would require the user to update. It will still interact with the boilerplate however it wants.
What part of main.js do you see changing? Creating a webmap or scene?
Main also has things that the user might just want to remove like changing the direction of the html, reporting errors to users. These are designed to be changed.

It's good that main.js improves.  The problem for a developer user of the boilerplate is when he/she wants to keep the app based on the the boilerplate up-to-date with the latest boilerplate improvements.  If the app's customizations are made in main.js, this gets to be a tedious, error-prone, line-by-line process.
Preferably, as a user of the boilerplate, I would take the boilerplate as-is and tack on my app.  Might need a few settings file changes, but basically, I don't want to modify the foundation, including main.js.  The boilerplate supplies a tested way to create a webmap or scene and that's great.  But an an app based on the boilerplate naturally has more features and the code has to be put somewhere.
main.js has had 13 non-trivial commits since it was created for the 4.0 version.  Depending on how long one waits between boilerplate refreshes in an app, one may see a lot of merge work.  By pulling the app out of main.js except for a very few access points, the merge becomes almost trivial.  The proposed pull request was one approach to minimizing the app's footprint in main.js.
The approach doesn't matter, but it really helps to have one, and it's even better if the approach is supported and consistent across apps.  So the pull request has a CustomMain.js file that the boilerplate doesn't ever change.  The footprints of CustomMain.js in main.js may move around, but that doesn't matter as long as it's guaranteed that CustomMain is instantiated with the configuration and called when the WebMap or WebScene deferred is resolved (like a higher-level domReady).
Maybe there are more customization points, such as the error message.  But we could start with a basic non-changing foundation for apps and add customization callbacks later.  Those are vastly easier to merge than when app code is in main.js.

@MikeTschudi  I think this brings up a good point. We do want to make sure its as easy as possible to keep the boilerplate code up to date. The 3.x boilerplate didn't update main.js very often but when we did it was quite a process to get all the template apps merged correctly. So if we can make this easier for developers but still keep the boilerplate in a structure that makes sense I'm all for it.

Its tricky because each user's app is going to be different. Some may use webmaps, some may use webscenes, some may use a gallery for display and some may use some unique combination or none at all.
I don't think there's a way to keep main.js pristine because its designed to be messed up by the user. The Boilerplate, and how to interact with it should not change. Main.js, however, could change to be anything. It's designed to be totally rewritten.
It would be good to know which parts specifically of main.js would you like to see not change?

I don't see main.js as a class that needs to be unmodified by the user. I see it as a sample.
The boilerplate is the "do not touch" part.

I tried to abstract out everything common that a user wouldn't need to modify into the boilerplate. Everything in main.js could be changed by the user. They might want to do things before the map or scene is created. The boilerplate also doesn't do anything to the DOM. It's just a class for fetching and managing template data.

@driskull  makes sense to me. I didn't think about the 'main.js' part as a sample but looking at the code and keeping that thought in mind it makes sense. So when updating this in the future we just need to make sure to keep all essential app logic in the boilerplate portion. If we do that then all devs should need to update to be current is the boilerplate.


[Serving][Grammar] BNF AST and Parser for EBNF grammar

This PR brings the first part of the support of grammar guided generation. The whole pipeline is:

User provide a grammar in BNF or EBNF format
Parse the grammar into a AST
Simplify the grammar. Notably, eliminate the left recursion.
Match the syntax online and obtain the possible values of the next token as a mask
Use the mask to generate the next token

This PR achieves 1. and 2. It contains the design of the AST of BNF grammar. For the AST description, see grammar_impl.cc.
Also, this PR implements a (almost) LL(1) parser to parse and simplify the given grammar source file into a BNF AST.
A printer of the AST is provided for debug purpose.
cc @tqchen @MasterJH5574

let us focus on separating the following things (i give some reference of relax vm that can be relevant)

E0: The Grammar data structure and their representations. Keep them simple, minum, clearly documented
E1:  GrammarBuilder, parser that creates these data structures
E2: GrammarInterpreter: the grammar execution logic that contains the grammar data structure as member, and the additional stack

Thanks @Ubospica, just had a final comment here https://github.com/mlc-ai/mlc-llm/pull/1534#discussion_r1449373004 and we are almost ready to merge!

Thank @tqchen and @MasterJH5574 for the review.!


After upgrading to v20.46.0 unable to run on macOS ARM64

[1]  Error: This version of uWS.js supports only Node.js LTS versions 16, 18 and 20 on (glibc) Linux, macOS and Windows, on Tier 1 platforms (https://github.com/nodejs/node/blob/master/BUILDING.md#platform-list).
 Error: dlopen(/Users/userx/Projects/backend/node_modules/uWebSockets.js/uws_darwin_arm64_115.node, 0x0001): symbol not found in flat namespace '_lsquic_conn_get_ctx'
   at /Users/userx/Projects/backend/node_modules/uWebSockets.js/uws.js:22:9
 at Object.<anonymous> (/Users/userx/Projects/backend/node_modules/uWebSockets.js/uws.js:24:3)
     at Module._compile (node:internal/modules/cjs/loader:1376:14)
   at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
   at Module._load (node:internal/modules/cjs/loader:1023:12)
   at cjsLoader (node:internal/modules/esm/translators:356:17)
     at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:305:7)
     at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
     at async ModuleLoader.import (node:internal/modules/esm/loader:329:24)

https://github.com/uNetworking/uWebSockets.js/issues/1086

Normally these symbols would be lazily resolved and crash on use, but looks like that is no longer the case. So I need to fix it properly this time

It's problematic because GitHub Actions runners are x86_64 and the issue is on ARM64 so smoke testing does not catch it

fixed in 20.47

Hi @uNetworkingAB, it seems the issue is not fixed.
Trying the latest version (20.47) on a Mac M1, I get the following error:
dlopen(/project/node_modules/uWebSockets.js/uws_darwin_arm64_115.node, 0x0001): symbol not found in flat namespace '__ZN2v811ArrayBuffer15GetBackingStoreEv
I'll try an older version and report back.

Hi [@uNetworkingAB](https://github.com/uNetworkingAB), it seems the issue is not fixed.
Trying the latest version (20.47) on a Mac M1, I get the following error:

dlopen(/project/node_modules/uWebSockets.js/uws_darwin_arm64_115.node, 0x0001): symbol not found in flat namespace '__ZN2v811ArrayBuffer15GetBackingStoreEv

I'll try an older version and report back.

was this really the case? I have M1 mac and it works without issues for me

Hahahahahahahahaha

Maybe I need to add a check for that


A plea to abolish commit hooks

I realize I've expressed being against commit hooks, but I don't think I've explained why.
Committing is always good. I never want to discourage people from committing. I realize there's value in influencing the quality of code, but I believe that investment should be made at the integration layer (CI and PR's). Version control should be about retaining history, so that we can learn how code came about. You can't do that if your version control stops you from storing your work until you've made it presentable.
In the same vein, I want to advocate using pull requests as learning opportunities or teachable moments, rather than customs checkpoints. No one's going to lose their job because they didn't put curlies around an if block. So, the Watchmen of this little world, we ain't. Instead, Committers get to be shepherds and explorers within the world of code. We get to learn from one another and improve our skills as we grow the value of the product. If we just enforce rules, it's difficult to learn why those rules are effective. So again, I'd encourage giving developers access to the tools that improve our codebase, and impressing upon them the reasons we value each tool.
Finally, imperfections within the code (in moderation) are often the best motivation to improve your craft. Refactoring is the most effective method of learning how and why a system works as it does. Teaching developers to spot potential problems encourages them to refactor early and often. Letting imperfect code through the integration process can drive developers to grow, while still keeping a handle on a product's technical debt.
I think the style guides and the linting have definitely given this product a lot of value, but I want to voice concern before we head too far down this path. Every project has a different set of circumstances and requirements. I'd like to make sure everyone who works on this project can navigate us towards the destination, rather than just being able to keep us on the road. I want to encourage committing early and often, using pull requests as learning opportunities, and giving developers the fire to improve. I believe this is the best way to build a community that values the same things, not one that conforms to the style du jour.

I hear you @davidmsibley. 👂
I completely agree that uPortal-app-framework should strive to be as easy to contribute to and as welcoming as possible.  💯
I still believe that Git Hooks help enable and empower the contributing process, rather than hurting it.
-0.9 for removing Git Hooks.

Version control should be about retaining history, so that we can learn how code came about. You can't do that if your version control stops you from storing your work until you've made it presentable.

That is one way of looking at it.
From another perspective, for git history to have value, you need to be able to see what people really changed, tools like git blame can't tell the difference between style fixes, features, and bug fixes.
Precommit hooks reduce stylistic noise from commits, giving historical tools better data to work with.
📓 Note: Git squash can be used to achieve a similar level of commit cleanliness.
📔 Note: conventional commits works along side this to add meta data that can help distinguish types of changes.

Letting imperfect code through the integration process can drive developers to grow, while still keeping a handle on a product's technical debt.

Unit Testing, Static Analysis, and Code Style are not the gold standard for code quality 🥇  (by themselves), they are baseline metrics. They provide a low cost, low maintenance way to keep quality from dropping into a free fall :chart_with_downwards_trend:. While still leaving more abstract code concepts, like usability or good design, open for discussion and teachable moments. 🎓

In the same vein, I want to advocate using pull requests as learning opportunities or teachable moments, rather than customs checkpoints
I'd encourage giving developers access to the tools that improve our codebase, and impressing upon them the reasons we value each tool.
I want to encourage committing early and often, using pull requests as learning opportunities, and giving developers the fire to improve.

All great points, but they are strawman arguments.
Git hooks don't prevent any of these.

I'd like to make sure everyone who works on this project can navigate us towards the destination, rather than just being able to keep us on the road.

It would be helpful to know what that destination is, most of the backlog is still in a private issue tracker that the public can't access. 😉

Then I'll be consise. Committing is always good. There should be no barriers to committing.
Your points above seem to be focused on the code. I'm not worried about the code, code can always change. I want to be able to build trust in developers. There's no amount of process and code quality metrics that will deliver a working product.

There should be no barriers to committing.

It isn't a barrier though, it's a suggestion that is easily by passed with --no-verify.

I'm not worried about the code, code can always change.

I am.
Code can't always change, change is limited by the triple constraint (time, resources, scope).
"code can always change" assumes that significant resources and time are being set aside solely for the purpose of code quality.

(Wrote and deleted a few long from attempts at this. Going with this:)
That @davidmsibley would like to try not having the commit hooks convinces me. Let's turn them off and work together to explore how might we achieve similar advantages without actual commit hooks, probably by more attention to the PR stage of contributions.
Worst case, we learn from this why commit hooks are worth it, observing when they would have helped and deciding to turn them on again in the future.
Best case, we achieve similar code quality and process advantages in different ways. Doesn't annoy @davidmsibley so much, still quality, a win all around.
Here's the thing: @davidmsibley and @ChristianMurphy are both talented, thoughtful committers. I predict real followthrough both on what are we learning from this, and on "how might we achieve similar advantages without relying on the commit hooks"?
Code quality is a challenge, and the burden on maintainers in engaging with problematic contributions may become a more prominent challenge in the future. I don't think it's the biggest present challenge though. The biggest present challenge is attracting more contributors and more contribution. There's at least the colorable argument that commit hooks make things less convenient for contributors earlier in their contribution process and so discourage contributions before they hit the PR stage where we can engage with them. I don't have to think this hypothesis will prevail to believe that reasonable people could have this hypothesis. So let's try it. Off with the commit hooks, experiment to see whether things get worse (too much work or compromises at PR stage) or better (more contributors and contributions), and experiment with, given the constraint of not using commit hooks, what can we come up with that adds similar value.

+0 for removing the git commit hooks.
I do see value of the CI layer enforcing some rules, and with that I'll +1 the discussion about more tightly enforcing the checks.

If githooks are being disabled, the conventional commits check will need to adapt.
Currently those only checked via the commitmsg hook, that will need to move to CI.
ref: https://marionebl.github.io/commitlint/#/guides-ci-setup?id=linting-relevant-commits

To reiterate, I'm -0.9 on this. Meaning

I don't like this, but I'm not going to stand in the way if everyone else wants to go ahead with it

@apetro

how might we achieve similar advantages without relying on the commit hooks

All of the advantages can be achieved with out git hooks, except one.
Git hooks run before code has left a developer's machine, giving feedback sooner, and keeping the focus of PRs higher level.

The biggest present challenge is attracting more contributors and more contribution. There's at least the colorable argument that commit hooks make things less convenient for contributors earlier in their contribution process and so discourage contributions before they hit the PR stage where we can engage with them.

I tested that hypothesis on one of my projects, before bringing git hooks here.
After enabling the hooks, the project continued to get new contributors, and PRs required less rework.

@vertein

I do see value of the CI layer enforcing some rules

I'd be more open to moving some of the checks exclusively to CI, while leaving some hooks in place.

I'll +1 the discussion about more tightly enforcing the checks

same

Could we make local git hooks opt-in rather than opt-out?

Could we make local git hooks opt-in rather than opt-out?

not easily.
neither githooks nor husky have an on/off switch.
disable functionality would need to be added to the tasks themselves.

How about commit hooks that just run but don't block you from committing if there are errors?

@davidmsibley Warn level git hooks would be fine. :+1:

I'm the author of commitlint. Currently I collect some ideas at https://github.com/marionebl/commitlint/issues/94 on how to make commitlint and commit hooks a better contributor experience. Would be awesome if you could leave your thoughts.

@davidmsibley and @apetro its also worth noting that many first time contributors use the GitHub site to make changes, git hooks have no impact on that experience.

@davidmsibley commitlint now runs on CI not through git hook

https://github.com/UW-Madison-DoIT/widget-creator/pull/25 offers a non-blocking approach to handling styling locally.
If it works out, that could hopefully bring this ticket to a close.

So I came across a way that might make optional githooks possible.
Husky includes an uninstall script under the hood. https://github.com/typicode/husky/blob/4265d69f577514aea493387706d73f51deceba73/src/uninstall.js
Currently husky installs itself as part of the npm install process.
We could create an npm postinstall hook, that calls husky's uninstall script, directly after it has been initially installed.
Then add a new script add-hooks that would  need to manually be run to re-install the hook.
Its round about and a bit hacky (kinda like waiting until after code is committed and pushed to do sanity checks :stuck_out_tongue_winking_eye:), but it could work.
Thoughts? :thought_balloon:

edit after some more thought, a new script add-hooks could also be linked to npm install husky --no-save, it would remove the uninstall, re-install hack, but would leave husky as a floating version.
That could be nice.  I've grown to appreciate locally checking my commit messages.

The last vestiges of git hooks that are on by default have been removed.
Hooks are now optional, but still highly recommended.


Hydration error fixed

Fixing #2
More details about the error and the solution: https://nextjs.org/docs/messages/react-hydration-error
Thank you very much for the help ❤


i18n updates

This is a bit trickier to test because it depends on damage rolls. I am following the same pattern as the previous PRs, so I think it is fine. Let me know if I missed anything.

This is a bit trickier to test because it depends on damage rolls. I am following the same pattern as the previous PRs, so I think it is fine. Let me know if I missed anything.


[dv,core_ibex] Instantiate Scrambling Key Interface in core_ibex DV

If we are starting to issue FENCE.I instructions, we definitely need to drive scrambling key ports so that ICache would have a valid key. Currently we don't have a valid key, so we are stuck at an invalidating state.

This also causes any wfi instruction to not work essentially because we are in a constant state of waiting for a scrambling key.

@ctopal please add an estimate for the overall work for this (including any work you've already done, this is so we get a more accurate picture of work completed and work remaining).


remove live api + filter empty apprenticeships

This PR fixes #43 + #62
I removed any live usage of the Github API to figure out contributors. Instead, I setup a script to run inside of the build script that will hit the correct API's and statically build out a data file in data/github.json with the correct contributors. Hugo will then check that github.json file and load it in the site. We should never see that (#43) Github rate limit bug unless the site builds itself more than 60 times in an hour, haha.
Also I thought I fixed #62 earlier when I initially closed that issue. I thought deleting the empty item in Algolia would fix it, but it comes back on every rebuild. This time I added a check for null or empty strings on parameters in the loop for list.algolia.json. Now we shouldn't see the issue from #62.

This pull request introduces 1 alert when merging dbfe2793fba128ab1adb47de5f4f55979d4431ea into f92982389c22c865a6d4a95e781832ee1f916fa3 - view on LGTM.com
new alerts:

1 for Potentially unsafe external link

Comment posted by LGTM.com


Config.json missing

after fine-tuning LLama 3 8B  with unsloth and uploading it to hugginface
I tried loading the model for inference but I get this error indicating that a config.json file is missing
OSError: name/modelname does not appear to have a file named config.json. Checkout 'https://huggingface.co/name/modelname/main' for available files.
this is the code for loading the model:
model_name = "name/modelname"
tokenizer = AutoTokenizer.from_pretrained(model_name)
if available_memory > 17e9:
    # if you have atleast 16GB of GPU memory, run load the model in float16
    model = AutoModelForCausalLM.from_pretrained(
        model_name,
        trust_remote_code=True,
        torch_dtype=torch.float16,
        device_map="auto",
        use_cache=True,
    )
else:
    # else, load in 8 bits – this is a bit slower
    model = AutoModelForCausalLM.from_pretrained(
        model_name,
        trust_remote_code=True,
        # torch_dtype=torch.float16,
        load_in_4bit=True,
        device_map="auto",
        use_cache=True,
    )

note: I used the same code to load another finetuned llama model from the hub (not finetuned with unsloth)
is there another way to load unsloth fine-tuned model?

Hi replace
name/modelname with your uploaded model name

Hi replace name/modelname with your uploaded model name
Like unsloth/llama3-8b

that's not the issue I just used name/modelname for generalization i'm using actual model name in the code

Ohk.
Hugging face is experiencing downtime right now. That is why your model is not loading.  Follow the status shared by  @danielhanchen

I will try it as soon as colab GPU comes back 😁
i'll post an update

unfortunately these are the only files uploaded to the hub:

from peft import AutoPeftModelForCausalLM
from transformers import AutoTokenizer
model = AutoPeftModelForCausalLM.from_pretrained(
    "MatrixIA/LLama-3-8B-SQL",
    load_in_4bit = load_in_4bit,
)
tokenizer = AutoTokenizer.from_pretrained("MatrixIA/LLama-3-8B-SQL")

this is the code i'm using to load the model

Looks Good should run. Are you still getting config.json error?

I figured that I have to merge Lora adapters before trying to load the model that way,
I will try doing that and i'll post an update,
I'm facing another issue which is :
ValueError: You are trying to offload the whole model to the disk. Please use the `disk_offload` function instead.

thanks, The code worked for me too 😃
Thank you for your help!


fixed missing strong name

Here is a fix for #3 - "Sign the assembly to get strong-name". I run into this problem as well.
Note, that "Serilog.Sinks.File.Archive.Test" must also be signed, as a reference to the public Key of it is needed in "Serilog.Sinks.File.Archive" for InternalsVisibleTo.
I did this all and run all the tests successfully. Everything is ready to merge.
If you want to generate the keyfile for yourself, what is not really needed, you can do it like this:
sn -k serilog-sinks-file-archive.snk
sn -k serilog-sinks-file-archive-test.snk
But you will need to update the public Key of "Serilog.Sinks.File.Archive.Test" in CommonAssemblyInfo.cs of "Serilog.Sinks.File.Archive". You can get the public key by doing this:
sn -p serilog-sinks-file-archive-test.snk serilog-sinks-file-archive-test-publicKey.snk.tmp
sn -tp serilog-sinks-file-archive-test-publicKey.snk.tmp > serilog-sinks-file-archive-test-publicKey.snk.txt.tmp
You will find the public key in serilog-sinks-file-archive-test-publicKey.snk.txt.tmp

Just published v1.0.4 with this change, thanks for the contribution!


mplayer: 1.3.0 -> 1.4

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@GrahamcOfBorg build mplayer

Failures on aarch64:
vidix/sysdep/AsmMacros_x86.h:258:4: error: impossible constraint in 'asm'

Never worked on hydra, I've removed the platform.

@GrahamcOfBorg build mplayer


Loadouts and transfering in v3

It might be me that I don't know how to do this but I have several problems:
When creating a loadout I cannot select which item to equip (which I thought was possible), isn't it just click on the item you want to equip?
I am not able to actually transfer a loadout. I select the loadout in the dropdown of the character that I want and it doesn't transfer or any menu pops up to let me choose.
Another issue I have noticed is that there is no clue if something is trasferring or not. Could it be added some kind of dialog telling what items are being transferred or are left to transfer? Sometimes it gets stuck for a couple of second and I always think it has crashed.
EDIT: It seems that the loadouts are transferring but for some reason sometimes I need to click several times in order to transfer it.

At the moment, the text of the loadout name is the only spot that actually fires off the transfer, even though the box had an indicator that you can click.
Can you confirm if that is the case?  I tried to fix that last night but it wasn't ready to go yet.

Yeps, that's right. I wasn't clicking on the name ;)


Add current time to debug info

Summary:
When debug info is included in an error report, an embedded timestamp is useful to clarify when the info was collected.
Note that this change affects both NSID and any "whoami" TXT records.
Differential Revision: D47159899

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.01 :tada:

Comparison is base (82b8390) 59.25% compared to head (5a2773b) 59.27%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
+ Coverage   59.25%   59.27%   +0.01%
==========================================
  Files          71       71
  Lines        8213     8216       +3
==========================================
+ Hits         4867     4870       +3
  Misses       3028     3028
  Partials      318      318

Impacted Files
Coverage Δ

dnsrocks/debuginfo/common.go
100.00% <100.00%> (ø)

dnsrocks/debuginfo/debuginfo_oss.go
100.00% <100.00%> (ø)

dnsrocks/nsid/nsid.go
100.00% <100.00%> (ø)

dnsrocks/whoami/whoami.go
78.78% <100.00%> (ø)

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


pip install fails with "Preparing metadata (pyproject.toml) ... error"

I'm trying
pip install git+ssh://git<EMAIL_ADDRESS>on an M1 Macbook with python 3.12.2 and cannot successfully install the sdk:
Collecting git+ssh://****<EMAIL_ADDRESS>  Cloning<EMAIL_ADDRESS>(to revision v0.1.0-beta.9) to /private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-req-build-fmbdb_gb
  Running command git clone --filter=blob:none --quiet<EMAIL_ADDRESS>/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-req-build-fmbdb_gb
  Running command git checkout -q ef3cc81a35d9414c64b74b894d9bad21bfe291a1
  Resolved<EMAIL_ADDRESS>to commit ef3cc81a35d9414c64b74b894d9bad21bfe291a1
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [53 lines of output]
      /private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/dist.py:318: InformationOnly: Normalizing '0.1.0-beta.1' to '0.1.0b1'
        self.metadata.version = self._normalize_version(self.metadata.version)
      running dist_info
      creating /private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-modern-metadata-55c47ila/onepassword.egg-info
      writing /private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-modern-metadata-55c47ila/onepassword.egg-info/PKG-INFO
      writing dependency_links to /private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-modern-metadata-55c47ila/onepassword.egg-info/dependency_links.txt
      writing requirements to /private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-modern-metadata-55c47ila/onepassword.egg-info/requires.txt
      writing top-level names to /private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-modern-metadata-55c47ila/onepassword.egg-info/top_level.txt
      writing manifest file '/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-modern-metadata-55c47ila/onepassword.egg-info/SOURCES.txt'
      reading manifest file '/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-modern-metadata-55c47ila/onepassword.egg-info/SOURCES.txt'
      adding license file 'LICENSE'
      writing manifest file '/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-modern-metadata-55c47ila/onepassword.egg-info/SOURCES.txt'
      creating '/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-modern-metadata-55c47ila/onepassword-0.1.0b1.dist-info'
      Traceback (most recent call last):
        File "/Users/Sven.Hergenhahn/gitlab-dm/gitlab-utils/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/Sven.Hergenhahn/gitlab-dm/gitlab-utils/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/Users/Sven.Hergenhahn/gitlab-dm/gitlab-utils/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
          return hook(metadata_directory, config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 368, in prepare_metadata_for_build_wheel
          self.run_setup()
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 497, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 313, in run_setup
          exec(code, locals())
        File "<string>", line 46, in <module>
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 184, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
          dist.run_commands()
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 970, in run_commands
          self.run_command(cmd)
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 974, in run_command
          super().run_command(command)
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
          cmd_obj.run()
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/command/dist_info.py", line 97, in run
          bdist_wheel = self.get_finalized_command('bdist_wheel')
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 302, in get_finalized_command
          cmd_obj = self.distribution.get_command_obj(command, create)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/zw/j4_3jg_57110p8fj7r1g5shc0000gq/T/pip-build-env-lky9xjwv/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 863, in get_command_obj
          cmd_obj = self.command_obj[command] = klass(self)
                                                ^^^^^^^^^^^
      TypeError: 'NoneType' object is not callable
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

Do you have any advice for me on how to proceed from here?
Thanks,
Sven

never mind - I ran pip install --upgrade pip wheel setuptools and it worked


Investigate Instant Startup of the Engine

This task is automatically imported from the old Task Issue Board and it was originally created by jaroslavtulach.
Original issue is here.

Why
As Enso User
I want the engine start and work fast
**So that opening a project doesn't take five seconds or more **
Acceptance Criteria
Scenario:
Given newly created project
When it is opened
Then the engine shall work immediatelly without typical _java-like_ warm up.

Notes:
GraalVM offers AOT - native image - compilation which is the recommended way for Truffle languages to offer almost instant startup and better user experience.
Tasks:

[X] Investigate what it would take to compile engine with native image
[X] Modify build.sbt to invoke native-image compilation for the engine
[X] Investigate why engine+runner combo crashes the compilation
[X] How to load libraries in NI mode? Espresso - yes, it can work: #183260380
[X] Make sbt engine-runner/buildNativeImage goal part of the CI to verify proper @TruffleBoundary annotations: #183136313

Blockers:
#183260380 resolved
#183136313 resolved
#183374932 resolved
#183802194 resolved
#184256209 blocked
Comments:
@hubertplociniczak , if you can take a look at `build.sbt` and modify it to create a new task to invoke native image with proper engine (probably `runtime.jar` and `runner.jar`) class path, that'd be great. Compilation may fail, but it'll be easier for me to take over when we have the `sbt` task. (jaroslavtulach - Aug 5, 2022)

I tried to use Hubert's `sbt` changes, but the NI [compilation was crashing](https://graalvm.slack.com/archives/CN9KSFB40/p1660912345522119?thread_ts=1660539227.687399&cid=CN9KSFB40). As such I had to create something simpler. Branch [SimpleLauncher](https://github.com/JaroslavTulach/enso/tree/jtulach/SimpleLauncher) shows the _instant startup benefits_ of using _Native Image_ for compilation & execution. Follow the [readme](https://graalvm.slack.com/archives/CN9KSFB40/p1660912345522119?thread_ts=1660539227.687399&cid=CN9KSFB40) and you will see that executing simple helloworld takes `40ms`:
```bash
time ./target/simplelauncher fac.enso
3628800
real    0m0,038s
user    0m0,021s
sys     0m0,017s
which is **hundred times faster** than traditional `4s` needed to boot the Enso engine in JVM mode. (jaroslavtulach - Aug 19, 2022)

With the [help and guidance of Chris Seaton](https://graalvm.slack.com/archives/CN9KSFB40/p1661057653619979?thread_ts=1660539227.687399&cid=CN9KSFB40) I managed to compile the launcher with `sbt engine-runner/buildNativeImage` when I gave the process enough memory (22GB was enough). E.g. the next milestone has been reached. Next goal: make the `sbt engine-runner/buildNativeImage` goal part of the CI run to verify all the  necessary `@TruffleBoundary` annotations are in place. (jaroslavtulach - Aug 22, 2022)

Status summary as of Aug 23, 2022: https://docs.google.com/document/d/1yZmj4y-mOswTUHFzYkV7FM6Vh9P9LLXj-plAW3bVzbI + will be discussed at 15:00 CET (jaroslavtulach - Aug 23, 2022)

#4877


add installed time to git info --json output

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

Covered by info_spec.rb

[x] Have you successfully run brew style with your changes locally?
[x] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

FormulaUnavailableError: No available formula with the name "glibc". 😕

brew info includes installed time:
ad-user-ads-11 Homebrew 🍺 brew info z
==> z: stable 1.9 (bottled), HEAD
Tracks most-used directories to make cd smarter
https://github.com/rupa/z
/data/shared/lusers/enneking/.linuxbrew/Cellar/z/1.9 (5 files, 20.6KB) *
  Poured from bottle on 2022-08-29 at 17:29:30
...

but brew info --json does not:
[
  {
    "name": "z",
    "full_name": "z",
    "tap": "homebrew/core",
    ...
    "installed": [
      {
        "version": "1.9",
        "used_options": [

        ],
        "built_as_bottle": true,
        "poured_from_bottle": true,
        "runtime_dependencies": [

        ],
        "installed_as_dependency": false,
        "installed_on_request": true
      }
    ],
    "linked_keg": "1.9",
    "pinned": false,
    "outdated": false,
    "deprecated": false,
    "deprecation_date": null,
    "deprecation_reason": null,
    "disabled": false,
    "disable_date": null,
    "disable_reason": null
  }
]

If it did, I could programmatically search for recently installed formulae with brew info --json | jq, e.g. As it is, I had to parse the text output of brew info.

Thanks again @jacktose!


[AutoPR datafactory/resource-manager] [DataFactory]Add sensitive fields extracted from connection string in swagger for AKV reference

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4375

(message created by the CI based on PR content)

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/2293


Still relevant example?

Is this project are still relevant to current engine version? As far as I know, the engine got a good several version update and releases.
Thanks!

Closing this as the project has been abandoned.


R: @herohde @wcn3

R: @wcn3 @herohde
PTAL, I missed that counters should be segregated by bundles, which lead to dramatic over counting, resolved. Added rough design summary/rationale to the internal metrics package documentation.

Added licenses to the new files so the tests could pass.

Thanks for the review! Thanks for pointing out that deduplication. The harness is significantly cleaner with the plan using it's internal data to produce the metrics protos.

I forgot the R:
R: @tgroh Please merge! Thank you kindly.


stable/oauth2-proxy Fix Google credentials

What this PR does / why we need it:
Chart installation fails when google admin mail and credentials json are provided.
Which issue this PR fixes
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @miouge1

@desaintmartin  @Miouge1 Can you take a look at this please.


Support output format in bql shell

The shell now supports JSON and BQL formatting. However, it cannot dynamically be changed at runtime.
fixes #58

I simply replace \" with "" but please let me know if there's a case that this naive approach doesn't work.

I don't know this is a general JSON encoding behaviour or bug.
$ bql -t test --output-format json
test> eval {"a": 1, "b": "2", "c": 3.4}::string;
"{\"a\":1,\"b\":\"2\",\"c\":3.4}"
test> eval {"a": 1, """": "2", "c": 3.4}::string;
"{\"\\\"\":\"2\",\"a\":1,\"c\":3.4}"

$ bql -t test --output-format bql
test> eval {"a": 1, "b": "2", "c": 3.4}::string;
"{""a"":1,""b"":""2"",""c"":3.4}"
test> eval {"a": 1, """": "2", "c": 3.4}::string;
"{""\\"""":""2"",""a"":1,""c"":3.4}"

Good catch!

I think this is kind of confusing. How about changing BQL string escape so that it'll be compatbile with JSON? We can support both "" and \" at the moment, but can drop "" from documents and in the next major version.

I think this still has an issue
$ ./bql -t test --output-format bql
test> EVAL "{""a"":1,""b"":""2"",""c\"":3.4}";
"{""a"":1,""b"":""2"",""c\\"":3.4}"

Backslashes need not be escaped in BQL, but in JSON, so on-the-wire the \ becomes \\ and is not transformed back to BQL escaping. I don't know what else is backslash-escaped on the wire, so we may need to use a JSON decoder and then add BQL-quote-escaping instead of just replacing \".

We need to change PEG quite a bit like supporting escaping some letters with \, so we'll postpone making BQL string compatible to JSON.


Question : how use navigation on popInitialAction Promise ?

Hi Jordan !
I try your very nice module on react-native app, All work perfectly :)
But, i've a question : QuickActions.popInitialAction is not executed in a react component, so, how i can use for example Navigation props ?
I've try to use this method, but i think it's not the best solution :D
Thank you Jordan

Hey @stephane-r,
I'm glad to hear you are enjoying this library. For questions like this your best off posting to a place like StackOverflow. This is our libraries bug and feature tracker. My guess is it's a timing problem, but with more context I'm sure someone in a troubleshooting community would be able to get you up and running.
Best of luck -- Jordan


Allow overriding of UserType class

I have a case where i need to get more data on the login,
I tried UPDATE_MUTATION_FIELDS, to inject fields, but it seems only working with actual model fieds and not properties, i want to add a resolver,
why not to add another setting to point at an another "UserType" class, defined by us, twhile skipping the hassle of overriding all the other auth schema
or update such that UPDATE_MUTATION_FIELDS works with non model fields

Hey, that's a good Idea I actually thought about this but this might be hard to implement due to django's app imports.
I currently don't have time to work on this though this is certainly something I want to implement.

smth like
GqlAuthSettings(
....
USER_TYPE: "appname.filename.classname"
)
as a string then import it sometime after
i've seen this done in other packages (not saying that these were used in a similar context)


add TestheaderLine

add the testHeaderLine() function to MessageTest

You need to synch with the main repo before submitting a PR - there were changes, by the look of it.
Your formatting does not conform to our guide: lines should be indented with tabs, not spaces.
If testHeaderLine has three tests, that should be three methods.
If one of those tests is meant to check replacing an existing header, then there would be two setHeader calls, followed by the assertions for the expected result.
Your commits need to be GPG-signed.

Superceded by #495