Question for function ChangeImgIPD

Hi,
I want to change the default value for IPD. I tried to change in the UI of Unity but not working. Then I tried to change it in the function below but still not working. Can you give some hints? Thanks!
private void Start()
{
    if (targetSlider)
    {
        targetSlider.onValueChanged.AddListener(OnSliderValueChanged);
    }

    UpdateTextValue(targetSlider.value);
    ChangeImgIPD(0.02f);
}

Hi, 你好，
I want to change the default value for IPD. I tried to change in the UI of Unity but not working. Then I tried to change it in the function below but still not working. Can you give some hints? Thanks!我想更改 IPD 的默认值。我尝试更改 Unity 的 UI，但没有成功。然后我尝试在下面的函数中更改它，但仍然不起作用。你能给一些提示吗？谢谢！
private void Start()
{
    if (targetSlider)
    {
        targetSlider.onValueChanged.AddListener(OnSliderValueChanged);
    }

    UpdateTextValue(targetSlider.value);
    ChangeImgIPD(0.02f);
}

sorry I didn't see it. Have you solved the problem now？

Hi, 你好，
I want to change the default value for IPD. I tried to change in the UI of Unity but not working. Then I tried to change it in the function below but still not working. Can you give some hints? Thanks!我想更改 IPD 的默认值。我尝试更改 Unity 的 UI，但没有成功。然后我尝试在下面的函数中更改它，但仍然不起作用。你能给一些提示吗？谢谢！
private void Start()
{
    if (targetSlider)
    {
        targetSlider.onValueChanged.AddListener(OnSliderValueChanged);
    }

    UpdateTextValue(targetSlider.value);
    ChangeImgIPD(0.02f);
}

sorry I didn't see it. Have you solved the problem now？

Thanks, it is already be solved.


Ex. 5.7 (Lambert conformal projection): changing unit of projection_*_coordinate from km to m

Example 5.7 shows how a Lambert conformal projection is represented. It contains two variables x and y having the standard_names projection_x_coordinate and projection_y_coordinate, respectively, and the units km. However, the canonical unit of projection_*_coordinate is m (except for Geostationary projection).
Old snippet from the example:
  double y(y);
    y:units = "km";
    y:long_name = "y coordinate of projection";
    y:standard_name = "projection_y_coordinate";
  double x(x);
    x:units = "km";
    x:long_name = "x coordinate of projection";
    x:standard_name = "projection_x_coordinate";

Corrected snippet:
  double y(y);
    y:units = "m";
    y:long_name = "y coordinate of projection";
    y:standard_name = "projection_y_coordinate";
  double x(x);
    x:units = "m";
    x:long_name = "x coordinate of projection";
    x:standard_name = "projection_x_coordinate";

@neumannd   By definition the units need to be consistent with, not identical to the canonical units.   To quote the convention:
a variable with a standard_name attribute must have units which are physically
equivalent (not necessarily identical) to the canonical units,

so "km" may be used in instead of "m".  It's up to the data writer.

OK. Thanks for the info. I forgot that.


Change casing on keywords, add Write-SnapshotMessage

Change casing on certain keywords to fall into line with PowerShell standards. (Yes, it's case invariant but standardizing makes it a bit easier to read.)
Also, added a Write-SnapshotMessage function to make the message writing a bit more robust and cleaner to call from other functions.
Removed the first check for the $snapshot variable because it was recreating the purpose of the switch type parameter which $snapshot is using.

Thanks for these - will do some tests to make sure everything works good on my end today - I'm also planning to build Pester tests this week for at least parts of the code-base so that should help simplify/automate the testing process with GitHub Workflows or similar.

Please see below errors I am receiving on this in multiple functions
[%] Local Port: 49666, PID: 1796, Process Name: svchost, Process Path: C:\Windows\system32\svchost.exe
Write-SnapshotMessage : Cannot bind argument to parameter 'Value' because it is an empty string.
At C:\Users\Joe\Documents\GitHub\Trawler\trawler.ps1:1934 char:49
+ ...       Write-SnapshotMessage -Key $proc.Name -Value $proc.Path -Source ...
+                                                        ~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Write-SnapshotMessage], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Write-SnapshotMessage```

This actually occurs in multiple functions (probably all of them in certain scenarios) - this is happening because when we create a custom PowerShell object, it probably behaves differently when compared to passing it as a parameter - as a result, now we are seeing errors that previously were smoothed over by the custom object.

The two solutions are either check every function for empty string arguments before we call Write-SnapshotMessage (annoying) or set AllowEmptyString [https://www.tutorialspoint.com/explain-allowemptystring-and-allowemptycollection-in-powershell-advanced-function on the relevant parameters in Write-SnapshotMessage.  I will suggest the latter - if you could make the changes in Write-SnapshotMessage to allow empty strings, that would be much appreciated.

@joeavanzato - I removed the mandatory requirement on the Value parameter of Write-SnapshotMessage because sometimes a null or empty value is legitimate. Let me know if you come across any other issues.

Thanks - reviewing and getting merged.  Also please be aware at some point soon I plan to add JSON export support which will allow each detection to have different k:v pairs unique to that data 'source' - but it is not a current priority.  Not sure how this will be structured yet but might be a script level array of objects that are converted to JSON upon completion.
Additionally - there appears to be an un-related bug when loading a snapshot for Check-Association-Hijack  that I'm going to try and fix tonight - looks like a Key is going awry somewhere.  Other than that, seems to work great, thanks for the continued contributions!  Hoping to get some Pester tests built shortly.


Link on staff page for a submission to the student page

It'd be nice to have a link on the staff-facing page for a submission (/admin/grading/<id>) to the equivalent student page (/<offering>/<assignment>/submissions/<id>) for when I want to include a link to a relevant submission when responding to a regrade request.

Seems reasonable for now. Where's would a good place to put it?
If we ever get parity on the admin URLs - it would be as simple as removing /admin/ (and even possibly redirecting students who go a page to an equivalent student URL)
One option:
Next to the raw button on the file toolbar.

Another option:
We could toss it in the submission information - though I don't think it warrants a button (or even another row)

Idea for later: we use the same URL (i.e. okpy.org/cal/cs61a/fa16/proj04/submissions/abcdef) for both the staff and student views, and your permission level decides which one you get. That way we can share the URL directly with students. We could use student.okpy.org to force the student view if necessary.

I don't think putting it in the source file header is a good place, because this is a per-submission thing, not a per-file thing. I'm fine with adding another row to submission information like "URL: " or "Student link: " or similar

This has been requested again by @papajohn

When I find somebody's submission in the admin view, I'm never sure how to send them a link to that submission that will work from their student view.


tilt: 0.18.10 -> 0.18.13

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/tilt-dev/tilt/releases.
meta.description for tilt is: "Local development tool to manage your developer instance when your team deploys to Kubernetes in production"
meta.homepage for tilt is: "https://tilt.dev/"
meta.changelog for tilt is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

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

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

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

found 0.18.13 with grep in /nix/store/6kz205nwnhr14mgsibb1iq4q043py42v-tilt-0.18.13

directory tree listing: https://gist.github.com/cd35d4c169b320cbb3b3ab43150491e3

du listing: https://gist.github.com/551a1943bc5e772b26d343a4d38a844b

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

4 total rebuild path(s)

1 package rebuild(s)

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

First fifty rebuilds by attrpath
tilt

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

tilt

Maintainer pings
cc @anton-dessiatov @kalbasit for testing.

Closed by a further version update a couple months later. These automated updates are still helpful though mr robot :robot:


Rethink --noFutureProofEnums

https://github.com/facebook/relay/issues/2351
https://github.com/este/este/blob/eb1d2551e23746a776fd5bfeb1b6cc25199f8eb6/package.json#L29
Not sure whether the explicit handling of unknown enum isn't better. Probably it is.

OK, I think got it. The contract can and must be enforced via Flow types. (error: empty); works, and does not clash with the required return type. OK. Check ErrorMessage.js


[gardening] Remove some unused variables. NFCI.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test and merge


OLS-419: Check content type in e2e tests

Description
Check content type in e2e tests
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[x] e2e tests

Related Tickets & Documents

Related Issue #OLS-419
Closes #

Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

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

Project coverage is 94.80%. Comparing base (4508b86) to head (05fa715).
Report is 37 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #744      +/-   ##
==========================================
- Coverage   94.83%   94.80%   -0.03%
==========================================
  Files          53       53
  Lines        1896     1905       +9
==========================================
+ Hits         1798     1806       +8
- Misses         98       99       +1

see 1 file with indirect coverage changes

/retest

/lgtm

/approve


Add a diff command

Howdy. I was wondering if you had the diff command in mind, somewhere on your roadmap?
If that is not the case, do you have some design thoughts about it, or would you recommend another command in this repo a diff PR could find some inspiration from?
Thanks

What would the output be from the diff command, just a git diff?
git.diff(function(err, diff) {
  // diff => the following diff
})

diff --git a/main.rs b/main.rs
index 338f4c8..5db4970 100644
--- a/tcp.rs
+++ b/rcp.rs
@@ -22,6 +22,7 @@ fn tcp_stream(mut stream: io::TcpStream) -> io::IoResult<()> {

         let mut input = buf.slice(0, got).to_string();
         println!("{}", input);
+        try!(stream.write(buf.slice(0, got)));
     }
     Ok(())
 }

A flat diff (no editor/viewer) can be created with git  --no-pager diff

Just a git diff, yes. Full disclosure, commitizen/cz-cli#7 is trying to find out if some files were staged. It is using gulp-git under the hood. Somebody suggested trying git diff --cached, but the author pointed out that gulp-git had no support for the diff command yet, hence me chiming in. But now I realize we could use your git.exec instead, right? (aka git.exec({args : 'diff --cached'}, function (err, stdout) { ... });)). Thanks.

Yes, git.exec will do that quite well.

Thanks. (@jimthedev).
Closing it, no need to burden you then :)

Sweet, thanks @stevelacy @sebastienbarre.

Glad to help anyway I can on your project :smile:

Haha, my project wouldn't exist w/o you, so, tip of the hat.

Just a follow up for anyone who stumbles upon this thread in the future. If you want to capture output from diff to determine if there are staged files, you'll have to use git diff --cached --exit-code since by default cached mode runs in interactive mode. The --exit-code sends the results to stdout. Cheers.

Maybe need another diff....
get all git-diffed files for code style check

@Stupidism @stevelacy

Maybe need another diff....
get all git-diffed files for code style check

I like to made a PR,

What is the output of this proposed diff command?

@stevelacy

How does git.exec not support this?

there is some step:

run git.exec("diff 1.0.0... --raw -z --diff-filter=ACMR")
use a regexp parse stdout
run git.exec("cat-file blob 56b4c63") for each file, set file.contents = catFileStdout

git.exec just retuen result of stdout, but we need a stream of vinyl File objects.

Okay, you can send a PR.
Follow the add.js for structure: https://github.com/stevelacy/gulp-git/blob/master/lib/add.js
The diffed files should be sent in on the input stream. The output should not change the file.contents, but rather add a diff key to the file object.
File: {
  contents: Buffer(),
  path: './path',
  diff: Buffer() // git diff
}

Then a sub-plugin can pull the diff key and pass it through whatever parser.

@Stupidism

Maybe need another diff....
get all git-diffed files for code style check

I made a PR for this case.
See this file: gulpfile.js


Commit Functions/Params undoes custom storage

Describe the bug
Commit Functions/Params undoes custom storage
To Reproduce
Steps to reproduce the behavior:

Import a File - I chose ntoskrnl.exe, but you can use whatever.
Open in Code Viewer and allow auto-analysis to complete.
Choose some function that has a return value - I chose BgkSetCursor at random.
For the sake of example, change the return register from whatever it is (EAX in this example) to something else by following the steps: Right click on function in decompiler -> Edit Function Signature -> Check "Use Custom Storage" -> Double click on the return register to bring up the Storage Address Editor -> Double click the storage register (EAX in this example) -> Change to something else, lets use "EBX" -> Press OK.
Verify that it took by re-checking the function signature.

Right click on the function and choose "Commit Params/Return". Then re-open the function signature. It will have reverted to what it was during auto-analysis.

Expected behavior
The fact that a command that just says "Commmit" actually changes and then commits, is quite confusing. It should probably not change things before doing the commit. In the worst case, it should just do nothing in the case that no commit/params return actually needs to happen if the signature was modified.
Environment (please complete the following information):

OS: Windows 11
Java Version: Corretto-<IP_ADDRESS>.1
Ghidra Version: 11.0.1
Ghidra Origin: official GitHub distro

The current results that you describe is the exact purpose of the action.  It is intended to commit what you see in the Decompiler to the Program's database which will in turn be reflected in the Listing.   It's unclear what you thought "commit" meant in the context of the Decompiler.  Did the Decompiler change following the commit action?  If so that would be more of a concern since it trying to lock-in its current state.

Sorry, I misconstrued your the situation you described.  After trying it I can confirm the behavior is rather unexpected and I will look into it in more detail.

It would appear that commit may always revert the return to its default state.  I have a fix in the works.  Thanks for reporting it.


Questions about training psgformer on multiple GPUs ?

Hi,
when i train psgformer on multiple GPUs (2x3090), i get the error with NCCL. :)
RuntimeError: NCCL error in: /opt/conda/conda-bld/pytorch_1603729047590/work/torch/lib/c10d/ProcessGroupNCCL.cpp:748, internal error, NCCL version 2.7.8
RuntimeError: Connection reset by peer
(openpsg) zztao@zztao-Precision-5820-Tower:~/dev/OpenPSG$ PYTHONPATH='.':$PYTHONPATH python -m torch.distributed.launch --nproc_per_node=2 --master_port=29500   tools/train.py   configs/psgformer/psgformer_r50_psg.py   --gpus 2   --launcher pytorch

Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.

zztao-Precision-5820-Tower:35819:35819 [0] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth0
zztao-Precision-5820-Tower:35819:35819 [0] NCCL INFO NCCL_SOCKET_IFNAME set to eth0
zztao-Precision-5820-Tower:35819:35819 [0] bootstrap.cc:32 NCCL WARN Bootstrap : no socket interface found
zztao-Precision-5820-Tower:35819:35819 [0] NCCL INFO init.cc:101 -> 3
zztao-Precision-5820-Tower:35819:35819 [0] NCCL INFO init.cc:123 -> 3
zztao-Precision-5820-Tower:35819:35819 [0] NCCL INFO init.cc:140 -> 3
Traceback (most recent call last):
File "tools/train.py", line 225, in
main()
File "tools/train.py", line 124, in main
init_dist(args.launcher, **cfg.dist_params)
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 18, in init_dist
_init_dist_pytorch(backend, **kwargs)
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 32, in _init_dist_pytorch
dist.init_process_group(backend=backend, **kwargs)
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 442, in init_process_group
barrier()
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 1947, in barrier
work = _default_pg.barrier()
RuntimeError: NCCL error in: /opt/conda/conda-bld/pytorch_1603729047590/work/torch/lib/c10d/ProcessGroupNCCL.cpp:748, internal error, NCCL version 2.7.8
Traceback (most recent call last):
File "tools/train.py", line 225, in
main()
File "tools/train.py", line 124, in main
init_dist(args.launcher, **cfg.dist_params)
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 18, in init_dist
_init_dist_pytorch(backend, **kwargs)
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 32, in _init_dist_pytorch
dist.init_process_group(backend=backend, **kwargs)
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 442, in init_process_group
barrier()
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 1947, in barrier
work = _default_pg.barrier()
RuntimeError: Connection reset by peer
Traceback (most recent call last):
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/site-packages/torch/distributed/launch.py", line 260, in
main()
File "/home/zztao/anaconda3/envs/openpsg/lib/python3.7/site-packages/torch/distributed/launch.py", line 256, in main
cmd=cmd)
subprocess.CalledProcessError: Command '['/home/zztao/anaconda3/envs/openpsg/bin/python', '-u', 'tools/train.py', '--local_rank=1', 'configs/psgformer/psgformer_r50_psg.py', '--gpus', '2', '--launcher', 'pytorch']' returned non-zero exit status 1.

I have the same question. Could you please share how you solve it?
Best Regards.


bring the core motivation to the surface

There's something here that i think needs to be highlighted and is about to emerge both in the last paragraph of sovereginty and all through intelligence: it's that freedom is a possibility only if you're able to say no - and go for a new order of things.
Freedom is the fundamental notion that attracts both anarchists and different kinds of liberals towards Bitcoin. The word appears only twice (!) in the paper, but the whole experience of all cryptocurrencies (from design to present time) has been essentially about it: finding out how to validate, agree upon and trust a collective infrastructure for information without government (without forcing anybody to obey).
Why do we need voting on the blockchain? Because some of us would like to see protocols that allow for collectives to organize without coercion and for individuals to determine if/when to break apart from them. The DAO is fundamental to understanding blockchain history because it makes visible the gap between social consensus and computational consensus. It's the goal of DEF to think harder on this issue.
When in the last part of DAOs you go "the need for governance cannot be abstracted" it's left unsaid that voting matters because it sublimates armed conflict. So, yes, the need for governance is there, but not the need for political obligation. Freedom consists in picking through our own initiative a set of rules to live by. And the good thing about blockchains is they technologically allow for exactly that (not only because of hard promises, but also because it's interoperable in spite of current jurisdictional borders).
The intuitive dimension of this paper is richer than I can grasp, but the rational argument can still be crafted to render the organic function of blockchain governance more explicit. It's freedom.
idk, feel free to use this if/where you see fit, @santisiri.

@mairwilliams  - so well put, "The whole experience of all cryptocurrencies (from design to present time) has been essentially about freedom:  finding out how to validate, agree upon and trust a collective infrastructure for information without government (without forcing anybody to obey)"
just read from Andreas Antonopolous: "For millenia, sovereignty defined currency. The monopolistic control of currency has been the basis of sovereignty. After 2008, currency creates sovereignty."


item to teleport to last grave location

I remember that on previous version there was an item to teleport to my last grave site, can you add something like that for 1.20.1?
https://github.com/B1n-ry/Youre-in-grave-danger/issues/18

how do I craft the scroll? jei doens't show any recipe

The scroll doesn't have a recipe by default. I removed it because it would either create an error when disabled, or be weird in JEI/REI/whatever you use.
A previous update should have fixed it though, so I could probably add the recipe back. Otherwise you can easily create a datapack with a recipe for it though


        Convenience function.  Connect to *address* (a 2-tuple ``(host,
        port)``) and return the socket object.  Passing the optional
        *timeout* parameter will set the timeout on the socket instance
        before attempting to connect.  If no *timeout* is supplied, the
        global default timeout setting returned by :func:`getdefaulttimeout`
        is used.  If *source_address* is set it must be a tuple of (host, port)
        for the socket to bind as a source address before making the connection.
        A host of '' or port 0 tells the OS to use the default.
        """

        host, port = address
        err = None
        for res in getaddrinfo(host, port, 0, SOCK_STREAM):
            af, socktype, proto, canonname, sa = res
            sock = None
            try:
                sock = socket(af, socktype, proto)
                if timeout is not _GLOBAL_DEFAULT_TIMEOUT:
                    sock.settimeout(timeout)
                if source_address:
                    sock.bind(source_address)
>               sock.connect(sa)
E               ConnectionRefusedError: [Errno 61] Connection refused

/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socket.py:832: ConnectionRefusedError

Environment:

Python version: 3.9.14
Werkzeug version: 2.2.2

The tests pass in the CI MacOS env. I don't have a Mac to debug further.

Sounds like this is related to #2516 not running the tests installed, which likely would affect how the server tests work.


Oculus Rift controller can not evaluate Near Touch at all

Describe the bug
Neither Near touch nor Trigger Touch can be evaluated to true by the controller. That's because the MixedRealityInteractionMapping for that defines the AxisType as digital and provides an Axis code instead of a keycode for it.
https://github.com/microsoft/MixedRealityToolkit-Unity/blob/6dd8bd5d17d6ba49a09b4532048a80b520622242/Assets/MixedRealityToolkit.Providers/OpenVR/OculusTouchController.cs#L35
The evaluating code however only checks keycodes in case of the digital axis type, which in this case is Keycode.None.
https://github.com/microsoft/MixedRealityToolkit-Unity/blob/6dd8bd5d17d6ba49a09b4532048a80b520622242/Assets/MixedRealityToolkit/Providers/UnityInput/GenericJoystickController.cs#L86-L91
Maybe the AxisType just needs to be changed to SingleAxis and that's it.
Expected behavior
NearTouch is interpreted some boolean way
Your Setup (please complete the following information)

Unity Version 2018.4.6f1
MRTK Version mrtk_development

Target Platform (please complete the following information)

OpenVR
Oculus Quest

This is certainly a bug and not sure where the change to remove the axis -> digital check disappeared to.  I'll get that reinstated and with #5869 I'll clean up the mappings.

This should be fixed


Fix use range calendar with mobile scrolling

Closes #5975
✅ Pull Request Checklist:

[x] Included link to corresponding React Spectrum GitHub Issue.
[x] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[x] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:
You can test it on an existing story:
https://github.com/adobe/react-spectrum/assets/38932402/55845ecc-e885-4325-9b10-ad6d10260529
🧢 Your Project:

GET_BUILD

I case you missed it. The only relevant change is deleting the line:
https://github.com/adobe/react-spectrum/pull/5976/commits/8a7aec39ca3fc63417e642185c1c86f64f7b8ea0

I'm not sure why 'pointercancal' were concerned back than. Perhaps you might want to double-check the purpose again.

yep, it came from this commit: https://github.com/adobe/react-spectrum/commit/6d84224fe3ae4aa2687fd8fc5511d109e4df9fe6. I couldn't figure out what flow specifically that line was fixing in the touch scroll/press drag range selection case, those flows seemed to still work on my own phone for the most part. We'll do more cross device testing in the upcoming testing session, will keep you posted on any findings there

I don't have any new information to share but I just wanted to let you know that the team will be slow to review as we address some other priorities at the moment. We appreciate your understanding and apologize for the wait.

I see. Thanks for your information.

GET_BUILD


mentions: no notifications?

using "@username" to mention someone does not produce any notification. (compare to web app, where the Alerts screen has sections for Tweet Mentions and Forum Mentions.)

I've added a mentions section (appears above the twitarr stream and forums in the "public messages" section). I don't fire android notifications for mentions though, only seamails.


Add mobile option to image_stylization

Added an alpha multiplier to image_stylization to allow slimming down the model to run faster on mobile
Added a script and instruction on how to convert the model to TF Lite
Adapted the existing scripts to run on both Python 2 and 3
Showed stylization sample on TensorBoard during training to allow users to better understand the training progress.

For the record: This is the original image (Free for commercial use, No attribution required) used to generate the benchmark image.
https://pixabay.com/photos/men-women-apparel-couple-people-2425121/

Thanks Vincent. I've fixed the incorrect indent.


fix: re-add Python 3.10 support

coverage: 91.361% (+0.06%) from 91.304%
when pulling e3e9c92dc6f7a668d2e633f28e677fe4839321d0 on massi/3.10
into bd3fae659e69b38c54540d248762419bf2b9ec52 on main.


Kudu's Zip API times out extracting zip file

For a large zip file, it could take a long time to perform unzipping and eventually timeout.   The feature request is to support async pattern (eg. make a call and poll for status).

+1

Hi
If the problem persists and is related to running it on Azure App Service, please open a support incident in Azure:
https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request
This way we can better track and assist you on this case
Thanks,
Joaquin Vano
Azure App Service


Schema validation should not rely on the syntax validation

Type of change
Select the type of your PR

Bugfix

Description
Currently the way the validators are wired up (io.kroxylicious.proxy.filter.schema.ProduceValidationFilterBuilder#toValidator) means that the user has to configure JsonSyntax validator in order to use JsonSyntax validator.  If they just configure the JsonSchema, it is ignored.  This is contrary to the documentation.
Validating the record against the JSON schema implies the content is valid JSON, so doing the JsonSyntax too is pointless.
This changes allows the JsonSyntax validation to be configure by itself.  The ability to configure multiple validations is retained.
Additional Context
Why are you making this pull request?
Checklist
Please go through this checklist and make sure all applicable tasks have been done

[x] Write tests
[ ] Make sure all tests pass
[ ] Review performance test results. Ensure that any degradations to performance numbers are understood and justified.
[ ] Make sure all Sonarcloud warnings are addressed or are justifiably ignored.
[ ] Update documentation
[ ] Reference relevant issue(s) and close them after merging
[ ] For user facing changes, update CHANGELOG.md (remember to include changes affecting the API of the test artefacts too).

I think this needs to go in 0.7.0.


Minimum version to the catalog url request

@ibuildthecloud @vincent99 please review. Wasn't sure what min version to put given that we might release dev5, so put v1.0.2. Let me know if you think it should be changed to v1.1.0

Changed to read the value from "rancher.server.image" setting.


Add devcontainer integration for vscode

This will auto setup the whole build environment based on zephyr's docker containers. Prerequisites are:

docker is accessable by the user without using sudo
vscode with remote container extension is installed

Create a directory for your workspace. Go into that directory and clone the bridle repo.
Open the repo folder in vscode and select from the commands "Dev Containers: Reopen in container" (you might be prompted in the bottom right corner for that).
This will then download the docker container, install packages etc. so that you can directly start with a west build

@andreas-kurz Please, could you add your signed-off in the commit message and fix our QA Compliance Check:
ERROR   : Test Identity failed:
28e54b00f69ffc46617591d9125058e967937f0c: author email (Andreas Kurz<EMAIL_ADDRESS>needs to match one of the signed-off-by entries.

@andreas-kurz Please, could you add your signed-off in the commit message and fix our QA Compliance Check:
ERROR   : Test Identity failed:
28e54b00f69ffc46617591d9125058e967937f0c: author email (Andreas Kurz<EMAIL_ADDRESS>needs to match one of the signed-off-by entries.

Sorry, seems like I forgot to add the ul address to my GPG key. And somehow my git commit didn't add the "signed-off by" to the message. Should be fixed now

@andreas-kurz Please, could you add your signed-off in the commit message and fix our QA Compliance Check:
ERROR   : Test Identity failed:
28e54b00f69ffc46617591d9125058e967937f0c: author email (Andreas Kurz<EMAIL_ADDRESS>needs to match one of the signed-off-by entries.

Sorry, seems like I forgot to add the ul address to my GPG key. And somehow my git commit didn't add the "signed-off by" to the message. Should be fixed now

No problem. The signed-off was more important than missed GPG keys. No I was able to rebase and sign by me. All fine, thnx.


Request: Physical constants

Excuse me not knowing if this is the right place to ask but wouldn't physical constants be an amazing addition to this package?

What constants you have in mind? I feel most of the time it's more convenient & clearer to just type the constants with native Typst..

Hi, I meant something like
#let m_e = 9.1093837*calc.pow(10,-31)
...
Just because I came into the habit of doing quick calculations directly in typst for my homework assignments. Currently I have them in a seperate file and I use them hbar^2 approx #(const.hbar^2)


Modal with form throwing an error when pressing escape to close the modal

Select one ...  (check one with "x")
[X] bug
[ ] feature request
[ ] enhancement

Expected behavior

Don't throw an error when pushing "escape" to close a modal with a form.
Actual behavior

Open the modal
Click the input (so it's ng-touched)
Press "escape"
Observe the error thrown in the console

Error

ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'true'. Current value: 'false'.
    at viewDebugError (errors.ts:30)
    at expressionChangedAfterItHasBeenCheckedError (errors.ts:29)
    at checkBindingNoChanges (util.ts:145)
    at checkNoChangesNodeInline (view.ts:477)
    at checkNoChangesNode (view.ts:568)
    at debugCheckNoChangesNode (services.ts:557)
    at debugCheckRenderNodeFn (services.ts:500)
    at Object.eval [as updateRenderer] (app.component.html:17)
    at Object.debugUpdateRenderer [as updateRenderer] (services.ts:477)
    at checkNoChangesView (view.ts:383)

Reproduction of behavior
https://plnkr.co/edit/FJLwhI13nzeETVqWBYI2?p=preview
Environment details

Angular version: 2.0.X

Clarity version: 0.9.7

OS and version: Mac

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

@exk0730
This is working for me in Chrome, using the plunkr provided and the steps to reproduce. It works fine for me.
Which browser are you using?

@mathisscott Do you mean you don't get an error?
Yeh, Chrome Version 59.0.3071.115 on Mac OS X 10.11.6

I am on Chrome 59.0.3071.115 (64-bit). Mac OS X 10.11.6.
Opening the plunkr and going through the steps to reproduce this morning, I cannot replicate.
Could this have been fixed by #1169 ?

I was able to reproduce the error, make sure you click on the input to set the focus and then hit escape.

Yes, that is what I'm doing. I'm very good at following directions; just ask my wife!

@exk0730: Could you please try updating to the latest 0.9 version and see if the error goes away? The latest version is 0.9.14: https://vmware.github.io/clarity/news/0.9.14

@deviant32, @exk0730 - I have reproduced the issue and am looking into it. I'll post here again when I have more info for you.

@mathisscott Lol!
@adityarb88 I think the plunker is actually using the latest, but I first noticed it in my own app with 0.9.7 and wanted to make sure it wasn't my app causing the issue
@hippee-lee Awesome! Thanks.

@hippee-lee : Any update on this?

It seems like a real bug but only under specific conditions.
Here is my fork of the provided plunk: https://plnkr.co/edit/L63h8hSOeXkTEgH09QPL?p=preview
Case 1

I open the model
Put focus into the text box
Press escape -> it throws the ehcaiwc (Chocolate) error.

Case 2

I open the model
I put text in it
Escape -> no error
Reopen and remove the text -> No error

I don't have an exact cause yet but it feels like a lifecycle issue and/or ngModel issue.

@hippee-lee
Any update on the root cause here?

@mathisscott - fyi still working on this.

I am also seeing this issue in wizards. Updated the title to reflect that.

@mathisscott @hippee-lee Hey Matt, is there any special thing I need to do to get this bug to go away in 0.10.4/5? I tried using your demo files in a plunker, and the error is still thrown.
https://plnkr.co/edit/RTK6txS9QGYjTSzr0FMo

@exk0730
Make sure the plunkr is using clarity 0.10.5...

@mathisscott It's using 'unpkg' npm:clarity-angular/clarity-angular.umd.js which points to the latest, if I'm not mistaken...

@mathisscott - I'm looking into this. Re-opening for now, debugging on plunker wasn't working for me with clarity-angular this morning.

@exk0730 - this bugfix will be released this week. It's merged to master but hasn't been released yet. Please follow up if you continue to experience the expression has changed after it was checked error on modals or wizards.

@hippee-lee Ahhhh gotchya. Yeah, I saw #1472 and figured it was already merged to a release. Thanks Matt!


Moving through hotbar slots while in-world doesnt make sound using controller mod

Minecraft: [1.19]
Mod: [Extra Sounds + MidnightControls Compatibility]
When moving through slots while in-world, the sounds that play when you select an item dont play
latest.log

forgot to leave mod page:
https://www.curseforge.com/minecraft/mc-mods/midnightcontrols


test: remove hardcoded AWS_REGION and use env var

My S3 is on the eu-west-3 region so I removed the hardcoded AWS_REGION and used an environment variable set to default with "sgp1", so you don't have to change anything on your side 👍

Thanks for the PR :)


Add react / JSX support

https://www.npmjs.com/package/eslint-plugin-react
@kaizerroll you may want to look into this, else I'll get on it sometime

Completed in version 2.0.


signing/sign.sh: update fero ip

I believe so. I think @pbx0 set that up. @pbx0 can you confirm?

Merging regardless, since that's where it's at now.


Data classification: The "Tuner option" and "Stop strategy" cannot be changed successfully.

System Information (please complete the following information):
Windows OS: Windows-11-Enterprise-22H2
ML.Net Model Builder 2022: <IP_ADDRESS>0501 (Main Build)
Microsoft Visual Studio Enterprise: 2022(17.5.5)
.Net: 6.0, 7.0
Describe the bug

On which step of the process did you run into an issue:
The "Save" button should be disabled on the "Advanced training options" dialog.

TestMatrix
https://testpass.blob.core.windows.net/test-pass-data/wikipedia-detox-250-line-data.tsv
To Reproduce
Steps to reproduce the behavior:

Select Create a new project from the Visual Studio start window.
Choose the C# Console App (.NET Core) project template.
Add model builder by right click on the project.
Select Data classification scenario.
On Data page, choose the data source.
On the Train page, click the "Advanced training options..." link.
Go to ""Tuner option" or "Stop strategy" tab, change the option, you will see that the changes cannot be updated successfully.

Expected behavior
The "Tuner option" and "Stop strategy" can be changed successfully.
Screenshot

Additional context
The new functions "Tuner option" and "Stop strategy" only be added to "Data classification" scenario.

The bug has been fixed on the latest main build <IP_ADDRESS>1601.


Closing App prompt message

Add prompt (pop up) when you go to close the App down - prompting you to export and save the data.
This was requested by Christian Lange on 22/02/2023.
The reason for this request is to ensure data is always saved and in a way that can't be easily overwritten (e.g., by installing newer version).

Exit prompts are both a blessing and a curse. The way the App works now 23-08-2023 is that each entry is saved to the local DB and that DB is persisted regardless of whether the app is shut down.
I would rather have it so that when a new app version is being installed, a warning is displayed stating that the digitizer must backup the database in order to preserve work that has not been exported.


Edge tpu m.2 without MSI-X interrupts?

I'm trying to run the edge tpu m.2 on a device that does not support MSI-X interrupts but it doesn't seem to work.
I get:
[ 1406.314900] apex 0000:01:00.0: Couldn't initialize interrupts: -28
[ 1406.322735] apex 0000:01:00.0: Not all interrupts were configured

Is there something I can do to work around this issue?

@fgervais Could you give more info on the device?
uname -a
modinfo gasket
modinfo apex

root@buildroot:~# uname -a
Linux buildroot 5.6.1-00002-gd947bcc2b6e5-dirty #33 SMP PREEMPT Wed May 20 19:59:11 UTC 2020 aarch64 GNU/Linux

root@buildroot:~# lsmod
Module                  Size  Used by
apex                   16384  5

root@buildroot:~# modinfo /boot/apex.ko
filename:       /boot/apex.ko
author:         John Joseph<EMAIL_ADDRESS>license:        GPL v2
version:        1.0
description:    Google Apex driver
srcversion:     5D5E9910EBA1E634B8F4C69
alias:          pci:v00001AC1d0000089Asv*sd*bc*sc*i*
depends:
staging:        Y
intree:         Y
name:           apex
vermagic:       5.6.1-00002-gd947bcc2b6e5-dirty SMP preempt mod_unload modversions aarch64
parm:           allow_power_save:int
parm:           allow_sw_clock_gating:int
parm:           allow_hw_clock_gating:int
parm:           bypass_top_level:int

@fgervais Thanks for sharing, it looks like you are still using the default kernel module. This is most likely due to the kernel already have these modules. In that case, you'll need to blacklist the old modules before installing the new one.
For reference:
$ modinfo gasket
filename:       /lib/modules/5.4.0-bpi-r64/updates/dkms/gasket.ko
author:         Rob Springer<EMAIL_ADDRESS>license:        GPL v2
version:        1.1.3
description:    Google Gasket driver framework
srcversion:     069B6D0F6AE12073F4EAF5D
depends:
name:           gasket
vermagic:       5.4.0-bpi-r64 SMP preempt aarch64
parm:           dma_bit_mask:int

$ modinfo apex
filename:       /lib/modules/5.4.0-bpi-r64/updates/dkms/apex.ko
author:         John Joseph<EMAIL_ADDRESS>license:        GPL v2
version:        1.1
description:    Google Apex driver
srcversion:     508A8A34D57322CEA287D17
alias:          pci:v00001AC1d0000089Asv*sd*bc*sc*i*
depends:        gasket
name:           apex
vermagic:       5.4.0-bpi-r64 SMP preempt aarch64
...

This should fix this issue but we may possibly see other errors :)

I tried with the driver from the gasket-dkms_1.0-10_all package, I think they are the correct/latest ones. Still no luck though.
[  225.804468] gasket: loading out-of-tree module taints kernel.
[  234.401300] apex 0000:01:00.0: can't enable device: BAR 0 [mem 0x4040100000-0x4040103fff 64bit pref] not claimed
[  234.411559] apex 0000:01:00.0: BAR 2: assigned [mem 0x4040000000-0x40400fffff 64bit pref]
[  234.419780] apex 0000:01:00.0: BAR 0: assigned [mem 0x4040100000-0x4040103fff 64bit pref]
[  234.433261] apex 0000:01:00.0: Couldn't initialize interrupts: -28
[  239.668711] apex 0000:01:00.0: Apex performance not throttled due to temperature

root@buildroot:~# modinfo /boot/gasket.ko
filename:       /boot/gasket.ko
author:         Rob Springer<EMAIL_ADDRESS>license:        GPL v2
version:        1.1.3
description:    Google Gasket driver framework
srcversion:     DA0710C11C472F2C9237382
depends:
name:           gasket
vermagic:       5.6.1-00002-gd947bcc2b6e5-dirty SMP preempt mod_unload modversions aarch64
parm:           dma_bit_mask:int

root@buildroot:~# modinfo /boot/apex.ko
filename:       /boot/apex.ko
author:         John Joseph<EMAIL_ADDRESS>license:        GPL v2
version:        1.1
description:    Google Apex driver
srcversion:     508A8A34D57322CEA287D17
alias:          pci:v00001AC1d0000089Asv*sd*bc*sc*i*
depends:        gasket
name:           apex
vermagic:       5.6.1-00002-gd947bcc2b6e5-dirty SMP preempt mod_unload modversions aarch64
parm:           allow_power_save:int
parm:           allow_sw_clock_gating:int
parm:           allow_hw_clock_gating:int
parm:           bypass_top_level:int
parm:           trip_point0_temp:int
parm:           trip_point1_temp:int
parm:           trip_point2_temp:int
parm:           hw_temp_warn1:int
parm:           hw_temp_warn2:int
parm:           hw_temp_warn1_en:bool
parm:           hw_temp_warn2_en:bool
parm:           temp_poll_interval:int

@fgervais I see, sorry for this issue,
Can you also include the output of lscpu, ls /dev/apex_0 and the whole dmesg?

root@buildroot:~# lscpu
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       ARM
Model:                           4
Model name:                      Cortex-A53
Stepping:                        r0p4
CPU max MHz:                     1600.0000
CPU min MHz:                     700.0000
BogoMIPS:                        50.00
NUMA node0 CPU(s):               0-3
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm aes pmull sha1 sha2 crc32 cpui
                                 d

root@buildroot:~# ls -l /dev/apex_0
crwxrwxrwx 1 root root 120, 0 May 25 21:49 /dev/apex_0

root@buildroot:~# dmesg
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.6.1-00002-gd947bcc2b6e5-dirty (@10346531fdd6) (gcc version 8.3.0 (Buildroot 2019.11-00011-g9bc2596d3f)) #35 SMP PREEMPT Fri May 22 15:29:13 UTC 2020
[    0.000000] Machine model: LS1043A
[    0.000000] earlycon: uart8250 at MMIO 0x00000000021c0500 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000fb800000, size 4 MiB
[    0.000000] OF: reserved mem: initialized node qman-fqd, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000f8000000, size 32 MiB
[    0.000000] OF: reserved mem: initialized node qman-pfdr, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000fa000000, size 16 MiB
[    0.000000] OF: reserved mem: initialized node bman-fbpr, compatible id shared-dma-pool
[    0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x00000000fbdfffff]
[    0.000000] NUMA: NODE_DATA [mem 0xfb618100-0xfb619fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000bfffffff]
[    0.000000]   DMA32    [mem 0x00000000c0000000-0x00000000fbdfffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x00000000f7ffffff]
[    0.000000]   node   0: [mem 0x00000000fb000000-0x00000000fb7fffff]
[    0.000000]   node   0: [mem 0x00000000fbc00000-0x00000000fbdfffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000fbdfffff]
[    0.000000] On node 0 totalpages: 494080
[    0.000000]   DMA zone: 4096 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 262144 pages, LIFO batch:63
[    0.000000]   DMA32 zone: 3832 pages used for memmap
[    0.000000]   DMA32 zone: 231936 pages, LIFO batch:63
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 30 pages/cpu s84952 r8192 d29736 u122880
[    0.000000] pcpu-alloc: s84952 r8192 d29736 u122880 alloc=30*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Speculative Store Bypass Disable mitigation not required
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 486152
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=333ee940-c1d6-4688-a52f-361cb3faf733 rw rootflags=subvol=root_rw rootwait
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0xbbfff000-0xbffff000] (64MB)
[    0.000000] Memory: 1823444K/1976320K available (9212K kernel code, 1040K rwdata, 2424K rodata, 640K init, 388K bss, 120108K reserved, 32768K cma-reserved)
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x000000000142f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from start_kernel+0x300/0x424 with crng_init=0
[    0.000000] arch_timer: Enabling global workaround for Freescale erratum a005858
[    0.000000] arch_timer: CPU0: Trapping CNTVCT access
[    0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns:<PHONE_NUMBER>46 ns
[    0.000002] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every<PHONE_NUMBER>100ns
[    0.008417] Console: colour dummy device 80x25
[    0.012926] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=100000)
[    0.023334] pid_max: default: 32768 minimum: 301
[    0.028059] LSM: Security Framework initializing
[    0.032779] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.040221] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.080146] rcu: Hierarchical SRCU implementation.
[    0.093115] EFI services will not be available.
[    0.105685] smp: Bringing up secondary CPUs ...
[    0.142473] Detected VIPT I-cache on CPU1
[    0.142500] arch_timer: CPU1: Trapping CNTVCT access
[    0.142505] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.174484] Detected VIPT I-cache on CPU2
[    0.174499] arch_timer: CPU2: Trapping CNTVCT access
[    0.174504] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.206525] Detected VIPT I-cache on CPU3
[    0.206540] arch_timer: CPU3: Trapping CNTVCT access
[    0.206545] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.206598] smp: Brought up 1 node, 4 CPUs
[    0.257426] SMP: Total of 4 processors activated.
[    0.262155] CPU features: detected: 32-bit EL0 Support
[    0.267330] CPU features: detected: CRC32 instructions
[    0.279013] CPU: All CPU(s) started at EL2
[    0.283141] alternatives: patching kernel code
[    0.288575] devtmpfs: initialized
[    0.295131] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns:<PHONE_NUMBER>100000 ns
[    0.304933] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.312576] xor: measuring software checksum speed
[    0.357428]    8regs     :  3166.000 MB/sec
[    0.401663]    32regs    :  3632.000 MB/sec
[    0.445899]    arm64_neon:  2959.000 MB/sec
[    0.450102] xor: using function: 32regs (3632.000 MB/sec)
[    0.455848] thermal_sys: Registered thermal governor 'step_wise'
[    0.456221] DMI not present or invalid.
[    0.466266] NET: Registered protocol family 16
[    0.479436] DMA: preallocated 256 KiB pool for atomic allocations
[    0.485567] audit: initializing netlink subsys (disabled)
[    0.491085] audit: type=2000 audit(0.432:1): state=initialized audit_enabled=0 res=1
[    0.491478] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.505737] ASID allocator initialised with 65536 entries
[    0.512383] Machine: LS1043A
[    0.516498] SoC family: QorIQ LS1043A
[    0.520171] SoC ID: svr:0x87920011, Revision: 1.1
[    0.536676] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.543417] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.550153] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.556888] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.565980] cryptd: max_cpu_qlen set to 1000
[    0.638880] raid6: neonx8   gen()  2833 MB/s
[    0.710938] raid6: neonx8   xor()  2105 MB/s
[    0.783002] raid6: neonx4   gen()  2884 MB/s
[    0.855059] raid6: neonx4   xor()  2084 MB/s
[    0.927133] raid6: neonx2   gen()  2744 MB/s
[    0.999487] raid6: neonx2   xor()  1911 MB/s
[    1.071852] raid6: neonx1   gen()  2386 MB/s
[    1.144205] raid6: neonx1   xor()  1641 MB/s
[    1.216563] raid6: int64x8  gen()  2036 MB/s
[    1.288916] raid6: int64x8  xor()  1091 MB/s
[    1.361279] raid6: int64x4  gen()  2223 MB/s
[    1.433632] raid6: int64x4  xor()  1122 MB/s
[    1.505993] raid6: int64x2  gen()  1890 MB/s
[    1.578352] raid6: int64x2  xor()   999 MB/s
[    1.650725] raid6: int64x1  gen()  1593 MB/s
[    1.723083] raid6: int64x1  xor()   794 MB/s
[    1.727372] raid6: using algorithm neonx4 gen() 2884 MB/s
[    1.732797] raid6: .... xor() 2084 MB/s, rmw enabled
[    1.737786] raid6: using neon recovery algorithm
[    1.744008] iommu: Default domain type: Translated
[    1.748997] vgaarb: loaded
[    1.751906] SCSI subsystem initialized
[    1.755786] usbcore: registered new interface driver usbfs
[    1.761326] usbcore: registered new interface driver hub
[    1.766711] usbcore: registered new device driver usb
[    1.772040] imx-i2c 2180000.i2c: can't get pinctrl, bus recovery not supported
[    1.779525] i2c i2c-0: IMX I2C adapter registered
[    1.784285] i2c i2c-0: using dma0chan16 (tx) and dma0chan17 (rx) for DMA transfers
[    1.791998] imx-i2c 2190000.i2c: can't get pinctrl, bus recovery not supported
[    1.799328] i2c i2c-1: IMX I2C adapter registered
[    1.804692] clocksource: Switched to clocksource arch_sys_counter
[    1.866917] NET: Registered protocol family 2
[    1.871683] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    1.880275] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    1.888314] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    1.895857] TCP: Hash tables configured (established 16384 bind 16384)
[    1.902506] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    1.909291] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    1.916594] NET: Registered protocol family 1
[    1.921000] PCI: CLS 0 bytes, default 64
[    1.925445] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    1.938314] workingset: timestamp_bits=44 max_order=19 bucket_order=0
[    1.945278] fuse: init (API version 7.31)
[    1.949508] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[    1.957031] io scheduler mq-deadline registered
[    1.961590] io scheduler kyber registered
[    1.966582] layerscape-pcie 3400000.pcie: host bridge /soc/pcie@3400000 ranges:
[    1.973963] layerscape-pcie 3400000.pcie:       IO 0x4000010000..0x400001ffff -> 0x0000000000
[    1.982548] layerscape-pcie 3400000.pcie:      MEM 0x4040000000..0x407fffffff -> 0x0040000000
[    1.991228] layerscape-pcie 3400000.pcie: PCI host bridge to bus 0000:00
[    1.997970] pci_bus 0000:00: root bus resource [bus 00-ff]
[    2.003486] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    2.009701] pci_bus 0000:00: root bus resource [mem 0x4040000000-0x407fffffff] (bus address [0x40000000-0x7fffffff])
[    2.020299] pci 0000:00:00.0: [1957:8080] type 01 class 0x060400
[    2.026360] pci 0000:00:00.0: reg 0x38: [mem 0x4040000000-0x40400007ff pref]
[    2.033489] pci 0000:00:00.0: supports D1 D2
[    2.037781] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
[    2.045061] pci 0000:01:00.0: [1ac1:089a] type 00 class 0x0000ff
[    2.051179] pci 0000:01:00.0: reg 0x10: [mem 0x4040100000-0x4040103fff 64bit pref]
[    2.058823] pci 0000:01:00.0: reg 0x18: [mem 0x4040200000-0x40402fffff 64bit pref]
[    2.077744] pci 0000:00:00.0: BAR 9: assigned [mem 0x4040000000-0x40401fffff 64bit pref]
[    2.085887] pci 0000:00:00.0: BAR 6: assigned [mem 0x4040200000-0x40402007ff pref]
[    2.093504] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    2.098762] pci 0000:00:00.0:   bridge window [mem 0x4040000000-0x40401fffff 64bit pref]
[    2.115405] bman_portal 508000000.bman-portal: Portal initialised, cpu 0
[    2.122223] bman_portal 508010000.bman-portal: Portal initialised, cpu 1
[    2.129042] bman_portal 508020000.bman-portal: Portal initialised, cpu 2
[    2.135858] bman_portal 508030000.bman-portal: Portal initialised, cpu 3
[    2.143061] qman_portal 500000000.qman-portal: Portal initialised, cpu 0
[    2.149885] qman_portal 500010000.qman-portal: Portal initialised, cpu 1
[    2.156716] qman_portal 500020000.qman-portal: Portal initialised, cpu 2
[    2.163913] qman_portal 500030000.qman-portal: Portal initialised, cpu 3
[    2.197786] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    2.205333] printk: console [ttyS0] disabled
[    2.209688] 21c0500.serial: ttyS0 at MMIO 0x21c0500 (irq = 38, base_baud = 25000000) is a 16550A
[    2.218549] printk: console [ttyS0] enabled
[    2.226924] printk: bootconsole [uart8250] disabled
[    2.237184] 21c0600.serial: ttyS1 at MMIO 0x21c0600 (irq = 38, base_baud = 25000000) is a 16550A
[    2.246414] 21d0500.serial: ttyS2 at MMIO 0x21d0500 (irq = 39, base_baud = 25000000) is a 16550A
[    2.255648] 21d0600.serial: ttyS3 at MMIO 0x21d0600 (irq = 39, base_baud = 25000000) is a 16550A
[    2.271105] loop: module loaded
[    2.274951] libphy: Fixed MDIO Bus: probed
[    2.281049] libphy: Freescale XGMAC MDIO Bus: probed
[    2.286455] libphy: Freescale XGMAC MDIO Bus: probed
[    2.293108] libphy: Freescale XGMAC MDIO Bus: probed
[    2.299136] libphy: Freescale XGMAC MDIO Bus: probed
[    2.305032] libphy: Freescale XGMAC MDIO Bus: probed
[    2.310906] libphy: Freescale XGMAC MDIO Bus: probed
[    2.316945] libphy: Freescale XGMAC MDIO Bus: probed
[    2.322959] libphy: Freescale XGMAC MDIO Bus: probed
[    2.328860] libphy: Freescale XGMAC MDIO Bus: probed
[    2.348867] fsl_dpaa_mac 1ae0000.ethernet: of_get_mac_address(/soc/fman@1a00000/ethernet@e0000) failed
[    2.358180] fsl_dpaa_mac: probe of 1ae0000.ethernet failed with error -22
[    2.365062] fsl_dpaa_mac 1ae2000.ethernet: of_get_mac_address(/soc/fman@1a00000/ethernet@e2000) failed
[    2.374370] fsl_dpaa_mac: probe of 1ae2000.ethernet failed with error -22
[    2.381263] fsl_dpaa_mac 1ae8000.ethernet: of_get_mac_address(/soc/fman@1a00000/ethernet@e8000) failed
[    2.390571] fsl_dpaa_mac: probe of 1ae8000.ethernet failed with error -22
[    2.397455] fsl_dpaa_mac 1aea000.ethernet: of_get_mac_address(/soc/fman@1a00000/ethernet@ea000) failed
[    2.406763] fsl_dpaa_mac: probe of 1aea000.ethernet failed with error -22
[    2.413751] dwc3 2f00000.usb3: Failed to get clk 'ref': -2
[    2.419477] dwc3 3000000.usb3: Failed to get clk 'ref': -2
[    2.425170] dwc3 3100000.usb3: Failed to get clk 'ref': -2
[    2.431764] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.438312] ehci-pci: EHCI PCI platform driver
[    2.443119] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    2.448613] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    2.456362] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220f66d hci version 0x100 quirks 0x0000000002010010
[    2.465778] xhci-hcd xhci-hcd.0.auto: irq 46, io mem 0x02f00000
[    2.472250] hub 1-0:1.0: USB hub found
[    2.476017] hub 1-0:1.0: 1 port detected
[    2.480135] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    2.485623] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    2.493280] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
[    2.499840] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    2.508247] hub 2-0:1.0: USB hub found
[    2.512011] hub 2-0:1.0: 1 port detected
[    2.516162] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    2.521653] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
[    2.529388] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f66d hci version 0x100 quirks 0x0000000002010010
[    2.538805] xhci-hcd xhci-hcd.1.auto: irq 47, io mem 0x03000000
[    2.545191] hub 3-0:1.0: USB hub found
[    2.548958] hub 3-0:1.0: 1 port detected
[    2.553057] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    2.558548] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
[    2.566207] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    2.572768] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    2.581182] hub 4-0:1.0: USB hub found
[    2.584946] hub 4-0:1.0: 1 port detected
[    2.589131] usbcore: registered new interface driver usb-storage
[    2.595226] using random self ethernet address
[    2.599667] using random host ethernet address
[    2.604378] usb0: HOST MAC 62:ba:fe:12:c5:be
[    2.608680] usb0: MAC 9e:0f:ae:7e:2d:ea
[    2.612527] g_ncm gadget: NCM Gadget
[    2.616100] g_ncm gadget: g_ncm ready
[    2.622567] rtc-pcf85063 0-0051: registered as rtc0
[    2.663391] imx2-wdt 2ad0000.wdog: timeout 60 sec (nowayout=0)
[    2.669725] qoriq_cpufreq: Freescale QorIQ CPU frequency scaling driver
[    2.676578] sdhci: Secure Digital Host Controller Interface driver
[    2.682762] sdhci: Copyright(c) Pierre Ossman
[    2.687115] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.718459] mmc0: SDHCI controller on 1560000.esdhc [1560000.esdhc] using ADMA 64-bit
[    2.727039] caam 1700000.crypto: Linux CAAM Queue I/F driver initialised
[    2.733761] caam 1700000.crypto: device ID = 0x0a12060000000000 (Era 8)
[    2.740376] caam 1700000.crypto: job rings = 3, qi = 1
[    2.756296] caam algorithms registered in /proc/crypto
[    2.763614] caam 1700000.crypto: caam pkc algorithms registered in /proc/crypto
[    2.771330] caam_jr 1710000.jr: registering rng-caam
[    2.783105] caam 1700000.crypto: algorithms registered in /proc/crypto
[    2.786014] mmc0: new high speed MMC card at address 0001
[    2.795536] mmcblk0: mmc0:0001 TA2964 19.4 GiB
[    2.800290] mmcblk0boot0: mmc0:0001 TA2964 partition 1 4.00 MiB
[    2.806479] mmcblk0boot1: mmc0:0001 TA2964 partition 2 4.00 MiB
[    2.812524] mmcblk0rpmb: mmc0:0001 TA2964 partition 3 4.00 MiB, chardev (248:0)
[    2.812744] usbcore: registered new interface driver usbhid
[    2.821615]  mmcblk0: p1 p2 p3
[    2.825396] usbhid: USB HID core driver
[    2.832340] optee: probing for conduit method.
[    2.836785] optee: api uid mismatch
[    2.840270] optee: probe of firmware:optee failed with error -22
[    2.846935] Initializing XFRM netlink socket
[    2.851281] NET: Registered protocol family 10
[    2.856279] Segment Routing with IPv6
[    2.859996] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.866261] NET: Registered protocol family 17
[    2.870714] NET: Registered protocol family 15
[    2.875179] Bridge firewalling registered
[    2.879420] registered taskstats version 1
[    2.883896] Btrfs loaded, crc32c=crc32c-generic
[    2.891906] rtc-pcf85063 0-0051: setting system clock to 2020-05-26T16:56:17 UTC<PHONE_NUMBER>)
[    2.905992] fuseblk: Unknown parameter 'subvol'
[    2.911162] BTRFS: device fsid ea316be5-36b9-4d38-aaac-68f1fad778b9 devid 1 transid 12085 /dev/root scanned by swapper/0 (1)
[    2.923309] BTRFS info (device mmcblk0p3): disk space caching is enabled
[    2.930011] BTRFS info (device mmcblk0p3): has skinny extents
[    2.960842] BTRFS info (device mmcblk0p3): enabling ssd optimizations
[    2.972534] VFS: Mounted root (btrfs filesystem) on device 0:20.
[    2.978605] devtmpfs: mounted
[    2.981759] Freeing unused kernel memory: 640K
[    2.992735] Run /sbin/init as init process
[    2.996832]   with arguments:
[    2.996834]     /sbin/init
[    2.996836]   with environment:
[    2.996838]     HOME=/
[    2.996840]     TERM=linux
[    3.071323] random: fast init done
[    3.354477] systemd[1]: systemd 244 running in system mode. (-PAM -AUDIT -SELINUX -IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP +GCRYPT -GNUTLS -ACL -XZ -LZ4 -SECCOMP +BLKID -)
[    3.376095] systemd[1]: Detected architecture arm64.
[    3.412830] systemd[1]: Set hostname to <buildroot>.
[    3.452283] systemd-gpt-auto-generator[445]: Failed to determine block device of root file system: No such file or directory
[    3.464173] systemd[440]: /usr/lib/systemd/system-generators/systemd-gpt-auto-generator failed with exit status 1.
[    3.693260] systemd[1]: /usr/lib/systemd/system/ninfod.service:3: Invalid URL, ignoring: ninfod(8)
[    3.719725] systemd[1]: /usr/lib/systemd/system/dbus.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run/dbus/system_bus_socket \xe2\x86\x92.
[    3.749272] random: systemd: uninitialized urandom read (16 bytes read)
[    3.755986] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[    3.768335] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[    3.778657] systemd[1]: Created slice system-getty.slice.
[    3.800783] random: systemd: uninitialized urandom read (16 bytes read)
[    3.808010] systemd[1]: Created slice system-serial\x2dgetty.slice.
[    3.828779] random: systemd: uninitialized urandom read (16 bytes read)
[    3.835532] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    3.860862] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    3.884873] systemd[1]: Reached target Paths.
[    3.904771] systemd[1]: Reached target Remote File Systems.
[    3.924764] systemd[1]: Reached target Slices.
[    3.944774] systemd[1]: Reached target Swap.
[    3.964916] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    3.989209] systemd[1]: Listening on Journal Audit Socket.
[    4.008997] systemd[1]: Listening on Journal Socket (/dev/log).
[    4.033028] systemd[1]: Listening on Journal Socket.
[    4.053101] systemd[1]: Listening on Network Service Netlink Socket.
[    4.081881] systemd[1]: Listening on udev Control Socket.
[    4.104929] systemd[1]: Listening on udev Kernel Socket.
[    4.127141] systemd[1]: Mounting Huge Pages File System...
[    4.151509] systemd[1]: Mounting POSIX Message Queue File System...
[    4.175241] systemd[1]: Mounting Kernel Debug File System...
[    4.199063] systemd[1]: Mounting Temporary Directory (/tmp)...
[    4.220946] systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped.
[    4.232318] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[    4.244319] systemd[1]: Starting Journal Service...
[    4.265286] systemd[1]: Condition check resulted in Load Kernel Modules being skipped.
[    4.275696] systemd[1]: Mounting FUSE Control File System...
[    4.299333] systemd[1]: Mounting Kernel Configuration File System...
[    4.323395] systemd[1]: Starting Remount Root and Kernel File Systems...
[    4.347174] systemd[1]: Starting Apply Kernel Variables...
[    4.371298] systemd[1]: Starting Wait Until Kernel Time Synchronized...
[    4.395088] systemd[1]: Starting Create Static Device Nodes in /dev...
[    4.419156] systemd[1]: Starting udev Coldplug all Devices...
[    4.444946] systemd[1]: Started Journal Service.
[    4.489976] BTRFS info (device mmcblk0p3): disk space caching is enabled
[    4.684796] systemd-journald[457]: Received client request to flush runtime journal.
[    5.809148] BTRFS info (device mmcblk0p3): device fsid ea316be5-36b9-4d38-aaac-68f1fad778b9 devid 1 moved old:/dev/root new:/dev/mmcblk0p3
[    6.103296] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    6.111414] ext4 filesystem being mounted at /boot supports timestamps until 2038 (0x7fffffff)
[    8.984717] random: crng init done
[    8.988118] random: 7 urandom warning(s) missed due to ratelimiting

@fgervais By any chance you can share the the device that you are attaching the m.2 module to?

It's attached to a ls1043a processor.
It seems to fail because the driver fails to register MSI-X interrupts since the cpu doesn't support it. The status is then set to GASKET_STATUS_LAMED which according to the driver source code, "is not fatal".
However when I try to run inference, it fails at gasket_mmap_has_permissions() because the device is not GASKET_STATUS_ALIVE and I run the python inference as a user.

If I force allow this, I get stuck forever here:
mmap(NULL, 1904640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff96c8d000
munmap(0xffff96e5e000, 1904640)         = 0
brk(0x14eab000)                         = 0x14eab000
brk(0x14edc000)                         = 0x14edc000
munmap(0xffff96c8d000, 1904640)         = 0
write(1, "----INFERENCE TIME----\n", 23----INFERENCE TIME----
) = 23
write(1, "Note: The first inference on Edg"..., 106Note: The first inference on Edge TPU is slow because it includes loading the model into Edge TPU memory.
) = 106
clock_gettime(CLOCK_MONOTONIC, {tv_sec=85, tv_nsec=862436800}) = 0
clock_gettime(CLOCK_REALTIME, {tv_sec=1590443364, tv_nsec=559288720}) = 0
ioctl(5, _IOC(_IOC_WRITE, 0xdc, 0xc, 0x28), 0xffffcb59b388) = 0
ioctl(4, _IOC(_IOC_WRITE, 0x7f, 0, 0x10), 0xffffcb59bc18) = 0
ioctl(5, _IOC(_IOC_WRITE, 0xdc, 0xc, 0x28), 0xffffcb59af88) = 0
clock_gettime(CLOCK_REALTIME, {tv_sec=1590443364, tv_nsec=586945720}) = 0
ioctl(5, _IOC(_IOC_WRITE, 0xdc, 0xc, 0x28), 0xffffcb59b0c8) = 0
ioctl(5, _IOC(_IOC_WRITE, 0xdc, 0xc, 0x28), 0xffffcb59b0c8) = 0
ioctl(5, _IOC(_IOC_WRITE, 0xdc, 0xc, 0x28), 0xffffcb59b038) = 0
clock_gettime(CLOCK_REALTIME, {tv_sec=1590443364, tv_nsec=627863040}) = 0
futex(0xffffcb59c368, FUTEX_WAIT_PRIVATE, 0, NULL

I tried with the following but it doesn't seem to change the behavior
insmod gasket.ko dma_bit_mask=32

Hello,
The driver itself certainly expects MSI-X interrupts. Looking at the source, you can change the configuration to DEVICE_MANAGED (https://coral.googlesource.com/linux-imx/+/refs/heads/dkms/drivers/staging/gasket/apex_driver.c#1139). I briefly tested this but the system has MSI-X (and I still see it in capabilities when running lspci -vvv).
It's worth trying this, I simply extracted the gasket-dkms deb and made that quick change and then rebuilt the deb.

@mbrooksx I gave it a try and the driver loads correctly but still freezes when trying to do an inference:
(.venv) fgervais@buildroot:~/coral/tflite/python/examples/classification$ python classify_image.py --model models/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite --labels models/inat_bird_labels.txt --input images/parrot.jpg
----INFERENCE TIME----
Note: The first inference on Edge TPU is slow because it includes loading the model into Edge TPU memory.

It stops there forever.
On the kernel side I get the following messages (I enabled a bit more dev_dbg() messages):
[   64.834615] gasket: loading out-of-tree module taints kernel.
[   64.844638] gasket: Loading apex driver version 1.1
[   64.849698] apex 0000:01:00.0: can't enable device: BAR 0 [mem 0x4040100000-0x4040103fff 64bit pref] not claimed
[   64.859894] apex 0000:01:00.0: BAR 2: assigned [mem 0x4040000000-0x40400fffff 64bit pref]
[   64.868099] apex 0000:01:00.0: BAR 0: assigned [mem 0x4040100000-0x4040103fff 64bit pref]
[   64.876317] apex 0000:01:00.0: add PCI gasket device
[   64.881283] gasket: Allocating a Gasket device, parent 0000:01:00.0.
[   64.888043] apex 0000:01:00.0: enabling device
[   64.892503] apex 0000:01:00.0: Initializing page table 0.
[   69.940725] apex 0000:01:00.0: Apex performance not throttled due to temperature
[   82.474173] apex 0000:01:00.0: Attempting to open with tgid 573 (python) (f_mode: 0037, fmode_write: 2 is_root: 0)
[   82.484551] apex 0000:01:00.0: Current owner open count (owning tgid 0): 0.
[   82.492539] apex 0000:01:00.0: Device owner is now tgid 573
[   82.498143] apex 0000:01:00.0: New open count (owning tgid 573): 1
[   82.504391] apex 0000:01:00.0: Attempting to open with tgid 573 (python) (f_mode: 0037, fmode_write: 2 is_root: 0)
[   82.514903] apex 0000:01:00.0: Current owner open count (owning tgid 573): 1.
[   82.522068] apex 0000:01:00.0: New open count (owning tgid 573): 2
[   82.528282] apex 0000:01:00.0: Attempting to open with tgid 573 (python) (f_mode: 0037, fmode_write: 2 is_root: 0)
[   82.538635] apex 0000:01:00.0: Current owner open count (owning tgid 573): 2.
[   82.545776] apex 0000:01:00.0: New open count (owning tgid 573): 3
[   82.551989] apex 0000:01:00.0: Attempting to open with tgid 573 (python) (f_mode: 0037, fmode_write: 2 is_root: 0)
[   82.562340] apex 0000:01:00.0: Current owner open count (owning tgid 573): 3.
[   82.569477] apex 0000:01:00.0: New open count (owning tgid 573): 4
[   82.575725] apex 0000:01:00.0: Attempting to open with tgid 573 (python) (f_mode: 0037, fmode_write: 2 is_root: 0)
[   82.586077] apex 0000:01:00.0: Current owner open count (owning tgid 573): 4.
[   82.593217] apex 0000:01:00.0: New open count (owning tgid 573): 5

@fgervais - yes I verified that the driver fails with device managed. In fact, looking closer at that concept a ISR would need to be implemented in the Apex driver - which it isn't. I'm fairly confident that it can't be implemented because there are MSIX dependent device registers (such as https://coral.googlesource.com/linux-imx/+/refs/heads/dkms/drivers/staging/gasket/apex_driver.c#117).
Unfortunately, MSI-X is required for using the Edge TPU with PCIe.

@mbrooksx I'm thinking there could be registers for MSI too but that are not defined in the driver code?
Is this something you could verify on your side?

@mbrooksx those look particularly interesting:
APEX_BAR2_REG_KERNEL_WIRE_INT_PENDING_BIT_ARRAY = 0x48778,
APEX_BAR2_REG_KERNEL_WIRE_INT_MASK_ARRAY = 0x48780,

Is WIRE_INT an alternate interrupt I could use?

It might be possible to re-write the driver to use polling instead of interrupts, but would it be worth the effort to bring up a new driver so the edge TPU can run at significantly reduced performance?

Hello all
I find it difficult to understand what exactly the requirement is, given that I do not know much about PCIe standard.
According to the Coral-M2-dual-edgetpu-datasheet:

All systems require support for MSI-X as defined in the PCI 3.0 specification

I have two potential hosts for the dual M.2 card, but cannot find if they would work with it. These are the two:

Rock Pi N10, based on RK3399pro (with a M.2 E-Key slot):
According to specs it supports PCIe 2.1 and has support for legacy, MSI and MSI-x interrupts:

PCIe
 One PCIe port in RK3399Pro
 Compatible with PCI Express Base Specification Revision 2.1
 Dual operation mode: Root Complex(RC)and End Point(EP)
 Maximum link width is 4, single bi-directional Link interface
 Support 2.5Gbps serial data transmission rate per lane per direction
 Support Single Physical PCI Functions in Endpoint Mode
 Support Legacy Interrupt and MSI and MSI-X interrupt

HP Microserver Gen 8 with Intel Xeon E3-1220L v2:
According to HP datasheet, the supported PCIe version is either 2.0 or 3.0 depending on CPU (Xeon should be PCIe 3.0). I don't find any info on MSI-X, though.

1 | PCIe 3.0/2.0 | x16 | x16 | Low Profile
Processor dependent. Xeon is PCIe 3.0. Celeron and pentium are PCIe 2.0.

The Microserver would also require two adapters: a PCIe to M.2 M-key adapter and a M.2 M-Key to M.2 E-Key adapter (as I haven't found any direct PCIe to M.2 E-Key adapter).
Can anyone help me find out if one or both of these systems could work with the Dual EdgeTPU M.2 board?

Hello all
I find it difficult to understand what exactly the requirement is, given that I do not know much about PCIe standard.
According to the Coral-M2-dual-edgetpu-datasheet:

All systems require support for MSI-X as defined in the PCI 3.0 specification

I have two potential hosts for the dual M.2 card, but cannot find if they would work with it. These are the two:

Rock Pi N10, based on RK3399pro (with a M.2 E-Key slot):
According to specs it supports PCIe 2.1 and has support for legacy, MSI and MSI-x interrupts:

PCIe
 One PCIe port in RK3399Pro
 Compatible with PCI Express Base Specification Revision 2.1
 Dual operation mode: Root Complex(RC)and End Point(EP)
 Maximum link width is 4, single bi-directional Link interface
 Support 2.5Gbps serial data transmission rate per lane per direction
 Support Single Physical PCI Functions in Endpoint Mode
 Support Legacy Interrupt and MSI and MSI-X interrupt

HP Microserver Gen 8 with Intel Xeon E3-1220L v2:
According to HP datasheet, the supported PCIe version is either 2.0 or 3.0 depending on CPU (Xeon should be PCIe 3.0). I don't find any info on MSI-X, though.

1 | PCIe 3.0/2.0 | x16 | x16 | Low Profile
Processor dependent. Xeon is PCIe 3.0. Celeron and pentium are PCIe 2.0.

The Microserver would also require two adapters: a PCIe to M.2 M-key adapter and a M.2 M-Key to M.2 E-Key adapter (as I haven't found any direct PCIe to M.2 E-Key adapter).
Can anyone help me find out if one or both of these systems could work with the Dual EdgeTPU M.2 board?

OK, did quite some research on this. Just in case someone else thinks about the same situation.
Here are my findings:

PCIe specifications is not the same as PCI specification. MSI-X as defined in PCI v3 seems to have been added to PCIe v2.0. So, apparently both systems should support MSI-X.
Schematics of the Rock Pi N10, however, show that the M.2 E-key slot does not have the PCIe lanes connected. It only supports I2C and USB (and maybe some other signals), but not PCIe.
The M.2 M-key slot of the N10 does have both PCIe lanes connected.
However, the M.2 M-key slot in general does not feature some important lines to make the second PCIe lanes independent from the first ones (e.g. clocks). Therefore the M-key only supports one PCIE x2 and NOT two PCIe x1.
That, therefore, also applies any M.2 M-key to E-key adapter.

So, result is then: The Coral-M2-dual-edgetpu will probably work in both systems, but always only one TPU. The second one will be missing important lanes.
The only chance to get dual-edgetpu work reasonably is to have a (at the moment not existing) PCIe x2 (or x4, x8, x16) to M.2 E-key adapter. While this seems to be a very simple board with probably nearly no components on it, there doesn't seem to exists such one. :(

OK, did quite some research on this. Just in case someone else thinks about the same situation.
Here are my findings:

PCIe specifications is not the same as PCI specification. MSI-X as defined in PCI v3 seems to have been added to PCIe v2.0. So, apparently both systems should support MSI-X.
Schematics of the Rock Pi N10, however, show that the M.2 E-key slot does not have the PCIe lanes connected. It only supports I2C and USB (and maybe some other signals), but not PCIe.
The M.2 M-key slot of the N10 does have both PCIe lanes connected.
However, the M.2 M-key slot in general does not feature some important lines to make the second PCIe lanes independent from the first ones (e.g. clocks). Therefore the M-key only supports one PCIE x2 and NOT two PCIe x1.
That, therefore, also applies any M.2 M-key to E-key adapter.

So, result is then: The Coral-M2-dual-edgetpu will probably work in both systems, but always only one TPU. The second one will be missing important lanes.
The only chance to get dual-edgetpu work reasonably is to have a (at the moment not existing) PCIe x2 (or x4, x8, x16) to M.2 E-key adapter. While this seems to be a very simple board with probably nearly no components on it, there doesn't seem to exists such one. :(

OK, did quite some research on this. Just in case someone else thinks about the same situation. Here are my findings:

PCIe specifications is not the same as PCI specification. MSI-X as defined in PCI v3 seems to have been added to PCIe v2.0. So, apparently both systems should support MSI-X.
Schematics of the Rock Pi N10, however, show that the M.2 E-key slot does not have the PCIe lanes connected. It only supports I2C and USB (and maybe some other signals), but not PCIe.
The M.2 M-key slot of the N10 does have both PCIe lanes connected.
However, the M.2 M-key slot in general does not feature some important lines to make the second PCIe lanes independent from the first ones (e.g. clocks). Therefore the M-key only supports one PCIE x2 and NOT two PCIe x1.
That, therefore, also applies any M.2 M-key to E-key adapter.

So, result is then: The Coral-M2-dual-edgetpu will probably work in both systems, but always only one TPU. The second one will be missing important lanes.
The only chance to get dual-edgetpu work reasonably is to have a (at the moment not existing) PCIe x2 (or x4, x8, x16) to M.2 E-key adapter. While this seems to be a very simple board with probably nearly no components on it, there doesn't seem to exists such one. :(

https://github.com/magic-blue-smoke/Dual-Edge-TPU-Adapter


feat: add url validation

closes #378.
adds some naive url validations to the submit route.
adds some tests for these naive validations.
these validations check that:

the urls start w/ http: or https:
the urls don't use local ip addresses and/or localhost

Note to self: URL.canParse() types are missing.


DropdownMenu shows incorrect currentHighlight

b/305662376
Customer reports the current highlight of their DropdownMenu is not correct.
I have not been able to reproduce this in an independent code sample, but the customer code and a video of the bug is available in the internal bug listed above.
Steps:

DropdownMenu has initial index of 0.
Customer opens menu, selects index 2, menu closes.
Customer opens menu, index 1 is highlighted.

@QuncCccccc do you have any thoughts on this? It looks like currentHighlight is incorrect.
I think this could be the way we choose the currentHighlight based on filtering. The customer case has 3 items in the menu, in this order

All
Unread
Read

The bug presents itself when Read is selected and the menu is reopened, and Unread is highlighted instead. At this point Read is in the text field of the menu, so we could be highlighting the first match to the String read. Maybe?

Thanks for the code sample! Taking a look.

Ah interesting. It looks like when dropdown menu is looking for the target, it will show the first target which contains the text in the text field instead of getting a exact match😂. If we put 'Read' in the second place, it will work correctly. I can add an option for users to define their own formula to get the result, or provide a flag to find the "exact match".

I was scratching my head until I've found this issue, surprised it's been reported only recently as I'm on 3.12.0 that is from 4 months ago. Exact same thing is happening with this example:

...
Caravan Park
...
Park

When the "Park" is selected, "Caravan Park" is highlighted. Thankfully it actually saves and returns the correct value.

When the "Park" is selected, "Caravan Park" is highlighted. Strange thing is their value is not string but enums and it does give the correct enum value with the onSelected event. I would simply expect that widget to highlight first == matching value, not the string label .contains() test result, instead of writing a custom "search algorithm" TBH...

Thanks for the suggestion. I think comparing value would be a little difficult because searching happens when we are typing text in the text field, but the entry's value could be any types.


unable to decompress a stream from assets

Describe the bug
i have a zip file in assets. when i try to read it and decompress, something exception hanppens. here is my code
using (var stream = AssetLoader.Open(new Uri("avares://xxx/Assets/publish.zip")))
{
    if (stream == null)
        throw new Exception($"No resource");
    using (ZipArchive archive = new ZipArchive(stream))
    {
      //some code
    }
}

Exception throws at
ZipArchive archive = new ZipArchive(stream)
Exception message:
System.ArgumentOutOfRangeException:“Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. Arg_ParamName_Name”
and here is stacktrace
在 System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
在 System.IO.UnmanagedMemoryStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 Avalonia.Platform.Internal.SlicedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 System.IO.Stream.Read(Span`1 buffer)
在 System.IO.Stream.ReadAtLeastCore(Span`1 buffer, Int32 minimumBytes, Boolean throwOnEndOfStream)
在 System.IO.Stream.ReadAtLeast(Span`1 buffer, Int32 minimumBytes, Boolean throwOnEndOfStream)
在 System.IO.Compression.ZipHelper.ReadBytes(Stream stream, Byte[] buffer, Int32 bytesToRead)
在 System.IO.Compression.ZipHelper.SeekBackwardsAndRead(Stream stream, Byte[] buffer, Int32& bufferPointer)
在 System.IO.Compression.ZipHelper.SeekBackwardsToSignature(Stream stream, UInt32 signatureToFind, Int32 maxBytesToRead)
在 System.IO.Compression.ZipArchive.ReadEndOfCentralDirectory()
在 System.IO.Compression.ZipArchive..ctor(Stream stream, ZipArchiveMode mode, Boolean leaveOpen, Encoding entryNameEncoding)
在 System.IO.Compression.ZipArchive..ctor(Stream stream)
在 ZXInstaller.ViewModels.MainViewModel.InstallAction() 在 xxx\MainViewModel.cs 中: 第 58 行
在 ReactiveUI.ReactiveCommand.<>c__DisplayClass0_0.<Create>b__1(IObserver`1 observer)
在 System.Reactive.Linq.QueryLanguage.CreateWithDisposableObservable`1.SubscribeCore(IObserver`1 observer)
在 System.Reactive.ObservableBase`1.Subscribe(IObserver`1 observer)

I can confirm this on my end. It was encountered a few months ago porting some unit tests over to Avalonia.
The following code will not work for .zip files. It will work for all other file types tested (such as XML or TXT).
            var assemblyName = Assembly.GetExecutingAssembly().GetName().Name;
            var baseUri = "avares://" + assemblyName + "/TestFiles/Native/";

            foreach (var fileName in fileNames)
            {
                using (Stream stream = AssetLoader.Open(new Uri(baseUri + fileName)))
                {
                    // Test
                }
            }

one may need to seek the stream to pos 0
stream.Seek(0);

Good idea but resetting the stream position doesn't seem to fix this. That is already done in test code on my end using stream.Position = 0;.

@robloo can you attach that test for us to double-check?

I found that a "SlicedStream" is returned which is an Avalonia class. If I copy the data to a MemoryStream, it loads the zip file as expected. Don't know the root cause here but may give someone a clue where to look.
https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Base/Platform/Internal/SlicedStream.cs
using (var stream = AssetLoader.Open(new Uri("avares://AvaloniaApplication1/Assets/Test.zip", UriKind.RelativeOrAbsolute)))
{
    stream.Seek(0, SeekOrigin.Begin);

    using (var ms = new MemoryStream())
    {
        stream.CopyTo(ms);

        var zip = new ZipArchive(ms, ZipArchiveMode.Read);
        Debug.WriteLine(zip.Entries.Count); // prints 1 as expected as we have one entry in our test zip
    }
}

I found that a "SlicedStream" is returned which is an Avalonia class. If I copy the data to a MemoryStream, it loads the zip file as expected. Don't know the root cause here but may give someone a clue where to look.
https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Base/Platform/Internal/SlicedStream.cs
using (var stream = AssetLoader.Open(new Uri("avares://AvaloniaApplication1/Assets/Test.zip", UriKind.RelativeOrAbsolute)))
{
    stream.Seek(0, SeekOrigin.Begin);

    using (var ms = new MemoryStream())
    {
        stream.CopyTo(ms);

        var zip = new ZipArchive(ms, ZipArchiveMode.Read);
        Debug.WriteLine(zip.Entries.Count); // prints 1 as expected as we have one entry in our test zip
    }
}

yes , this is worked.
there is somthing wrong in "SlicedStream".
may be fix the "SlicedStream" is best way

It feels like offset property should be adjusted here - https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Base/Platform/Internal/SlicedStream.cs#L24

by read the source code of ZipArchive. it's seems like not only the offset property cause this

@landrufang if you have an idea how to solve the issue, we'd be happy about a PR

@maxkatz6 this is not related to xaml but how AssetLoader works

Y this is a bug with SlicedStream where the offset the stream is created with is not taken into account when some position is read.


GetDescriptor to return timestamps

Update API.get_descriptor to include the 'irregular_indices' property, ideally without opening files to read the data.  The only irregular dimension we currently have in datasets is time.  (This will be hard-coded in the API until an 'irregular' flag for the dimension can be passed along from other layers.
The acquisition timestamps are stored in relation to the dataset, which can be linked back to from the storage unit. This is not an ideal mapping.
Alternatively, we can open a file for each section of the dimension and return the list of indices.

The API.get_descriptor 'irregular_indices' property now uses the time coordinates stored in the NetCDF files for irregular time dimension, for files with more than 2 slices (it uses the database for the min and max times where possible).
This is a stopgap solution until we determine what the use cases are irregular variables other than time.


怎么运行？

你好，请问这个代码怎么运行？代码好像只提供了模型，没有提供数据。换句话说，这个代码怎么调用表格数据，如果我想给表格的数据分类，我应该怎么做？

Sorry for the slow reply, is the help still needed?

Thank you for your reply. Well, I still need your help. I can't run your project mainly because there is a lack of training functions. My data set is in CSV format, which contains both text data and numerical data. I want to train with my own data and then do the verification. What should I do?

This project only provides a list of papers. Some of the papers have their own Python packages that provide PyTorch modules and end-to-end examples showing how to train them (example). However, there are no high-level training functions in those packages.
Also, there is Skorch -- a package that provides a Scikit-learn wrapper for any PyTorch module, so you can take one of our models and pass it to the wrapper. Though you should not rely on the default hyperparameters in that package, they can be far from optimal.
Does this help?
P.S. The package rtdl is deprecated, so individual packages of the aforementioned papers should be used instead.

yeah，I maybe get it, thank you very much.

Feel free to reopen the issue if further help is needed


Black texture on WebGL

This is probably not an issue with sokol, but rather me not using it properly. Unfortunately I could not figure out what's wrong so that's why I ask: I created a small tool for image processing with a minimal GUI using sokol-app, sokol-gfx, sokol-imgui and IMGUI (the original C++ version). In addition to the small IMGUI GUI I also show one texture with the following pipeline:
  sg_pipeline_desc pipelineDesc = {
      .shader = sg_make_shader(shader_desc),
      .layout = {
          .attrs = {
              [ATTR_vs_pos].format = SG_VERTEXFORMAT_FLOAT3,
              [ATTR_vs_texcoord0].format = SG_VERTEXFORMAT_FLOAT2
          }
      },
      .index_type = SG_INDEXTYPE_UINT16,
      .label = "pipeline"
  };

The shader is also very simple:
@vs vs
in vec4 pos;
in vec2 texcoord0;
out vec2 uv;

void main() {
    gl_Position = pos;
    uv = texcoord0;
}
@end

@fs fs
uniform sampler2D tex;

in vec2 uv;
out vec4 frag_color;

void main() {
    frag_color = texture(tex, uv).rrrr;
}
@end

@program texture vs fs

To make sure I get the right shader description for each platform I use the generated texture_shader_desc(...) function which the sokol-shdc tool generated:
const sg_shader_desc *shader_desc = texture_shader_desc(sg_query_backend());

So far I used it on my Mac with the metal backend and everything work as expected.  I also tried to compile it with emscripten and run it in the browser but I cannot see the texture, it's just black. I compiled the debug version for the web with -sASSERTIONS=1 but got no assertions or warnings. What could be wrong or what should I check? This is the first time I try WebGL with emscripten
Mac

WebGL

WebGL(1) has various texture size restrictions, e.g. check on the devtools console if there are error messages like this:
RENDER WARNING: texture bound to texture unit 0 is not renderable. It might be non-power-of-2 or have incompatible texture filtering (maybe)?

If this is the problem, create the non-power-of-2 textures with clamp-to-edge wrapping:
sg_image img = sg_make_image(&(sg_image_desc){
    ....
    .wrap_u = SG_WRAP_CLAMP_TO_EDGE,
    .wrap_v = SG_WRAP_CLAMP_TO_EDGE
});

...which allows WebGL to render from NPOT textures. Alternatively, switch to WebGL2, which (AFAIK) also drops those restrictions.

I figured it out.  Here is what happens if you run it in Firefox:

With Safari there is no warning but of course it will not work.
So instead of using the default settings in sg_image_desc you have to set:
.wrap_u = SG_WRAP_CLAMP_TO_EDGE,
.wrap_v = SG_WRAP_CLAMP_TO_EDGE,

Just wondering? Why not set this to default instead it would work with WebGL, Metal and other APIs as well?

@floooh thx for the answer :-) Actually I was hoping to keep WebGL 1 a bit longer since I do not need more functionality then what it offers.


Migrate to workflows

Still having issues with codecov. Even if it manages to upload a report, codecov tells me it has a missing reference.

Screw it, code coverage is available in the CI output and Github Actions is not as horrid to use as Travis :laughing:


Update ARM template to include new services

Currently, that is:

[ ] Speech Services
[ ] External key for Twilio

Hold off on doing this until things are more stable

FWIW, I added but did not test CosmosDB. Still waiting on videochat-related stuff til it's stable.

The things that are currently needed:

Create a Speech Services resource and attach the keys
Potentially add a parameter in the template creation for dropping in your Twilio keys

Renaming this, and having it reflect the new dev work I'm doing now to get us back to having as close to one-click setup as possible.

By the time #857 is merged, it will hopefully make the ARM template up-to-date. I believe the only missing services are PubSub and soon to be ACS (email).


Don't name sections of the page by function, just name them by location

Sub-themes may or may not want to use each section of the page for the same thing. For example, the PyData Sphinx Theme uses the "topbar" as the "site nav" and the "left sidebar" as the "Section nav". I think this confusion would be smaller if the sections were named by their place in the page structure, rather than by the function we assume they'll have (e.g., sidebar-left and sidebar-right, rather than site-nav)

I don't wanna do left/right because IMO we should support RTL here. That said, something like primary/secondary should work well!

Could you explain or point to a wrote up for why "right" and "left" language is problematic for RTL workflows ? I would have thought that RTL workflows is a reason to decouple the "location" from the "function" in naming things (since left does not always have to be the same function on the page, but it will always be "left")

Or in those cases do you imagine that the actual HTML positions of things would change location? If that's the case then i agree primary and secondary is better

Yea, RTL sites should also flip the left-right sidebars and all that. Otherwise, the experience is a bit odd.
I guess a good way to imagine this would be PyData Sphinx theme but with the page toc on the left and site-section toc on the right.

yeah if that is possible, then I agree with you we should use non-location-specific terminology. "primary" and "secondary" sound good to me 👍


Improve Allstar's Scorecard

Allstar currently has an OpenSSF Scorecard of 6.2.
Some of that is related to this having primarily been a single-maintainer project (until its inclusion as an OpenSSF Scorecard project, ref: https://github.com/ossf/scorecard/issues/4073), so it will resolve over time.
The rest of the pending issues should actively be addressed.
ref: https://scorecard.dev/viewer/?platform=github.com&org=ossf&repo=allstar / https://api.scorecard.dev/projects/github.com/ossf/allstar

Score has improved to 7.1 (previously 6.2)

Score has improved to 7.7 (previously 7.1)