azcopy list is listing deleted/snapshot files (Seemingly?)

azcopy v10.3.0
If running azcopy list on a blob account/container does this function also list deleted blobs and files from snapshots?
Seems like it does as I listed and grepped on a container/virtual folder and had millions and millions of results when I know for a fact that virtual folder is not anywhere near that large.
If list is actually listing deleted files/snapshot files then I would like to request a feature where we can toggle that behavior on and off with the default setting being off.
e.g
azcopy list --show-deleted "https://[srcaccount].blob.core.windows.net/[container]?[SAS]"

I've just checked, by running a list command against a container with one blob that has one snapshot.  It did not show the snapshot.
I also checked the code, and it specifically does not request deleted blobs or snapshots when listing.
On that basis, it seems likely that there might be something else going in in your case - i.e. some other reason for the unexpectedly high count.   I'm not sure what to suggest as a next step... maybe try on a smaller container where you're able to more easily drill into any discrepancies...?

Should also note that using az-cli:
az storage blob list
Results in a drastically lower number of total blobs.
user@ubuntu:~$ azcopy list "https://${SRC_ACC}.blob.core.windows.net/${SRC_CONT}/${PREFIX}${SRC_SAS}" | wc -l
272711

tm-admin@test-env01-syd-vm:~$ az storage blob list --num-results "*" --account-name "$SRC_ACC" --account-key "$SRC_KEY" --container-name "$SRC_CONT" --prefix "brandimages" --output tsv --query "[][name]" | wc -l
Next Marker:
2!120!MDAwMDQ0IWJyYW5kaW1hZ2VzLzFiMmE4Mjg4NDM2MGI4ZDY2ODdjNDg4ZjVjZGYxZjFhITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--
47711

What's that "next marker" it's displaying at the end? I would have expected NextMarker to be empty/null after the final call, to indicate that there are no more results.  In the underlying REST API, a non-empty NextMarker indicates that there are more results which have not yet been retrieved.  I wonder if az storage blob list is actually not fully enumerating the container in this case.... (that would be an unexpected feature/bug, and I'd be surprised if such a behavior existed... but that marker that's shown does make me wonder.)

I could loop it until it properly finishes but here look at this.
user@ubuntu:~$ azcopy list "https://${SRC_ACC}.blob.core.windows.net/${SRC_CONT}${SRC_SAS}" > ${SRC_ACC}.list
user@ubuntu:~$ sudo du -h azure_blob_account.list
509G	${SRC_ACC}.list

The list alone is 509GB
That is not right.

OK. I'm asking around here (Microsoft) to see what our best next step is to diagnose what's going on.

If you want to try something while we wait, you could try "downloading" the container with AzCopy v8 and the /L flag. It looks like that should just count the blobs and tell you how many there are.  It's a different codebase from V10, so will be a good way to prove the nature of the issue.

Best suggestion so far is to check the count shown either by AzCopy v8 or by the Azure Storage metrics described here: https://docs.microsoft.com/en-us/azure/storage/common/storage-metrics-in-azure-monitor?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json, to prove that one of those tools is giving a substantially lower count.
The Azure storage metrics approach is only relevant here if there are no other high-blob-count containers in the same account, because it works at container level.

I've managed to reproduce this. It is listing far too many files by, somehow, repeating itself. And I have good news: @adreed-msft has already written code that fixes it, in this PR #682.  That's scheduled for inclusion in release 10.4.

BTW, I'm going to edit the title, since I believe it does not relate to snapshots, but rather to some incorrect repetition of result sets.

https://github.com/Azure/azure-storage-azcopy/pull/682

In 10.3.3. we replaced the old list implementation with the scan code that is used by copy and sync. That does not have the duplication issues.


Incomplete spec dump via to_pretty_json with auto registered schemas

Calling openapi::OpenApi.to_pretty_json() produces an incomplete spec doc when used with schema auto-registration.
It's likely to trip people up following the readme example.
e.g. something basic like this:
#[derive(OpenApi)]
#[openapi(
    servers(
        (url = "http://localhost:3000", description = "Local Dev"),
        (url = "https://api.<remote-site>", description = "Remote API"),
    )
)]
pub struct ApiDoc;

Will produce this:
{
  "openapi": "3.1.0",
  "info": {
    "title": "server",
    "description": "",
    "license": {
      "name": ""
    },
    "version": "0.1.0"
  },
  "servers": [
    {
      "url": "http://localhost:3000",
      "description": "Local Dev"
    },
    {
      "url": "https://api.<remote-site>",
      "description": "Remote API"
    }
  ],
  "paths": {},
  "components": {}
}

A fix is to wrap in the router to ensure routes have been fully initialised:
let (router, api) = OpenApiRouter::with_openapi(ApiDoc::openapi())
        .merge(api::routes())
        .split_for_parts()

... and then call api.to_pretty_json().

This is by design, though not sure whether this is actually a good design. But this is deliberate as I think there is no need to evaluate the all the variables from environment variables, over and over again when users call OpenApiRouter::new().
Yet we could create a function something like OpenApiRouter::from_env() for this purpose to deliberately instantiate a new instance of OpenApi with all variables resolved from the cargo environment variables.
Anyhow with_openapi(...) is there for that purpose because some information like the servers cannot be added via the router. This allows merging OpenAPIs from macro syntax with one in the router. Otherwise the servers need to be added manually after the .split_for_parts() call to the resulting OpenApi.

That sounds like a good default.
The way it worked previously was fine, when all schemas had to be manually registered. But with auto registration, it's a pretty easy footgun.
As always, thanks for the excellent work 👍🏻


Integration tests for config reloading

Also includes fix to prevent SimulacronRule.before from being invoked twice.

👍  I've made a few changes to use events to wait for reloads, and added a test for forcing a reload with an event.


start revising DHARMA_INSIDENKPucangan.xml

Dear @ekobastiawan —

obtain the file by git pull on tfc-nusantara-epigraphy
please encode the primary and secondary bibliography
please track down cases of [...] and (...) in the edition and start to replace them one by one by relevant tags such as <supplied> and `

revise line numberring 1, 2, 3 >> A1, A2, A3, etc.
hunt down all invalid cases of <supplied> >> <supplied reason="lost">
any cases of <note> inside edition to be moved into apparatus


How to remove non-essential files in Linux

when i run using "npm start" it's generate some extra files.
original file :
xxx.ts

generated files:
xxx.js.map
xxx.js

Those are essential files ... in every environment


[ Recomendation ] Github wiki

Maybe can be better use(create) a wiki for all the main documentation. This may help for read and search the specific data you want to use of you have doubt.

I agree, the README started as a single document but then grew into a monster. It would definitely make sense to migrate it to something that had nice collapsible sections and easier searching.

You can enable the repo wiki? I made a very simple wiki can be an start


basicModel_neutral_lbs_10_207_0_v1.0.0.pkl

Where can I find this file? I can't find this file anywhere.

refer to https://github.com/fudan-generative-vision/champ/blob/master/docs/data_process.md#download-models.
In the 4th step of Download models section

I've checked the website but I failed to find this version.

refer to https://github.com/fudan-generative-vision/champ/blob/master/docs/data_process.md#download-models. In the 4th step of Download models section

May I know which one I should download here?

Hi, May I know how do you solve this question? I just find "basicmodel_neutral_lbs_10_207_0_v1.1.0.pkl"

So how solve this question?


[TC-TSTAT-2.2] Writing certain values within occupied-cooling-setpoint range fail

Problem

./chip-tool thermostat read min-cool-setpoint-limit 1 1 returns 1600
./chip-tool thermostat write occupied-cooling-setpoint 1600 1 1 fails
Writing values 1600 up to 2400 fail, writing 2400 will pass

tstat-occupied-cooling-setpoint.txt

@pankore Does the server have the AUTO feature enabled?  If so, there are lower-bound constraints on OccupiedCoolingSetpoint other than MinCoolSetpointLimit.

Thanks, I overlooked this in the specs. My auto feature is enabled. Closing this issue.


As a user, I can choose a region and input a number (N) to see the top N populated countries in that region.

well done


docs(azure): test services in Azure added

Context
Documentation for test services in Azure added
Description
Documentation for test services in Azure added, documentation for test checks in Azure corrected.
Little correction changing 'mkdocs.yaml' for 'mkdocs.yml' in "Contribute with documentation"
License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This PR needs to point to v4 and be back-ported to v3.


Tensorboard Not Displaying

Describe the bug
Since a few days ago the hub has been unable to render any tensorboards, instead displaying the following message

No dashboards are active for the current data set.
Probable causes:
You haven’t written any data to your event files.
TensorBoard can’t find your event files.

I ran the exact training script but with a new hub_repo_id with report_to="tensorboard". The previous run from a week ago renders a tensorboard page, the new repo doesn't.
Reproduction
https://huggingface.co/models?library=tensorboard&sort=created
I see tensorboards working from ~3 days ago, but none render in the last 2 days.
Sorry if this is the wrong repo for a huggingface.co issue, please let me know where else I should submit it if it's the wrong place.

cc: @severo

Thanks for reporting @lapp0! This should be fixed now. Could you retry on your model and close this issue if appropriate? Thanks!

Kudos to @XciD @severo for investigating it!

I'm still seeing this issue transiently, is it possible it was reintroduced?

Hi, I'm seeing this issue again.
It seems that

new repo's Tensorboards aren't populated
old repo's Tensorboards hang with a "Loading Tensorboard" message if there is new data.

Any chance we could get Tensorboard on https://status.huggingface.co/ ?

cc @XciD ^

Charts read like this is a re-occurrence of https://github.com/huggingface-internal/tensorboard-launcher/issues/169:

Top entries in the queue shown below:
I have no name!@prod-tensorboard-launcher-redis-master-0:/$ cat /tmp/lrange | cut -d, -f1 | sort | uniq -c | sort -r > /tmp/lrange.sorted
I have no name!@prod-tensorboard-launcher-redis-master-0:/$ head /tmp/lrange.sorted
   9363 {"repo":"HuggingFaceTB/smollm-big-run"
   2623 {"repo":"osanpo/CivitAI_Auto9"
   1571 {"repo":"RyotaroOKabe/rhs2lhs_dgpt2_v1.2.1"
   1564 {"repo":"RyotaroOKabe/lhs2rhs_dgpt2_v1.2.1"
   1118 {"repo":"DNA-LLM/virus-pythia-302M-2048-cross_entropy"
   1028 {"repo":"yoshimitsu-imazu/segformer-b0-fine-tuning-test-v-0-1"
    866 {"repo":"DNA-LLM/virus-pythia-302M-2048-complement"
    847 {"repo":"medmekk/llama3-70b-lr1e4"
    819 {"repo":"tktkdrrrrrrrrrrr/CivitAI_model_info"
    814 {"repo":"tktkdrrrrrrrrrrr/CivitAI_log"

I'll update the blocklist again to see if this gets us out of the deadlocked state.

We've got an alert defined for this scenario but notifications for it were unfortunately being dropped instead of getting delivered to Slack 😢
Aiming to re-instate notifications and audit our notification policies for other gaps as part of https://github.com/huggingface-internal/infra/issues/1308.

Appears to be resolved, thanks!

Re-occurring.

Here's the hacky script I'm using to render a hub tensorboard locally.
python3 run.py distily/distily_dataset_sweep
It retrieves all tfevent files from a repo, puts them in a temporary directory, and starts a tensorboard locally under that directory.
import os
import tempfile
from huggingface_hub import list_repo_files, hf_hub_download
from tensorboard import program
import time
import sys

def download_tensorboard_files(model_repo_id, temp_dir):
    # List all files in the Hugging Face Hub model repository
    repo_files = list_repo_files(model_repo_id)

    # Filter out only tensorboard event files (those containing "tfevents" in their name)
    tb_files = [f for f in repo_files if 'tfevents' in f]

    if not tb_files:
        print("No tensorboard files found in the repository.")
        return []

    for tb_file in tb_files:
        # Create subdirectories in the temp_dir as in the repo
        subdir = os.path.join(temp_dir, os.path.dirname(tb_file))
        os.makedirs(subdir, exist_ok=True)

        # Download the tensorboard event file to the corresponding subdirectory
        file_path = hf_hub_download(repo_id=model_repo_id, filename=tb_file, local_dir=subdir)
        print(f"Downloaded: {file_path}")

    return temp_dir

def run_tensorboard(log_dir):
    tb = program.TensorBoard()

    # Start TensorBoard pointing to the log_dir
    tb.configure(argv=[None, '--logdir', log_dir])
    url = tb.launch()
    print(f"TensorBoard is running at: {url}")

    # Infinite loop to keep the script running
    try:
        while True:
            time.sleep(60)
    except KeyboardInterrupt:
        print("TensorBoard process terminated.")

def main(model_repo_id):
    # Create a temporary directory
    temp_dir = tempfile.mkdtemp()

    try:
        # Download TensorBoard files to the temporary directory
        log_dir = download_tensorboard_files(model_repo_id, temp_dir)

        if log_dir:
            # Run TensorBoard on the downloaded log files
            run_tensorboard(log_dir)
        else:
            print("No TensorBoard logs to visualize.")
    except Exception as e:
        print(f"An error occurred: {e}")
    finally:
        # Optionally, cleanup the temporary directory after use
        # shutil.rmtree(temp_dir) # Uncomment to clean up
        pass

if __name__ == "__main__":
    # Replace with your Hugging Face Hub model ID
    model_repo_id = sys.argv[1]
    main(model_repo_id)

Error re-occurring starting some time in the past few days.


ehentai not checking galleries

Device information
Tachiyomi version: 8.7.1-AZ
Android version: 12 (SDK 31)
Android build ID: SP1A.210812.016.A725FXXU4BVG1
Device brand: samsung
Device manufacturer: samsung
Device name: a72q
Device model: SM-A725F
Device product name: a72qnseea
Steps to reproduce
I have turned off all bettery optimizations for the app but the galleries never update, the updater statistics say that they ran X minutes ago but didn't check anything. I've tried setting the frequency to 1 hour and staying on the app for that hour as well as 12 and 24 hours and waited several days. No galleries checked. I go and update manually and there are updates available
Issue/Request
The app simply isn't checking ehentai.
Maybe add a setting to include ehentai in normal global update?

including eh/exh in the normal global update would get you IP banned near instantly. try going into settings -> advanced -> open debug menu and using the "reset aged flag in ex hmanga" option, then "test launch ehentai background updater", then "reschedule ehentai background updater". be sure not to touch anything else in there


Command is not loading Bug report

How to fix this problem

 How to fix this problem

Check your handler sir, no spoonfeeding here, it most likely isn't a bug from here but an error from your end. If not, provide steps to recreate the situation.


撤回

What problem does this PR solve?
Briefly describe what this PR aims to solve. Include background context that will help reviewers understand the purpose of the PR.
Type of change

[ ] Bug Fix (non-breaking change which fixes an issue)
[ ] New Feature (non-breaking change which adds functionality)
[ ] Documentation Update
[ ] Refactoring
[ ] Performance Improvement
[ ] Other (please describe):

看错仓库了.....


*: fix TLS reload when cert includes only IPs (no domain names in SAN field)

This fixes TLS reload when certificate SAN field only includes IP addresses but no domain names. For example, a member is set up with CSRs (with cfssl) as below:
{
  "hosts": [
    "<IP_ADDRESS>"
  ],

In Go, server calls (*tls.Config).GetCertificate for TLS reload if and only if server's (*tls.Config).Certificates field is not empty, or (*tls.ClientHelloInfo).ServerName is not empty with a valid SNI from the client. Previously, etcd always populates (*tls.Config).Certificates on the initial client TLS handshake, as non-empty. Thus, client was always expected to supply a matching SNI in order to pass the TLS verification and to trigger (*tls.Config).GetCertificate to reload TLS assets.
However, a certificate whose SAN field does not include any domain names but only IP addresses would request *tls.ClientHelloInfo with an empty ServerName field, thus failing to trigger the TLS reload on initial TLS handshake; this becomes a problem when expired certificates need to be replaced online.
Now, (*tls.Config).Certificates is created empty on initial TLS client handshake, first to trigger (*tls.Config).GetCertificate and populate rest of the certificates on every new TLS connection, even when client SNI is empty (e.g. cert only includes IPs).
Fix commit was authored by @roboll https://github.com/coreos/etcd/pull/9542, and I am adding related integration test fixes and documentation.

Thanks @gyuho - I will run this build on Monday and verify.

Codecov Report

Merging #9570 into master will decrease coverage by 0.29%.
The diff coverage is 84.61%.

@@            Coverage Diff            @@
##           master    #9570     +/-   ##
=========================================
- Coverage   72.45%   72.15%   -0.3%
=========================================
  Files         368      368
  Lines       31363    31371      +8
=========================================
- Hits        22725    22637     -88
- Misses       6992     7089     +97
+ Partials     1646     1645      -1

Impacted Files
Coverage Δ

pkg/transport/listener.go
60.32% <100%> (-0.22%)
:arrow_down:

integration/cluster.go
82% <80%> (-0.07%)
:arrow_down:

etcdctl/ctlv2/command/backup_command.go
20.27% <0%> (-47.3%)
:arrow_down:

clientv3/txn.go
73.33% <0%> (-26.67%)
:arrow_down:

pkg/transport/timeout_conn.go
60% <0%> (-20%)
:arrow_down:

proxy/grpcproxy/register.go
69.44% <0%> (-11.12%)
:arrow_down:

pkg/tlsutil/tlsutil.go
86.2% <0%> (-6.9%)
:arrow_down:

auth/simple_token.go
87.03% <0%> (-6.49%)
:arrow_down:

clientv3/namespace/watch.go
72.72% <0%> (-6.07%)
:arrow_down:

proxy/grpcproxy/watcher.go
85.71% <0%> (-4.09%)
:arrow_down:

... and 22 more

Continue to review full report at Codecov.

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

:+1: Working as expected.

@gyuho when can we expect a release that incorporates this?

@roboll Yes, we will release this in next 3.2 and 3.3. Hopefully, by next week. Thanks!


protect pollSize and idleConnsLen with mutex

If addIdleConn() stopped due to the error, poolSize and idleConnsLen will be confusing.

Should help with https://github.com/go-redis/redis/issues/1064


HBASE-28526 hbase-rest client shading conflict with hbase-shaded-clie…

…nt in HBase 2.x

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 38s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
3m 26s
branch-2 passed

+1 :green_heart:
compile
0m 29s
branch-2 passed

+1 :green_heart:
checkstyle
0m 10s
branch-2 passed

+1 :green_heart:
spotless
0m 47s
branch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
0m 32s
branch-2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 57s
the patch passed

+1 :green_heart:
compile
0m 27s
the patch passed

+1 :green_heart:
javac
0m 27s
the patch passed

+1 :green_heart:
checkstyle
0m  9s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
10m 16s
Patch does not cause any errors with Hadoop 2.10.2 or 3.3.6.

+1 :green_heart:
spotless
0m 44s
patch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
0m 38s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m  9s
The patch does not generate ASF License warnings.

23m  2s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5959/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5959

Optional Tests
dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile

uname
Linux 25a67f75f491 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 7869f7f7e8

Default Java
Eclipse Adoptium-11.0.17+8

Max. process+thread count
79 (vs. ulimit of 30000)

modules
C: hbase-rest U: hbase-rest

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5959/1/console

versions
git=2.34.1 maven=3.8.6 spotbugs=4.7.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 57s
Docker mode activated.

-0 :warning:
yetus
0m  6s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
3m  3s
branch-2 passed

+1 :green_heart:
compile
0m 21s
branch-2 passed

+1 :green_heart:
shadedjars
5m 26s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 19s
branch-2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 50s
the patch passed

+1 :green_heart:
compile
0m 21s
the patch passed

+1 :green_heart:
javac
0m 21s
the patch passed

+1 :green_heart:
shadedjars
5m 22s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 17s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
3m 58s
hbase-rest in the patch passed.

24m  4s

Subsystem
Report/Notes

Docker
ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5959/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5959

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 4ef689dc1636 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 7869f7f7e8

Default Java
Eclipse Adoptium-11.0.17+8

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5959/1/testReport/

Max. process+thread count
1748 (vs. ulimit of 30000)

modules
C: hbase-rest U: hbase-rest

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5959/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Sandbox attribute now can take multiple values and changed default value of display attribute to "initial"

As stated in https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-referrer the sandbox attribute can now take multiple argumens in the form of an array.
The array is converted a space-saparated list.
A missing value "allow-downloads-without-user-activation" was also added.
The display attribute doesn't accept "initial" as value, which is a value all css attributes can have. Here it is added. Also "initial" is always the default value for a attribute, so it was changed to be the default here too.
The previous default was "block", which is wrong accourding to https://developer.mozilla.org/en-US/docs/Web/CSS/display#Specifications.

Thank you 🦸


imageToBuild seems to be ignored

Hi all,
In the build phase i keep getting the following message and the default image name is being used:
No imageToBuild argument was provided; setting the image to be built to '***.azurecr.io/ado-task/container-app:43.20240409.12'.
No imageToDeploy argument was provided; setting the image to deploy to '***.azurecr.io/ado-task/container-app:43.20240409.12'.

imageToBuild is being used in the pipeline config, but it doesnt like it's being picked up:
trigger:
- master
pool:
  vmImage: ubuntu-latest
steps:
  - task: AzureContainerAppsRC@1
    displayName: Build and deploy Container App
    inputs:
      connectedServiceNameARM: 'arm-service-connection-dev'
      acrName: 'xxx'
      dockerfilePath: 'xxx.Test.Api/Dockerfile'
      imageToBuild:: 'xxx.azurecr.io/xxx.test.api:234'
      acrUsername: $(ACR_USERNAME_SECRET)
      acrPassword: $(ACR_PASSWORD_SECRET)
      appSourcePath: '$(System.DefaultWorkingDirectory)'
      resourceGroup: 'rg-aca-dev-001'
      containerAppEnvironment: 'xxx'

Tagging @harryli0108

@harryli0108 it doesn't seem to pick those settings up at all:
No imageToBuild argument was provided; setting the image to be built to '***.azurecr.io/ado-task/container-app:65.20240412.16'.
No dockerfilePath argument provided; checking for 'Dockerfile' at the root of app source path '/home/vsts/work/1/s' to build image from.
/usr/bin/bash -c (curl -sSL "[https://github.com/buildpacks/pack/releases/download/v0.27.0/pack-v0.27.0-linux.tgz"](https://github.com/buildpacks/pack/releases/download/v0.27.0/pack-v0.27.0-linux.tgz%22) | tar -C /usr/local/bin/ --no-same-owner -xzv pack)
pack
/usr/bin/docker run --rm -v /home/vsts/work/1/s:/app mcr.microsoft.com/oryx/cli:builder-debian-buster-20230208.1 /bin/bash -c oryx dockerfile /app | head -n 1 | sed 's/ARG RUNTIME=//' >> /app/oryx-runtime.txt

Right now I'm just trying to deploy an existing image that's in ARC already, but it keeps building and deploying ..
    - job: 'Deploy'
      displayName: 'Deployment job'
      steps:
        - task: AzureContainerAppsRC@1
          displayName: Deploy Container App
          inputs:
            connectedServiceNameARM: 'arm-service-connection-dev'
            containerAppName: 'xxx'
            acrName: 'xxx'
            imageToDeploy: 'xxx.azurecr.io/xxx.test.api:123'
            acrUsername: $(ACR_USERNAME_SECRET)
            acrPassword: $(ACR_PASSWORD_SECRET)
            appSourcePath: '$(System.DefaultWorkingDirectory)'
            resourceGroup: 'rg-aca-dev-001'
            containerAppEnvironment: 'aca-temp'

@GK-winamp I do apologize for the delayed reply here. I’ll try reproduce this issue from my end. Could you share a bit more pipeline logs if possible?
Meanwhile, if you want to deploy the container app using an existing image, you can remove the appSourcePath. That should be able to skip the building steps.

Removing appSourcePath helped, now it deploys without building.
After being stuck for some time, I went with regular docker build job (- task: Docker@2) to build it using correct naming and tagging


Convert opaque PNGs to JPGs

For optimisation, it would great to remove the alpha channel of PNGs when it contains only opaque pixels, and convert the image to JPG instead of PNG. It will generate a 1080p image of around 400 kB in JPG vs 2.2 MB for transparent PNG.
For those afraid of loosing quality in the PNG→JPG conversion, we can at least remove the alpha channel while keeping the PNG format.
Personally, I’m in favor of the PNG→JPG conversion for opaque images, because it makes sites load up to 5× faster with no visible difference (given the JPEG quality used by Willow).

No automatic PNG -> JPG conversion, please! It's a classic case of software that thinks it knows better than its users, instead of doing what you tell it to do. (IIRC, Twitter does the same thing, and it's a common hack to insert a single transparent pixel into an otherwise opaque image in order to override its behaviour. Let's not force our users to do that.)

Some users can do the single pixel trick if they want, but most users are not aware that their photos may contain a transparency channel. So what’s the point of serving an empty fourth channel?
About the type conversion, I meant the conversion should be done on cropped/resized images, not on original ones. It could be disabled using an argument of the Wagtail image tools (template tag & Jinja2 function). Honestly, I’m curious to know what’s the downside of it since the image is not the original one?

There’s also a speed argument I forgot to mention: most PNG encoders are outrageously slower than JPG encoders. In our case, on Pillow, saving a 1080p PNG is ≈7× slower than for the equivalent JPG.
In some Wagtail sites, it is a major slowdown of the image gallery after importing a bunch of images.

If the transparency channel is empty, then it will compress to practically nothing.
I've worked with enough non-photographic images to know that there's no optimal quality setting that will reliably eliminate all visible JPEG artefacts (other than setting it to 100% / lossless, at which point you've lost most of the benefit of using JPEG). Even if you achieve acceptable quality 99% of the time, degrading images the other 1% of the time, due to a conversion that you didn't request or want, isn't really forgivable. I'd count it in the same category as Excel having "creative" interpretations of certain string formats... some people might like the convenience and friendliness, but if it interferes with our ability to reliably do the fundamental data processing task we were supposed to be doing, it's not a good thing :-)

It’s not entirely true. Let me show you with an example RGBA file resized by Wagtail, and therefore Willow: table.fill-1920x1080.png
This image’s size is 2 217 078 bytes.
Let’s check its transparency channel:
from PIL import Image

image = Image.open('table.fill-1920x1080.png')
print(image.getchannel('A').getcolors())  # Prints [(2070601, 255)]

It is indeed empty, all pixels having a 255/255 opacity.
Now let’s remove the alpha channel and save the image again as PNG:
image = image.convert('RGB')
image.save('table.png')

And the size of the new file is 1 992 162 bytes, which means the empty alpha channel weighs 224 916 bytes, more than 10 % of the image. This is not 25 % of the image so it is indeed compressed, but that’s still ridiculous given that there could be a special single-byte metadata meaning “this channel is empty”.
And then when we save the image to 100% quality JPEG instead of PNG:
image.save('table.jpg', quality=100)

We get an image of 983 841 bytes, 44 % of the original file size. I know, this will not be true in some cases like palette and greyscale modes where PNG is more compressed. (By the way, we can also optimize by automatically switching to palette mode in opaque images with 256 colors or less)
I know there is still some invisible difference, as shown using ImageMagick’s compare and that the type comparison can still be discussed. But dropping empty channels is still a must have, decreasing size, conversion duration and probably RAM usage:

Also, note that Willow already degrades the quality of some images, because JPEGs with a quality higher than 85% end up with a 85% quality.
Maybe this discussion needs to be split in separate issues, or be moved to Wagtail? I’m not sure whether we want optimizations to occur in Willow or Wagtail.

@kaedroho: do you think it would be right to close this issue and open one on Willow about removing empty alpha channels and another on Wagtail for PNG→JPEG when in RGB mode?

@BertrandBordage Sounds like a good idea to me

Closing this in favour of #67 and wagtail/wagtail#4655


[test pr] Mdbx cursor

@willcl-ark I think one workaround for being able to open bitcoin PR's against this branch and have our actions run is to have a workflow that runs on the workflow_run trigger  like in publish_results.yml, I could be mistaken, but it seems that the on pull_request trigger respects the workflow in the PR branch, but workflow_run will come from the workflow in our master


Plugin screen rewritten

Rewritten plugins screen.

Change list:

plugins now may be

downloaded from plugin registry
deleted from app UI. If plugin is possibly loaded in app domain, mark it for removal after next restart

added support for plugin icon & readme

readme document supports relative paths to images
application will try to download plugin icon & readme and use local versions for those. If not available, data from network will be used

extended module.json model to support optional DisplayName field. It will be prioritized over Name if present
grouping plugins by following categories:

Installed - already installed. Will be in failed state if exception was thrown during activation
Fresh - newly installed. Will be activated after application restart
Marked for removal - those that aren't safe to delete in runtime, since it may be in use by app. Will be removed on app restart
Available - available plugins from plugins registry

graceful handling of failed plugin activation. Failed plugin will be displayed with warning sign in plugins list
auto-detect github.com availability. If it isn't available, use registry's proxy endpoint. This behavior is configurable by user. Registry URL can be edited in config.json as well, but there are no UI for that field.
UI is fully asynchronous, user can download any number of plugins simultaneously and browse local plugins while others are loaded from network
tooltip now moved a bit to the right so mouse will not cover it
added some base MVVM classes into HunterPie.UI/Infrastructure:

BaseViewModel with Dispatch and PropertyChanged implementations
bunch of ValueConverters.
Some simple Commands

changed project language version to 'preview' to have access to latest c# features

Things to improve:

Newly introduced FlatButton is very similar to existing MinimalButton, but later isn't very generalized and it was hard to use with MVVM. Ideally those classes should be merged into one class or at least their styles could be reused.
Readme "Empty..." string is okay, but it should probably be improved to display something better
It would be nice if readme could support clickable links
HunterPie.Instance is very ugly, but more refactoring is needed to use it's functionality in better way
Plugins are requiring update before activation and plugin list must wait until all plugins are loaded. That is needed to be able to  display them in failed state. And "Available" plugin grouping cannot be displayed before installed plugins are loaded since plugins that are already installed should be filtered. So in result we have following sequential tasks: all plugins updating -> all plugins activating -> rendering installed plugins -> fetching and rendering available plugins. Depending on user's connection and plugins count this process can take some time. Which isn't ideal.
Some additional header or footer with more detailed information about plugins may be useful. E.g:

Registry server:
These changes are (obviously) requiring running registry server. It's implementation is done and can be found in https://github.com/amadare42/HunterPie.PluginRegistry . I even hosted this solution under https://hunterpie-plugins.herokuapp.com/ endpoint. Unfortunately, I won't be able to run it continuously along with my other dynos. So I would like to transfer this application to other maintainer.
Also, idea of curated list requires someone to approve new entries in registry. Existing format is designed in a way that isn't require any changes when existing plugin update. So just requiring plugin developers to do PRs to server repository when new plugin is done, seems like a reasonable approach to me. But question on who should "own" repository and approve these PRs is open.
Alternative approach will be to have open API where anyone can submit their plugins, but I don't trust Internet enough to do it like that...

Thanks!

Thanks!


Running Directly via Cron Traceback on KNOWN_FOLLOWINGS_FILE

I'm running the get_context.py script directly via cron on my Mastodon server and the cron job is ending with the following error.
Traceback (most recent call last):
  File "/home/mastodon/get_context.py", line 668, in <module>
    with open(KNOWN_FOLLOWINGS_FILE, "w", encoding="utf-8") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'artifacts/known_followings'

My cron job call is the following:
*/10 * * * * /home/mastodon/get_context.py <access-token> <domain-name> 24 20 10 <user>

From the cron output it appears that something is working.

OK, so given that this repo isn't designed around running the script in my context, but using GitHub Actions, I realized that perhaps this was simply an issue of needing to the have the "missing" artifacts directory mentioned in the Traceback. I created that directory in the Mastodon user's home directory and things completed successfully.

I'm curious though whether I'm going to have a problem if these files already exist since there isn't any clean-up being done under the assumption that this is being ran under an immutable environment?

Yes, correct, you got to create the artifacts directory first.
And those files need to be left in there: That's where the script stores which posts it has already fed into your instance, as well as which followings it has already backfilled.
So, don't tidy up afterwards.
Part of the complexity of running this as a GitHub Action is that we need to upload those files, after the run, and download them before the next.


Fixing pickle to pcd bug and removing null values

The x and y values were mixed up. Switched it so the pcd won't get stretched/shrunk weirdly. Also removed all invalid values so it matches the lab automation software

This PR mixed up with other commits that we don't want to merge into master branch. Instead, I will create another PR where only the changes to the pkl_2_pcd function will be included


Export Quantized Model to ONNX: NotImplementedError: Could not run 'quantized::conv2d.new' with arguments from the 'CPU' backend.

Dear all,
In order to easily use Intel Neural Compressor in our team, and because we use PyTorch Lightning, I am building Lightning Callbacks in order to call your hooks when needed in lightning's training loop. Here is the current state of the project: https://github.com/clementpoiret/lightning-nc
Unfortunately, I face issues when trying to export the quantized models in ONNX. Exporting a fp32 model does not cause issues.
Here is a toy example you can play with (requires torch 2.1 and lightning 2.1):
import os

import lightning as L
import timm
import torch
import torch.nn.functional as F
from neural_compressor import QuantizationAwareTrainingConfig
from neural_compressor.config import Torch2ONNXConfig
from neural_compressor.training import WeightPruningConfig
from lightning_nc import QATCallback, WeightPruningCallback
from torch import Tensor, nn, optim, utils
from torchvision.datasets import MNIST
from torchvision.transforms import ToTensor

# Define your main model here
class VeryComplexModel(nn.Module):

    def __init__(self):
        super().__init__()
        self.backbone = timm.create_model("vit_small_patch14_dinov2.lvd142m",
                                          pretrained=True)

        self.mlp = nn.Sequential(nn.Linear(self.backbone.num_features, 128),
                                 nn.ReLU(), nn.Linear(128, 10))

    def forward(self, x):
        return self.mlp(self.backbone(x))

# Then, define your LightningModule as usual
class Classifier(L.LightningModule):

    def __init__(self):
        super().__init__()

        # This is mandatory for the callbacks
        self.model = VeryComplexModel()

    def forward(self, x):
        return self.model(x)

    def training_step(self, batch, batch_idx):
        x, y = batch

        # This is just to use MNIST images on a pretrained timm model, you can skip that
        x = x.repeat(1, 3, 1, 1)
        x = F.interpolate(x, size=(518, 518))

        y_hat = self.forward(x)

        loss = F.cross_entropy(y_hat, y)

        return loss

    def configure_optimizers(self):
        optimizer = optim.Adam(self.parameters(), lr=1e-3)

        return [optimizer]

# setup data
dataset = MNIST(os.getcwd(), download=True, transform=ToTensor())
train_loader = utils.data.DataLoader(dataset)

clf = Classifier()

# Define the configs for Pruning and Quantization
q_config = QuantizationAwareTrainingConfig()
p_config = WeightPruningConfig([{
    "op_names": ["backbone.*"],
    "start_step": 1,
    "end_step": 100,
    "target_sparsity": 0.5,
    "pruning_frequency": 1,
    "pattern": "4x1",
    "min_sparsity_ratio_per_op": 0.,
    "pruning_scope": "global",
}])

callbacks = [
    QATCallback(config=q_config),
    WeightPruningCallback(config=p_config),
]

trainer = L.Trainer(accelerator="gpu",
                    strategy="auto",
                    limit_train_batches=100,
                    max_epochs=1,
                    callbacks=callbacks)
trainer.fit(model=clf, train_dataloaders=train_loader)

# Save the fp32 model if we remove the QATCallback: OK
# clf.model.export(
#     "fp32_model.onnx",
#     Torch2ONNXConfig(
#         dtype="fp32",
#         opset_version=17,
#         example_inputs=torch.randn(1, 3, 518, 518),
#         input_names=["input"],
#         output_names=["output"],
#         dynamic_axes={
#             "input": {
#                 0: "batch_size"
#             },
#             "output": {
#                 0: "batch_size"
#             },
#         },
#     ))

# Save the quantized model: BROKEN
clf.model.export(
    "int8_model.onnx",
    Torch2ONNXConfig(
        dtype="int8",
        opset_version=17,
        quant_format="QLinear",  # or QDQ
        example_inputs=torch.randn(1, 3, 518, 518),
        input_names=["input"],
        output_names=["output"],
        dynamic_axes={
            "input": {
                0: "batch_size"
            },
            "output": {
                0: "batch_size"
            },
        },
    ))

when calling the export(...) fn, I end up with the following error:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/neural_compressor/model/torch_model.py", line 395, in export
    torch_to_int8_onnx(
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/neural_compressor/experimental/export/torch2onnx.py", line 410, in torch_to_int8_onnx
    static_quant_export(
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/neural_compressor/experimental/export/torch2onnx.py", line 283, in static_quant_export
    raise e
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/neural_compressor/experimental/export/torch2onnx.py", line 257, in static_quant_export
    torch.onnx.export(
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/onnx/utils.py", line 516, in export
    _export(
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/onnx/utils.py", line 1596, in _export
    graph, params_dict, torch_out = _model_to_graph(
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/onnx/utils.py", line 1134, in _model_to_graph
    model = _pre_trace_quant_model(model, args)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/onnx/utils.py", line 1089, in _pre_trace_quant_model
    return torch.jit.trace(model, args)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/jit/_trace.py", line 798, in trace
    return trace_module(
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/jit/_trace.py", line 1065, in trace_module
    module._c._create_method_from_trace(
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1508, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/neural_compressor/experimental/export/torch2onnx.py", line 245, in wrapper
    output = model_fn(*args, **kwargs)
  File "<stdin>", line 9, in forward
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1508, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/timm/models/vision_transformer.py", line 685, in forward
    x = self.forward_features(x)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/timm/models/vision_transformer.py", line 662, in forward_features
    x = self.patch_embed(x)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1508, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/timm/layers/patch_embed.py", line 87, in forward
    x = self.proj(x)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1508, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/ao/nn/quantized/modules/conv.py", line 468, in forward
    return ops.quantized.conv2d(
  File "/home/clementpoiret/micromamba/envs/torch/lib/python3.10/site-packages/torch/_ops.py", line 692, in __call__
    return self._op(*args, **kwargs or {})
NotImplementedError: Could not run 'quantized::conv2d.new' with arguments from the 'CPU' backend. This could be because the operator doesn't exist for this backend, or was
 omitted during the selective/custom build process (if using custom build). If you are a Facebook employee using PyTorch on mobile, please visit https://fburl.com/ptmfixes
 for possible resolutions. 'quantized::conv2d.new' is only available for these backends: [QuantizedCPU, QuantizedCUDA, BackendSelect, Python, FuncTorchDynamicLayerBackMode
, Functionalize, Named, Conjugate, Negative, ZeroTensor, ADInplaceOrView, AutogradOther, AutogradCPU, AutogradCUDA, AutogradXLA, AutogradMPS, AutogradXPU, AutogradHPU, Aut
ogradLazy, AutogradMeta, Tracer, AutocastCPU, AutocastCUDA, FuncTorchBatched, FuncTorchVmapMode, Batched, VmapMode, FuncTorchGradWrapper, PythonTLSSnapshot, FuncTorchDynam
icLayerFrontMode, PreDispatch, PythonDispatcher].

Do you have any clue?
I tried training completely on CPU by setting accelerator="cpu" on the Trainer, same issue.
Thanks a lot,
Clément.

Some more details:
If I wrap x around QuantStub and DeQuantStub as in PyTorch's doc, such as:
# Define your main model here
class VeryComplexModel(nn.Module):

    def __init__(self):
        super().__init__()
        self.quant = QuantStub()
        self.dequant = DeQuantStub()
        self.backbone = timm.create_model("vit_small_patch14_dinov2.lvd142m",
                                          pretrained=True)

        self.mlp = nn.Sequential(nn.Linear(self.backbone.num_features, 128),
                                 nn.ReLU(), nn.Linear(128, 10))

    def forward(self, x):
        x = self.quant(x)
        x = self.mlp(self.backbone(x))
        x = self.dequant(x)

        return x

I still have an error, not for 'quantized::conv2d.new' anymore, but:
NotImplementedError: Could not run 'aten::qscheme' with arguments from the 'CPU' backend.

I made some progresses, using a very simple model, not involving this aten:qscheme works, such as:
# Define your main model here
class VeryComplexModel(nn.Module):

    def __init__(self):
        super().__init__()
        self.quant = torch.quantization.QuantStub()
        self.dequant = torch.quantization.DeQuantStub()

        self.backbone = nn.Sequential(
            nn.Conv2d(1, 2, 3),
            nn.ReLU(),
        )

        self.mlp = nn.Linear(1352, 10)

    def forward(self, x):
        x = self.quant(x)
        x = self.backbone(x)
        x = x.flatten(1)
        x = self.mlp(x)
        x = self.dequant(x)

        return x

# Then, define your LightningModule as usual
class Classifier(L.LightningModule):

    def __init__(self):
        super().__init__()

        # This is mandatory for the callbacks
        self.model = VeryComplexModel()

    def forward(self, x):
        return self.model(x)

    def training_step(self, batch, batch_idx):
        x, y = batch

        y_hat = self.forward(x)

        loss = F.cross_entropy(y_hat, y)

        return loss

    def configure_optimizers(self):
        optimizer = optim.Adam(self.parameters(), lr=1e-3)

        return [optimizer]

The issue seems to occur in the forward method of the visiontranformer class, do you have any clue? maybe a config to exclude the _pos_embed fn from quantization?

Hi, any news on the issue? The only workaround I found has been to train normally first, compile to ONNX, then use a PTQ directly on the ONNX model to avoid using QAT, but that's not a real fix :/

Hi @clementpoiret , sorry for the late response. This is not an issue of export. The QAT PyTorch model you generated is invalid. Please refer to this document for the usage of QAT.

This error means that quantized transpose is not supported.
@PenghuiCheng I tried setting the transpose to FP32 but it doesn't work, could you please help to check?
from neural_compressor.utils.constant import FP32
conf = QuantizationAwareTrainingConfig(
    op_type_dict={"transpose":FP32,}
)

Hi @clementpoiret , as @yuwenzho mentioned above, quantized transpose is not supported by ONNX exporter. For the full supported/unsupported TorchScript operators by ONNX export, please refer to ONNX SUPPORTED TORCHSCRIPT OPERATORS. While INC can fallback PyTorch modules that performs quantized operations to fp32 (typically defined for weighted operations like Linear and Conv), operators like transpose are traced and quantized by PyTorch thus cannot be set to fp32 during quantization in INC.
For your circumstance, you can try either creating a symbolic function to convert the operator and register it as a custom symbolic function, or contribute to PyTorch to add the same symbolic function to torch.onnx. For more details, you can refer to adding quantized ops.


Flaky test raftstore::test_unsafe_recover::test_unsafe_recover_update_region

Bug Report
The test_unsafe_recover_update_region in the file "tests/integrations/raftstore/test_unsafe_recover.rs" some times panics, saying "region update for unsafe recover should only occur in leaderless region".

It fails again. Seems not a problem with timeout. The logs and stacktrace can be found at https://ci.pingcap.net/blue/rest/organizations/jenkins/pipelines/tikv_ghpr_test/runs/10914/nodes/112/steps/271/log/?start=0.
region 1's replica in store 1 still has a valid leader after 5 secs

It fails again. See https://ci.pingcap.net/blue/organizations/jenkins/tikv_ghpr_test/detail/tikv_ghpr_test/12977/pipeline/113. The reason why it fails is because the leader is hibernated after a round of ping. If all followers have caught up logs, and there are no pending requests, the leader will still go to sleep even all followers are unavailable.

You should use a read request to guarantee leadership instead of just querying the leader role.

/component test


The SSH service was not successfully installed.

Hello, your other bash commands ran successfully, but the SSH installation script did not succeed on my RG35XX Plus. I found that the /tmp/anbernic-ssh-service.log file shows the error: "Failed to start ssh.service: Unit ssh.service not found." The system version is RG35XX+_P_V1.1.2.

Hey Srpihot, thanks for pointing this bug. I updated the app. Can you reinstall app from this repo and try again?


Look at adding a function with params that this calls

Look at adding a function with params that this calls
Created from VS Code using CodeStream

Duplicate of #9 - I was testing vscode plugin.


nixos/filesystems: make supportedFilesystems an attrset

Description of changes
this lets us disable filesystem explicitly, as is required by e.g. the zfs-less installer images. currently that specifically is only easily possible by adding an overlay that stubs out zfs, with the obvious side-effect of also removing tooling that could run without the kernel module loaded.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] 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/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

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

[x] Fits CONTRIBUTING.md.

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

:heavy_check_mark:  Tentatively approved; I have not evaluated any of it, or ran any builds or output from it.
But, already just from reading the supportedFilesystems usage, it makes the implementation that much readable.
And, relatedly, shows a usable pattern to make lists that can be removed from after the fact. Helping out with having our cake and eating it too.

I'm inclined to go for the merge in the next days barring any objection.


Missing LICENSE

I see you have no LICENSE file for this project.  The default is copyright.
I would suggest releasing the code under the GPL-3.0-or-later or AGPL-3.0-or-later license so that others are encouraged to contribute changes back to your project.

Done, thanks a lot @TechnologyClassroom!


[labs/router] Nested routes not working

Which package(s) are affected?
Other/unknown (please mention in description)
Description
When I try to set up nested routing as described in here I am getting an error No route found for /<PARENT-ROUTE>/<CHILD-ROUTE> when I refresh the page on the new route.
I tried debugging the code and I wasn't able to find out what causes the issue.
It seems that the _getRoute() function is being called three times.

The full route ("/PARENT-ROUTE/CHILD-ROUTE") is being checked against the parent components RouteConfig.
The child route ("CHILD-ROUTE") is being checked against the child components RouteConfig.
The full route ("/PARENT-ROUTE/CHILD-ROUTE") is being checked against the child components RouteConfig.

The last one is what is causing the error. When it isn't able to match a route it returns undefined and then it throws in goto().
Reproduction
Follow this example .
I did this:
export class MyApp extends LitElement {
  private _router = new Router(this, [
    { path: "/", render: () => html`<h1>Home</h1>` },
    { path: "/welcome/*", render: () => html`<my-welcome />` },
  ]);
  render() {
    return html`${this._router.outlet()}`;
  }
}

export class MyWelcome extends LitElement {
  private _router = new Router(this, [
    { path: "sign-in", render: () => html`<h1>Sign-in</h1>` },
    { path: "sign-up", render: () => html`<h1>Sign-up</h1>` },
    { path: "forgot-password", render: () => html`<h2>Forgot-password</h2>` },
  ]);
  render() {
    return html`${this._router.outlet()}`;
  }

And hit the /welcome/sign-in endpoint.
I used the vite starter template, but I don't think that should make a difference.
Workaround
I have not found a workaround.
Is this a regression?
No or unsure. This never worked, or I haven't tried before.
Affected versions
Failing in @lit-labs/router 0.1.1
Browser/OS/Node environment
Browser: Chrome 104.0.5112.81
OS: Windows 11
Node: v16.13.0

    { path: "/welcome/*", render: () => html`<my-welcome />` },

Not sure about the router, but custom elements cannot be self-closing, try <my-welcome></my-welcome> instead.

Yup, you are correct about the element needing to be self-closing. Didn't actually know that was required.
However it doesn't solve the issue with the router.
I made a repo to replicate the issue. The page is rendered correctly, but I get this error in console:
routes.ts:179 Uncaught (in promise) Error: No route found for /welcome/sign-in
    at Router.goto (routes.ts:179:15)
    at Router.hostConnected (router.ts:28:10)
    at reactive-element.ts:1036:55
    at Array.forEach (<anonymous>)
    at MyWelcome.connectedCallback (reactive-element.ts:1036:25)
    at MyWelcome.connectedCallback (lit-element.ts:189:11)
    at ChildPart._insert (lit-html.ts:1483:53)
    at ChildPart._commitNode (lit-html.ts:1523:36)
    at ChildPart._commitTemplateResult (lit-html.ts:1629:12)
    at ChildPart._$setValue (lit-html.ts:1456:12)

Thank you for the repro. The issue is that you have nested multiple Routers, instead of Routes.
Using your repro, the issue is resolved when the Router in my-welcome is replaced with a Routes class.
E.g. new Routes(this, [... and importing Routes from<EMAIL_ADDRESS>Action item: The case of accidentally nesting multiple Routers should raise a helpful error that only the top level element should use a Router, and nested elements should all use Routes.

Aha that makes sense.  I thought I was being very thorough and had ruled out silly mistakes like that, but apparently not.
Thanks for looking at it and apologies for the alarming title!


unexpected behavior in load UI

Unexpected behavior when load ui Click Here to see issue
[✓] Flutter (Channel master, v1.3.11-pre.37, on Mac OS X 10.13.6 17G5019, locale
    en-SA)
    • Flutter version 1.3.11-pre.37 at /Users/DevFatani/xxx/flutter-sdk
    • Framework revision 5b917fa946 (16 hours ago), 2019-03-16 22:39:34 -0400
    • Engine revision c6f9fe7e00
    • Dart version 2.2.1 (build 2.2.1-dev.1.0 None)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/DevFatani/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling
      support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 1.9.4
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 33.4.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build
      1.8.0_152-release-1248-b01)

[!] VS Code (version 1.31.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (1 available)
    • iPhone XS • A5833947-79DD-49B6-93BD-159AB950D38C • ios • iOS 12.1
      (simulator)

Duplicate of #28484


Remove Roboto font from interactivity pages

As requested via Slack (https://kubernetes.slack.com/archives/C1J0BPD2M/p1599093657052200?thread_ts=1599093591.052100&cid=C1J0BPD2M), this removes the Roboto font usage when embedding Katacoda.
Changes:

When embedding Katacoda, remove reference to use Roboto font
Update the CSS loaded to remove the font-family for Roboto.
Update the CSS loaded to remove commented out changes

Example of updated UI:
Before:

Now:

/area web-development

@celestehorgan Sure! I committed via the Github UI, I hope that won't cause any upstream issues. It looks like it was signed. If not I can merge/rebase locally.

@BenHall fair!
/lgtm
/approve


Handle use_iam_profile with the new aws-sdk gem

The aws-sdk Gem now suggests that you create an instance Aws::InstanceProfileCredentials object when setting the credentials.

Closed by #102.
Version 3.0.0 allows the passing of options hashes to the SNS and SQS clients. This allows a Aws::InstanceProfileCredentials instance to be passed if required.
Example:
client = Propono::Client.new do |config|
  config.aws_options = {
    region:            'aws_region',
    access_key_id:     'your_access_key_id',
    secret_access_key: 'your_secret_access_key'
  }
end

(Edited above comment to have the proper example).


no graphql button in unity

dont work, if i click on create i dont get a button for graphql to include the api reference
unity 2021.03.21f1

unity 2021.03.21f1


Making bigger canvas?

Hello!
I was trying to make the canvas bigger than the 32x32 but whenever I go into resize and try to change the amounts in the box it will act like it's typing but stay the same. Tried numerous times to delete the 32 and replace it with something but it just isn't taking it for some reason. Am I doing this wrong or is there another way to make it bigger?
Thank you for your time.

Hi @imperialblade14
This should work fine: type in the inputs and click on resize.
Can you provide additional information:

what is your operating system
which browser are you using / or are you using the desktop application
can you attach a screenshot of the UI

Thanks

Closing for now, feel free to reopen with more details.


Doesn't format long_descriptions or help

The README and module doc both use the :help and long_description dsl options but I can't seem to get them to print when I use the cli. Any idea how I can use them?

ah whoops. Just saw the roadmap

Hi, thanks for the issue.
Indeed, this is not implemented yet, but help is very welcome :smiley:
Thank you!


[BUG] Toogle Menu

Description
Describe the bug:
When we click on the Menu button . It opens the menu but direction of arrow button is left but actually the menu closes on right . So the direction of arrow button should point at right .
Expected behavior:
The direction of arrow button should point at right
Actual behavior:
Arrow's direction is actually opposite .
Reproduction Steps
Steps to reproduce the behavior:
1.Click on the Toggle Button .
2.You will see arrow on top left corner
3. It's actually pointing towards left
Expected result:
The arrow actually pointing towards left but when clicked on the button the menu closes on the left direction . So the direction of arrow should points towards left .
Actual result:
A clear and concise description of what actually happened at each step.
Screenshots
https://github.com/akshitagupta15june/Moksh/assets/85991449/eeee2bcf-79d3-4c93-9610-9120bc3a4335
Additional Information
Device (please complete the following information):

OS: Windows
Browser :Chrome
Version [e.g., 22]

Additional context:
Add any other context about the problem here.

Can you assign this issue to me under GSSOC ' 23 .


allow Unicode escapes in XText

(Related to https://github.com/w3c/shacl/issues/37)
I don't know XText so I don't know whether it can include Unicode escapes.
But https://gitlab.com/allotrope-open-source/shape-editor/-/blob/master/src/com.osthus.shapes.shaclc.parent/com.osthus.shapes.shaclc/src/com/osthus/shapes/shaclc/SHACLC.xtext by @tw-oshtus uses them.
This causes the following error in ebnf-convert:
java -jar c:/prog/bin/ebnf-convert.war shaclc-XText.xtext > shaclc-XText.ebnf
Exception de.bottlecaps.convert.Convert$ConvertException: lexical analysis failed
while expecting STRING
after successfully scanning 2 characters beginning at line 1145, column 9:
...'\u2227';

terminal OP_OR:
  '|' | '\u2228';

I could replace a few occurrences with real Unicode chars. But further down that grammar uses a lot of escapes that come from W3C specs like Turtle and SPARQL. So I think it's best if ebnf-convert supports them.
terminal fragment PN_CHARS_BASE:
  ('A'..'Z') | ('a'..'z') | ('\u00C0'..'\u00D6') | ('\u00D8'..'\u00F6') | ('\u00F8'..'\u02FF') | ('\u0370'..'\u037D')
  | ('\u037F'..'\u1FFF') | ('\u200C'..'\u200D') | ('\u2070'..'\u218F') | ('\u2C00'..'\u2FEF') | ('\u3001'..'\uD7FF')
  | ('\uF900'..'\uFDCF') | ('\uFDF0'..'\uFFFD');

terminal fragment PN_CHARS_U:
  PN_CHARS_BASE | '_';

terminal fragment PN_CHARS:
  PN_CHARS_U | '-' | DIGIT | '\u00B7' | ('\u0300'..'\u036F') | ('\u203F'..'\u2040');

hi @GuntherRademacher , I have no clue about XText, will it be hard to fix this?
I can try to get some W3C people on it: we're starting a SHACL-Compact sub-WG and that is one of 4 SHACLC grammars that we want to harmonize.

Thanks, you're the best!
Here's the result https://rawgit2.com/VladimirAlexiev/shacl/shaclc-grammars/shacl-compact-syntax/grammar/shaclc-XText.html


Cannot pledge (link to): insufficient balance

When trying to pledge an amount (using the link-to send option), the indicated balance in the client is 0.00000 which mismatches that actual balance in the overview.
As a result, it is not possible to pledge any amount since it will complain about insufficient balance.
Expected behavior
Available balance should be used and pledging should be possible.
Actual behavior
Balance in the link-to screen (bottom right) is 0.0000 and pledging results in an error "The amount exceeds your balance"
To reproduce

Have a balance
Go to Send
Select "link-to"
Attempt to make a pledge transaction < available balance+fees

System information
BitcoinHD Core version v<IP_ADDRESS>-7fe720529 (64-bit)
Windows Server 2008 R2
Xeon L5640 (x2)
RAID disk array (SAS)

Having the exact same issue. See screenshots of issue below.
I'll just add that OP mentions "link-to", but they mean "Point to".
Working:

Not Working:

Yes I pologize. it should have been "point to" I'll adjust the STR for clarity.

Any solution on this?
I have got the same here.
I realized that by clicking around the other day, it suddenly worked and filled the balance. But after restarting the wallet again, I could not repeat it.
So any help would be great.
Thx.

I just got help from another forum.
Maybe it will help you as well.
I have got two adresses. The problem was that the wrong one was set to my primary adress.
Go to the "send" tab.
Select "bind to".
Open the adress book.
Right click on the adress you want to set as primary --> select as primary
Try to "point to".
This is it.
Hope it helps.
Greetings.

Thanks That worked for me.


Fix SEO to show up cards on Twitter & other platforms

What's the motivation behind the feature? what problem does the feature intend to solve ?
Detailed here https://find-signal.slack.com/archives/C01MLEC34CF/p1617264669011100

[ ] subdomain for sharing
[ ] backend error

@bhaskarSingh this is moved to your plate for integration of this service into the platform.

Since we are loading prerequisites libs required for smartpy compiler.
Large load time is gonna be there. Due to which there's an issue with loading the Twitter card.

@bhaskarSingh
Harsh moved this to a next.js service that is running external to the cryptoverse wars code platform.
This is what's happening now or atleast envisioned now:

We have a subdomain on which this next.js service is running. Something along the lines of share.cryptocodeschool.in
It's SEO component will contain all the data of the crypto bots & when someone shares it, it will generate twitter cards
When a user clicks to share link on Twitter, this service get's triggered with the ID of the cryptobot and then link is sent to Twitter autofill.
When somebody on Twitter clicks this link, the service redirects you to the main platform.

Repo : https://github.com/harsh242/nextjs-sharable


[QUESTION] Default datetime must be string (bug in older versions of Click)

Describe the bug
When specifying a default value for an option of type datetime, it will throw a TypeError.
You need to instead provide a string as click expects a string from the CLI and tries to convert it.
To Reproduce
Modifying the datetime example slightly:
from datetime import datetime

import typer

def main(birth: datetime = datetime(2021, 1, 1)):
    typer.echo(f"Interesting day to be born: {birth}")
    typer.echo(f"Birth hour: {birth.hour}")

if __name__ == "__main__":
    typer.run(main)

Call it with:

python main.py 1956-01-31T10:00:00

It outputs:

 File "\venv\lib\site-packages\click\types.py", line 246, in convert
    dtime = self._try_to_convert_date(value, format)
  File "\venv\lib\site-packages\click\types.py", line 239, in _try_to_convert_date
    return datetime.strptime(value, format)
TypeError: strptime() argument 1 must be str, not datetime.datetime

Environment

OS: Windows
Typer Version: 0.3.2
Python version: 3.8

Additional context
It works if you specify a string as the default value instead. But this causes mypy to be unhappy as you are assigning a value of the wrong type. It would be worth either calling this out in the documentation, or adding an additional check before sending the value to click for conversion to see if it's already a datetime.

This has been fixed in more recent versions of Click.

Thanks for reporting it! :nerd_face:
And thanks @alexreg for the help. :bow:
It seems this is now fixed in Click. I just tried your example and it seems to work correctly now.  So it shouldn't need anything else here, right?

yep working now.


[WIP] Add implicit arguments

Closes https://github.com/gluon-lang/gluon/issues/98

Trying to work through the standard library, replacing any uses of the old overloading system and the make_Alternative (or similar make_ functions) with implicits. Been studying https://github.com/ocamllabs/ocaml-modular-implicits in the hope that the remaining problems would have been fixed in that implementation but unfortunately the implementation appears to have the same problems with inference.
module type Monad = sig
  type 'a t
  val return : 'a -> 'a t
  val bind : 'a t -> ('a -> 'b t) -> 'b t
end;;

implicit module OptionMonad = struct
  type 'a t = 'a option
  let return x = Some x
  let bind x f = match x with
    | None -> None
    | Some x -> f x
end;;

let return {M : Monad} x = M.return x;;
let bind {M : Monad} m k = M.bind m k;;

let abc (f : 'a -> 'a OptionMonad.t) = 1;;
abc return ;;

gives
Characters 4-10:
  abc return ;;Error: This expression has type {M : Monad} -> 'a -> 'a M.t
       but an expression was expected of type 'b -> 'b OptionMonad.t

But i'd really like this to work or that is going to be a pretty annoying limitation...

Yep, they (as all other parts of OCamls implicits) manage to avoid the case in https://github.com/gluon-lang/gluon/pull/425#issuecomment-364802670 which proves a bit annoying. I think I know how to fix it but it requires some careful subsumption checking.

OCaml's Implicit Modules was heavily based on Scala's Implicit Arguments, maybe look at how it sees it as Scala uses function-level HM type inference as well?

@OvermindDL1 Scala has some fairly notorious problems with implicits so I am a bit vary of taking ideas from it. It may still be worth looking into but I haven't been able to find where the type inference is actually done in Scala yet 😅

You'd probably be better off looking at Dotty for a better look at how Scala does it. But yes, the saying goes, 'nobody understands Scala's implicit resolution algorithm'. Not really something we'd want to emulate too closely.

This seems to be the file: https://github.com/lampepfl/dotty/blob/master/compiler/src/dotty/tools/dotc/typer/Implicits.scala

Basically Scala tries far too hard to resolve ambiguities without programmer intervention, leading to a great deal of confusion and paranoia. A better approach would be to cry for help when they overlap, and require the programmer to explicitly say what implicit they intended to use.

I'm entirely fine with occasionally having to explicitly pass in the witness module, I'd want to do that to override defaults anyway.

This mostly works now 🎉 . To make it possible to limit the implicits being considered I added the ? syntax in record patterns https://github.com/gluon-lang/gluon/pull/425/files#diff-ff1563c4c968e716093f2061b79541a3R11 . If a record pattern contains ? then all fields marked as @implicit and all fields that hold a type marked as @implicit (such as Functor) are considered as implicit candidates. I am open to alternatives to the specific syntax here if there are any better alternatives, though I may end up merging this with the current syntax and change it later (gluon_format will make the change trivial unless the change is complicated!). (I considered .. as well but I think that is better used as a normal glob import https://github.com/gluon-lang/gluon/issues/355).
I also added the ? prefix in function argument declarations as a way to explicitly refer to an implicit argument. If ? is not specified then it is an explicit argument and the compiler will implicitly bind any implicit arguments preceding the explicit argument in the type.
Some stuff that still needs to be done is to let [Eq a] -> Eq (List a) be considered for the implicit resolution (should be fairly easy actually), take another pass on the standard library to add implicit arguments where appropriate and explain everything in the tutorial.
Handling ambiguities also needs to be done but I will either punt on that until later (just don't write any ambiguous instances!) or do this in a very simple but restrictive way.

:/ All tests pass on my machine (Windows), going to get a vm running to hopefully reproduce.
Got [Eq a] -> Eq (List a) working just need to stamp out edge cases.


Update rust nightly

It appears my package can't be compiled because of the outdated version of rust nightly. I checked the logs here and someone in IRC suggested this was due to nightly being old.

I'll update rustc but clippy is almost always working with a specific version of nightly. You may want to change your clippy dependency and use an alternate way to use it.


Implement SSL handling, move option parser to another file to maintain

Looks great! Thanks a lot :100:


Missing last entry for the day (if reoccurring)

So I came across an issue and I really can't limit it down more than the title states.
Here is my card config that fails:
type: custom:calendar-card
title: Today
numberOfDays: 1
timeFormat: hh:mm A
showEventOrigin: true
showLocationIcon: false
showMultiDay: true
startFromToday: true
entities:
  - calendar.boys
  - calendar.wiesalani

Here Is what I see:

Change the numberOfDays to 2:
type: custom:calendar-card
title: Today
numberOfDays: 2
timeFormat: hh:mm A
showEventOrigin: true
showLocationIcon: false
showMultiDay: true
startFromToday: true
entities:
  - calendar.boys
  - calendar.wiesalani

And now what I see:

The "G3 Conditioning activities" is missing... Here is what the event looks like:

I tried creating similar events and I couldn't reproduce this. I see you have showMultiDay: true but if an event is multiday then it'll show what day it is in in the event's title. the 25th would show G3 conditioning activities (1/2) and the 26th would show G3 conditioning activities (2/2).
Now that I look at it again, your event starts on the 25th at 7 and ends an hour later on the 25th at 8 so it's showing correctly?

I did a bit more testing and narrowed it down.  Sorry for misleading you earlier.
It doesn't show any event after 7PM.  Is this a Google setting I have that I cannot find?

Show like:

And...

Shows like:

My Timezone is CST (CDT) - I think that maybe coming into play here.

I believe the easiest way to solve this would require migrating from moment to luxon.
I don't think moment-timezone does the job. But I might be wrong.


grey out + disable "run" button while running

...otherwise it is possible to launch several runs at the same time, which we probably don't want

Testing with this simple code it seems that clicking call_button several times runs the calls serially, so at least several runs won't be launched in parallel as it stands. It would be nice to "grey out" the button though, I'll open a feature request in magicgui.
from magicgui import magicgui
import time

@magicgui(call_button="Run")
def run_timer():
    print('Asleep')
    time.sleep(2)
    print('Awake')

run_timer.show()

Further investigation reveals that we'll need to implement our own blocking behaviour on the call button (see https://github.com/napari/magicgui/issues/381#issuecomment-1060550957).


Issue #39 - Fix for rendering of multivalue RTF fields may result in wrong model type in JSON

Fix for issue #39 where rendering of multivalue RTF fields may result in wrong model type in JSON.

This issue was already fixed earlier, but the fix was not merged to release/2.0 branch.  This has been done now and the fix is also included in the DXA 2.2.1 hotfix release: https://github.com/sdl/dxa-content-management/releases/tag/DXA_2.2.1_Hotfix


Look into more readable doc strings

https://numpydoc.readthedocs.io/en/latest/format.html#short-summary


Link schema fix in readme

Because broken link at https://www.npmjs.org/package/socket.io-redis

Thanks!


[Addition]: Packet Forwarder + Location Spoofing

Hotspot b58 Addresses
11dYknQ3TMXed6M2adJZFJY5U8vLbesKZB1oA8eSn9cSYQz6Lzv
Discord Handle
No response
Reason(s)
This device near to me and its location is fake and i think it use packet forwarder,. The device have no contact with other devices around its near location. It gets signals from impossible points and that's all.

https://www.hizliresim.com/2wcrylt
https://www.hizliresim.com/7u8msv8
https://www.hizliresim.com/dui7l23
https://www.hizliresim.com/e6xuxsr
https://www.hizliresim.com/qinql3d


[Meshsync Event Subscription] Performance improvement by rethinking the Meshsync Events subscriptions

Meshsync Events
The Meshsync events are important at three places:

The Dashboard Component, where the cluster resources are shown and is updated gradually
Checking the state of Meshsync in the cluster, whether the operator is deployed
Telemetry and other information

Problems

The Meshsync events are duplicated, if we see the below screenshot, the clusterResource subscription actually returns the exact same data with some different signature but overall adding to the browser memory. The good thing about clusterResourceSubscription is, it is flushed down when we move out of the dashboard, so no more data comes, but the meshsync event subscription goes on since it is written in _app.js

The Meshsync subscription results aren't used by the UI, while it is not completely true because it is being used here for some telemetry purpose(commit), but for telemetry the filtration could have done on the backend, and refined result could have sent to the client, but its not which just leaves the non-telemetric events stay in browser without any operation being performed on them. In other words, the UI has do the processing of the NATS event, which is not impressive.

For the status, another graphQL subscription is used, which is much more light-weight than the MeshsyncEventSubscription so it can be concluded that the meshsyncEventSubscription is completely wasted in terms of its usage in the UI and the memory area it demands. The Meshsync events are now more controlled but in my opinion it should be totally evicted given there is no strong usecase/or at least it needs some good functional usage in the UI if we're gonna be using it.

Food for thought: Should the current MeshsyncEvent connection stay open on all the pages? Given Subscription is configured on _app.js that once opened keeps receiving data no matter where you navigate in the meshery-ui, should this be done, whats its usecase?

Contributor Guides and Handbook

🛠 Meshery Build & Release Strategy
📚 Instructions for contributing to documentation

Meshery documentation site and source

🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

@MUzairS15 @theBeginner86


Add Arbitrum Sepolia

Safe deployment PR: https://github.com/safe-global/safe-deployments/pull/290
Also removed some deprecated arbitrum related blockscout block explorers

I have read the CLA Document and I hereby sign the CLA

recheck

@a-thomas-22 I didn't see the missing chain_id :smiling_face_with_tear:  could you add it here? https://github.com/safe-global/safe-eth-py/blob/master/gnosis/eth/ethereum_network.py#L647

@a-thomas-22 I didn't see the missing chain_id 🥲 could you add it here? https://github.com/safe-global/safe-eth-py/blob/master/gnosis/eth/ethereum_network.py#L647

@a-thomas-22 Have you any chance to review this?


license in pyproject.toml does not conform to standards

project.license in pyproject.toml can specify the license either via text or via a file. As such, it needs to be specified differently.
license = "BSD-3-Clause" should be license = {text = "BSD-3-Clause"}

Thanks for pointing that out to us!


Makes custom server example next.config.js compatible

Addresses https://github.com/zeit/next.js/issues/468.

We should fix the library instead of this example. I will create a PR.

Closed in favor of https://github.com/zeit/next.js/pull/537


Make use of the type property to detect bots

Comment: https://github.com/c-hive/fresh-bot/pull/14#issuecomment-657460137. Let's use the type property instead of regexes to detect comments from bots.

I would still use both, the type field is just to make sure there are no false positives.

Addressed in https://github.com/c-hive/fresh-bot/commit/2861026fb08b778e7515602f55d08b294fe3b401
We now check the type field instead of the name field


Filter on schools table

Context
For responsible bodies with lots of schools, they may want to filter down the list to help them process it.
Changes proposed in this pull request

add a form that allows filtering by any text in the school table row
bugfix: make the content in the 'missing schools' callout conditional on the type of responsible body
split the view template into partials for readability

Guidance to review
Screenshot:

Code-wise, I'm not sure I've brought the JS across correctly from the prototype.

These need some JS unit tests.
This JS is ported from a GOV.UK repo, we can port the tests too.


It seems that I can not use AUDIO.stop(channel) when this channel has not been used.

if I call audio.stop(channel) on a channel that has not been used, it will call an eror:
m_soloud_audio.lua:718: attempt to index field '?' (a nil value)

Should be fixed now, thank you!


Package manager support

Seems like a great project that would benefit from submission to home-brew?

I agree! I think once the API's more stable I will focus more on that.

Agreed! I'd love to see this included in home-brew


Observation Temperatures

NOAA Plugin doesn't appear specify ºC when importing observed temperature and dew point, so the conversion to ºK doesn't happen in SK. The result in WilhelmSK is that the temp is -450ºF, instead of the correct result.

Looks like they changed the format of their data. Fixing now...

fix released in v1.3.5


updated nylas-n1 (0.4.19-d41e72c)

Thank you for the contribution. It was merged directly as 7356ac9ddbe7bb5b4c4a6ca4010fde64c25d3651 to keep commit history cleaner. Your contribution is still credited to you.


Issue with Next.js revalidation

Describe the bug
https://sanity-io-land.slack.com/archives/C9Z7RC3V1/p1718675586121679
I am getting Failed to parsed response body as JSON: Unexpected non-whitespace character after JSON at position 820 on production builds of my site. On the build that was successful to production and currently live, if I try to rebuild it throws these errors now.
I am using Next.j 14.2.3.
fetch.ts
import type { ClientPerspective, QueryParams } from "next-sanity";
import { draftMode } from "next/headers";

import { client } from "@/sanity/lib/client";
import { token } from "@/sanity/lib/token";

/**
 * Used to fetch data in Server Components, it has built in support for handling Draft Mode and perspectives.
 * When using the "published" perspective then time-based revalidation is used, set to match the time-to-live on Sanity's API CDN (60 seconds)
 * and will also fetch from the CDN.
 * When using the "previewDrafts" perspective then the data is fetched from the live API and isn't cached, it will also fetch draft content that isn't published yet.
 */
export async function sanityFetch<QueryResponse>({
  query,
  params = {},
  perspective = draftMode().isEnabled ? "previewDrafts" : "published",
  /**
   * Stega embedded Content Source Maps are used by Visual Editing by both the Sanity Presentation Tool and Vercel Visual Editing.
   * The Sanity Presentation Tool will enable Draft Mode when loading up the live preview, and we use it as a signal for when to embed source maps.
   * When outside of the Sanity Studio we also support the Vercel Toolbar Visual Editing feature, which is only enabled in production when it's a Vercel Preview Deployment.
   */
  stega = perspective === "previewDrafts" ||
    process.env.VERCEL_ENV === "preview",
}: {
  query: string;
  params?: QueryParams;
  perspective?: Omit<ClientPerspective, "raw">;
  stega?: boolean;
}) {
  if (perspective === "previewDrafts") {
    return client.fetch<QueryResponse>(query, params, {
      stega,
      perspective: "previewDrafts",
      // The token is required to fetch draft content
      token,
      // The `previewDrafts` perspective isn't available on the API CDN
      useCdn: false,
      // And we can't cache the responses as it would slow down the live preview experience
      next: { revalidate: 0 },
    });
  }
  return client.fetch<QueryResponse>(query, params, {
    stega,
    perspective: "published",
    // The `published` perspective is available on the API CDN
    useCdn: true,
    // Only enable Stega in production if it's a Vercel Preview Deployment, as the Vercel Toolbar supports Visual Editing
    // When using the `published` perspective we use time-based revalidation to match the time-to-live on Sanity's API CDN (60 seconds)
    next: { revalidate: 60 },
    // The token is required as we are using a private dataset
    token,
  });
}

client.ts
import { createClient } from "next-sanity";

import { apiVersion, dataset, projectId, studioUrl } from "@/sanity/lib/api";

export const client = createClient({
  projectId,
  dataset,
  apiVersion,
  useCdn: true,
  perspective: "published",
  stega: {
    studioUrl,
    // logger: console,
    filter: (props) => {
      if (props.sourcePath.at(-1) === "title") {
        return true;
      }

      return props.filterDefault(props);
    },
  },
});

To Reproduce
Steps to reproduce the behavior:

git clone https://github.com/codercatdev/cms-sanity
git checkout next-issue-1599
pnpm i
pnpm dev
hit a route like http://localhost:3000/author/nick-rouech

Expected behavior
I would expect JSON not to contain any extra whitespace.
Screenshots

Which versions of Sanity are you using?
@sanity/cli (global)        3.46.1 (up to date)
@sanity/assist               3.0.4 (up to date)
@sanity/code-input           4.1.4 (up to date)
@sanity/icons                3.2.0 (up to date)
@sanity/image-url            1.0.2 (up to date)
@sanity/preview-url-secret  1.6.17 (up to date)
@sanity/ui                   2.4.0 (up to date)
@sanity/vision              3.46.1 (up to date)
@sanity/webhook              4.0.4 (up to date)
sanity                      3.46.1 (up to date)
What operating system are you using?
Mac 14.5 (23F79)
Which versions of Node.js / npm are you running?
10.8.1
v22.3.0
Additional context
I thought at first this was a stega issue as it seems to be related, but if I fetch with stega:false it still happens. Setting next:revalidate to 0 is the only thing that I found works.
The only change from the example is that when using the "published" perspective I also pass token as my dataset is not public.

Okay I have narrowed this issue down to this setting in the next-sanity package of the client.
next: { revalidate: 60 },
fetch.ts
  return client.fetch<QueryResponse>(query, params, {
    stega,
    perspective: "published",
    // The `published` perspective is available on the API CDN
    useCdn: true,
    // Only enable Stega in production if it's a Vercel Preview Deployment, as the Vercel Toolbar supports Visual Editing
    // When using the `published` perspective we use time-based revalidation to match the time-to-live on Sanity's API CDN (60 seconds)
    next: { revalidate: 60 },
    // The token is required as we are using a private dataset
    token,
  });

The only time I get good data is setting  next: { revalidate: 0 },

Thank you for making the effort to create a good repro for this. We'll have a look as soon as we get our hands free.

@evenwestvang I am seeing issues that surround cloudinary.asset when this field is included at times the object fails and doesn't come back with data at all. I am not 💯  if this is related to the other issues or not.
GROQ
*[_type == "podcast" && views > 0]|order(views desc)[0...4]{
coverImage
}

Example in Next.js not returning this field

Vision returns all of the data correctly, I am wondering if this could cause any of the whitespace as well, or if something isn't correct with the JSON. Since I have images all over the site from Cloudinary I obviously would see all the issues mentioned above.

Full JSON of the result from vision query-result.json

Some more groq tests with cloudinary becoming an issue. I will also add that even if I try to just use the below it still goes missing inside of Next.js.
    coverImage{
      public_id,
    },

with-cloudinary.json - missing entries
without-cloudinary.json - all entries valid

okay all of what I thought were issues with cloudinary.asset was not, it appears that is all due to a problem using taint.
simple repo: https://github.com/codercatdev/next-sanity-cloudinary-issue

This shows how the logger displays when using taint vs. the data actually appearing on the page. These two things DO NOT match.
The issue with Failed to parsed response body as JSON: Unexpected token '/', "/ still remains with any type of revalidate set on the client.

I will pay for support to get this working @evenwestvang @kmelve is there someone I can do a call with to get this working. It is forcing me out of static and only allowing for a lambda based site, which I was hoping to avoid.

@codercatdev is this issue still for grab?

@Shub3am yes it should be, if you can't repro let me know and I will make sure that branch is usable for the issue.

Sure, I am taking this one

I ran into a similar problem.
Once I put the content field away, leaving only _id, title, description, slug, everything works without issue.

Any workaround to this issue?

My only workaround was to stop generating anything statically. Not really a great workaround but for now that is what I have. So all of https://codingcat.dev is on demand.

This only affects me during dev, not production. However none of the workaround are working for me.

Same here, I only get this in dev environment
On Fri, 26 Jul 2024, 11:41 am Dante, @.***> wrote:

This only affects me during dev, not production. However none of the
workaround are working for me.
—
Reply to this email directly, view it on GitHub
https://github.com/sanity-io/next-sanity/issues/1599#issuecomment-2252485507,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHXXP7FD34ZRJA7VGKESXY3ZOIRVZAVCNFSM6AAAAABJQDXA62VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJSGQ4DKNJQG4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Feature: isApproved under ManageBroadcast added

Issue that this pull request solves
Closes: #1084
Proposed changes
Filter By Approval added in Manage Broadcast page
Types of changes

[x] New feature (non-breaking change which adds functionality)

Screenshots
https://drive.google.com/file/d/1983H_5-3EmdKGxzehUnzVhEIj5PnzGk1/view?usp=sharing

Hello @Kajol-Kumari
Please review the request


Does this support the x5c/x5u fields in JWS? (RFC-7515)

This would be an awesome feature. I took a very quick look and it seems like this project does not support it, but maybe I am wrong.
See https://tools.ietf.org/html/rfc7515#section-4.1.6 for more details on this field - it is essentially providing the certificate and its chain in some JWT headers so that both the signature and the cert can be verified.
FWIW, I am trying to add support to the main ruby JWT library, I can post back here with what the PR looks like there. https://github.com/jwt/ruby-jwt/issues/59

It does not at the moment, though I'd be open to reviewing a PR.


Is it possible to keep state on hot reload?

Hi,
I just tried a quick demo on the Homepage container:
  state = {
    user: '',
  };

  update = (e) => {
    this.setState({user: e.target.value})
  };

<Input
   id="username"
   type="text"
   placeholder="mxstbr"
   value={this.state.user}
   onChange={this.update}
 />

I'm seeing the state be removed on HMR. Is it possible to keep this state while debugging?
Thanks!

Hey @jackdh,
Please use the Issue Template and provide reproduction steps.
Thanks!

You could try redux-persist

https://stackoverflow.com/questions/28314368/how-to-maintain-state-after-a-page-refresh-in-react-js#28314706
Please use StackOverflow next time, or fill out the issue template with a more detailed use case.

https://stackoverflow.com/questions/28314368/how-to-maintain-state-after-a-page-refresh-in-react-js#28314706
It took me less than 10 seconds to find that link. Please use StackOverflow next time, or fill out the issue template with a more detailed use case.

You could try localStorage.

Next time, please use StackOverflow. It would save both of us time. I found this link in about 10 seconds.

@gretzky Sorry I should have rephrased the question better. I know it is obviously possible to keep the state.
I was just simply wondering if it was already meant to be included within the boilerplate. There is no need to be so snarky.

@jackdh sorry that i'm being rude- we get several personal help requests per day and it's hard to differentiate when the issue template is not filled out. I still don't understand your question, sorry.


iOS builds broken

flutter run --no-hot
flutter run --hot
flutter build ios --simulator
All yield a crashing app.
https://gist.github.com/tvolkert/dad97e6a01b1928009765acaf33ff350
The important bit is:
[        ] [DEVICE LOG] Nov 22 20:57:56 tvolkert-macbookpro3 Runner[56726]: [INFO:../../flutter/shell/gpu/gpu_surface_gl.cc(87)]
[        ] [INFO:../../flutter/shell/gpu/gpu_surface_gl.cc(86)] Failed to setup GL context. Aborting.

Crash report here: https://gist.github.com/tvolkert/cbc5efeee99f8571d679478b0d1c545e

@chinmaygarde

I wonder if this is causing https://github.com/flutter/flutter/pull/6969?


Please release enzyme-adapter-react-16 v 1.0.6 to npm

Looks like only version 1.0.4 is available at the moment which seems out of sync with the recent release of enzyme 3.1.1

This is just an error in the git tag and commit message (I'll fix the tag now); there should only be v1.0.4 of the react 16 adapter.


(PUP-6942) Let hiera.yaml be the name of the hiera version 5 configuration

This commit removes the previously added lookup.yaml configuration file
in favor of always using the hiera.yaml. Instead of looking at different
files, all differences are instead triggered by the version number in the
hiera.yaml file.

CLA signed by all contributors.


Update Export-ActivityExplorerData.md

Removed missing OutputFormat param per Issue #9814

Docs Build status updates of commit 2d545fb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Export-ActivityExplorerData.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


fix(validate-tests): throw error and exit 1 when regex match

This will ensure that ".only" for integration tests, or "fit" for unit tests don't make it into our codebase.
Checklist

[ ] Did you add a JIRA issue in a commit message or as part of the branch name?
[ ] Did you add new unit tests?
[ ] Did you add new integration tests?
[ ] If this is a regression, did you write a test to catch this in the future?

Thanks a lot for taking care and hot-fixing the script! Let's merge this fix and then rewrite the test validation so that we can run the test in our pre-commit hooks as well.

@orlandohohmeier just for further correctness  - grep and egrep both use regular expression. egrep or grep -E uses "extended regular expression".

@MatApple yep, that’s what I was trying to say. 😆


⚠ Bofrost.nl has degraded performance

In 463e1ae, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1436 ms

Resolved: Bofrost.nl performance has improved in 7219599.