Validate Ubuntu 18.04 Bionic Beaver for v2.0

The docker install script fails when trying to install on Ubuntu 18.04.
https://releases.rancher.com/install-docker/17.03.sh
Doesn't look like the Bionic repo for docker-ce has any packages, much less the older 17.03.2 package.
https://download.docker.com/linux/ubuntu/dists/bionic/stable/
Rancher versions:
rancher/rancher: v2.0.2

See https://github.com/rancher/rancher/issues/13222#issuecomment-394307237

Other fix when using Ubuntu 18.04:
https://github.com/rancher/rancher/issues/13782
Ubuntu 18.04 uses local DNS cache nameserver which breaks kube-dns which is used to query DNS. Steps to fix this are:

sudo systemctl mask systemd-resolved
rm -f /etc/resolv.conf
echo "nameserver <IP_ADDRESS>" > /etc/resolv.conf

snap docker could be a solution but there is also a blocking issue:

https://github.com/docker/docker-snap/issues/31

Using Docker 18.05 (currently testing for Ubuntu 18.04) will show:
[workerPlane] Failed to bring up Worker Plane: Failed to start [kubelet] container on host [<IP_ADDRESS>]: Error response from daemon: linux mounts: Could not find source mount of /var/lib/docker

Caused by https://github.com/moby/moby/issues/37032

I can confirm that the workaround (mask systemd-resolved) mentioned by @superseb works.
Rancher 2.0.2, Ubuntu 18.04.

Please, try to avoid to "hardcode" <IP_ADDRESS> and get system dns like in #13504 with:
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

https://github.com/docker/docker-ce/releases/tag/v18.06.1-ce
@superseb you mention here: https://github.com/rancher/rancher/issues/13222#issuecomment-394307237
That the install scripts will be updated once Docker V18.06 was released.
Since Docker v18.06.1-ce was released 6 days ago, and v18.06.0-ce was released on July 18, can we please get an update to the install scripts?

I think they're actually waiting for Kubernetes to support 18.06. Right now it's still only validated on "1.11.2 to 1.13.1 and 17.03.x" : https://kubernetes.io/docs/setup/release/notes/

Then, once Kubernetes supports a version of Docker that is stable and works on Ubuntu 18.04, then Rancher can be updated to work with Ubuntu 18.04.

It's possible to install docker 17.03 in Ubuntu 18.04 (Bionic) by binary package. I've created an ansible role to do this, you can access by this link:
https://galaxy.ansible.com/mayconfsbrito/ansible_docker_bin
Anyway, I will post here the task of this role to guide you in this process, because I needed to configure some steps (like storage driver, docker group) that aren't explicit in the documentation.
I used the documentation below:
Install from binary:
https://docs.docker.com/v17.09/engine/installation/linux/docker-ce/binaries/#install-static-binaries
Post install:
https://docs.docker.com/install/linux/linux-postinstall/

You still have the issue of Docker itself not publishing or supporting putting 17.03 onto Ubuntu 18.04 which is a non-starter for many companies (mine included).
I know I can make 17.03 run on Ubuntu 18.04, but I want the officially supported, "thousands of people will be using the same config you are" version before I go live on it. And Rancher is being developed to be a stable enterprise solution so unfortunately working around things here isn't going to work, we're just going to have to wait and use 16.04 in the meantime.

I don't think that installing docker via binary package is workaround. It's just one more solution.
The problem is neither of the docker repository, but the k8s that won't update until now.

rancher 2.1 i also came across this issue. only one host, install the rancher control plane , and k8s cluster , but the finally it report" Alert: Node xx is not active rancher"
docker  version
➜  ~ docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:24:51 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:23:15 2018
  OS/Arch:          linux/amd64
  Experimental:     false

following @Rgils's comments and ways, i also need do this step to resolve my problems:
systemctl restart systemd-resolved

now this issue can close asap.

@xiaods it is still broken I believe, I am hitting issues when attempting to deploy 2.1.x+ on Bionic. Actually I don't get any GUI at all, but I need to continue testing.

@CalvinHartwell This might be of interest to you.
We had a major issue last week on our Rancher 2.0 staging environment which ran on Bionic, too (but with a supported Docker version). All of a sudden, in the middle of the night, out of nowhere, the staging cluster stopped working. Even Rancher UI started failing (timeouts, error 502 from LB).
We have now switched all nodes of all Rancher clusters to Xenial and deployed a new Rancher 2.1 cluster. Not only does it "feel" more stable, the UI definitely reacts quicker (this could be the new 2.1 version though).
We ran the staging environment on Bionic since August. Yet this issue out of the blue forced us to decide to switch (back) to Xenial, as it is officially documented in the OS requirements of Rancher 2.0.

Actually, the rancher documentation says "Rancher is supported on the following operating systems and their subsequent releases." and then goes on to list Ubuntu 16.04. This implies that 18.04 is supported as well, even though it seems clear that it isn't.

It's supported on the listed OS' and their non-major releases, this ticket exists to validate this release, as long as it's open, it's not validated. When k8s 1.12 is our next default version, we can validate Ubuntu 18.04 with a properly released Docker version on this release and which is supported in k8s 1.12 as well.

That is not what people usually mean when they say "subsequent". That implies 16.04 is the minimum and anything later is good too. I would choose different language, but hey you can keep getting people confused and installing it on 18.04 if you want. :)

Need to discuss with @cloudnautique @ibuildthecloud and @sangeethah for a plan how to fix and then validate this

just looking at the comments, this looks like it will definitely not be super straightfoward

The biggest hold-up on this was that Kubernetes only supported Docker up to 17.03 at the time Ubuntu 18.04 was released. In k8s 1.12 the support for Docker versions extended to: 1.11.1, 1.12.1, 1.13.1, 17.03, 17.06, 17.09, 18.06. (https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.12.md#external-dependencies) which now includes a version where Docker publishes a package for (https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/).
Regarding the systemd-resolved issue, we added https://github.com/rancher/rke/issues/827 a long time ago to automatically use the correct resolv.conf file with upstream nameservers.
So basically this means we only have to run QA on Ubuntu 18.04 with Docker 18.06 and k8s 1.12 and higher.

@jiaqiluo We need to certify Ubuntu 18.04 Bionic Beaver os with docker 18.06.
Execute current set of automation runs on the following configuration:
1 control
3 etcd
3 worker nodes

Validated on Rancher: master 12/20
Setup:

Installed Rancher:master by both single installation and HA installation.
A custom cluster with the following configuration: 1 control, 3 etcd, 3 worker nodes

Spec for both Rancher server and nodes in clusters:

Ubuntu 18.04.1 LTS
Docker 18.06.1-ce, build e68fc7a
(nodes) Kubenete version: 1.12.3

used this command to install docker:
curl -sSL https://releases.rancher.com/install-docker/18.06.sh |sh

Tests finished on Rancher:

Test v3 API - Execute existing Automation runs (Covers network tests relating to inter host communication and being able to access Ingress from outside cluster)
Storage test - persistent volumes with NFS

Test finished on RKE:

Backup/Restore etcd - Restore cluster from backups - https://rancher.com/docs/rke/v0.1.x/en/etcd-snapshots/

1. Create a 1 node RKE cluster
2. Create few workloads
3. Take a snapshot
4. Create a new 1 RKE node cluster
5. Copy the snapshot taken in step3 to the new node
6. Restore the snapshot on the new node
7. Should be able to see the workloads created in step2 in the new cluster.
8. Should be able to create new workloads

@jiaqiluo please provide some additional information during the setup process, e.g.:

which rke version
which helm version
which rancher version

this should help clarify things. thank you.


Remove oraclejdk7 from .travis.yml as Travis does not support it anymore

See
https://github.com/travis-ci/travis-ci/issues/7884#issuecomment-308451879
No big loss as openjdk7 still works. This should fix the currently red build status.

This change has already been applied in Bad Zombie.

Closing since this is in progress. Thanks for the update.


How to test your model after training on my own dataset?

I am using for next sent. gen so while it has stored model in .ep* format but how to run my test dataset using those models.
Thanks

I have a similar question. My understanding is that the output should be a distribution over tokens for each predicted (i.e., "next") output, but I'm wondering how to get an actual string result?... Did you manage to get your next sentence generation working?


 themes

could you add themes to this?

nevermind, should've looked before. i see there are themes.


Add #deleted? method to PlaylistItem

#deleted? exists on Video.
But appears to only be accessible if you have proper auth on the Video object itself.
Say you have a Playlist, and you want to do something with each item.
You'll get a request error if the Video on a PlaylistItem is deleted.
But you can't call playlist_item.video.deleted?, you'll just get this error instead:

Yt::Errors::NoItems: A request to YouTube API returned no items but some were expected

Thank you for reporting @Riveascore


Cambodia - numbering change

Seatel had added 1 more digit to their number range -  original 8 digits (855)18xxxxxx to 9 digits (855)18xxxxxxx

Can you please provide us with some official documentation? Carrier docs, government docs or other official sources are OK.

Same here: The received email has your proposed pattern, but no attachment (we need authoritative evidence).

Got it. Thanks!

This is fixed.
https://libphonenumber.appspot.com/phonenumberparser?number=(855)181234567&country=KH


How to use your addon to generate dungeons.

Hi there! I've been busy messing around with your addon and trying to find a way to generate rooms that connect in a 2D Tilemap. I was going to try to mess with the rules, but am unsure how it works.
Do you know any good resources on how to use your WFCRules?

Hi.
There is no proper documentation on internal components of the addon yet. So best I can do now is to give some hints and recommend reading the code.
If you're going to modify rules by adding global constrains to achieve connectivity then most likely you'll have to modify or implement subclass of WFCProblem2D.
Most likely, you'll have to deal with following methods:

compute_cell_domain - it calculates new domain (set of tiles that may be contained in this cell) of a cell after some of cells it depends on was updated. Domains are represented as bit-sets where N'th set bit means that this cell may contain N'th tile. Mapping between tile numbers (N's) and actual tiles in TileMap/Grid map is performed by mappers. Note that low-level constraint solver uses single-dimensional cell indexes (mostly for performance reasons, copying 2+d arrays would be expensive) and WFCProblem2D maps those 1d indices to and from 2d coordinates using coord_to_id and id_to_coord methods.
mark_related_cells - it is called when domain of certain cell has changed and should mark (by calling a callbeck with their indices) other cells that depend on that cell and thus are likely to have their domains changed.
get_dependencies_range - returns a half-size of a rect that contains all cells that depend on a cell in the center of a rect. It is used to determine a proper way to split a problem into smaller problems that can be solved concurrently. It's most likely to be infinite (Vector2i(INT_MAX, INT_MAX)) in case of a problem with global constraints - so no concurrent solving will be possible.

Theoretically, it should be possible to implement global constraints by modifying/overriding the methods mentioned above. However, that's far from being trivial.

But, I can suggest an easier approach to your problem:
First you can generate a skeleton of the dungeon using a different algorithm. A skeleton should include minimal road built of passable cells and minimal set of walls separating different rooms. E.g.:

Note there are huge gaps between road and walls. They are necessary 'cause otherwise WFC will not be able to genereate the map without contradictions. Necessary minimal size of gaps may depend on value returned by previously mentioned get_dependencies_range method, which in turn depends on the tileset and set of rules.
Then you can let WFC fill the gaps:

This approach will be much easier to implement and it doesn't stop solver from generating large enough maps concurrently. But it may generate some unconnected rooms (which may be avoided by adding some rules to negative sample map to forbid generation of new walls):

In version 1.2 an API for itegration of other algorithms to generate initial constraints is added. Implementation of a dungeon generator is also included there. See an example.

In version 1.2 an API for itegration of other algorithms to generate initial constraints is added. Implementation of a dungeon generator is also included there. See an example.

Thank you for the help!


Documentation improvement suggestions

As long as current sprint is aimed at documentation improvement, this issue is a good point for external developers to suggest the documentation enhancement.
I will add more information on what I am going with the doc in near future.

Going to add section related to configuring local hosts file for local development. As I have found out, this really simplifies the process of application creation.

Move this issue to a discussion: https://github.com/Telegram-Mini-Apps/tma.js/issues/149


INFO:openai:error_code=insufficient_quota error_message='You exceeded your current quota, please check your plan and billing details.' error_param=None error_type=insufficient_quota message='OpenAI API error received' stream_error=False

Traceback (most recent call last):
File "/home/devly/PycharmProjects/restaurant_lemy/venv/bin/auto-codebase-documenter", line 8, in
sys.exit(main())
File "/home/devly/PycharmProjects/restaurant_lemy/venv/lib/python3.10/site-packages/auto_codebase_documenter/auto_documenter.py", line 114, in main
document_code(
File "/home/devly/PycharmProjects/restaurant_lemy/venv/lib/python3.10/site-packages/auto_codebase_documenter/auto_documenter.py", line 55, in document_code
documenter.process_all_files()
File "/home/devly/PycharmProjects/restaurant_lemy/venv/lib/python3.10/site-packages/auto_codebase_documenter/AutoCodebaseDocumenter.py", line 191, in process_all_files
success, message = self._process_file(file_path)
File "/home/devly/PycharmProjects/restaurant_lemy/venv/lib/python3.10/site-packages/auto_codebase_documenter/AutoCodebaseDocumenter.py", line 174, in _process_file
response = self._get_completion(prompt)
File "/home/devly/PycharmProjects/restaurant_lemy/venv/lib/python3.10/site-packages/auto_codebase_documenter/AutoCodebaseDocumenter.py", line 100, in _get_completion
response = openai.ChatCompletion.create(
File "/home/devly/PycharmProjects/restaurant_lemy/venv/lib/python3.10/site-packages/openai/api_resources/chat_completion.py", line 25, in create
return super().create(*args, **kwargs)
File "/home/devly/PycharmProjects/restaurant_lemy/venv/lib/python3.10/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in create
response, _, api_key = requestor.request(
File "/home/devly/PycharmProjects/restaurant_lemy/venv/lib/python3.10/site-packages/openai/api_requestor.py", line 298, in request
resp, got_stream = self._interpret_response(result, stream)
File "/home/devly/PycharmProjects/restaurant_lemy/venv/lib/python3.10/site-packages/openai/api_requestor.py", line 700, in _interpret_response
self._interpret_response_line(
File "/home/devly/PycharmProjects/restaurant_lemy/venv/lib/python3.10/site-packages/openai/api_requestor.py", line 765, in _interpret_response_line
raise self.handle_error_response(
openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.

Thanks for pointing this out. I need to add better error handling for this.
Seems like you need to top up your account balance on your Open AI account to overcome the error for now.
Next version of the tool will handle this error more gracefully.


Apply Windows 11 design principles recommended by Microsoft

Design guidelines for Windows apps: https://learn.microsoft.com/en-us/windows/apps/design/
Expected result:

Windows 11 panel-like
Keep light and dark themes
Update style for titles, subtitles, text, etc. See https://learn.microsoft.com/en-us/windows/apps/design/style/
Keep ShelterVault functionality.

Optional:

Build CredentialsView with reusable Views and ViewModels.
Refactor CredentialsView/ViewModel to control app state without CredentialsViewModelState.

Added development branch feature/windows-11-ui


Update collections.md

Move background example for navigation example out of raw code block. It seemed like it was there by accident.

Thank you!


Add seeAlso attribute to AgriPest data model

issue #426

@fdelavega we can have in common-schema.json a new property common to any data model, so that seeAlso can be used in any of them. however, I see value in keeping the examples provided by this PR


Question about the design: why is there a mutex in the main structure?

This is a thread to open the discussion about the need of a mutex in the main structure.
Wouldn't it be easier to declare the methods unsafe for concurrent use?

The mutex is there because of this: https://github.com/bmaupin/go-epub/pull/27
I guess it would certainly be easier if it wasn't there, but on the other hand it seems to add some level of thread-safety for very little cost.
I guess there's always a balance between the cost of maintaining certain features versus the benefit they bring.
I guess if you wanted to consider removing it, the next step might be to get some feedback from some of the other users of this library.
Thanks for all the feedback, by the way! I'm looking for help maintaining this project, if you're interested :D #28

Thanks for the answer.
I guess that we would have benefit from a failing test with the -race condition, but so far I agree, as it does not introduces a huge overhead, I don't see any need to change that.


keep side-by-side fields down to 700px

Changed to side-by-side cards and then side-by-side fields, down to 500px.


Show menu when right click on asset list item & preview asset (if possible) on double click

I'm talking about this menu:

Codes at around https://github.com/mit-cml/appinventor-sources/blob/c5b3e2d22cb942d5b13e4fce7fce2236ff5f7467/appinventor/appengine/src/com/google/appinventor/client/explorer/youngandroid/AssetList.java#L98
Double clicking detect would a little bit hard without a built-in "DoubleClickHandler"..

Right now when we click on the asset it shows the menu .
so it is suppose to show when we right click the asset item
@ColinTree
Am i right?

@bhoomika01  Yes I think that is doable.

@ColinTree  I would like to try this

@bhoomika01 That's surely ok for me, but I recommend you to wait for further suggestions from @ewpatton .

@ColinTree Ya sure.

I think the double-click idea is compelling. But I fail to understand why right click is necessary given that the menu already shows on left click?

@ewpatton Should we add the feature to preview asset item on double click ?

@bhoomika01 Yes, if you want to go ahead and implement the double-click functionality that's fine.

I've implemented double click functionality.
@ewpatton

#2145

#2145 Modified AssetList.java to preview asset on double click.


Dead link in documentation

Describe the bug
Link https://github.com/dotnet/interactive/blob/main/src/dotnet-interactive/CommandLine/readme.md
(referred from https://github.com/dotnet/interactive/blob/main/docs/README.md) is dead.
Please complete the following:
Which version of .NET Interactive are you using? (In a notebook, run the #!about magic command. ):

OS

[ ] Windows 11
[x] Windows 10
[ ] macOS
[ ] Linux (Please specify distro)
[ ] iOS
[ ] Android

Browser

[x] Chrome
[ ] Edge
[ ] Firefox
[ ] Safari

Frontend

[ ] Jupyter Notebook
[ ] Jupyter Lab
[ ] nteract
[x] Visual Studio Code
[ ] Visual Studio Code Insiders
[ ] Visual Studio
[ ] Other (please specify)

Screenshots
If applicable, add screenshots to help explain your problem.

Thanks, @mbrezu! It's fixed. The updated link is here: https://github.com/dotnet/interactive/blob/main/docs/command-line-interface.md


Pausing and resuming option in azure blob upload using javascript.

How to pause the on progress upload of browser files to azure storage account and resume when required using azure storage blob javascript(v12) library file?

Add @ljian3377

Storage JS SDK doesn't support pause and resume naturally.
But if you are using methods like uploadFromStream() in Node.js, you can pause the Node.js Readable stream and resume the stream later.
For browser method like uploadFromBrowserData() which accepts File or Blob type. You can create a customized PauseResume policy and injects into pipeline. The policy can simply hold outgoing requests until resume.
Refer to this simple about how to create a customized policy: https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/storage/storage-blob/samples/javascript/customizedClientHeaders.js

@ljian3377
Would you mind prvoider a more detail example/demo
about how to Pause/Resume/Cancel upload?
blockBlobClient.uploadStream (Doc Here)
is not very helpful

Sorry we should have tested it before giving you the advice on using uploadStream. Internal handling for parallel upload messed with the resuming. Though uploadStream with single concurrency (uploadOptions.maxBuffers = 1) works fine.
Also, could you tell us more about the scenario where you need this pausing and resuming functionality?

@ljian3377
I am building a Desktop app that can use Azure "Speech To Text" API
The App would execute like this:

Transcode file into acceptable format by Azure (For example mp4->wav)
Upload to Azure -> Storage Account -> Container
Get a URL (publicly accessible)
Send that URL to Azure speech to text REST API to create a transcription job

From User's perspective

Drag & Drop file into this Desktop app
See status changed to "Transcoding"
See status changed to "Uploading"
See status changed to "Processing"
Show successful result

The pasuing and resuming is a "nice to have" feautre when "Uploading"
Actually right now I need "Cancel" more than "Pause" and "Resume"
Any help? Thank you

@1c7
To "Cancel", I think you can utilize the abortSignal. You can refer to these test cases to get started.
https://github.com/Azure/azure-sdk-for-js/blob/ea765db3922dc6ee2aa85a020ce7d4ac2d9c2dcc/sdk/storage/storage-blob/test/aborter.spec.ts#L42
https://github.com/Azure/azure-sdk-for-js/blob/ea765db3922dc6ee2aa85a020ce7d4ac2d9c2dcc/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts#L189

@ljian3377, @XiaoningLiu Is this still a feature request in the backlog or should the issue be closed with the workarounds mentioned above?

@ljian3377, @XiaoningLiu Is this still a feature request in the backlog or should the issue be closed with the workarounds mentioned above?

@ramya-rao-a  It's a feature request for pausing and resuming. The guidance given is for cancelling.

A potential use case for this could be to (auto?) pause an upload of a large file where there is a network drop, then resume when network connectivity is normal - preventing having to start the upload from the start.
Or is there something already that supports this use case?

A potential use case for this could be to (auto?) pause an upload of a large file where there is a network drop, then resume when network connectivity is normal - preventing having to start the upload from the start.
Or is there something already that supports this use case?

azcopy may be of use. And they already have a npm package.

If we pause the upload stream body for a while within one REST API call, it will soon time out. I guess this won't be satisfying.
Another way is uploading in divided parts via several stageBlock and commitBlockList while keeping track of where you are. This is better to be done in your own code since our SDK are designed to be stateless.
Does azcopy solve your issue? We may not address this in SDK.

Will add a pause and resume sample using stageBlock

Thank you @ljian, the sample code will be helpful, please post it.

I added a sample here: https://github.com/ljian3377/azure-storage-tools/blob/sample/uploadWithPauseAndResume.ts
The basic idea is to do multiple stageBlock and then commitBlockList. By pausing, you stop issuing any new http request and wait till ongoing http requests are done.
It got a bit more complicate as I used a Batch to stageBlock in parallel. We will see if we can improve the sample and get it into the official repo.

I added a sample here: https://github.com/ljian3377/azure-storage-tools/blob/sample/uploadWithPauseAndResume.ts
The basic idea is to do multiple stageBlock and then commitBlockList. By pausing, you stop issuing any new http request and wait till ongoing http requests are done.
It got a bit more complicate as I used a Batch to stageBlock in parallel. We will see if we can improve the sample and get it into the official repo.

This is a closed issue but I am trying to solve similar kind of problem. I am using Azure JavaScript library for uploading and downloading large files to Azure Blob Storage from browser. Is there any new way I can pause and resume my upload and download file?


PNG thumbnails not transparent

It looks like when adding a .png with the Image block and setting a size it ends up with a non-transparent version of the image being served.
I believe this may be coming from https://github.com/concrete5/concrete5/blob/develop/concrete/src/File/Image/BasicThumbnailer.php#L127. Ideally I would image the thumbnail should be in the format of the original file. It looks like this is a deprecated method so I'm not sure if there is a different way this would be handled now?

That actually shouldn't be marked as deprecated. It's still valid functionality.
This is a known issue that we'd love to have help on:
https://github.com/concrete5/concrete5/issues/2556

In 8.1 its messed up completely - a critical bug.


Problem with multisite (using setup_subdirectory.php) and multilanguage

Hi,
I have been trying to get multilanguage support working with multisite using setup_subdirectory.php. After a lot of frustration, Ive managed to boil it down to this issue :
The script below sets up a multisite environment with a valid english page at http://localhost:8080/test/en/home. However, when I navigate to the root url of the test subsite http://localhost:8080/test, the browser is redirected to http://localhost:8080/en and hence delivers the content of the home page of the parent site http://localhost:8080/en/home. I would have expected it to redirect to http://localhost:8080/test/en and hence deliver the content of the subsite i.e. http://localhost:8080/test/en/home.
Am I missing some configuration or is this a bug?
Thanks
Andy
P.S. I dont see this issue with setup_subdomain.php, but this is due to the fact that a url such as http://test.domain.com:8080 would be correctly routed to http://test.domain.com:8080/en and hence would correctly deliver the content from the subsite http://test.domain.com:8080/en/home
wget https://getgrav.org/download/core/grav/1.2.4

unzip 1.2.4
cp setup_subdirectory.php grav/setup.php

cd grav

mkdir -p user/sites/test
cp user/pages/01.home/default.md user/pages/01.home/default.en.md

cat << EOF > user/config/system.yaml

languages:
  supported:
    - en
EOF

cp -r user/plugins user/sites/test/
cp -r user/themes user/sites/test/
cp -r user/pages user/sites/test/
cp -r user/config user/sites/test/

php -S <IP_ADDRESS>:8080 system/router.php &

firefox http://localhost:8080/test

Does sound like a bug.
Mulitsite is an advanced topic as it can be configured in so many ways.  Mixed with multi-lang there's bound to be some issues. This sounds like one of those.  Please provide your setup.php file so we can attempt to recreate your setup.

The setup.php file is the setup_subdirectory.php from the website https://learn.getgrav.org/advanced/multisite-setup :
<?php
/**
 * Multisite setup for sub-directories or path based
 * URLs for subsites.
 *
 * DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING!
 */

use Grav\Common\Filesystem\Folder;

// Get relative path from Grav root.
$path = isset($_SERVER['PATH_INFO'])
   ? $_SERVER['PATH_INFO']
   : Folder::getRelativePath($_SERVER['REQUEST_URI'], ROOT_DIR);

// Extract name of subsite from path
$name = Folder::shift($path);
$folder = "sites/{$name}";
$prefix = "/{$name}";

if (!$name || !is_dir(ROOT_DIR . "user/{$folder}")) {
    return [];
}

// Prefix all pages with the name of the subsite
$container['pages']->base($prefix);

return [
    'environment' => $name,
    'streams' => [
        'schemes' => [
            'user' => [
               'type' => 'ReadOnlyStream',
               'prefixes' => [
                   '' => ["user/{$folder}"],
               ]
            ]
        ]
    ]
];

https://github.com/the4thamigo-uk/grav/commit/77f59d22c6968dedaf05edf3992353e9c4456f68

First, there seems to be error in the documentation for the setup_subdirectory.php file:
// Get relative path from Grav root.
$path = isset($_SERVER['PATH_INFO'])
    ? $_SERVER['PATH_INFO']
    : Folder::getRelativePath($_SERVER['REQUEST_URI'], dirname($_SERVER['SCRIPT_NAME']));

I was able to reproduce your issue.

I don't think that your change will fully fix the issue.

Had to slightly modify the setup.php file (updated it to above), it had issues with query parameters for the home folder.
My branch will fix a few issues with multi-sites.


Production app crash on /system/lib/libc.so

We are seeing the following crash happen on a few devices in our published app:
backtrace:
  #00  pc<PHONE_NUMBER>01a7cc  /system/lib/libc.so (abort+63)
  #00  pc<PHONE_NUMBER>0074b7  /system/lib/libbase.so (android::base::DefaultAborter(char const*)+6)
  #00  pc<PHONE_NUMBER>007d8d  /system/lib/libbase.so (android::base::LogMessage::~LogMessage()+452)
  #00  pc<PHONE_NUMBER>005813  /system/lib/libhidlbase.so (android::hardware::hidl_handle::operator=(android::hardware::hidl_handle const&)+126)
  #00  pc<PHONE_NUMBER>04f573  /system/lib/libmedia.so (android::hardware::hidl_memory::operator=(android::hardware::hidl_memory const&)+14)
  #00  pc<PHONE_NUMBER>051925  /system/lib/libmedia.so (android::hardware::media::omx::V1_0::utils::wrapAs(android::hardware::media::omx::V1_0::CodecBuffer*, android::OMXBuffer const&)+236)
  #00  pc<PHONE_NUMBER>05178d  /system/lib/libmedia.so (android::hardware::media::omx::V1_0::utils::LWOmxNode::useBuffer(unsigned int, android::OMXBuffer const&, unsigned int*)+72)
  #00  pc<PHONE_NUMBER>092583  /system/lib/libstagefright.so (android::ACodec::allocateBuffersOnPort(unsigned int)+1518)
  #00  pc<PHONE_NUMBER>09f1fd  /system/lib/libstagefright.so (android::ACodec::LoadedToIdleState::allocateBuffers()+24)
  #00  pc<PHONE_NUMBER>09f0ff  /system/lib/libstagefright.so (android::ACodec::LoadedToIdleState::stateEntered()+18)
  #00  pc<PHONE_NUMBER>0100c5  /system/lib/libstagefright_foundation.so (android::AHierarchicalStateMachine::changeState(android::sp<android::AState> const&)+352)
  #00  pc<PHONE_NUMBER>09e593  /system/lib/libstagefright.so (android::ACodec::LoadedState::onStart()+66)
  #00  pc<PHONE_NUMBER>09e927  /system/lib/libstagefright.so (android::ACodec::LoadedState::onMessageReceived(android::sp<android::AMessage> const&)+122)
  #00  pc<PHONE_NUMBER>00fe2f  /system/lib/libstagefright_foundation.so (android::AHierarchicalStateMachine::handleMessage(android::sp<android::AMessage> const&)+58)
  #00  pc<PHONE_NUMBER>00fca9  /system/lib/libstagefright_foundation.so (android::AHandler::deliverMessage(android::sp<android::AMessage> const&)+24)
  #00  pc<PHONE_NUMBER>01219d  /system/lib/libstagefright_foundation.so (android::AMessage::deliver()+60)
  #00  pc<PHONE_NUMBER>01090f  /system/lib/libstagefright_foundation.so (android::ALooper::loop()+470)
  #00  pc<PHONE_NUMBER>00d2af  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+270)
  #00  pc<PHONE_NUMBER>06e465  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+80)
  #00  pc<PHONE_NUMBER>048043  /system/lib/libc.so (__pthread_start(void*)+22)
  #00  pc<PHONE_NUMBER>01b3a7  /system/lib/libc.so (__start_thread+32)

Specifically, all these crashes seem to happen on a few devices all mounting Android 8.1.

[✓] Flutter (Channel stable, 2.2.3, on macOS 11.2.3 20D91 darwin-x64, locale en-GB)
    • Flutter version 2.2.3 at /Users/(omitted)/flutter
    • Framework revision f4abaa0735 (9 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/(omitted)/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/(omitted)/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] VS Code (version 1.59.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.25.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 92.0.4515.159

• No issues found!

@flutter-symbolizer-bot https://github.com/flutter/flutter/issues/89279#issue-984809487 engine#241c87ad80

@nicoroy2561
Is that the complete stack trace you get from the console or could provide more / entire log, so that we can take a more detailed look ?
Does your app has a feature that streams video from server ?
Also since you mentioned device 8.1, is it possible for you to verify / replicate it locally on same device ?

Hi @darshankawar , thank you for the quick answer.
That is the complete stack trace I get from the Google Play Console. I have received several similar reports on the Play console (which I could send), but they are almost identical. I have not been able to replicate this locally yet.
My app uses just_audio to play some audio files from the device - could this be related to that plugin?

Since the stack trace is pointing to the media and stagefright, it could be related to the encoder / decoder of the stream the plugin uses and specific hardware of the device being used.
#00  pc<PHONE_NUMBER>04f573  /system/lib/libmedia.so (android::hardware::hidl_memory::operator=(android::hardware::hidl_memory const&)+14)
  #00  pc<PHONE_NUMBER>051925  /system/lib/libmedia.so (android::hardware::media::omx::V1_0::utils::wrapAs(android::hardware::media::omx::V1_0::CodecBuffer*, android::OMXBuffer const&)+236)
  #00  pc<PHONE_NUMBER>05178d  /system/lib/libmedia.so (android::hardware::media::omx::V1_0::utils::LWOmxNode::useBuffer(unsigned int, android::OMXBuffer const&, unsigned int*)+72)
  #00  pc<PHONE_NUMBER>092583  /system/lib/libstagefright.so (android::ACodec::allocateBuffersOnPort(unsigned int)+1518)
  #00  pc<PHONE_NUMBER>09f1fd  /system/lib/libstagefright.so (android::ACodec::LoadedToIdleState::allocateBuffers()+24)
  #00  pc<PHONE_NUMBER>09f0ff  /system/lib/libstagefright.so (android::ACodec::LoadedToIdleState::stateEntered()+18)
  #00  pc<PHONE_NUMBER>0100c5  /system/lib/libstagefright_foundation.so (android::AHierarchicalStateMachine::changeState(android::sp<android::AState> const&)+352)
  #00  pc<PHONE_NUMBER>09e593  /system/lib/libstagefright.so (android::ACodec::LoadedState::onStart()+66)
  #00  pc<PHONE_NUMBER>09e927  /system/lib/libstagefright.so (android::ACodec::LoadedState::onMessageReceived(android::sp<android::AMessage> const&)+122)
  #00  pc<PHONE_NUMBER>00fe2f  /system/lib/libstagefright_foundation.so (android::AHierarchicalStateMachine::handleMessage(android::sp<android::AMessage> const&)+58)
  #00  pc<PHONE_NUMBER>00fca9  /system/lib/libstagefright_foundation.so (android::AHandler::deliverMessage(android::sp<android::AMessage> const&)+24)
  #00  pc<PHONE_NUMBER>01219d  /system/lib/libstagefright_foundation.so (android::AMessage::deliver()+60)
  #00  pc<PHONE_NUMBER>01090f  /system/lib/libstagefright_foundation.so (android::ALooper::loop()+470)

Would be worth to check if the same audio files plays properly on another device (different make or OS)

I can confirm the audio files our app uses play properly elsewhere - it's just a very few devices (3 that I'm seeing) that crash.

Thanks for the update. Since it's crashing the app, I am going ahead and labeling it for further insights from the team.

/cc: @chinmaygarde

There are no Flutter components in the stack trace. This isn't something that is actionable. I am not sure what the bug tracker is for the Android media libraries.


Issue resolved for the width of the chart container

Brief Information
This pull request is in the type of:

[ ] bug fixing
[ ] new feature
[x] others

Related issues:

Details

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA

Others

/approve


python process still running after 'run_infer.sh'

Each time after I ran 'run_infer.sh' or any of scripts in 'examples/', I can still see python process running when I type 'ps' in terminal. When I run 'nvidia-docker' the GPU memory are still being used. I had to manually 'kill -9' all the python processes. Is this a known issue? Any way of killing these python processes automatically?

Thanks, we have encountered this problem too and will try to fix it.
For Any way of killing these python processes automatically?, I suggest to use
ps -ef | awk '$3==PROCESS_ID{print $2}' | xargs -I {} kill -9 {}

Thanks. I used 'pkill python'.


add methods for other collections

I don't know why I forgot this before, but we have a bunch of other resource types we need methods for too. Here's the complete list:
https://github.com/digitallinguistics/dlx-api#database-structure
You've finished bundles, items, lexicons, lexicon entries, texts, and phrases.
We still need methods for languages, locations, media, persons, and projects.
Like I said here, the client won't be able to perform operations on the users collection, so we won't need any methods for that other than the permissions ones we've been talking about.
The project methods will need to be like bundles. Both bundles and projects are basically just a list of resources that happen to be related to each other. Projects can contain bundles, languages, lexicons, locations, media, and texts. So we'll need methods for each of these like addBundleToProject and removeBundleFromProject. Just add and remove for each should be fine (let's use remove rather than delete for these, just to be clear that the files aren't actually being deleted, just disassociated).

@dwhieb I'm editing it right now and I placed all the methods for adding or removing anything to a project under /project methods/, but before I placed, for example, upsertEntryToLexicon under /entry methods/ instead of /lexicon methods/. To keep this consistent, do you want me to put the new stuff like addBundleToProject under /bundle methods/ instead of under /project methods/, or do you want me to move the old stuff like upsertEntryToLexicon from /entry methods/ to /lexicon methods/? Hope that made sense

Oh good point. I'd put upsertEntryToLexicon under the lexicon methods, and addBundleToProject under the project methods. This is because in the API, you have to send a request to ../lexicons/{lexiconId} to add an entry to it, so it's an operation you're performing on the lexicons table rather than the entries table. (There is no entries table, in fact. Entries are data contained within lexicons.) Same with projects - you'll send a request to the projects collection when you want to add a bundle to it.
So I don't think we'll even have sections for entries or phrases. Those methods will just live under lexicons and texts respectively.

What methods do you need for languages, locations, media, and persons other than adding them to projects?

Just add and remove is good. Reposting from above:

So we'll need methods for each of these like addBundleToProject and removeBundleFromProject. Just add and remove for each should be fine (let's use remove rather than delete for these, just to be clear that the files aren't actually being deleted, just disassociated).

So there will only be the ones in the section /project methods/, nothing else for languages, locations, media, etc. specifically? Or addLanguage, addLocation, addMedia etc. as well?

If I'm understanding your question right, yes, the project methods will only contain methods like addXToProject and removeXFromProject. We won't have anything under languages, locations, etc. about projects (for now).


push pint version required to 1.8.1

for compatibility with Jupyter; see details of issue here: https://github.com/hgrecco/pint/issues/512

Fixed in PR #564


[WIP] Moving Events interface methods to Messages interface

[ ] Rename EventsQuery to MessagesQuery
[ ] Rename EventsSubscribe to MessagesSubscribe
[ ] Move Events types to Messages types
[ ] Move Events grant authorization to Messages grant authorization

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 98.69%. Comparing base (592597a) to head (355b371).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #773   +/-   ##
=======================================
  Coverage   98.69%   98.69%
=======================================
  Files          74       74
  Lines       11268    11271    +3
  Branches     1609     1609
=======================================
+ Hits        11121    11124    +3
  Misses        141      141
  Partials        6        6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Long smart contract logs overflow

Bug Description
If a smart contract logs a big enough event, it will overflow in the UI
Actual Result

@eulervoid this has unfortunately not been fixed by the latest PR. The contract events emitted still overflows.
Here is the link on the testnet http://dashboard.testnet.concordium.com/chain/d91cdd8d5a908bc91f9e751cd08e6ad627169747460e82a572a592b7b2e4427d to the block with the summary


feat: split collateralWeight into collateralWeight and liquidationThreshold

Description
closes: #623

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[x] included the correct type prefix in the PR title
[x] added appropriate labels to the PR
[ ] added ! to the type prefix if API or client breaking change
[x] targeted the correct branch (see PR Targeting)
[x] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[x] included comments for documenting Go code
[x] updated the relevant documentation or specification
[x] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed ! in the type prefix if API or client breaking change
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

Codecov Report

Merging #627 (7c14a29) into main (36ed909) will increase coverage by 0.00%.
The diff coverage is 51.06%.

@@           Coverage Diff           @@
##             main     #627   +/-   ##
=======================================
  Coverage   48.02%   48.02%
=======================================
  Files          64       64
  Lines        8810     8841   +31
=======================================
+ Hits         4231     4246   +15
- Misses       4321     4332   +11
- Partials      258      263    +5

Impacted Files
Coverage Δ

x/leverage/client/cli/tx.go
0.00% <0.00%> (ø)

x/leverage/types/token.go
33.33% <0.00%> (-2.57%)
:arrow_down:

x/leverage/keeper/keeper.go
47.80% <41.66%> (ø)

x/leverage/keeper/token.go
60.39% <50.00%> (-0.66%)
:arrow_down:

x/leverage/keeper/borrows.go
77.45% <52.63%> (-5.69%)
:arrow_down:

x/leverage/client/tests/suite.go
100.00% <100.00%> (ø)

x/leverage/client/tests/util.go
87.69% <100.00%> (+0.09%)
:arrow_up:

x/leverage/keeper/iter.go
54.97% <100.00%> (ø)


[Android] injectScript not work

https://github.com/alinz/react-native-webview-bridge/issues/69
hi,Alinz,I also can't deal with it,need your help ,thanks

@alinz

same here

@avishayil  are you successful ？can you tell me how to use v2 detailly？

Couldn't make it work for now.

I have also encountered this, only on Android. As I was using jQuery inside my page I decided to move the injected code to the jQuery ready function inside the HTML file. This works fine.

Can you send your code about this to me,thank you evry much . my email is<EMAIL_ADDRESS>@thedjinn

I would say this is a rather trivial thing to find out yourself.

I agree with you ,I will deal with it quikly with your help if you have time.I spend a lot of time at here

@thedjinn   I agree with you ,I will deal with it quikly with your help if you have time.I spend a lot of time at here

no one can't deal with it,I can't believe it,We need your help,thank you so much @alinz

I solved it in an ugly way. Check my fork.
On Mon, Jan 16, 2017, 11:08 qq326646683<EMAIL_ADDRESS>wrote:

no one can't deal with it,I can't believe it,We need your help,thank you
so much @alinz https://github.com/alinz
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/alinz/react-native-webview-bridge/issues/200#issuecomment-272807696,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAyekG3jCiVkEWuAsGSqaPO86kAqWPxqks5rSzOhgaJpZM4LdqLG
.

--
[image: --]
Avishay Bar
[image: https://]about.me/avishayb
https://about.me/avishayb?promo=email_sig&utm_source=email_sig&utm_medium=email_sig&utm_campaign=external_links

+1

Hi, I'm not pretending this applies to your issues, but remember that in Android (iOS doesn't care) injected scripts should not contains comments at all.
// a comment like that would prevent injected script to work
// I don't know why but I know I already faced this issue

I‘m regret that I can't get you @avishayil

Have you dealed with it? @erikuix @MacKentoch

@qq326646683 When I have trouble in Android it is always only because of remaining comments.
When I have a huge library to deal with I clean comments with strip-comments then it is ok.

Important: The most advanced RN version I used until now is 0.39.2 (I don't upgrade so often: you all know the pain it can be...).

Hi @qq326646683, Please check this fork:
https://github.com/geektimecoil/react-native-webview-bridge
Follow the updated Readme.
It works well for me, and also fits RN 0.40.

I can't accept "Edit scripts/WebViewBridgeCustomScript.js and insert your desired custom script, you wish to be injected to the page, instead of using the injectedJavaScript prop of WebView." in Read me,because I need send my data from rn to html by injectedJavaScript. @avishayil

componentWillMount() {
    injectScript = `
    alert(8)

(function () {
var data = [[1000,2000,3000,4000,5000,7000,9000]];
var data_max = 10000; //Y轴最大刻度
var line_title = ["A"]; //曲线名称
var y_label = "收入"; //Y轴标题
var x_label = "时间"; //X轴标题
var x = ['2017.4.24','4.25','4.26','4.27','4.28','4.29','4.30']; //定义X轴刻度值
//  var title = "周收入"; //统计图标标题
j.jqplot.diagram.base("chart1", data, line_title, "周", x, x_label, y_label, data_max, 1);
//  j.jqplot.diagram.base("chart2", data, line_title, "这是统计标题", x, x_label, y_label, data_max, 2);
}());
`;
}

Inspired by you，I remove the comment section，then it worked，but it also don't alert at android,I'm curious。In short，thank you very much! @MacKentoch

componentWillMount() {
    injectScript = `

(function () {
var data = [[1000,2000,3000,4000,5000,7000,9000]];
var data_max = 10000;
var line_title = ["A"];
var y_label = "收入";
var x_label = "时间";
var x = ['2017.4.24','4.25','4.26','4.27','4.28','4.29','4.30'];
j.jqplot.diagram.base("chart1", data, line_title, "周", x, x_label, y_label, data_max, 1);
}());
`;

@qq326646683 glad you solved. By the way I'm not sure alert work in android.


FatalError since Timber version 2.2.0

I have recently updated my Timber from 2.1.0 to 2.2.0, and in doing so it gives me the following error on product pages:
FatalError:
Compile Error: Declaration of Timber\Integrations\WooCommerce\Product::build(WP_Post $wp_post):
Timber\Integrations\WooCommerce\Product must be compatible with Timber\Post::build(WP_Post $wp_post):
Symfony\Component\ErrorHandler\DebugClassLoader

The related line is: mindkomm\timber-integration-woocommerce\lib\Product.php:40

That is one fast response! 😮 It fixed the issue, thanks!


Update docs

Types of changes
This PR implements the following changes:
(Please tick any or all of the following that are applicable)

[ ] :sparkles: New feature (A non-breaking change which adds functionality).
[ ] :bug: Bug fix (A non-breaking change, which fixes an issue).
[ ] :boom: Breaking change (fix or feature that would cause existing functionality to change).

:ballot_box_with_check: Checklist

[x] :art: The changes implemented is consistent with the julia style guide.
[x] :blue_book: I have updated and added relevant docstrings, in a manner consistent with the documentation styleguide.
[x] :blue_book: I have added or updated relevant user and developer manuals/documentation in docs/src/.
[x] :ok: There are unit tests that cover the code changes I have made.
[ ] :ok: The unit tests cover my code changes AND they pass.
[x] :pencil: I have added an entry to the [UNRELEASED] section of the manually curated CHANGELOG.md file for this repository.
[x] :ok: All changes should be compatible with the latest stable version of Julia.
[x] :thought_balloon: I have commented liberally for any complex pieces of internal code.

bors r+


Benchmarks

Are there any benchmarks available for tsed 6?
For instance, it'd be great to see how it compares to plain Express, Fastify, Hapi, etc.
I imagine it'd be slower since it adds more logic and abstraction on top of these, but I'm curious to see to what extent.

Hello @royibernthal
The benchmark is run for each job on the CI (look benchmark). But the result isn't stable / pertinent / consolidated, This is why I take a time to learn/investigate and create a correct benchmarks.
I know there is small performance issue on a simple helloworld (this is the tested scenario). It doesn't reflect the reality.
I have a task to improve perf  and understand where the problem is.
For example Ts.ED use Express.Router, maybe it's the first point I have to improve.
I also identified a perf issue on the createContextMiddleware, this point is pretty obscure for me. See the this code:
https://github.com/tsedio/tsed/blob/production/packages/common/src/platform/utils/createContext.ts#L16
Instantiate Context take a long time.
So I try work on it, but I find it hard to understand why some part of the code is not necessarily efficient. Any help is welcome.
See you
Romain

Hey @Romakita
Thanks for the detailed response.
I understand the situation, wish I had time to help with that.
I wanted to go with this framework for a big new project my company is working on because I personally really like it (hence my interest in benchmarks), but we ended up going the simplistic & unopinionated way.
Regards,
Royi


Storage Config > 2TB bug

Directory created...
Files created...
14.0
OS Build Number:  (23A344)
RAM Type: LPDDR5

RAM Speed:
["Apple M1 Pro"]
1
loaded
Support View Initializing...
Initializing Main View...
TEST TEST /private/tmp/.ath/scr.txt
Number of Displays: 2
Has built-in display: true
Startup Disk Name Macintosh HD
Storage Type: true
Size: 2.0
Available: 401.3
%: 20065.00
Storage Data: Macintosh HD (Internal Apple)
2.0 TB (401.3 GB Available - 20065.00%)
Size: 2.0
Available: 401.3
%: 20065.00
Storage Percent: -199.65
TEST TEST /private/tmp/.ath/scr.txt
TEST TEST /private/tmp/.ath/scr.txt
2 or 3 displays found
zsh:2: command not found: Color
[1]    62649 trace trap  /Applications/About\ This\ Hack.app/Contents/MacOS/*

Renamed to clarify cause

Oh no I'm sorry there is indeed a storage issue.

See if you can run this @frogg
egrep "[Container|Volume] Total Space:" "/tmp/.ath/sysvolname.txt" | awk '{print $4,$5}'

Let me know what is printed

Ok I have made a potential fix, do try this and let me know if it works for you:
https://www.mediafire.com/file/b431dfoa8mramfi/About+This+Hack.zip/file

@MDNich @0xCUB3
Try with a conversion to the same unit (GB) of size on Disk total size and Available total size
(don't copy lines below, github view didn't return editor real edited code)
Not tested (I don't have N TB SSD)
HardwareCollector.swift
...
static func getStorageData() -> [String] {
...
let size = run("egrep "[Container|Volume] Total Space:" | awk '{print $4,$5}'  | tr -d '\n'")
let diskSizeUnit =  run("echo "(size)" | awk '{print $2}' | tr -d '\n'")
switch run("echo "(size)" | awk '{print $2}' | tr -d '\n'") {
case "GB"   : coeffMultDiskSIze = 1
case "MB"   : coeffMultDiskSIze = 0,1
case "TB"   : coeffMultDiskSIze = 10
default     : coeffMultDiskSIze = 1
}
let sizeTrimmed = (Double(run("echo "(size)" | awk '{print $1}' | tr -d '\n'"))! * coeffMultDiskSIze)
let available = run("grep \"[Container|Volume] Free Space:\" | awk '{print $4,$5}' | tr -d '\n'")
let availableSizeUnit =  run("echo \"\(available)\" | awk '{print $2}' | tr -d '\n'")
    switch run("echo \"\(available)\" | awk '{print $2}' | tr -d '\n'") {
    case "GB"   : coeffMultAvailableSIze = 1
    case "MB"   : coeffMultAvailableSIze = 0,1
    case "TB"   : coeffMultAvailableSIze = 10
    default     : coeffMultAvailableSIze = 1
    }
 let availableTrimmed = (Double(run("echo \"\(available)\" | awk '{print $2}' | tr -d '\n'"))! * coeffMultAvailableSIze)

...
Regards

@matxpa Have you tried with the app I have uploaded ? Thank you for the rest though.

https://www.mediafire.com/file/b431dfoa8mramfi/About+This+Hack.zip/file

Will keep you updated.

Yes but let me set this fix in my Repo (main branch)

The only thing I would change in your code is obtaining the unit - better to pull it from the first shell string to optimize time spent.
let unit = size[size.length-2]

extension String {

    var length: Int {
        return count
    }

    subscript (i: Int) -> String {
        return self[i ..< i + 1]
    }

    func substring(fromIndex: Int) -> String {
        return self[min(fromIndex, length) ..< length]
    }

    func substring(toIndex: Int) -> String {
        return self[0 ..< max(0, toIndex)]
    }

    subscript (r: Range<Int>) -> String {
        let range = Range(uncheckedBounds: (lower: max(0, min(length, r.lowerBound)),
                                            upper: min(length, max(0, r.upperBound))))
        let start = index(startIndex, offsetBy: range.lowerBound)
        let end = index(start, offsetBy: range.upperBound - range.lowerBound)
        return String(self[start ..< end])
    }
}

I've pushed this code in HardwareCollector.swift in my Repo (main branch) so get and keep what you need

Merged, thank you. I also adjusted slightly the notation with the optimization I mentioned.
@frogg, if you could test the release tag I'm about to attach here, if it works we can make it as finished.

Yes and the 2 last sent issues (#62 #63) seem to be same as #60 one

Thanks for your help :)

With your About-This-Hack-storage-test-1 built with Xcode 14.2 (Monterey) (Xcode 15.0 Ventura ou Sonoma debug can't work)

I'll try with forced values TB and MB (MB for the fun)
Regards

Ok looks good yes ?

sorry I don't have Xcode 12.5 like 0xCUB3, just Sonoma

That's my bad - I wrote exactly what you wrote, but the size and available already include the unit. Fixed in this push.

https://www.mediafire.com/file/prqoarm95ppn0jr/About+This+Hack.zip/file @frogg

With the app. above

@MDNich
"Did you apply the first commit in my Repo (main branch) commit concerning SIP returned value when SIP is enabled"
I apologize, yes you did, I can see it in the proj you sent.

@0xCUB3  @MDNich  @frogg
Hi all
This issue isn't fixed ?
Regards

Waiting on @frogg to test before closing.

Ok

@frogg you there?

closing issue because of inactivity; assuming fixed


make footer responsive

Please assign this issue to me, I will amke a responsive footer for this issue

done.  happy coding

hello @Raghu1124 any update?!!

hello @Raghu1124 any update?!!

sorry @Iamdivyak , i tried to make footer responsive but not able to make it, and i don't think i can make it responsive.
Sorry and thank you for your valuable time

thanks for your honest answer. you will learn it in no time.

@Iamdivyak can you assign this to me and please tell what find of footer you want?

can I work on this issue?

@Iamdivyak  can I work on this ??

Hey @Blink29 I have designed the footer.
have a look
https://www.figma.com/file/wKcuUSuG9uEbaXL4TytRzG/my-profile%2Fportfolio-design?type=design&node-id=1335%3A8&mode=design&t=whtbaJrLcR7HtRzr-1

hey @Blink29 any updates?!!

@Iamdivyak can I work on this ??

sure, I am assigning this issue to you.


Updated Kerbalism mod conflicts

Kerablism mod conflicts depend on what Kerbalism is configured to do. This moves the mod conflict definitions where they belong.
See also https://github.com/KSP-CKAN/NetKAN/pull/7546

Nice! When you said "config" I thought it might be something the user would manipulate at runtime, this is a lot better.


Add basic ntt

WIP

@potsrevennil Can you hoist the build system refactoring into a separate PR?

@hanno-becker Thanks for reminding me. Yes, I'm also consider doing it. But I'm packed by other stuff now, will get back to this late this week or next week.

@potsrevennil I took the liberty to manually rebase this on top of main, as there were conflicts.

@potsrevennil
I would like the configuration of OPT to be as simple as possible. As a user, I don't want to pass a complicated argument as NTT123_4567, but just say whether ASM should be enabled or not. Internally, or for more experienced users, we can also expose a fine-grained option, but I think this should be secondary.
Even when OPT is set, the AArch64 ASM should only be used when we are actually running on an AArch64 system. There should be a system header detecting this once and for all, exporting something like USE_AARCH64_ASM as the combination of running on an AArch64 system and OPT being set. Then, the actual source should cleanly rely on that flag only.
For benchmarking, I would suggest that we set OPT=1 by default, and add new -ref benchmarks which force OPT=0 and thereby fall-back to the reference implementation.
@mkannwischer You may want to chime in here.

Closing in favour of a PR on the main repo, to allow benchmarking.


Native Notebooks - Cell output is rendered twice

Environment data

VS Code version:Version: 1.53.0-insider (user setup)
Commit: 76436a4d43566cd313629799e2ec51b4d00caa64
Date: 2020-12-11T17:56:17.606Z
Electron: 11.0.3
Chrome: 87.0.4280.67
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.20277

Jupyter Extension version (available under the Extensions sidebar): 2020.12.414227025
Python Extension version (available under the Extensions sidebar): 2020.11.371526539, with Pylance 2020.12.2
OS (Windows | Mac | Linux distro) and version: Microsoft Windows 10.0.20277
Python and/or Anaconda version: Python 3.9.0 (tags/v3.9.0:9cf6752, Oct  5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)]
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Jupyter server running: Local

Expected behaviour
The desired output is printed only once.
Actual behaviour
The desired output is printed twice (double/duplicated output).
Steps to reproduce

Open Command Pattle, run command Jupyter: Create New Blank Jupyter Notebook.
After the new notebook is opened, type something like 123 then press Shift + Enter.
(Make sure you're using Native Notebook Editor)
You can see the output is 123123, which should be 123 only.

Logs

Output for Jupyter in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Jupyter)

使用者屬於 "NativeNotebookEditor" 實驗性群組 (TRANSLATE: User is in the "NativeNotebookEditor" expermential group)
> c:\Users\xtyzw\Projects\d2l\d2l\Scripts\python.exe c:\Users\xtyzw\.vscode-insiders\extensions\ms-toolsai.jupyter-2020.12.414227025\pythonFiles\pyvsc-run-isolated.py -c "import notebook"
> c:\Users\xtyzw\Projects\d2l\d2l\Scripts\python.exe c:\Users\xtyzw\.vscode-insiders\extensions\ms-toolsai.jupyter-2020.12.414227025\pythonFiles\pyvsc-run-isolated.py -c "import jupyter"
> c:\Users\xtyzw\Projects\d2l\d2l\Scripts\python.exe c:\Users\xtyzw\.vscode-insiders\extensions\ms-toolsai.jupyter-2020.12.414227025\pythonFiles\pyvsc-run-isolated.py jupyter kernelspec --version
> c:\Users\xtyzw\Projects\d2l\d2l\Scripts\python.exe c:\Users\xtyzw\.vscode-insiders\extensions\ms-toolsai.jupyter-2020.12.414227025\pythonFiles\pyvsc-run-isolated.py vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v
> c:\Users\xtyzw\Projects\d2l\d2l\Scripts\python.exe c:\Users\xtyzw\.vscode-insiders\extensions\ms-toolsai.jupyter-2020.12.414227025\pythonFiles\pyvsc-run-isolated.py vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v
> c:\Users\xtyzw\Projects\d2l\d2l\Scripts\python.exe c:\Users\xtyzw\.vscode-insiders\extensions\ms-toolsai.jupyter-2020.12.414227025\pythonFiles\pyvsc-run-isolated.py vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v
> dotnet interactive jupyter --default-kernel powershell ~\AppData\Local\Temp\tmp-1856zTmtrY8hNK7u.json
cwd: ~\AppData\Local\Programs\Microsoft VS Code Insiders
Started kernel .NET (PowerShell)
> dotnet interactive jupyter --default-kernel powershell ~\AppData\Local\Temp\tmp-1856sFWXll6dB1I9.json
cwd: ~\AppData\Local\Programs\Microsoft VS Code Insiders
Error 2020-12-12 13:33:53: Jupyter Kernel Spec not found for a local connection
> ~\AppData\Local\Microsoft\WindowsApps\python.exe c:\Users\xtyzw\.vscode-insiders\extensions\ms-toolsai.jupyter-2020.12.414227025\pythonFiles\pyvsc-run-isolated.py vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
> ~\AppData\Local\Microsoft\WindowsApps\python.exe c:\Users\xtyzw\.vscode-insiders\extensions\ms-toolsai.jupyter-2020.12.414227025\pythonFiles\pyvsc-run-isolated.py vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
Started kernel Python 3.9.0 64-bit
> ~\AppData\Local\Microsoft\WindowsApps\python.exe c:\Users\xtyzw\.vscode-insiders\extensions\ms-toolsai.jupyter-2020.12.414227025\pythonFiles\pyvsc-run-isolated.py vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
> ~\AppData\Local\Microsoft\WindowsApps\python.exe c:\Users\xtyzw\.vscode-insiders\extensions\ms-toolsai.jupyter-2020.12.414227025\pythonFiles\pyvsc-run-isolated.py vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v

Additional Information

The problem occurs in kernel Python, .NET (PowerShell), but not in .NET (C#).  By inspecting the raw json file, you can see the reason is this problem only exists for type text/plain - and that's true, change it to text/html then output only prints once.

`Python` cell raw output

"outputs": [
 {
  "data": {
   "text/plain": "123"
  },
  "execution_count": 1,
  "metadata": {},
  "output_type": "execute_result"
 }
],

`C#` cell raw output

"outputs": [
 {
  "data": {
   "text/html": ""
  },
  "metadata": {
   "transient": {
    "display_id": "4b284a09-c6d1-4cce-ad12-8d2b03d59d0c"
   }
  },
  "output_type": "display_data"
 },
 {
  "data": {
   "text/html": "123"
  },
  "execution_count": 1,
  "metadata": {
   "transient": {
    "display_id": "0cf11c49-79dd-44de-b5a7-5d205967941c"
   }
  },
  "output_type": "execute_result"
 }
],

The problem doesn't exists in either traditional notebook experience or jupyter webpage.

If you open the ipynb file with a text editor, you can see the output only once.

If you use developer tools to inspect the output, you can see the redundant output is in a span tag.

   123
   123

The issue may releated to https://github.com/microsoft/vscode-jupyter/issues/635.

can confirm

Thank you for the issue @KiruyaMomochi.
I've been trying, but I'm not able to reproduce your issue:

Is it consistent for you? Or does it happen only sometimes?

Thank you for the issue @KiruyaMomochi.
I've been trying, but I'm not able to reproduce your issue:

Is it consistent for you? Or does it happen only sometimes?

Yes it's consistent for me. I can reproduce the issue now, following the provided steps.

@KiruyaMomochi, another dev from the team can also repro consistently. We'll follow the issue on the vscode repo. In the mean time you could use stable if possible.

Fixed.

Where did you get this version of the extension that doesn't double the output? I still see it, and I'm on VS Code insiders and Jupyter insiders daily (v2020.12.414227025).

Hey Guido, what is your VS Code insiders version? Is it 1.53?

It is, but I just checked for updates and found one, and now things are fixed. So sorry! Should have thought of that before (this is not the first time that happened... :-( )


Update DevWorkspace samples to be current

What does this PR do?
Update the samples/ repo to remove out-of-date samples (e.g. old flattened theia-next workspaces that no longer work) and add current samples (e.g. the DevWorkspace used by the Web Terminal Operator).
Currently there is no sample for Code-OSS, as that depends on https://github.com/devfile/devworkspace-operator/pull/844
What issues does this PR fix or reference?
Out of date samples were confusing (flattened samples do not work anymore since they haven't been updated)
Is it tested? How?
All samples should give a functioning workspace (web terminal samples require an OpenShift cluster)
PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v8-devworkspace-operator-e2e, v8-che-happy-path to trigger)

[ ] v8-devworkspace-operator-e2e: DevWorkspace e2e test
[ ] v8-che-happy-path: Happy path for verification integration with Che

I don't know if I did something wrong (can test again tomorrow) but I wasn't able to get the samples/web-terminal-flattened.yaml and samples/web-terminal.yaml workspaces to start; they're stuck at Starting for me:
After running:
oc apply -f samples/web-terminal-flattened.yaml

I get the following:
The devworkspace that's stuck at Starting:

The workspace pod:

The web-terminal-exec container log (there were no logs shown for web-terminal-tooling):

@dkwon17 Hm, interesting. The status of your DevWorkspace suggests that DWO is "waiting for editor to start", meaning it's not getting a 2xx or 4xx response on the mainUrl for the workspace.
Are there any logs in DWO that look out of place? Are there any networkPolicies in your cluster that prevent communication between the DWO namespace and the terminal's namespace?


Reusable workflows support

Hi @regadas! Thanks for all your work on this. I have an issue and would like your thoughts on it.
I currently have an open PR to support reusable workflows but it only adds the types needed. To call a reusable workflow, it has to be done on the job level so a uses key will be used instead of steps. My initial thought is to make jobs.steps and jobs.runs-on Optional but this will break existing workflows (including ours) since they have to be changed to Optional values. What's your take on this?
My current work around is to merge the records e.g.
GithubActions.Workflow::{
...
, jobs = [] : List { mapKey : Text, mapValue : GithubActions.Job.Type }
}
//  { jobs = toMap { job1.uses = "my-reusable-workflow@master" } }

Hi @alvintang sorry for the long delay.

My initial thought is to make jobs.steps and jobs.runs-on Optional

Right, after a fast look I think that makes sense since those will not be required.

but this will break existing workflows (including ours) since they have to be changed to Optional values. What's your take on this?

If we do a versioned release first. You could move the existing ones to that, and then we introduce the breaking change in a new version.


Importing node:crypto breaks compat with edge runtimes (Vercel etc)

UnhandledSchemeError: Reading from "node:crypto" is not handled by plugins (Unhandled scheme).
Looks to have been an oversight(?) in https://github.com/perry-mitchell/ulidx/commit/5b90d022e54e122676fab8ac0c2470c3a05192bc
Reverting this commit fixes things.
Vercel edge runtime provides the web crypto API, which is not the same as / not one of the node-compatible modules that can be loaded with the node: prefix: https://nextjs.org/docs/api-reference/edge-runtime
Big thanks for the work on this module!

Hi, I have a similar issue in my react-native project. The build crashes with an error: Unable to resolve module node:crypto.

Vercel edge runtime provides the web crypto API

But this library was never built for the web directly: it was intended to be included in a project that does such bundling, like Webpack etc.. such a process would clean up and remove the crypto module as mentioned at the end of the readme.
It wasn't an oversight as I needed to move to import crypto rather than requiring it - you can see that it was required dynamically in the previous version. This is impossible under ESM as imports are async, and that code path must remain sync.. hence the import.

I have a similar issue in my react-native project

This was an oversight - There's actually no way to run this on react native, even with the compiled CJS build.
I might need to consider a web build as well..
And this is why I truly dislike building multiple-output projects 😅. Too many conflicting concerns; and I'm not confident that they're all achievable at the same time.
Anyway - if you have any suggestions please don't hesitate to mention them. I think the "browser" build should solve both of these issues but only because it will strip the crypto import.

To anyone else having these issues: please consider sticking with v0 for now.. there's no need to upgrade just yet as the feature set is the same.

it was intended to be included in a project that does such bundling, like Webpack etc.. such a process would clean up and remove the crypto module as mentioned at the end of the readme

Got it! Thanks for explaining.
I figured a new solution that feels cleaner and causes the ESM import of the node crypto module to be stripped correctly - details below. My patch to achieve this is a bit rough around the edges still but if this approach sounds useful I can try put together a PR - let me know if it sounds promising!
~~
I'm using the default Webpack bundling config provided by Next.js (via next dev / next build commands). With the current code this was failing with the error in my original post rather than stripping the import of the node crypto module as hoped.
By patching the module in a different way I managed to solve the issue building for the Next.js Edge runtime (thus also I think for browser environments (?) although I haven't verified). Specifically the Webpack bundler will strip the import of the node crypto module if it determines via tree-shaking that the import will never be referenced at runtime.
Webpack fails to tree-shake the current code seemingly due to the layers of indirection in the logic that first assigns to globalCrypto. To enable successful tree-shaking, I simply patched to add a simple if test that returns early with the result of the browser crypto API:
 function detectPRNG(root) {
+  if (typeof EdgeRuntime === 'string') {
+    return () => {
+      const buffer = new Uint8Array(1);
+      crypto.getRandomValues(buffer);
+      return buffer[0] / 0xff;
+    };
+  }

   ...

This worked for my initial test - here I used the test typeof EdgeRuntime === 'string' as recommended specifically for the Vercel Edge runtime; I haven't tested yet but I would next try some simpler if tests to try achieve the tree-shaking based on availability of the web crypto API in the global scope rather than the (currently) vendor-specific test for the EdgeRuntime global.
To be able to access the browser crypto API via the global crypto. I also renamed the import of the node crypto module (with ESM it may feel cleaner to instead import the required functions directly as named imports):
-import crypto from 'node:crypto';
+import { default as nodeCrypto } from 'crypto';

  ... subsequent changes as necessary to reference the renamed import

Thank you for your efforts. I will try it in my react-native project if the web build is working.

Nice write up!

This worked for my initial test - here I used the test typeof EdgeRuntime === 'string' as recommended specifically for the Vercel Edge runtime;

So EdgeRuntime is present on Vercel, and I presume Webpack is using such a preset? Perhaps in its "type" field? Electron has such a handler in Webpack as well.
I'd ideally like something more generic (if we're talking about adding logic to avoid Node crypto being bundled).. perhaps if there was something we could add for web detection that would tree shake for normal web output as well as for Vercel edge runtimes.
I suppose you would have had the same success, without editing ulidx, if you'd used crypto: false in Webpack's resolve fallbacks - would it be possible for you to try this as an alternative?

@andyjy Hi! Any chance you've been able to test the crypto: false flag in Webpack?

@perry-mitchell been offline for a few days but I'll find some time to follow up.
I'm unsure of value of the webpack config test since a) even if it works it would seemingly leave code with unresolved references which seems risky in general even if we believe they won't be called at runtime (and affects all code not just this library), and b) requires tinkering with bundler config which is never pleasant.
Vs. updating the codebase to resolve the issue via tree-shaking with default bundler config and nothing left at runtime even theoretically unsafe seems much nicer all round.

The sensible thing may be to provide a browser and node entry point →. https://github.com/uuidjs/uuid/blob/4de23a6030e65ac72b3b015680f08e7e292681ed/package.json#L24-L46

@jiw-mh Agreed, I'm going to add one now.

So it's mostly done, but I'm a bit concerned about the exports in package.json - I've seen that they can be extremely finicky, and not work at random. I'll probably publish a pre-release for testing.
Do note, however, that I would strongly advise against using the browser version in an environment where build tools like Webpack/Rollup are available. These should be used to bundle the ESM build, as it will support tree shaking. I'll add notes as to how to block the node:crypto import when using such configurations.
The browser bundle should only be used for injection straight into the browser, when build tools are not present, imo.

@andyjy Getting back to your points, albeit a bit late:

even if it works it would seemingly leave code with unresolved references
I don't think this is the case, especially with the ESM build. That's the idea: webpack would resolve all imports and remove those that aren't being used, such as node:crypto. There's be nothing left that could potentially run later.

requires tinkering with bundler config which is never pleasant
To each their own I guess, though I prefer to have complete control (where appropriate) over the bundle output. Any default configurations that allow for bundling node's crypto methods without user oversight are flawed imo. I think browser bundles do take a bit of work to get right and should always be customised in terms of your desired outcome.. browser support, feature support.. whether you expect native function X to be included or just be present in the target runtime environment.

I digress; I believe if I provide both a web build (sub-optimal) and instructions on how to use the ESM build with tools such as webpack, that should be enough. I know I could have also build an ESM-web build but this is too much imo.. It starts to get a bit insane with build configs. Almost more code for the configurations than for the actual utility itself 😅.

If someone would want to sanity-check my exports, that'd be swell: https://github.com/perry-mitchell/ulidx/pull/23/files#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519L6

@perry-mitchell It would be good to have esm for browser too. esbuild and similar do auto transform.

Big thanks @perry-mitchell - I checked out and built your web-build branch and patched that into my app and it does the job just fine. (NextJS, with both Webpack + Turbopack bundlers).
Regarding your exports - I noticed you have a "browser" entry within the top-level "exports" field, but no top-level "browser" field (unlike e.g. ulid as referenced previously - see this line). It might be worth adding that also - although I don't have a reference for which bundlers may still not support "exports".

It would be good to have esm for browser too. esbuild and similar do auto transform.

I'm happy for someone to provide such an MR, but I don't currently have the time to add it.

Regarding your exports - my only observation is you have a "browser" entry within the top-level "exports" field, but no top-level "browser" field for any bundlers/older versions that may not support package "exports" (unlike e.g. uuid as referenced previously - see this line).

You're right, I'll add that before merging - thanks!

So I've gone back on what I said and created a separate build for each environment anyway:

Node ESM
Node CJS
Browser ESM
Browser CJS

So they should all handle as you'd expect. If the tests work I'll probably bundle and release this as 1.1.0 shortly.

Released as 2.0.0-1. Would be great if someone could test that this works 🙏

@perry-mitchell Installed it in a project that is setup using vite and esm modules and it works fine.

@perry-mitchell It works with react-native again. Thank you! 🎉

Yes, good catch there. I've merged and will add it to the 2.0.0 release!

@atheck If you have a public repository for RN using this library, I'd certainly appreciate a link if you're ok with sharing it :)

2.0.0 released.

Fantastic. Big thanks @perry-mitchell

@perry-mitchell At this time I only have a private RN repo, sorry.
FYI: To make jest work again, I need to add these lines to the configuration:
moduleNameMapper: {
  "^ulidx$": require.resolve("ulidx")
}


Add support for dashes as separators

Based on the work of @bkzl.

Hey! Thanks.
Would have loved to do this as part of #7 (i.e. via a new API).
As is, given I don't think I'll get any time to do #7 myself, it's possibly ok to merge as-is, will have a look and leave a comment or two.
Appreciated!


[WIP] Add npm and yarn support

5000+ files?

5000+ files?

native-helpers/  with its dependencies. Won't that be needed in Heroku?

5000+ files?

native-helpers/  with its dependencies. Won't that be needed in Heroku?

Not like this! There are 21k files in this. What exactly is going on here?


Compiler base

Changes compiler away from Ractive while adding lambda content functionality since we can now serve the template compiler at lower cost.

Looks good to me


doc: Added Clients list

Hi, just thank you for this awesome.
I just added client list to run these servers.
Thanks.

Awesome!


AA - Test georeferenced image

Description
This fixes #issueNumber.
https://prism-1152.surge.sh/?hazardLayerIds=anticipatory_action&date=2024-02-01

How to test the feature:

[ ]
[ ]

Checklist - did you ...

Test your changes with

[ ] REACT_APP_COUNTRY=rbd yarn start
[ ] REACT_APP_COUNTRY=cambodia yarn start
[ ] REACT_APP_COUNTRY=mozambique yarn start
[ ] Add / update necessary tests?
[ ] Add / update outdated documentation?

Screenshot/video of feature:

Closing in favor of #1153


Whitespace inconsistencies

https://github.com/modestkdr/Podcastwala/blob/master/app/Item.php#L12-L15

@wmichelin you are welcome to submit a PR


Move gender to optional section and define gender terms in dropdown

These terms would benefit from hover-over description or an info button.
I would also expect to see cis-gender in the menu

@jmcmurry We were thinking of removing the gender widget, since we want to keep things relatively simple for the user and gender is probably of lesser importance in many rare disease research use cases. Possibly we could keep it as an option that is partially hidden and clearly optional. Also, we would use the gender terms as recommended on the phenopacket schema website

I agree simplicity is really important. Maybe there's a section where we can park several such options?

Hi Peter, Julie, here are screenshots of the updated UI (not deployed yet) following your advice. For the list of genders, @ielis and I picked the GSSO ontology with the default ones available there. As it seems the terms on the phenopacket documentation are not there : the Gender property is an OntologyClass (as opposed to Sex and KaryoptypicSex which are enums).

This is an improvement but is cisgender on the list? I also want to make sure that this is an optional field.

Alternatively, this could be free text; I don't know that you are going to capture enough nuance to satisfy everyone

The field is an ontology class. This is what we are recommending --
http://phenopackets.org/phenopacket-tools/constants.html#gender
This does not provide all nuances of course and if people need more they will need to choose another ontology.
I think we should not show this field now, because gender is not of much relevance for genomic research at the moment and it is better to focus on things we need for our use case than to offer all possible options.

@jmcmurry yes i think cisgender was in that list, but somehow its label was "na-trans". no idea why. Might have been an error in the GSSO ontology.
I will remove the gender field for now (just commented in the code so it will be easier to re-implement when needed).

Tested and looks good


JS dependency in webjars: specify the file to import using a part of the path

The current version allows to do such configuration:
 jsDependencies += "org.webjars" % "historyjs" % "1.8.0" / "history.js"

However, some webjars have multiple files with the same name. It would be better to allow partial parts:
 jsDependencies += "org.webjars" % "historyjs" % "1.8.0" / "uncompressed/history.js"

This is unfortunately both absolutely reasonable and a non-trivial change.
We currently identify raw JS libraries globally by their file name. This was notably done to reasonably support dependsOn, without requiring users to having to write a separate "library definition" (or huge strings in multiple places).
dependsOn itself was introduced, since webjars do not have any metadata about required libraries, so we asked the user to reproduce these dependencies at the usage site (which is kind of a WTF on its own).
This design choice percolates through the whole class design. N.b. in the PartialClasspath (and what we derive thereof), we represent raw JS libraries as Map[String, VirtualJSFile], where the key is the name of the JS file.
This has a tons of issues:

Multiple same named files in a webjar
Multiple same named files in different webjars
JS files that do not have a descriptive name for the library they contain (e.g. Jasmine 2)
Libraries that are divided into multiple files (does that exist)
Bad support for compressed / uncompressed aka prod / dev JS files

We might be able to hack-patch support for partial paths, but maybe we should think of a cleaner way to manage these guys we want to get towards.

Hum, I didn't realize our state on this was so bad ^^
We should probably try to sort of support partial paths in the short run, with the understanding that the partial path becomes the identifier, which means all dependencies referring to a webjar must agree on what partial path is used.

For webjars this is fine, since the JS files are always in META-INF/resources/webjars/<libname>/<libver>/<library-speicifc>. The question is what do we do with non-webjar JS. Do we really want to force people to abide to this scheme even for simple things?

Even the ClasspathContentHandlers and hence the ClasspathBuilders only retain the file name part. So the knowledge of the relative path wrt the classpath entry is lost very early. :-(


marwaita: init at 2020-07-01

Motivation for this change
Marwaita is a GTK theme supporting Budgie, Pantheon, Mate and Xfce4 desktops.

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
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 nixpkgs-review --run "nixpkgs-review wip"
[ ] 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.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/216

/marvin opt-in
/status needs_reviewer

Bot mistake.
/status needs_reviewer

Also I don't use any of those desktops and I don't know anyone who does, so I'm bouncing this to someone else for testing
/status needs_reviewer

tested on xfce.
/status needs_merge

/status needs_merger

Also I don't use any of those desktops and I don't know anyone who does, so I'm bouncing this to someone else for testing

This might be a bit controversial, but I would say runtime testing is at most a "nice to have" for a review. In my mind, the reviewers job is to check that the actual diff is good and does not obviously break anything (i.e. breaks at build or test time). For the runtime testing its sufficient to trust the PR author.
Also if you do want find someone who could test this, it would be preferable to actively look someone up (for example with git log) and ping them. Setting it back to needs_reviewer will only assign some other random reviewer which likely doesn't have the needed expertise / setup either.
Anyway, thanks for the reviews @fgaz and @symphorien :)

For the runtime testing its sufficient to trust the PR author.

In most cases including this one maybe yes, but what about new authors and init prs?

For the runtime testing its sufficient to trust the PR author.

In most cases including this one maybe yes, but what about new authors and init prs?

Init PRs are very low-stake: The worst that's going to happen is that we have a new not-quite-working package in the repository. Basically the author has no incentive to do that on purpose, so its relatively unlikely. They will have tested it at least for their use-case. If it does happen, someone is going to notice at some point and fix it / disable it. Either way the worst-case is both "not so bad" and "pretty unlikely".
New authors (or anyone) making changes to existing things might be a bit more tricky, since here the worst case is that it breaks someones setup and the testing burden is "any usecase some nixpkgs user might currently have for the package" which the PR author probably didn't test for. Still, I'd argue that static checks (i.e. builds fine and tests pass) are sufficient in most cases. If something does break on runtime, that's why the channel is called unstable. Its a motivation for the package maintainer to add more/better static checks.
This basically goes back to my personal definition of the unstable channel: We have tested that nothing obvious breaks (nix-review), but things might break on runtime. That's similar to what most other distros call "unstable", with the added benefit of easy rollbacks.


nodePackages.@zwave-js/server: init at 1.24.0

Description of changes
zwave-server is the corrently-recommended ZWave integration for
Home Assistant: https://www.home-assistant.io/integrations/zwave_js/
Homepage: https://github.com/zwave-js/zwave-js-server
Release notes: https://github.com/zwave-js/zwave-js-server/releases/tag/1.24.0

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

I don't have a zwave device, but this looks good. Quickly tested the startup and it correctly complains about the missing device I passed.
Next it would be good to add a module and a test, but I think merging this quickly is prudent, so we don't wait for any conflicts.
❯ ./result/bin/zwave-server /dev/ttyUSB0
02:05:30.330 DRIVER   ███████╗ ██╗    ██╗  █████╗  ██╗   ██╗ ███████╗             ██╗ ███████╗
                      ╚══███╔╝ ██║    ██║ ██╔══██╗ ██║   ██║ ██╔════╝             ██║ ██╔════╝
                        ███╔╝  ██║ █╗ ██║ ███████║ ██║   ██║ █████╗   █████╗      ██║ ███████╗
                       ███╔╝   ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝   ╚════╝ ██   ██║ ╚════██║
                      ███████╗ ╚███╔███╔╝ ██║  ██║  ╚████╔╝  ███████╗        ╚█████╔╝ ███████║
                      ╚══════╝  ╚══╝╚══╝  ╚═╝  ╚═╝   ╚═══╝   ╚══════╝         ╚════╝  ╚══════╝
02:05:30.334 DRIVER   version 10.3.0
02:05:30.334 DRIVER
02:05:30.334 DRIVER   starting driver...
02:05:30.340 DRIVER   opening serial port /dev/ttyUSB0
02:05:39.355 DRIVER   Failed to open the serial port: Error: No such file or directory, cannot open
                      /dev/ttyUSB0
02:05:39.358 DRIVER   destroying driver instance...
Unable to start driver ZWaveError: Failed to open the serial port: Error: No such file or directory, cannot open /dev/ttyUSB0 (ZW0100)
    at Driver.openSerialport (/nix/store/wbnp9l09xl99qkz95wjriyhkkwxawjnr-_at_zwave-js_slash_server-1.24.0/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/driver/Driver.ts:1070:9)
    at Immediate.<anonymous> (/nix/store/wbnp9l09xl99qkz95wjriyhkkwxawjnr-_at_zwave-js_slash_server-1.24.0/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/driver/Driver.ts:947:5) {
  code: 100,
  context: undefined,
  transactionSource: undefined
}

Would you mind converting this package to use buildNpmPackages instead? That would make maintaining it much more sustainable.


Can env_logger be used with tokio?

Hi! I have been in the midst of tracking down a bug causing a deadlock in a multi-threaded application using tokio. I finally managed to trace the deadlock to stderr locking and as far as I can tell, this is being initiated by the log method by env_logger. After not making much progress on this, I decided to look into the implementation of env_logger's logging method and I see that it uses it a thread_local! variable. From everything I've heard from the tokio maintainers, this could absolutely cause problems. Is env_logger not meant to be used with tokio?

Closing for now. The issue appears to be unrelated.


Gradle installs missing sdk packages

When running gradle, any missing packages (like the Android SDK build-tools with a specific version picked up by gradle using project manifest files) are installed.
Expected Behavior
It should not do this or somehow account for allowing packages that are being installed to get their licenses accepted non-interactively.
Current Behavior
Gradle attempts to install missing packages but fails because licenses haven't been accepted for those packages.
Context
This behavior makes it impossible to run gradle with a stateless CI system. The CI system doesn't know what platform-tools should be installed (it shouldn't have any installed by default), so it handily relies on gradle to install them at build-time. Except, in order for gradle to install packages at build-time, those packages have to have licenses accepted. This can't be done in the middle of a build in a non-interactive environment.
Steps to Reproduce
./gradlew assemble
Your Environment
Docker container using Alpine Linux with glibc as a base, with the openjdk11 alpine package from the alpine testing repo. The android sdk is retrieved from https://developer.android.com/studio#downloads using the command line tools package. The build command is a simple ./gradlew assemble in the project root. The gradle version configured in the project is 5.5. The android project platforms and build-tools should be arbitrary.

Disregard, this may be the CI system configuration issue.