Single GPU [1080ti] Training - Meta Tensor Issues

System Info
- `Accelerate` version: 0.28.0
- Platform: Linux-6.2.0-39-generic-x86_64-with-glibc2.37
- Python version: 3.10.13
- Numpy version: 1.26.4
- PyTorch version (GPU?): 2.2.1+cu121 (True)
- PyTorch XPU available: False
- PyTorch NPU available: False
- System RAM: 31.30 GB
- GPU type: NVIDIA GeForce GTX 1080
- `Accelerate` default config:
	- compute_environment: LOCAL_MACHINE
	- distributed_type: DEEPSPEED
	- mixed_precision: fp8
	- use_cpu: True
	- debug: False
	- num_processes: 1
	- machine_rank: 0
	- num_machines: 1
	- rdzv_backend: static
	- same_network: True
	- main_training_function: main
	- deepspeed_config: {'gradient_accumulation_steps': 1, 'gradient_clipping': 1.0, 'zero3_init_flag': True, 'zero_stage': 0}
	- ipex_config: {'ipex': True}
	- downcast_bf16: no
	- tpu_use_cluster: False
	- tpu_use_sudo: False
	- tpu_env: []
	- dynamo_config: {'dynamo_backend': 'ONNXRT', 'dynamo_mode': 'max-autotune', 'dynamo_use_dynamic': True, 'dynamo_use_fullgraph': True}

Information

[ ] The official example scripts
[X] My own modified scripts

Tasks

[ ] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[X] My own task or dataset (give details below)

Reproduction
Implementing the original DDPM paper here: https://arxiv.org/pdf/2006.11239.pdf , and attempting to use functionality from accelerate to optimize for out-of-memory errors - particularly any features that can offload to the disk / CPU to reduce GPU tensor usage.
Somewhere in __init__ above in a Diffusion class ...
    self.model = UNet(
        dim=8,
        dim_mults=(1, 1, 1, 1),
        channels=num_channels,
        resnet_block_groups=1
    )

# Actual training code
def train(self, dataloader: DataLoader, num_epochs=100, timesteps=1000):

        optimizer = torch.optim.Adam(self.model.parameters())

        # Port the model to the desired device
        accelerator = Accelerator()
        self.model, optimizer, dataloader = accelerator.prepare(
            self.model, optimizer, dataloader)

        self.model.train()
        for i in range(num_epochs):

            for k, img in enumerate(dataloader):
                optimizer.zero_grad()

                noisy_images = torch.randn(
                    (img.shape[0], self.channels, self.image_shape, self.image_shape))

                timesteps = [random.randint(0, timesteps)
                             for i in range(img.shape[0])]

                # Sample the noise at timestep t
                samples_generated = self.reverse_diffusion(
                    noisy_images, timesteps)

                # Compute the loss
                loss = self.compute_loss(samples_generated, img, timesteps)
                accelerator.backward(loss)

                optimizer.step()

Expected behavior
This code would throw the following error:
Traceback (most recent call last):
  File "/home/pchaurasia/CodingWorkspace/personal/archipelago/ml/diffusion/main2.py", line 41, in <module>
    data.train(dataloader, 10, 100)
  File "/home/pchaurasia/CodingWorkspace/personal/archipelago/ml/diffusion/diffusion.py", line 116, in train
    self.model, optimizer, dataloader = accelerator.prepare(
  File "/home/pchaurasia/miniconda3/envs/sdenv/lib/python3.10/site-packages/accelerate/accelerator.py", line 1263, in prepare
    result = tuple(
  File "/home/pchaurasia/miniconda3/envs/sdenv/lib/python3.10/site-packages/accelerate/accelerator.py", line 1264, in <genexpr>
    self._prepare_one(obj, first_pass=True, device_placement=d) for obj, d in zip(args, device_placement)
  File "/home/pchaurasia/miniconda3/envs/sdenv/lib/python3.10/site-packages/accelerate/accelerator.py", line 1140, in _prepare_one
    return self.prepare_model(obj, device_placement=device_placement)
  File "/home/pchaurasia/miniconda3/envs/sdenv/lib/python3.10/site-packages/accelerate/accelerator.py", line 1376, in prepare_model
    model = model.to(self.device)
  File "/home/pchaurasia/miniconda3/envs/sdenv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1152, in to
    return self._apply(convert)
  File "/home/pchaurasia/miniconda3/envs/sdenv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 802, in _apply
    module._apply(fn)
  File "/home/pchaurasia/miniconda3/envs/sdenv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 825, in _apply
    param_applied = fn(param)
  File "/home/pchaurasia/miniconda3/envs/sdenv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1150, in convert
    return t.to(device, dtype if t.is_floating_point() or t.is_complex() else None, non_blocking)
NotImplementedError: Cannot copy out of meta tensor; no data!

self.model = UNet(
        dim=8,
        dim_mults=(1, 1, 1, 1),
        channels=num_channels,
        resnet_block_groups=1
    )

Is that fully how you are init'ng your model? Are you using init_empty_weights or anything else? This logic shows that some part of the model has been offloaded before accelerator.prepare, so how you are constructing it and any modifications you are doing is critically important

Yes, that is how I am calling it. I tried replacing it with the following:
with init_empty_weights():
                  self.model = UNet(
                dim=8,  # Throws an error when the image dimension is under 6
                dim_mults=(1, 2, 4, 8),
                channels=num_channels,
                resnet_block_groups=1
            )

To get the exact same error. I do use the init_empty_weights method somewhere else, when I'm calling the top class (which is just a Python object, not PyTorch Module).
with init_empty_weights():
    random_sampler = RandomSampler(dataset, num_samples=sample_size)
    dataloader = DataLoader(
        dataset, batch_size=batch_size, sampler=random_sampler)

    data = Diffusion(image_shape=64)
    data.train(dataloader, 10, 100)

    image = data.sample_images(1)
    image[0].save("out.jpg")

Above is how the call would look


Additional search functionality

Sub-tasks

[ ] Make column headers clickable in search recipe and search food to sort search results
[ ] Search filter for food and recipe to search for food with calories between two amounts
[ ] Search filter for recipe to search for recipe containing a specific food

Test cases

[ ] User can order the search results by clicking the column headers
[ ] User can input desired caloric range when searching food and recipes
[ ] User can search recipes that contain a specific food

I wasn't able to get the filter and sorting for recipe calories working. It will require changing the structure of recipes in the database I think.


[Bug]: The appsmith logo is missing in the view mode

Is there an existing issue for this?

[X] I have searched the existing issues

Description
The appsmith logo is missing the view mode

Steps To Reproduce

first pull the image docker pull ankitakinger/appsmith:airgap
now switch off the internet
now docker run -e APPSMITH_AIRGAP_ENABLED=true -e KEYGEN_LICENSE_VERIFICATION_KEY=b2b98c313548c14cb22ddb4afb9124553c4c829c290d8a3cbf01ff8ee57624dc -d --name appsmith-airgap -p 80:80 -v "$PWD/stacks:/appsmith-stacks" ankitakinger/appsmith:airgap
Now do the set up
add air gapped license key
go to home page
click on launch application button
On the top left corner the appsmith logo is missing

Public Sample App
No response
Environment
Release
Issue video log
No response
Version
release

Tested and works fine


[PT] add chapter 6.2 and 6.3

#51
Hi there!
Pull request for the second and third sections of chapter 6 in the Portuguese language.
Hope it's okay :)
I tried to replace some practical examples for the Portuguese language, especially in the third section.
I also noticed that using the Portuguese sentences in code examples may be great. What do you think? In that case, we should replace the code snippets. I didn't implement this mentioned modification (just changed the snippet comments to Portuguese), but if you think it should be a good idea, it may be worth trying this approach.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


More broadly rename MemberExpressions

Follow-up to #198
When running this codemod internally I found several additional places manually invoking lifecycles like SomeComponent.componentDidMount.apply() so the codemod has been updated to handle this case also.
So I've changed the codemod from renaming CallExpressions (eg instance.method()) to broader MemberExpressions (eg instance.method() and instance.method.apply()).
Additional tests have been added.

Good catch.


Clang fix for Android-S

LGTM But need add Tracked-On jira number

Tracked-On added

@basilchew please review the pr

Is there a corresponding PR or Jira for horizontal?

Is there a corresponding PR or Jira for horizontal?

Horizontal jira : OAM-111281
Vertical revert jira : OAM-111282


Bump Jackson databind to 2.15

Fix #26743
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

jackson databind 2.15 not work with cassandra-all used in hadoop-format test.
TestRuntimeClasspath before:
+--- org.apache.cassandra:cassandra-all:3.11.10
|    +--- org.yaml:snakeyaml:1.11 -> 1.33

after:
+--- org.apache.cassandra:cassandra-all:3.11.10
|    +--- org.yaml:snakeyaml:1.11 -> 2.1

R: @chamikaramj

Thanks. LGTM.

Java Examples PreCommit failing task ':runners:google-cloud-dataflow-java:examples:preCommitLegacyWorkerImpersonate' also failing on master branch, not related to this PR
merging for now


general syntax bug / broken function functionality

This is autogenerated. Please review and update as needed.
Describe the bug
Following this guide,
https://docs.microsoft.com/en-us/cli/azure/functionapp/deployment/user?view=azure-cli-latest#az_functionapp_deployment_user_show
I was trying to explore why my deployments weren't behaving as expected. I get a spurious error.
Command Name
az functionapp deployment user show
Errors:
The command failed with an unexpected error. Here is the traceback:
'function' object has no attribute 'metadata'
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 657, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 720, in _run_jobs_serially
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 691, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 328, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 363, in handler
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/arm.py", line 429, in show_exception_handler
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 361, in handler
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/mgmt/web/v2020_09_01/operations/_web_site_management_client_operations.py", line 114, in get_publishing_user
AttributeError: 'function' object has no attribute 'metadata'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az functionapp deployment user show

Expected Behavior
Environment Summary
Windows-10-10.0.19041-SP0
Python 3.8.9
Installer: MSI

azure-cli 2.26.0

Additional Context

route to service team

Thanks for reporting @tyeth I'll look into this

@gzuber was this ever resolved?

Please retry with latest cli version & open new issue if this still repros.

Not worried about it, but still exists


separate command to download required docker images

Right now a typical installation of weave downloads the required images from the docker hub when they are needed, e.g. the weave image on weave launch and weavedns on weave launch-dns.
This is convenient but also

makes execution time of these commands unpredictable
requires internet connectivity during normal weave operation
does not download the 'latest' images if there are already images wit that tag present

We can address these issues by introducing a new command, say weave fetch, that runs a docker pull for all the required images.
@errordeveloper @squaremo thoughts?

@errordeveloper @squaremo ping

I agree with the rationale, I think it needs a better name. If it's ever likely to do anything other than pull down images, perhaps weave setup; otherwise, weave pull. It should be made clear that it's not necessary to do it, just a convenience in some scenarios.

I also agree with the rationale. I would propose a more specific name, such as pull-images. All current sub-commands are mainly to do with the state of the router or the network, this sub-command would be to do with images instead, it thereby should be clearer to distinguish. I would also propose more renaming along this line, e.g. launch-router, stop-router etc.

weave setup

I like that. And yes, it might do more than pull images at some point. In fact it could do so even now, e.g. it could create the weave bridge. But lets not do that.

weave pull-images

This rather pushes images into your face. The less the images show up in the weave interface the better; they are an implementation detail.

launch-router

Per the 1.0 walkthrough, dns will be launched as part of weave launch, and weave launch-dns will be removed. So changing the former to weave launch-router now does nothing but annoy our existing users (since every single script they have will break), twice.


Update python-package.md

I spent many hours tracking down why my Python modules were not importable. When I renamed the package folder in the console from A to B and back from B to A the issue resolved and this led me to the discovery that files and directories must be globally readable for the Lambda to run despite everything looking perfectly OK in the console. I think it is important to fix this flaw or let people know about it.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thank you for suggesting the note.


missing stripInternal in tsconfig

We are using @internal modifiers but we don't have stripInternal in any of the tsconfigs, so this is actually leaking into the d.ts.
https://github.com/run-llama/LlamaIndexTS/blob/main/packages/llamaindex/src/Settings.ts#L40

yes but we are not actually taking this seriously for now. It's okay but evetuanlly I will enable it


Homebridge Not running

After installing the latest update of the plugin it kill my homebridge. I remove the plugin and the configuration inthe config json but still having the same issue. Since im in docker i create a new container nothing same output in the logs.
[1/23/2021, 2:35:21 PM] Error loading accessory requested in your config.json at position 8
[1/23/2021, 2:35:22 PM] Error: The requested accessory 'WLED' was not registered by any plugin.
at PluginManager.getPluginForAccessory (/usr/local/lib/node_modules/homebridge/src/pluginManager.ts:198:15)
at /usr/local/lib/node_modules/homebridge/src/server.ts:345:37
at Array.forEach ()
at Server._loadAccessories (/usr/local/lib/node_modules/homebridge/src/server.ts:328:29)
at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:154:12)
at cli (/usr/local/lib/node_modules/homebridge/src/cli.ts:80:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
[1/23/2021, 2:35:22 PM] Got SIGTERM, shutting down Homebridge...
how can i fix this?

So you removed deinstalled the plugin and removed the configuration of the plugin from the config.json and you have still the same issue?
That's weird, it seems like your docker do not save this....

So you removed deinstalled the plugin and removed the configuration of the plugin from the config.json and you have still the same issue?
That's weird, it seems like your docker do not save this....

same problem, uninstall and install but no wled dicovered

same problem, uninstall and install but no wled dicovered

In the new version the plugin changed to a platform-plugin, so you have to move the configuration, to the platforms-sections instead of the the accessory section.
See the examples in the readme!

In the new version the plugin changed to a platform-plugin, so you have to move the configuration, to the platforms-sections instead of the the accessory section.
See the examples in the readme!

Got it. The problem is if you configured the WLED through config ui X it add both platform and accessory in the accessory section.
{
"platform": "WLED",
"name": "TV LED",
"host": "<IP_ADDRESS>",
"log": true,
"effects": [
"Rainbow Runner",
"Sunrise",
"Pacifica"
],
"accessory": "WLED"
}
You need to delete the "accessory":"WLED" in this case at the end and move the other part to the platform section.
I think the bug is in the way it add the instance through config ui.
Thanks nice work it would be great if we turn off the effect it turn off the WLED.

Got it. The problem is if you configured the WLED through config ui X it add both platform and accessory in the accessory section.
{
"platform": "WLED",
"name": "TV LED",
"host": "<IP_ADDRESS>",
"log": true,
"effects": [
"Rainbow Runner",
"Sunrise",
"Pacifica"
],
"accessory": "WLED"
}
You need to delete the "accessory":"WLED" in this case at the end and move the other part to the platform section.
I think the bug is in the way it add the instance through config ui.
Thanks nice work it would be great if we turn off the effect it turn off the WLED.

Thanks nice work it would be great if we turn off the effect it turn off the WLED.

I second this.
Amongst other instances of WLED, I have a little single LED HAT in a tiny 3D printed cube - its a bit of fun really, it works with a presence switch - when the wife goes out the colour changes.

Thanks nice work it would be great if we turn off the effect it turn off the WLED.

I second this.
Amongst other instances of WLED, I have a little single LED HAT in a tiny 3D printed cube - its a bit of fun really, it works with a presence switch - when the wife goes out the colour changes.

Ok, i will add an option for the config.json to turn off the WLED when turning off the effect....

Ok, i will add an option for the config.json to turn off the WLED when turning off the effect....

@recom273 @appleimperio In the new version (1.2.1) I added the option to turn off the WLED when turning off the effect.
For further infos check the README.md


[VL] (WIP) Improving performance using xsimd::memcpy

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
(Fixes: #ISSUE-ID)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

/Benchmark Velox

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

query
log/native_3365_time.csv
log/native_master_10_09_2023_65a72b1c3_time.csv
difference
percentage

q1
42.54
42.87
0.322
100.76%

q2
24.83
24.57
-0.259
98.96%

q3
37.83
37.52
-0.307
99.19%

q4
41.84
41.91
0.071
100.17%

q5
71.52
69.35
-2.173
96.96%

q6
6.56
6.58
0.017
100.26%

q7
84.17
86.66
2.491
102.96%

q8
79.97
81.22
1.252
101.57%

q9
118.31
117.00
-1.309
98.89%

q10
48.94
46.63
-2.309
95.28%

q11
19.32
19.22
-0.100
99.48%

q12
26.20
25.03
-1.171
95.53%

q13
49.50
49.58
0.073
100.15%

q14
19.45
13.15
-6.302
67.61%

q15
28.37
29.50
1.134
104.00%

q16
15.79
16.05
0.263
101.66%

q17
122.23
122.83
0.593
100.49%

q18
165.42
164.00
-1.423
99.14%

q19
15.08
12.01
-3.068
79.65%

q20
27.45
26.66
-0.795
97.10%

q21
236.89
236.75
-0.142
99.94%

q22
15.58
15.77
0.193
101.24%

total
1297.82
1284.87
-12.949
99.00%

/Benchmark Velox

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

query
log/native_3365_time.csv
log/native_master_10_09_2023_65a72b1c3_time.csv
difference
percentage

q1
41.64
42.87
1.222
102.93%

q2
24.63
24.57
-0.052
99.79%

q3
35.86
37.52
1.668
104.65%

q4
42.94
41.91
-1.024
97.61%

q5
70.62
69.35
-1.266
98.21%

q6
6.52
6.58
0.058
100.89%

q7
84.62
86.66
2.046
102.42%

q8
81.05
81.22
0.174
100.21%

q9
114.74
117.00
2.259
101.97%

q10
46.27
46.63
0.361
100.78%

q11
19.45
19.22
-0.235
98.79%

q12
23.43
25.03
1.598
106.82%

q13
50.01
49.58
-0.427
99.15%

q14
15.87
13.15
-2.719
82.87%

q15
27.40
29.50
2.102
107.67%

q16
15.96
16.05
0.092
100.58%

q17
123.34
122.83
-0.515
99.58%

q18
161.64
164.00
2.357
101.46%

q19
12.13
12.01
-0.116
99.05%

q20
25.59
26.66
1.066
104.16%

q21
236.34
236.75
0.408
100.17%

q22
15.23
15.77
0.540
103.54%

total
1275.27
1284.87
9.597
100.75%

Is this PR ready to merge?

/Benchmark Velox

Is this PR ready to merge?

Yes, I removed the WIP tag from this PR's title/

Looks like the TPCH workload doesn't have much performance improvement. Is this because memcpy is not hotspot in this kind of workload?

Looks like the TPCH workload doesn't have much performance improvement. Is this because memcpy is not hotspot in this kind of workload?

it seems to be right.
the TPCH workload test may be not enough precise.

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

query
log/native_3365_time.csv
log/native_master_10_12_2023_becfd1d13_time.csv
difference
percentage

q1
43.86
42.54
-1.321
96.99%

q2
23.10
24.58
1.478
106.40%

q3
38.67
37.68
-0.991
97.44%

q4
41.91
41.71
-0.200
99.52%

q5
70.36
69.95
-0.411
99.42%

q6
6.82
5.44
-1.378
79.79%

q7
84.13
86.47
2.344
102.79%

q8
82.09
82.02
-0.066
99.92%

q9
116.39
119.24
2.854
102.45%

q10
47.71
48.00
0.290
100.61%

q11
19.95
19.26
-0.687
96.56%

q12
27.01
24.58
-2.430
91.00%

q13
50.70
52.68
1.984
103.91%

q14
17.94
15.32
-2.620
85.39%

q15
32.22
29.53
-2.683
91.67%

q16
15.84
16.15
0.310
101.96%

q17
120.54
121.78
1.237
101.03%

q18
165.73
163.32
-2.418
98.54%

q19
12.67
12.31
-0.360
97.16%

q20
30.18
27.43
-2.741
90.92%

q21
243.49
241.93
-1.556
99.36%

q22
16.24
15.40
-0.844
94.80%

total
1307.55
1297.34
-10.210
99.22%


Something wrong with aggressive motion data

Hi, dear author!
Thank you for your work! I have tested the program with your example data, it runs very well.
I am interesting in the situation when spinning lidar is in a very aggressive motion. So I tested your program with another data with aggressive motion in staircase. Here it is. https://drive.google.com/drive/folders/1f-VQOORs1TA5pT-OO_7-rG0kW5F5UoGG
I just tested the 2022-08-30-20-33-52_0.bag. The odometry has a very great drift at the very beginning.
I believe there's something wrong with the extrinsic parameters, so I try serveral times. It turns out that this parameter may be approximate as the picture shows below.

But, still it gets drift after some seconds when walking into a very narrow space.
Should I set the accurate extrinsic parameters, or something is wrong with this aggressive motion in narrow space?
By the way, how do you define the extrinsics baselink2imu and baselink2lidar? Do you mean baselink2lidar as P_L = R*P_b2l + t?

I think author's baselink2imu and baselink2lidar is for frame, not for point. In other words, baselink2imu transform a point from imu frame into baselink frame. You can also search keywords "this->extrinsics.baselink2lidar_T" in the odom.cc to find its meaning.

Hi @CharlieV5 -- yes, extrinsics need to be accurate for DLIO to work properly.

What convention is used when setting the extrinsics? Do we first set the translational component from baselink frame to lidar/imu frame and then the rotational component, or do we first set the rotational component and then the translational component? Based on the approach, I get different outputs based on the 2 different approaches.

@EyedBread ,  use 4*4 matrix T= [R, t; 0, 1] to transform a point [p, 1] to get a transformed p' = R* p + t. I think its convention is rotational frist to make the two frames aligned,  and then calculate translational component.
We can view baselink2imu transformation from two perspectives.

If we start with baselink frame, after a series of rotations(consist of rotation component), we get a frame its thress axis(x-axis, y-axis, z-axis) respectively aligned with imu's x-axis, y-axis, z-axis. And then we can get imu frame's origin point in transformed frame, namely translation component. As you can see, from frame's perspective, its direction is  from baselink to imu.

Suppose there is a point p in the world frame, we can view it in imu frame and baselink frame.  In imu frame its coordinates is p_imu, corresponding p_baselink in baselink frame.   p_imu after 4*4 matrix T= [R, t; 0, 1]  its coordinates is equal to p_baselink. As you can see, from point's perspective, its direction is  from imu to baselink.

so the author variable naming conventions, baselink2imu,  is frame perspective, not for point.


Appstudio update test-custom-default-branch-lrxy

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-wadk-on-pull-request-
creating pipelinerun test-simple-build-wadk-on-pull-request- in namespace build-e2e-annp-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-mcmm-on-pull-request-
creating pipelinerun test-simple-build-mcmm-on-pull-request- in namespace build-e2e-annp-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nwtb-on-pull-request-
creating pipelinerun test-simple-build-nwtb-on-pull-request- in namespace build-e2e-annp-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-uqzm-on-pull-request-
creating pipelinerun test-simple-build-uqzm-on-pull-request- in namespace build-e2e-annp-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-ufgi-on-pull-request-
creating pipelinerun test-simple-build-ufgi-on-pull-request- in namespace build-e2e-annp-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-imul-on-pull-request-
creating pipelinerun test-simple-build-imul-on-pull-request- in namespace build-e2e-annp-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-lqle-on-pull-request-
creating pipelinerun test-simple-build-lqle-on-pull-request- in namespace build-e2e-annp-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request


it's hard to training

to simple two class,  i found it's very diffcult to training ,the result always  different for training each time.

I used this repo's model to train with my own data. It's unstable, sometime I got good result but most of the time the training stucked in local optima too.
My solution to fix this:

Decrease learning rate
Remove all dropout layer + reduce number of filters in all Conv2D by half.


add select language text

I know when I have visited the site in the past, I was confused as to why nothing happened after selecting a version on the main page. The answer was that I had to select one of the flags. I added text indicating that must be done

Thanks!


Fix midori; was building but not working.

Two fixes:

The URL used was now giving a 404 error. This fix was cherry-picked from master.
A missing buildInput (as far as I can understand) was making the wrapped executable wrapping with a path to another schema path.

master might need the second fix added to it.

@samueldr, please run cherry-pick with the -x flag to add the original ID of the commit you're picking into the commit message. This makes it easier for us to trace which patch is going where.


Jena & RDF4J: autodetect if parsed file is delimited or not

Continuation of #184. Jena RIOT and RDF4J Rio parsers will now first examine the first 3 bytes of the stream to determine if it's delimited or not. In the non-delimited case (previously unsupported), the file is assumed to contain exactly one stream frame.
The autodetection is fortunately unambiguous. After examining 3 bytes, we know for sure if this is one or the other.
On top of support for this functionality in Jena, I've added the same for RDF4J and added a bunch of integration tests.

The main docs should also be updated with this.


Add SHA property

Implements #191

@NasAmin is there an issue with the unit tests? I see other PRs are also failing with a similar error.

@NasAmin is there an issue with the unit tests? I see other PRs are also failing with a similar error.

Hi @flcdrg Thanks for the PR. I'll look into the issue this evening (UK time). Could you please run npm run all locally and check in the files from the dist directory please? I should update the README to make that clearer.

No worries. I've regenerated the dist files from within WSL (previously I'd committed on Windows), so hopefully that fixes the line endings. I wonder if that could be related to the build failure?

No the failure seems to be due to an issue with the checks API and the permissions for the default GITHUB_TOKEN. I'll look into that later which will hopefully unblock  your PR.

Oh.. that sounds similar to what I've been dealing with in regards to dependabot PRs. GitHub now treats builds from forks differently. The GITHUB_TOKEN is readonly, so my build won't have permission to update the check.
It's a bit annoying. The workaround I ended up using was creating a separate workflow_run triggered workflow that ran after the original pr workflow. That workflow then runs with full access to a token. A bit of messing around though!

@flcdrg I have read through and it does seem like an issue on PRs from Forks. I'll fix this in due time but for now I don't see any problems with your PR. I'll approve and merge if you agree?

Sounds good to me!


Support nested create ... does> second order words

The following advanced code should work:
: secondOrder create , does> create @ , does> @ ;

10 secondOrder bob
bob rob
rob . \ prints 10

It doesn't because the nested create overrides the data structures used to store the actions. We should use a stack of instructions instead, probably.

Fixed in 1409494d98019e97ad9718806d0a547f53d0a98b


Implement signing in FxOS Add-ons (bug 1198696)

https://bugzilla.mozilla.org/show_bug.cgi?id=1198696

Not super comfortable with the signing plans for addons, so I'll defer the r+ to somebody who knows expectations. Looks great though: endpoints, migrations, tests. Well done.

r+

nice work


Transferring small changes to COS Notebooks from nkerman (Revised)

I brought over the changes made during the initial pull requests back to nkerman/notebooks branch main.
There I performed some edits on the notebooks, principally:

Fixed html rendering issues
Fixed a couple ToC header issues
Fixed and updated links

I then made a new branch which I will make into my central branch, initially called main2. (After this PR, I may switch the current main --> main.OLD and the new main2 --> main). This branch was set up directly from the spacetelescope/notebooks master branch, (i.e. to simplify the history and so in the future we don't have to worry about the old commits in nkerman main where I had not cleared notebook cell outputs.)
I cherry picked the commits from main that were not redundant (some were to delete a few subdirectories which are unnecessary and were never merged to the upstream repo to begin with, like the html_renders directory)
I renamed the branches as discussed in step 3! This is why I had to re-open this PR, and close the previous iteration.
I am now PR-ing those changes to spacetelescope/notebooks master

Ohhh, gotcha, makes sense! Thanks for the clarification, @nkerman.  May want to sort that out later because it is possible it will confuse some readers, but definitely not a problem for today!


Make sirius compatible with libxc 7

Libxc 7 introduces a breaking change in their header file. The xc functionals are now defined in a separate header file xc_funcs.h that is not included by default in xc.h.
Apply formatting

apply-format.x does not seem to format the code correctly on my machine....

apply-format.x does not seem to format the code correctly on my machine....

Probably because behaviour of clang-format is slightly different from version to version. You need to use<EMAIL_ADDRESS>

It is compatible with libxc 6. The missing header file is surrounded by a #if  statement

The change regarding libxc looks good to me. We should revert the formatting commit and fix .clang-format afterwards. I'm getting the same diff, some changes look fine, others not, for example the indent in the python bindings.

The change regarding libxc looks good to me. We should revert the formatting commit and fix .clang-format afterwards. I'm getting the same diff, some changes look fine, others not, for example the indent in the python bindings.

Oh, I only use the apply-format script. Something is definitely wrong.  I will revert the patch.

I'm trying to figure out what has changed in clang-format, one option which apparently changed defaults is AlignTrailingComments.


[sdk] provide a common way to resolve uri's based on .packages

We have code in flutter and webdev/dwds tests (copy of flutter's) for class PackageMap that resolves uri's based on provided .packages file:
https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/dart/package_map.dart
would be great to provide it in the sdk to the other projects can reuse.

Having a common implementation is a good idea, but there is already support for reading and using the .packages file in the package_config package, which is vended into the SDK.
Also, the .package file is being replaced by the .dart_tool/package_config.json file, so your existing support will need to be updated. The good news is that the package_config package already has support for the new format, so you won't need to implement it yourself.
At the moment, tools should support both formats, favoring the new when its available, with plans to drop support for the old one in the future.


Detected blocking call to open inside the event loop by custom integration

System Health details
Core 2024.6.1
Supervisor 2024.06.0
Operating System 12.3
Checklist

[X] I have filled out the issue template to the best of my ability.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of any previous issues..

Describe the issue
Error log as below.
Reproduction steps

...
Debug logs
2024-06-08 09:05:43.154 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open inside the event loop by custom integration 'metservice_weather' at custom_components/metservice_weather/weather_current_conditions_sensors.py, line 205: > datetime.datetime.now(pytz.timezone("Pacific/Auckland")) (offender: /usr/local/lib/python3.12/site-packages/pytz/__init__.py, line 108: return open(filename, 'rb')), please create a bug report at https://github.com/ciejer/metservice-weather/issues
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, in _run_once
    handle._run()
  File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 742, in async_setup_locked
    await self.async_setup(hass, integration=integration)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/metservice_weather/__init__.py", line 53, in async_setup_entry
    await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2032, in async_forward_entry_setups
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2034, in <genexpr>
    create_eager_task(
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 37, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2081, in _async_forward_entry_setup
    await entry.async_setup(self.hass, integration=integration)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 134, in async_setup_entry
    return await component.async_setup_entry(entry)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 196, in async_setup_entry
    return await self._platforms[key].async_setup_entry(config_entry)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 333, in async_setup_entry
    return await self._async_setup_platform(async_create_setup_awaitable)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 363, in _async_setup_platform
    awaitable = create_eager_task(awaitable, loop=hass.loop)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 37, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/config/custom_components/metservice_weather/sensor.py", line 63, in async_setup_entry
    async_add_entities(sensors)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 515, in _async_schedule_add_entities_for_entry
    task = self.config_entry.async_create_task(
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1134, in async_create_task
    task = hass.async_create_task_internal(
  File "/usr/src/homeassistant/homeassistant/core.py", line 828, in async_create_task_internal
    task = create_eager_task(target, name=name, loop=self.loop)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 37, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 649, in async_add_entities
    await add_func(coros, entities, timeout)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 600, in _async_add_entities
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 914, in _async_add_entity
    await entity.add_to_platform_finish()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1355, in add_to_platform_finish
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1000, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1126, in _async_write_ha_state
    state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1061, in __async_calculate_state
    state = self._stringify_state(available)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1006, in _stringify_state
    if (state := self.state) is None:
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 543, in state
    value = self.native_value
  File "/config/custom_components/metservice_weather/sensor.py", line 122, in native_value
    return self.entity_description.value_fn(self._sensor_data, self._unit_system)
  File "/config/custom_components/metservice_weather/weather_current_conditions_sensors.py", line 205, in <lambda>
    > datetime.datetime.now(pytz.timezone("Pacific/Auckland"))

Diagnostics dump
No response

Looks like using zoneinfo is the preferred approach according to this blog post:
https://developers.home-assistant.io/blog/2021/05/07/switch-pytz-to-python-dateutil/

This should be resolved in 0.7 - please advise if any ongoing issues.
Sorry for the delay!


Passing HTML data attributes

Looking for some guidance about best practices.
Within the context of this plugin or any of its related plugins, is there a general mechanism to pass data-attributes, perhaps through @otherprops, similar to what is done with parallax or from the dita-bootstrap.extension plugin?
This is the target HTML we're attempting to get:
some fancy text

and

:
:

Notice that the @data-* values are JSON, which is not possible to put into @otherprops.  Instead of @otherprops, what if <data> was used?
<ph otherprops="data-fancy-text">
     <data>'{ "effect": "slide", "direction": "right", "color": "#ffe400",
     "speed": 100, "string": ["some", "fancy", "text"], "duration": 2500 }'</data>
      some fancy text</ph>

     <data>'{ "el": "childs", "translateY": [30, 0], "opacity": [0,1], "duration": 600,
      "delay": 0, "staggervalue":200, "easing": "easeOutQuad" }'</data>
:
:

Aside: @otherprops is not allowed on <title>.

Here's my current thought. I don't know that  should be hardcoded.
  <xsl:template match="*[@otherprops][data]" mode="otherprops-attributes">
    <xsl:variable name="attributeName" select="@otherprops"/>

      <xsl:attribute name="{$attributeName}">
        <xsl:value-of select="data" disable-output-escaping="yes"/>
      </xsl:attribute>
      <xsl:value-of select="text()"/>

  </xsl:template>

My quibble is now the JSON in the HTML is rendered with " rather than ".

Just use disable-output-escaping="yes"
<xsl:template match="*[@otherprops][data]" mode="commonattributes">
    <xsl:variable name="attributeName" select="@otherprops"/>
    <xsl:attribute name="{$attributeName}">
      <xsl:value-of select="data" disable-output-escaping="yes" />
    </xsl:attribute>
</xsl:template>

In your case I would probably just create a specialism of the <data> element - you could set the name of the attribute to match the attribute you want to create and legitimately use props to define the type of processing to be done.
<ph>
  <data name="data-anime" props="data-attribute">
    { "el": "childs", "translateY": [30, 0], "opacity": [0,1], "duration": 600,
      "delay": 0, "staggervalue":200, "easing": "easeOutQuad" }
   </data>
    Text goes here....
</ph>

Something like this:
<xsl:template match="*[contains(@class, ' topic/data ') and contains(@props, 'data-attribute')]">
    <xsl:attribute name="@name">
      <xsl:value-of select="." disable-output-escaping="yes" />
    </xsl:attribute>
</xsl:template>

I tend to use otherprops because my attributes are simple key-values and compared to something like:

  <data name="data-img-src" props="data-attribute">...</data>
  <data name="data-speed" props="data-attribute">0.3</data>
  Text goes here ...

I think combining all the data-attributes in one place is shorter and easier to read:

  Text goes here ...

I suppose it would be possible to amend existing templates to cover something like this.


Shelly Plus 1 PM support possible EU issue?

Hi Scott,
I've got 3 shellies running one, but one is acting strange through the plugin.
This shows debug message after restart:
Sep 24 11:00:48 boatnet signalk-server[21761]: 2023-09-24T09:00:48.444Z signalk-shelly discovered device 3C6105FE1484 SHSW-1 @ <IP_ADDRESS>
Sep 24 11:00:48 boatnet signalk-server[21761]: 2023-09-24T09:00:48.448Z signalk-server:put registered action handler for vessels.self electrical.switches.starlink.state signalk-shelly
Sep 24 11:00:48 boatnet signalk-server[21761]: 2023-09-24T09:00:48.451Z signalk-shelly sending meta: [{"path":"electrical.switches.starlink.state","value":{"timeout":3840}},{"path":"electrical.switches.starlink.state","value":{"units":"bool"}},{"path":"electrical.switches.starlink.input0","value":{"timeout":3840}},{"path":"electrical.switches.starlink.externalTemperature0","value":{"timeout":3840}},{"path":"electrical.switches.starlink.externalTemperature0","value":{"units":"K"}},{"path":"electrical.switches.starlink.externalTemperature1","value":{"timeout":3840}},{"path":"electrical.switches.starlink.externalTemperature1","value":{"units":"K"}},{"path":"electrical.switches.starlink.externalTemperature2","value":{"timeout":3840}},{"path":"electrical.switches.starlink.externalTemperature2","value":{"units":"K"}}]
Sep 24 11:00:48 boatnet signalk-server[21761]: 2023-09-24T09:00:48.487Z signalk-naviop-plugin path: electrical.switches.starlink.state  state: 0  source: signalk-shelly
Sep 24 11:01:02 boatnet signalk-server[21761]: 2023-09-24T09:01:02.496Z signalk-shelly discovered device 98CDAC0D6A71 SHSW-1 @ <IP_ADDRESS>
Sep 24 11:01:02 boatnet signalk-server[21761]: 2023-09-24T09:01:02.497Z signalk-server:put registered action handler for vessels.self electrical.switches.orionCharger.state signalk-shelly
Sep 24 11:01:02 boatnet signalk-server[21761]: 2023-09-24T09:01:02.498Z signalk-shelly sending meta: [{"path":"electrical.switches.orionCharger.state","value":{"timeout":3840}},{"path":"electrical.switches.orionCharger.state","value":{"units":"bool"}},{"path":"electrical.switches.orionCharger.input0","value":{"timeout":3840}},{"path":"electrical.switches.orionCharger.externalTemperature0","value":{"timeout":3840}},{"path":"electrical.switches.orionCharger.externalTemperature0","value":{"units":"K"}},{"path":"electrical.switches.orionCharger.externalTemperature1","value":{"timeout":3840}},{"path":"electrical.switches.orionCharger.externalTemperature1","value":{"units":"K"}},{"path":"electrical.switches.orionCharger.externalTemperature2","value":{"timeout":3840}},{"path":"electrical.switches.orionCharger.externalTemperature2","value":{"units":"K"}}]
Sep 24 11:01:07 boatnet signalk-server[21761]: 2023-09-24T09:01:07.401Z signalk-shelly discovered device shellyplus1pm-08b61fd5e38c Shelly Plus 1 PM @ undefined
Sep 24 11:01:07 boatnet signalk-server[21761]: 2023-09-24T09:01:07.401Z signalk-server:put registered action handler for vessels.self electrical.switches.dolphinCharger.state signalk-shelly
Sep 24 11:01:07 boatnet signalk-server[21761]: 2023-09-24T09:01:07.404Z signalk-shelly sending meta: [{"path":"electrical.switches.dolphinCharger.state","value":{"units":"bool"}},{"path":"electrical.switches.dolphinCharger.voltage","value":{"units":"V"}},{"path":"electrical.switches.dolphinCharger.temperature","value":{"units":"K"}},{"path":"electrical.switches.dolphinCharger.temperature","value":{"units":"K"}},{"path":"electrical.switches.dolphinCharger.source","value":{"units":"string"}},{"path":"electrical.switches.dolphinCharger.apower","value":{"units":"W"}},{"path":"electrical.switches.dolphinCharger.current","value":{"units":"A"}},{"path":"electrical.switches.dolphinCharger.powerFactor","value":{"units":"W"}},{"path":"electrical.switches.dolphinCharger.input0","value":{"units":"bool"}}]

Especially this undefined stands out:
Sep 24 11:01:07 boatnet signalk-server[21761]: 2023-09-24T09:01:07.401Z signalk-shelly discovered device shellyplus1pm-08b61fd5e38c Shelly Plus 1 PM @ undefined
It identifies as follows:
{"name":"dolphinShelly","id":"shellyplus1pm-08b61fd5e38c","mac":"08B61FD5E38C","model":"SNSW-001P16EU","gen":2,"fw_id":"20221024-142010/0.11.4-ga1906a2","ver":"0.11.4","app":"Plus1PM","auth_en":false,"auth_domain":null}

Host/dhcp/ip config is similar to other two. I can ping it and access the webinterface.
The plugin picks it up, updates some initial data but then seems to stop.
Support for the Shelly Plus 1 PM is there according to the README and shellies-ng/dist/devices/shelly-plus-1-pm.js contains the model id.

The config seems slightly off looking at how the model id/name is used differently:
pi@boatnet:~ $ cat .signalk/plugin-config-data/signalk-shelly.json
{
  "configuration": {
    "tempUnits": "C",
    "Device ID SHSW-1-98CDAC0D6A71": {
      "deviceName": "Shelly 1 ",
      "enabled": true,
      "devicePath": "orionCharger"
    },
    "Device ID SHSW-1-3C6105FE1484": {
      "deviceName": "Shelly 1 ",
      "enabled": true,
      "devicePath": "starlink"
    },
    "Device ID Shelly Plus 1 PM-shellyplus1pm-08b61fd5e38c": {
      "deviceName": "Shelly Plus 1 PM ",
      "enabled": true,
      "devicePath": "dolphinCharger"
    },
    "nextGenPassswords": [],
    "Device ID SHSW-1-D65B6A": {
      "deviceName": "Shelly 1 ",
      "enabled": true,
      "devicePath": "instrumentpanel"
    }
  },
  "enabled": true,
  "enableDebug": true

And I noticed the old firmware, but updating that didn't make any difference :/


Azure Workbook built on MDEASM Data Connector

@microsoft-github-policy-service agree company="Microsoft"
Josh Randall
Global Black Belt | Threat Intelligence & EASM
Microsoft Securityhttps://www.microsoft.com/en-us/security/ | Commercial Solutionshttps://www.microsoft.com/en-us/industrysolutions/solutions/security
@.***

From: microsoft-github-policy-service[bot] @.>
Sent: Friday, March 24, 2023 10:38
To: Azure/MDEASM-Solutions @.>
Cc: Joshua Randall @.>; Mention @.>
Subject: Re: [Azure/MDEASM-Solutions] Azure Workbook built on MDEASM Data Connector (PR #9)
@mr-mongohttps://github.com/mr-mongo please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"
Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
and conveys certain license rights to Microsoft Corporation and its affiliates (“Microsoft”) for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
“Code” means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
“Project” means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.orghttp://www.opensource.org/).
“Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase “Submission
containing materials of a third party:” followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project’s written
guidelines concerning Submissions.
Your Employer. References to “employer” in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/MDEASM-Solutions/pull/9#issuecomment-1483096107, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6NDXOKWFXSDFDVK6YZNVDDW5XEXZANCNFSM6AAAAAAWGZD4M4.
You are receiving this because you were mentioned.Message ID: @.***>

Updated mdeasm_workbook_template.json eval of the oldest snapshot date (that is usually ignored b/c EASM workspaces built on pre-seeded templates usually have a lot of stale asset data until disco gets run) to use a dummy date if there's only one snapshot. this ensures the workbook visualizations will still show data if there's only one snapshot


External dependency might cause slow page load/errors

It took me a while to catch this, but debugging a slow page load I've found the cause to be this line in typography.html:
<!-- Import Roboto from Google Fonts -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" crossorigin="anonymous">

If a Vaadin app is used without Internet access or behind a captive portal, an external dependency like this might slow down page load or even throw errors.
P.S. I'm not even using vaadin-material-styles, but somehow it comes along with other dependencies via Flow webjars.

Oh, are we importing that by default in our Material theme? Seems risky. I would avoid that, and leave as an option for the developer.

Any update on this? Still causes major trouble for apps without internet access.

Still not clear to me why the browser makes that request even if I'm not using the Material theme.

Yes that's weird. Can you reproduce this without Flow, using web component only?

Turns out this is happening only when bundling the Flow app for production: the unused files are loaded from the bundle. In development mode it doesn't happen.

Yeah, IIRC the Flow bundler scans for all the HtmlImports it finds in the classpath and adds them to the main bundle. So AFAIK the easiest way to exclude a non-used html-file is to exclude the maven dependency that imports it. Maybe it's also possible by moving the non-used imports into a separate fragment.


Typedoc and overloaded methods

Typescript's support for overloaded methods is primitive, but documented. But Typedoc's support for them seems to be sketchy. Given a class containing the following declarations:
/** Minimum values */
protected _minValue: number;

/**
 * Get the minimum value
 *
 * @return the minimum value, or undefined if not yet known.
 */
public MinValue(): number;

/**
 * Set the minimum value for the axis
 *
 * @param The minimum to use.
 *
 * @return The class instance.
 */
public MinValue(value: number): MyClass;

// Min value implementation
public MinValue(value?: number): any {
    if (undefined === value) {
        // Get min value
        return this._minValue;
    } else {
        // Set min value
        this._minValue = value;
        return this;
    }
}   // MinValue

Typedoc clearly understands that there are multiple declarations, but the information in the method documentation only refers to the first overload.
The attached result was build with the command typedoc --out doc --target ES5 .
sample.zip

Never mind. I finally noticed the little green arrows next to the method. Clicking them switches among overloaded definitions.


a-doption support disabled

[ ] I'm sure this does not appear in the issue list of the repository

Basic Info
What are the similar cases of this feature
a-doption support disabled
What problem does this feature solve?
a-doption support disabled

2.7.0版本已经添加


⚠ OBSN has degraded performance

In 080311b, OBSN (https://obsn.org) experienced degraded performance:

HTTP code: 200
Response time: 22754 ms

Resolved: OBSN performance has improved in c52e894 after 7 minutes.


Persist_sample_percent - option to statistics maintenance

Hi,
First: Thank you very much for your script they are just awesome.
I have a suggestion for feature that I think does not exists. Also I tried to look if someone has already asked that and could not find that. I'm sorry if this is a duplicate of already existing request.
SQL Server has a feature for setting auto update statistics threshold to something else than default. Would be good if this setting could also be set when running your scripts.
https://support.microsoft.com/en-us/topic/kb4039284-enhancement-new-keyword-is-added-to-create-and-update-statistics-statements-to-persist-sampling-rate-for-future-statistics-updates-in-sql-server-55871e7f-d4eb-e4f1-d7c5-2e7ba3985c9c
If you want I can create a pull request with that feature implemented if you want.

Hi Vesa,
just few days ago i asked to Ola if he could implement the persist_sample_percent parameter in his mantainance script.
I hadn't notice your open issue. It will be great to take a look to your version of mantainence script.
Thanks in advance.
Bye.


2024-10-24_01-35-04_master-next_aws-c-iot

Automatically created.

You have exceeded a secondary rate limit and have been temporarily blocked from content creation. Please retry your request again later. If you reach out to GitHub Support for help, please include the request ID FC81:2FC122:DB6454:1AB3679:671A093C and timestamp 2024-10-24 08:45:50 UTC.

You have exceeded a secondary rate limit and have been temporarily blocked from content creation. Please retry your request again later. If you reach out to GitHub Support for help, please include the request ID FC81:2FC122:DB6A7A:1AB4288:671A093E and timestamp 2024-10-24 08:45:51 UTC.

You have exceeded a secondary rate limit and have been temporarily blocked from content creation. Please retry your request again later. If you reach out to GitHub Support for help, please include the request ID FC81:2FC122:DB7040:1AB4DB5:671A0940 and timestamp 2024-10-24 08:45:53 UTC.


Proposal: refac test implementation

Currently, we test the interfaces in QEDbase.jl by (partially) using existing implementations of the interfaces, which live in QEDcore.jl. In my opinion, there are some issues with this approach:

running the unit tests in QEDbase.jl puts the Julia session in a stage with circular dependencies. This is especially true, if one wants to test QEDbase.jl against a particular version of QEDcore.jl
changes to either QEDbase.jl or QEDcore.jl are very painful, because in both directions, one needs to take care og the integration (strong dependence in the one, and weak dependence in the other direction)
conventionally, it makes no sense tontest interfaces (and their interoperability) by using implementations outside of the testing environment of QEDbase.jl. The tests of the specific implementations belong to the package which provides them, e.g. QEDcore.jl

Suggested solution
Rewrite of the unit tests, especially the TestImplementation module. This shall fulfill the following requirements:

All interface in QEDbase.jl must get a flat and simple test implementation and unit tests to check them
the unit tests must only check behavior and properties, not correctness of the output
test implementations must only depend on other test implementations

Meeting these requirements should allow to drop QEDcore.jl as a test dependency. Moreover, this would solve all issues raised above.

This might allow an easier solution of #140


iOS issue: getUniqueIdSync value got changed when not opening the app for few weeks

Hi, on my app my unique ID is changing value from BA9DAAEA-E3CB-4544-BA4A-303EF97EF46E105793 to BA9DAAEA-E3CB-4544-BA4A-303EF97EF46E,  for a long time we didn't have this kind of issue before (my app was live since 5 years ago).
I have some hypothesizes, is it possible that:

There might be some other app that use older / newer version of the app that cause this value to be changed
Some app changed the value through the same UIDKey that this library used

Summary

Version
13.2.0

Affected OS
iOS

OS Version
18.1.1

Could be this https://github.com/react-native-device-info/react-native-device-info/blob/master/CHANGELOG.md#1200-2024-09-12


Android Basics: Amphibians app

Very hard to complete when the people writing this stuff never respond.

Check this out #16, it may help.


No nav items in mobile nav drawer

Just a quick heads-up that the mobile nav drawer contains no nav items, so navigating your site isn't possible on mobile devices. This is because you're hiding the nav list to keep the content width while not showing the sidebars (on desktop screens):
https://github.com/pawamoy/website/blob/39bc50711c12dc0f47cbf541725fdd1c0017a14b/docs/index.md?plain=1#L12-L16
I think you could make this work by wrapping this override with a media query to apply it only on screen sizes that show the regular nav header.

Oh damn, you're right 😨 Thank you so much! I'll try to use a media query 👍

Fixed in 85743f32edf0879e60dce8d8550ac1e7b6c14e7b, thanks again!


[BEAM-6749] Add BigQuery Storage API info to docs

R: @chamikaramj @kmjung
CC: @davidcavazos

Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

Before merge, I'll need to add relevant Javadoc links (withMethod, withReadOptions) after the PR with the Javadoc for 2.11.0 is merged and live on the site

LGTM pending the updates that you mention and one minor nit.

LGTM. Thanks.

Page staged at http://apache-beam-website-pull-requests.storage.googleapis.com/7950/documentation/io/built-in/google-bigquery/index.html

Run Website PreCommit

Run Website PreCommit


Suggestion: Use go binary file directly when build docker image

Rancher Version:
1.2.0
Build within docker container generates image with very large footprint.
For example "rancher-net" image took 259mb.
A much size efficient way can be achieved by building docker image directly using go binary file.
For example: https://github.com/containous/traefik/blob/master/Dockerfile
traefik's docker image size is only 6mb.

With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.


Release workflow fails

Describe the bug
The New Release workflow fails on the Commit Changelog and Manifest steps. build step. I think this is because we have added a check on the main branch to require a review before committing.
To Reproduce
Trigger the New Release Workflow
Expected behavior
The build should complete by somehow overcoming the review required step.
Additional context
@dmartin35 - can you advise please on your return to work

https://github.com/reliablyhq/cli/pull/307

we have to try keeping the initial committer of the changeling as @reliably-ci
see https://github.com/reliablyhq/cli/issues/119
Maybe we can create the PR on behalf of @reliably-ci  and approved it automatically by the user who ran/triggered the workflow

https://github.com/reliablyhq/cli/pull/309

Manual workflow behaves as:

create a release branch release/v1.2.3
updates the changelog & commit it with @reliably-ci as committer (important for krew bot)
creates a PR, approve it (on behalf of github-actions bot so that reviewer is different from PR owner) & merge it
checkouts back the main branch & pull latest changes after PR merge
tag with release version & push tag (that will trigger the release workflow)


Script deleted LFS files using git filter-repo but space is still used

Is your feature request related to a problem? Please describe.
I'm trying to save space by deleting lots of intermediate checkpoints using a script. But it seems like the files are deleted from git history but the CDN still has them and the repo still has the same size.
Describe the solution you'd like
There's an extra step I should add to the script but I'm not sure what is it.
Describe alternatives you've considered
The way that actually reduces the repo size is the menu in settings but it would take lots of effort to repeat the steps for each file.
Additional context
Here's the script
#!/usr/bin/env bash
# -*- coding: utf-8 -*-
set -eu -o pipefail
log() { echo "${@}" 1>&2; }; stt=$SECONDS; trap 'log $(basename $0): total duration: $(($SECONDS-$stt)) seconds' EXIT

# pip install git-filter-repo

repo_id=$1
pattern=$2
echo "Will clean '$pattern' from Repo ID: $repo_id"
read -p "Enter token: " -s hub_token
(! [ -z "$hub_token" ] || read -p "Enter token: " -s hub_token; GIT_LFS_SKIP_SMUDGE=1 git clone<EMAIL_ADDRESS>owd="$PWD"
repo_dir=$(basename $repo_id)
cd $repo_dir
git filter-repo --path-glob "$pattern" --invert-paths
(! [ -z "$hub_token" ] || read -p "Enter token: " -s hub_token; git remote add origin<EMAIL_ADDRESS>git push --set-upstream origin main -f
cd "$owd"
rm -rf "$repo_dir"

Hi @m-elagdar, sorry you encountered this issue! I suggest using huggingface-cli repo-files directly Instead of git-filter-repo:
# Install huggingface-cli
pip install -U "huggingface_hub[cli]"

# Login
huggingface-cli login

# Delete files
huggingface-cli repo-files username/repo-name delete "pattern/*"

I'm closing this issue but please feel free to comment if you have any other related question!

Thanks, I tried this command but it simply created a new commit with the files deleted which doesn't save space.
I also tried HfApi.super_squash_history but it's only useful to delete older versions of the same path. So to fully delete files, I'd have to guess all their names, replace them with 1byte files then run super_squash_history
So both super_squash_history and the "LFS files list" in settings do some extra step per file that I can't find because the source code just calls an internal API: super-squash

Here's a workaround script that effectively replaces the matches with 1-byte files then reclaims the space using super-squash then removes the 1-byte lfs pointers
#!/usr/bin/env bash
# -*- coding: utf-8 -*-
set -eu -o pipefail
log() { echo "${@}" 1>&2; }; stt=$SECONDS; trap 'log $(basename $0): total duration: $(($SECONDS-$stt)) seconds' EXIT

repo_id=$1
pattern=$2
unseen_names=${3-}
echo "Will clean '$pattern' from Repo ID: $repo_id"
read -p "Enter token: " -s hub_token
(! [ -z "$hub_token" ] || read -p "Enter token: " -s hub_token; GIT_LFS_SKIP_SMUDGE=1 git clone<EMAIL_ADDRESS>owd="$PWD"
repo_dir=$(basename $repo_id)
cd $repo_dir

log -e "\n\nReducing matched file-sizes to 1-byte"
if [ ! -z "$pattern" ]; then find . -name "$pattern" | while read f; do printf "\0" > $f; done; fi
if [ ! -z "$unseen_names" ]; then unseen_temp=$(mktemp); cat "$unseen_names" | tee "$unseen_temp" | while read f; do printf "\0" > $f; done; fi
(git add -Av; git commit -m "replace files matching: "$pattern" with 1-byte files")
git push

log -e "\n\nMerging all commits (super-squash)"
python3 -c "import sys; from huggingface_hub import HfApi; api = HfApi(token=(\"$hub_token\")); api.super_squash_history(repo_id=sys.argv[1])" "$repo_id"

log -e "\n\nCleaning the 1-byte pointers in a new commit"
git fetch origin; GIT_LFS_SKIP_SMUDGE=1 git reset --hard origin/main
if [ ! -z "$pattern" ]; then find . -name "$pattern" -exec rm {} \; ; fi
if [ ! -z "${unseen_temp-}" ]; then cat "$unseen_temp" | while read f; do echo rm $f; rm $f; done; rm "$unseen_temp"; fi
(git add -Av; git commit -m "remove 1-byte LFS pointers")
git push
cd "$owd"
rm -rf "$repo_dir"

Usage

Option 1: Clean existing files
clean_hf_repo.sh repo_id "pattern*"
Option 2: Clean non-existing files (Assuming their names are {checkpoint-100.pt, checkpoint-110.pt ... checkpoint-200.pt})
clean_hf_repo.sh repo_id "" <(printf "%s\n" checkpoint-{100..200..10}.pt)

(maybe cc @Kakulukian for viz^)

Hello, to clean up storage space, you can refer to https://huggingface.co/docs/hub/storage-limits#how-can-i-free-up-storage-space-in-my-accountorganization

Thanks, the issue is based on this doc page, which gives no solution to deleting files that have different names other than deleting them from the UI one-by-one (which requires at least 4 left/mid clicks per file)


Fix: code quality issues

Description
Hi :wave: I work at DeepSource, I ran DeepSource analysis on the forked copy of this repo and found some interesting code quality issues in the codebase, opening this PR so you can assess if our platform is right and helpful for you.
Summary of changes

Use literal syntax instead of function calls to create data structure
Use sys.exit() calls
Remove unnecessary generator
Refactor unnecessary else / elif when if block has a raise statement
Remove implicit object from the base class
Added .deepsource.toml config file to continuously analyze the repo

Hi @Eloston :wave:
I'd like to get your feedback on DeepSource :sparkles:
Using DeepSource to continuously analyze your repository for code quality issues:

This repo already has the configuration file required to configure analysis settings.
Install DeepSource on your repository here.
Activate analysis here.

Hi @withshubh
Nothing much to report. So far the integration with GitHub has been smooth, and DeepSource has a nice UX overall. I especially like the detailed explanations for each of its suggestions; keep it up!
This project is a bit unusual compared to other software projects because its main component are patches on another code base (Chromium) instead of typical source code files. There is some Python tooling that's been built up over the years, but they are to support the patches and do not have a lot of active development. So I wouldn't expect much exciting feedback on Deep Source from this project.
That being said, I am looking to to applying Deep Source to more traditional software projects where I can. I believe there is a lot of potential in static analysis tooling, and more sophisticated development tooling in general. Looking forward to seeing where you guys take this!

Thank You so much for your feedback @Eloston :sparkling_heart:
We are constantly working to make DeepSource better.


doc strings for all convert_2_magic functions

These may need to be improved, but the basics are in place.

Many of the convert_2_magic functions have Parameters/Returns, but many do not!
Incomplete docstrings:  iodp_samples, k15_magic, kly4s_magic, livdb, sufar4
missing docstrings: iodp_srm, jr6_txt, mini, mst, pmd, s_magic, utrecht
Not sure how I missed so many!  I think I was trying to get #405 done, so I stopped worrying about these docstrings.  @ltauxe, I'm going to reopen this issue and get to it eventually :)

This is finally done!  The docstrings may need some clarifications or changes, but they are all there in something approaching a standard format.


Update link to helm chart

@MGoedtel
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@MGoedtel Ive replied to your comment when you have a moment, thanks

#sign-off


[Spotify-Controls] Add decrease and increase volume commands

Description
This adds two commands to the spotify-controls extension.

Increase Volume - Increases volume by 10
Decrease Volume - Decreases volume by 10

Both of these are pretty self-explanatory, but here's a quick screen recording to show it off.
Screencast
https://user-images.githubusercontent.com/83948303/161391301-dc7d65b0-a40c-419a-9a64-15ee1e8cb2aa.mp4
Checklist

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

Solid additions @DillonB07


Separate history assigned state

Separate the needed states for actually drawing in a own state variable to minimize cached data.
https://github.com/typable/outline/blob/d5c42996d5fe4b714d8dc8f0f867dfd98168e28f/public/js/mod/canvas.js#L137

Fixed due to d365f45.


Add a Shuffled study session.

Create a subclass of BaseStudySession that shuffles the card before iterating on them.

https://github.com/zergov/flashcards/commit/2094d1fddb6fc499172e5df3f99a23a730f63e6d


in Flutter 3.22+, aria-label is gone from the semantics

Steps to reproduce

I have searched the existing issues
and read the guide to filling a bug

This is my flutter and dart version:
Flutter 3.22.2 • channel stable • https://github.com/flutter/flutter.git Framework • revision 761747bfc5 (6 weeks ago) • 2024-06-05 22:15:13 +0200 Engine • revision edd8546116 Tools • Dart 3.4.3 • DevTools 2.34.3

I have added this line of code in the main.dart SemanticsBinding.instance.ensureSemantics();
I can see the html is showing elements instead of one
However, unlike most examples on the internet, there are no aria-label in the html semantics even I added semanticsLabel to Text().

I have found a similar issue: https://stackoverflow.com/questions/78669589/flutter-version-3-22-0-or-above-the-aria-label-attribute-is-not-displayed and suspect that it is due to flutter version 3.22
I can't find any documentation of explaining why the aria-label is removed. We rely on the aria-label to identify elements in our automation tests. Please let me know if there are other ways to add identifier to DOM.
Expected results
aria-label in most html elements especially those with semanticsLabel set in dart widgets.
Actual results

Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.22.2, on macOS 14.4 23E214 darwin-x64, locale en-AU)
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[!] Xcode - develop for iOS and macOS (Xcode 15.4)
    ✗ Unable to get list of installed Simulator runtimes.
    ! CocoaPods 1.12.1 out of date (1.13.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#updating-cocoapods for instructions.
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2023.2)
[✓] VS Code (version 1.90.0)
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 2 categories.

@ariesxje
With below code sample, running in stable 3.22.2 and on web, I do see the aria-label as shown below:

 code sample

import 'package:flutter/material.dart';
import 'package:flutter/semantics.dart';

// Flutter code sample for [DropdownMenu]s. The first dropdown menu
// has the default outlined border and demos using the
// [DropdownMenuEntry] style parameter to customize its appearance.
// The second dropdown menu customizes the appearance of the dropdown
// menu's text field with its [InputDecorationTheme] parameter.

void main() {
 // SemanticsBinding.instance.ensureSemantics();
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const DropdownMenuExample());
}

// DropdownMenuEntry labels and values for the first dropdown menu.
enum ColorLabel {
  blue('Blue', Colors.blue),
  pink('Pink', Colors.pink),
  green('Green', Colors.green),
  yellow('Orange', Colors.orange),
  grey('Grey', Colors.grey);

  const ColorLabel(this.label, this.color);
  final String label;
  final Color color;
}

// DropdownMenuEntry labels and values for the second dropdown menu.
enum IconLabel {
  smile('Smile', Icons.sentiment_satisfied_outlined),
  cloud(
    'Cloud',
    Icons.cloud_outlined,
  ),
  brush('Brush', Icons.brush_outlined),
  heart('Heart', Icons.favorite);

  const IconLabel(this.label, this.icon);
  final String label;
  final IconData icon;
}

class DropdownMenuExample extends StatefulWidget {
  const DropdownMenuExample({super.key});

  @override
  State<DropdownMenuExample> createState() => _DropdownMenuExampleState();
}

class _DropdownMenuExampleState extends State<DropdownMenuExample> {
  final TextEditingController colorController = TextEditingController();
  final TextEditingController iconController = TextEditingController();
  ColorLabel? selectedColor;
  IconLabel? selectedIcon;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        useMaterial3: true,
        colorSchemeSeed: Colors.green,
      ),
      home: Scaffold(
        body: SafeArea(
          child: Column(
            children: <Widget>[
              Semantics(
                child: Text('This is sample text'),
              )
                  ]
                )
          ),
        ),
      );
  //  );
  }
}

Check the same and see if it helps to answer your issue.

@ariesxje
if you inspect the elements, you should be able to see the issue.
Running 3.22.2

Running 3.19.6

@darshankawar
I think you didn't add the line from step 1 in this issue.
SemanticsBinding.instance.ensureSemantics()

I've included the line and same issue.
Code sample
[import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/semantics.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SemanticsBinding.instance.ensureSemantics();
  runApp(const MainApp());
}

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        useMaterial3: true,
        colorSchemeSeed: Colors.green,
      ),
      home: Scaffold(
        body: SafeArea(
            child: Column(children: <Widget>[
          Semantics(
            child: const Text('This is sample text'),
          )
        ])),
      ),
    );
  }
}
]

With the changes in https://github.com/flutter/engine/commit/6710d10ad703fb8cc4ff658fb28783fd1bbd16de the semantics information is rendered in a different format without the aria-label attribute.
@yjbanov

Help me understand: does this BREAK accessibility or just change behavior? The behavior change was intentional...but accessibility should still work.

Help me understand: does this BREAK accessibility or just change behavior? The behavior change was intentional...but accessibility should still work.

Most of the aria-label's are gone so it definitely impacts the accessibility. Is there any reason for the intentional change? and also how can we add identifiers to elements without the aria-label?

SemanticsBinding.instance.ensureSemantics()

Upon adding above line, the said syntax isn't rendered in console. Without it, the aria-label is displayed per my earlier verification.
Keeping the issue open and labeling for team's tracking.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.22.2, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.22.2 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 761747bfc5 (33 hours ago), 2024-06-05 22:15:13 +0200
    • Engine revision edd8546116
    • Dart version 3.4.3
    • DevTools version 2.34.3
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.24.0-1.0.pre.197, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.24.0-1.0.pre.197 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 0bac2be379 (76 minutes ago), 2024-07-19 00:15:26 -0400
    • Engine revision ea1e53a4e8
    • Dart version 3.6.0 (build 3.6.0-55.0.dev)
    • DevTools version 2.37.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

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

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

This was an intentional change, and it should not break accessibility. In most cases, especially with JAWS on Windows, accessibility should be improved.
The change was: when the label can be added as normal DOM text, the web engine prefers using DOM text instead of aria-label. Otherwise, aria-label is used. For example, plain text nodes (such as paragraph), headings, buttons, links can all communicate their labels as normal DOM text nodes, for example, this is the new way a button is rendered into semantics:
<flt-semantics role="button" ...>
  Click me
</flt-semantics>

Notice that the "Click me" text is just plain text inside the element. There's no aria-label. This behavior is expected, and all screen readers should support it (it would be quite shocking if they didn't). On top of that, this improves indexing, because most web crawlers ignore aria-label and only crawl plain text.
aria-label is still used when the label cannot be communicated using plain text, such as when the node is a container of other child nodes.
Having, said that, if this does indeed break accessibility, I'd like to investigate. @ariesxje, please LMK if there's a scenario that's not covered.

@yjbanov Thank you for the explanation on accessibility. My biggest concern is the ability to add an identifier to elements so that web drivers can locate them. I understand using aria-label is not the best way to identify an element in DOM, however, we also tried using Semantics() and still no attribute is added to any element that can be used as an identifier for the web driver to locate an element. This is for automation testing.

Have you tried Semantics(identifier: ...)? This will add a flt-semantics-identifier attribute on the HTML element.
 We will not tolerate abuse. Please keep your tone professional.

@kevmoo constructive feedback, please bring back aria labels , and stop breaking things https://github.com/flutter/flutter/issues/141975 there are companies that rely on this framework and hasn't been my choice


Fixing build issues

build failed on CI.

How didn't we catch it?

There must be some build difference between CI and appveyor/jenkins. I pulled it and it failed to build locally too.


refactor to use Filters

Closes #61 .

Looks great! Issue #67 might require some small changes on top of this.


[Bug]: query/prepare_test: execScan eats up error when sql.Row is used

Preflight Checklist

[X] I could not find a solution in the documentation, the existing issues or discussions
[X] I have joined the ZITADEL chat

Environment
Self-hosted
Describe the bug
When testing errors in a statement prepare function for a sql.Row, using assertPrepare(), errors are not being covered. This is because scan never gets executed, as the error is checked before:
https://github.com/zitadel/zitadel/blob/7eb8ecfc5195e73c6ec98dd89b407f82adaaf5a1/internal/query/prepare_test.go#L146-L150
It is safe to run scan on sql.Row, even in case of an error:

QueryRowContext executes a query that is expected to return at most one row. QueryRowContext always returns a non-nil value. Errors are deferred until Row's Scan method is called. If the query selects no rows, the *Row's Scan will return ErrNoRows. Otherwise, the *Row's Scan scans the first selected row and discards the rest.

To reproduce
Steps to reproduce:

write a prepare* function:

func prepareDeviceAuthQuery(ctx context.Context, db prepareDatabase) (sq.SelectBuilder, func(*sql.Row) (*DeviceAuth, error)) {
	return sq.Select(deviceAuthSelectColumns...).From(deviceAuthTable.identifier()),
		func(row *sql.Row) (*DeviceAuth, error) {
			dst := new(DeviceAuth)
			err := row.Scan(
				&dst.ClientID,
				&dst.Scopes,
				&dst.Expires,
				&dst.State,
				&dst.Subject,
			)
			if errs.Is(err, sql.ErrNoRows) {
				return nil, errors.ThrowNotFound(err, "QUERY-pCP8P", "Errors.App.NotExisting")
			}
			if err != nil {
				return nil, errors.ThrowInternal(err, "QUERY-0R2Nw", "Errors.Internal")
			}
			return dst, nil
		}
}

write tests, with only the error case:

func Test_prepareDeviceAuthQuery(t *testing.T) {
	type want struct {
		sqlExpectations sqlExpectation
		err             checkErr
	}
	tests := []struct {
		name   string
		want   want
		object interface{}
	}{
		{
			name: "other error",
			want: want{
				sqlExpectations: mockQueryErr(
					expectedDeviceAuthQuery,
					sql.ErrConnDone,
				),
				err: func(err error) (error, bool) {
					if !errors.Is(err, sql.ErrConnDone) {
						return fmt.Errorf("err should be sql.ErrConnDone got: %w", err), false
					}
					return nil, true
				},
			},
		},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			assertPrepare(t, prepareDeviceAuthQuery, tt.object, tt.want.sqlExpectations, tt.want.err, defaultPrepareArgs...)
		})
	}
}

Screenshots
No test coverage for the error case:

Expected behavior
Cover the complete code, including the errors.
Version
main branch
Operating System
No response
Relevant Configuration
No response
Additional Context
When the following is commented-out:
		/*
			if row.Err() != nil {
				return errCheck(row.Err())
			}
		*/

coverage is fine:

Important: simply removing the code breaks many tests. As object is of type interface{} and now all error cases start returning a typed nil, resulting in non-equal tests. So in order to solve this, it requires some refactoring where we use proper typing for the expected object.

@adlerhurst @muhlemmer can you estimate this issue?

I prefer to close this. It was merely a frustration as a beginning software engineer with zitadel. Although this can be improved, I don't see that we have time for that. Once you know, you know :shrug: