Matrix file names are mangled in project details page

These are the files names in the Azul response:
$ http 'https://service.dev.singlecell.gi.ucsc.edu/index/projects/4a95101c-9ffc-4f30-a809-f04518a23803?catalog=dcp2' | jq -r '.projects[].matrices | .. | .name? // empty' | grep -e '.loom$'
6fcd2c86-76dc-4cfa-8805-20f7d8f6a678.loom
fcbaa3c6-b2bf-4f87-8336-9966ac6a2bb6.loom
58cf25fd-440a-4d33-ab94-9f7ba5a1036c.loom
t-cell-activation-human-hematopoietic-10XV2.loom
36ca61c4-9752-4cdf-8bac-1e8da06d9ed1.loom
58a18a4c-5423-4c59-9b3c-50b7f30b1ca5.loom
fb72f4c2-7f35-40a6-af19-9b41d0680677.loom
t-cell-activation-human-hematopoietic-10XV2.loom
c76d90b8-c190-4c58-b9bc-b31f586ec7f2.loom
c763f679-e13d-4f81-844f-c2c80fc90f46.loom
3ddf143f-36bd-49c5-9bbf-f5b71e384063.loom
t-cell-activation-human-hematopoietic-10XV2.loom
219e1b92-9749-490c-b08a-f375ad4c9884.loom
bfbf2ca6-13e5-4fe0-bb03-a592e1e72648.loom
24ae6c0b-d147-4051-a85b-c6204531b9d7.loom

The Data browser appears to remove any UUIDs from the file name and that should not be done. The original file name needs to be displayed.

Dup of #1485.

Dup of #1485.

Will handle in #1485

Will handle in #1485


Bug: unable to find these videos, but they do exist on sites

Tested alpha10 on 50+ videos. Great work on this release!
Here's 3 video example that it did not find, but they do exists on the sites.

HMPD-10042
DMM: https://www.dmm.co.jp/mono/dvd/-/detail/=/cid=41hmpd10042/?i3_ref=search&i3_ord=1
HMPD-10047
DMM: https://www.dmm.co.jp/mono/dvd/-/detail/=/cid=41hmpd10047/?i3_ref=search&i3_ord=1
HHED-055
R18: https://www.r18.com/videos/vod/movies/detail/-/id=h_086hhed00055/?i3_ref=search&i3_ord=1
JavLibrary: http://www.javlibrary.com/en/?v=javli73nty

For whatever reason, HMPD10042 and HMPD10047 don't show up when you search for them in DMM. That's why they're not being found. Unfortunately there's no way around that unless I make it fall back to the ID that was found from R18 (which was the method used in v1.x.x).
As for HHED-055, it doesn't follow the standard 3 number ID schema on Javlibrary, so that's why it's not matching properly.

Javinizer's automatic ID matching/renaming requires that the ID match exactly what is listed at the source as to avoid mismatches.
For example, if you did Javinizer -Find HHED-055 -Javlibrary it would fail, but if you did Javinizer -Find HHED-55 -Javlibrary it would find it successfully.
You can see this in action when you run with -Debug.

Unfortunately I don't think I could write in logic to match these fringe cases due to it most likely causing issues elsewhere. But the way around it is using the -Strict parameter when sorting or using the regex match to match filenames exactly by their ID rather than automatically converting them to their standard format. You would name the file HHED-55.mp4 and then run Javinizer -Path 'path/to/HHED-55.mp4' -Strict and it would set the ID to HHED-55 rather than HHED-055.

No worries about HHED-055. As you said these are fringe cases and should not come up often. When they do, it's easy enough to do the work-around.
Feel free to close this ticket.
Great job on this release. I've been testing it further without issues.

Thanks for raising this issue though.
I'll update the documentation to include these cases.


Android Graphhopper : An error happend while creating graph:Version of nodes unsupported: 4, expected: 3

Hi guys, i'm sorry if there any duplicate post,
but I've tried to solve this for week and search for the solution, but haven't got it till now.
I have a problem when trying to run code from here : https://github.com/graphhopper/graphhopper/tree/master/android
I've read for multiple times from here too guys :
https://github.com/graphhopper/graphhopper/blob/master/docs/android/index.md
This is what I've done after import the project to eclipse :
I download the jars based on build.gradle which is :
dependencies {
    compile(group: 'com.graphhopper', name: 'graphhopper', version: '0.4-SNAPSHOT') {
       exclude group: 'com.google.protobuf', module: 'protobuf-java'
       exclude group: 'org.openstreetmap.osmosis', module: 'osmosis-osm-binary'
       exclude group: 'org.apache.xmlgraphics', module: 'xmlgraphics-commons'
    }

    compile group: 'org.mapsforge', name: 'mapsforge-core', version: '0.5.1'
    compile group: 'org.mapsforge', name: 'mapsforge-map', version: '0.5.1'
    compile group: 'org.mapsforge', name: 'mapsforge-map-android', version: '0.5.1'
    compile group: 'org.mapsforge', name: 'mapsforge-map-reader', version: '0.5.1'

    compile group: 'org.slf4j', name: 'slf4j-android', version: '1.7.10'
    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.10'
}

then I see this code in MainActivity.java :
private String fileListURL = "https://graphhopper.com/public/maps/0.5/";
I can compile & run this, and I download the maps from the apps.
But when the apps try to load the maps, it toast an error message :
An error happend while creating graph:Version of nodes unsupported: 4, expected: 3
I've tried to change the fileListURL to 0.1, 0.2, 0.3, 0.4, and 0.5, but got the same error
FYI :
################################
List Jars :

graphhopper 0.4-snapshot
mapsforge core 0.5.1
mapsforge map 0.5.1
mapsforge map android 0.5.1
mapsforge map reader 0.5.1
osmosis osm binary 0.4.3
protobuf java 2.4.1
slf4j android 1.7.10
slf4j api 1.7.10
xmlgraphic commons 1.4

Hope you guys can help me to solve this problem, Thank you

This is due to the problem mentioned in comment https://github.com/graphhopper/graphhopper/pull/453#issuecomment-117240068

Forgot to mention that this should be fixed as over night new graphs were created. Please remove the folders on Android and download again.
Now also it looks like you have an old 0.5 installed, make sure you really refresh your build/jar/repo.

I've tried to change the fileListURL to 0.1, 0.2, 0.3, 0.4, and 0.5, but got the same error

It should be a slightly different error message with different versions

Thanks karussell, for your quick responses
Yes this is true
I've tried to change the fileListURL to 0.1, 0.2, 0.3, 0.4, and 0.5, but got the same error
It return different same toast, but different version. Sorry for my bad description.
And I still dont get about the build/jar/repo things.  (nodes version 3)
Is there any wrong jar or the wrong version? If I may know, which one is it?
Thank you, karussell

graphhopper 0.4-snapshot

This is the problem: use a stable jar 0.4.1 or 0.5-SNAPSHOT

Also discussion or setup problems should be discussed on the mailing list instead (although in this case partly a real problem ;))

It's always recommended to use the same GraphHopper version for building graphs and for reading them (due to possible graph structure changes).


realtek Bluetooth 5.0 dongle not working

The dongle was showing up on lsusb but controller was not found on bluetooth ctl.

Found a fix for this problem.
Reference:
How to install unsupported Bluetooth 5.0 Dongle on Linux -
https://medium.com/nerd-for-tech/how-to-install-unsupported-bluetooth-5-0-dongle-on-linux-4bf34aa99fed


Don't mark the first element of the submenu as selected when opening

Now in DropdownMenu component the first element of the submenu always mark as selected when opening.
https://github.com/gravity-ui/uikit/blob/6eca54635f8fbbcf6960ff6bb96563273b458700/src/components/DropdownMenu/DropdownMenuPopup.tsx#L131
It will be great if you add the ability to disable this behavior

Will be fixed in #1430


Bash file detector does not work with PHPStorm 2017.3

Since the update to PHPStorm 2017.3, files without an extension are not detected as bash files anymore when they have a bash shebang

Same with IntelliJ 2017.3. It's really annoying to lose the pretty bash formatting for all non-.sh files.

Actually, it magically started working after a couple of minutes, even though I didn't do anything. Either way, this seems like a bug since the effect is not instant.

@stof @josh-padnick To my knowledge there's now change to this in 2017.3.
File type detection might be disabled during indexing, though.
This could also be caused by other (probably 3rd-party) plugin, which override the file type on their own.

Hello,
Same problem here with IntelliJ 2017.3 except for one person (6 persons concerned), we didn't find why it works well on his computer.  In the plugins settings the BashSupport is in Red for us.
I tried to uninstall every additionnal plugins for automatic file type detection by bashsupport without success.
(sorry for my bad english)

@c4rr3r4 Thanks for the feedback! (Your English is fine :)
"Red" usually indicates that it's not compatible with the version of the IDE. Could you post a screenshot of that red entry and the build information as shown at "Help -> About"?

I found a solution, I tried to uninstall and re-install it manually and it worked !
I downloaded version <IP_ADDRESS>, unzip it in plugin directory and restart IntelliJ.

I found the issue. Files without extensions were associated with Text in File Types (look for an empty pattern). And then, this means that the detector was not running for them.

It's still a bug in 2018.1, but there is a workaround:
@stof Excellent tip!  It did not work for me... However, adding '*' for the Borne Again Shell type did (of course), then removing it.
That's the trick that got the BashPlugin paying attention to the shebang on the first line:
#!/bin/bash

Sorry, how do you add an empty pattern? As far as I tried, it cannot be added with the current IDEA (CLion) GUI.
And no, there is no empty pattern in my "Text files" type. Should I search through all the types?
I tried adding *, but it was a disaster - all my C++ files were reindexed as bash.
Reindexing them back, and trying *. now.

Please report  at #579 if you're still seeing this...


Use native address validation for cryptonote coins

TODO:

[ ] Separate 25 word functionality from wownero/25-word from this PR so it's standalone

https://github.com/cypherstack/flutter_libmonero/pull/10 includes this and we don't need these PRs to be functionally separate, so closing.  Do note the TODO here: I would like to fully and correctly expose validate_address itself, especially when we move to support other nettypes.


Improving disk's device description

Today, the actual sample file & usage is around pointing devices by /dev/sd* or similar.
Using a /dev/sd* naming isn't consistent across a cluster as

disks could be detected in a different order
there is no guarantees of features & capabilities of a disk behind a /dev/sd* short name

Which leads to the following issue:

How can I point the SSDs I have in my nodes to be a journal device ?
How can I be sure I'm using the proper SCSI 15k 1TB disk as a data disk ?

There is several options to be discussed on how to achieve that.

First idea, is using /dev/disk/by-id/* names like :
/dev/disk/by-id/ata-SAMSUNG_MZ7LN512HCHP-000L1_S1ZKNXAGB23686
Pros:

a path identify a vendor & product, so the pointed device is predictable (size / features / capabilities)
this path is consistent over nodes & hardware setups

Cons:

This path embed the serial number like 'S1ZKNXAGB23686' in my case. This imply being able to specify a path without the serial number maybe by using a star '*' but without taking the sub-partitions files like : ata-SAMSUNG_MZ7LN512HCHP-000L1_S1ZKNXAGB23686-part1
Needs a particular entry for each hardware device type

Second idea would be adding a descriptive language to define what device we are looking for.
When we list devices to be used by ceph, we usually know what feature or capabilities we are looking at : like if we want to setup a cluster with 3x4TB disk per OSD with 1x 512 SSD for the journal
So the idea here would to point devices by features rather than name. This imply a kind of descriptive language like
{'vendor':'SAMSUNG', size:'256G', 'rotational':'no'}
That's almost what we did in https://pypi.python.org/pypi/hardware
Pros:

Devices are pointed by features, not by path

Cons:

Required to setup a descriptive language & a tooling to elect the potential devices matching this criteria : using https://pypi.python.org/pypi/hardware ?

Example of a ceph_disk module:
- name: prepare osd disk
  ceph_disk:
    device: {{ item }}
    scenario: osd_colocation
    task: prepare
  with_items: "{{ devices }}"

- name: prepare osd disk
  ceph_disk:
    device: {{ item.0 }}
    journal_device: {{ item.1 }}
    scenario: dedicated_journal
    task: prepare
  with_together:
    - "{{ devices }}"
    - "{{ journal_device }}"

scenario:
  - journal_collocation
  - dedicated_device
  - dmcrypt
  - bluestore
  - directory

task:
  - prepare
  - activate

https://github.com/ceph/ceph-ansible/pull/1128 is current taking care of that

resumed here: https://github.com/ceph/ceph-ansible/pull/1558

I love the idea of a rule-based description of what OSDs you want to use!  It is similar to an idea I had for OpenStack to use its introspection database to drive selection of OSDs.

@bengland2 this is targetted for milestone 3.1

Closed due to inactivity, feel free to re-open if needed. Thanks!


Helm Chart: storageClassName in PersistentVolumeClaim not applied, causing PVC to remain Pending

Describe the Bug
The Headlamp Helm chart does not apply the storageClassName specified in values.yaml for PersistentVolumeClaims (PVCs). This causes PVCs to remain in a Pending state in clusters without a default StorageClass, with the following error:
FailedBinding: no persistent volumes available for this claim and no storage class is set

To Reproduce
Steps to reproduce the bug:

Ensure the cluster does not have a default StorageClass

Deploy the Headlamp Helm chart with the following values.yaml:
persistentVolumeClaim:
  enabled: true
  storageClassName:  <STORAGE_CLASS_NAME>
  accessModes:
    - ReadWriteOnce
  size: 1Gi

Check the PVC status:
kubectl describe pvc -n <NAMESPACE> headlamp

Error output:
Events:
  Type    Reason         Age               From                         Message
  ----    ------         ----              ----                         -------
  Normal  FailedBinding  5s (x4 over 48s)  persistentvolume-controller  no persistent volumes available for this claim and no storage class is set

Verify the HelmRelease manifest:
kubectl get helmrelease -n <NAMESPACE> headlamp -o yaml

Output confirms the storageClassName is correctly set in the values field, but the rendered PVC still lacks it.

Environment

Installation type: In-Cluster (Helm chart)
Headlamp Version: 0.26.0
Kubernetes version: v1.31.2
Other:

Cluster does not have a default StorageClass.
Flux Helm Controller used for deployment.
Talos Linux: v1.8.3

Additional Context

The rendered PVC lacks the storageClassName despite it being correctly set in values.yaml and visible in the HelmRelease manifest. Example output:
StorageClass:
Status: Pending

The issue was resolved using a Flux post-renderer to patch the storageClassName dynamically. Example configuration:
  postRenderers:
    - kustomize:
        patches:
          - target:
              version: v1
              kind: PersistentVolumeClaim
              name: headlamp
            patch: |
              - op: add
                path: /spec/storageClassName
                value: openebs-hostpath

This workaround forces the correct storageClassName into the PVC.

Headlamp commits and everything I have tried is available on my Github repo via commit history on the file: https://github.com/Heavybullets8/heavy-ops/blob/main/kubernetes/apps/kube-system/headlamp/app/helmrelease.yaml

cc/ @knrt10

Thank you for the issue @Heavybullets8. I can reproduce the issue and found the bug. Fixing it.


[Request] azd up/provision console print the Subscription and Region

Once you've done the azd up or provision once, the subscription and region you chose is stashed away in the environment files.
At scale, when working with enough environments, it gets painful to know which subscription/region/token you're targeting.
The request is to always print the RG/subscription/region in every provision and up, so you know where you're sending those bits.  This is incredibly useful for diagnostics and communication.
@jongio @ellismg @savannahostrowski

That's fair - I think it's pretty low touch for us to just have a blurb at the top of provision output (where the grey text lives now)
that says something like:
"Provisioning in rg in region using subscription" (where rg, region, subscription are placeholders)

or similar.
@Austinauth for his thoughts as well.

I guess my follow up would be: does RG need to be in that blurb if it's printed out as the first thing in the provision output?

If there is valid concern about not knowing which region or subscription you're provisioning and deploying to beyond the initial azd up, would it be worth having them confirm the region and subscription before executing the command?

@ellismg @savannahostrowski adding it to the Germanium bucket. We can pull it into iterations/sprints as part of planning.

Hey everyone,
I intend to work on this as a part of Hacktoberfest but I have a question.
Your request is to print the subscription before the resource group when someone runs any of the 2 commands azd up or azd provision.
Am I correct?


textDocument/codeAction returns too many fixits if two clang-tidy checks produce the same diagnostic

Steps to reproduce
These were tested with Theia as the client (see corresponding Theia issue), but should be applicable to any client.

Configure clangd to run with --clang-tidy --clang-tidy-checks=modernize-use-nullptr,hicpp-use-nullptr. These two checks both flag code that uses 0 for a null pointer constant and suggest changing it to nullptr.
In the editor, write some code that triggers the check, such as:

void foo() {
    char* p = 0;
}

This triggers the same diagnostic twice. (Which is fine, or at least is not in scope for this bug.)
Activate textDocument/codeAction for the location of the issued diagnostic.
Observe that there are four fixits suggesting to change the 0 to a nullptr.

Two fixits would be reasonable given the circumstances, as there are two diagnostics. Four is clearly too many :)

Diagnosis
The reason we produce four fixits boils down to the fact that ClangdLSPServer::FixItsMap stores fixits keyed on clangd::Diagnostic, with a comparator that considers only the diagnostic's message and range.
In this case, the diagnostics produced by the two checks have the same message and range, though they have different diagnostic codes.
So, at the time FixItsMap is computed, both checks add their fixit to the list associated with the same clangd::Diagnostic.
Later, when textDocument/codeAction is handled, we look up the two diagnostics in the map, and for each one return both fixits from the associated list, giving a total of four.
Potential solution
Modify LSPDiagnosticCompare to include the diagnostic's code in the comparison s well.

Patch implementing proposed solution: https://reviews.llvm.org/D63316

This has landed with https://reviews.llvm.org/rL363889


*: update crossbeam-channel to avoid spin at sending side

What is changed and how it works?

Issue Number: Close #13815
What's Changed:

According to https://github.com/crossbeam-rs/crossbeam/pull/835, spinning at the
sending side is probably a bad idea because of large critical section and it's
fixed in the recent version.

This commit updates crossbeam-channel. It will reduce CPU usage a bit and
improve performance.

Spinlock vs mutex is really tricky. Generally, using a mutex is never a bad idea but sometimes spinning improves performance. But in this case, our benchbot doesn't support spinning.
I did A-B-A (where A uses latest crossbeam-channel) tests, the one with latest crossbeam-channel wins consistently.

Check List
Tests

Manual test (add detailed scripts or steps below)

Release note
None

/merge

/test

/test

/test


[Cosmos] Add change feed tests for subpartitioned containers

Porting over the changes in https://github.com/Azure/azure-sdk-for-java/pull/32696 since git was being silly about fixing the merge conflicts.

/azp run java - cosmos - ci

/azp run java - cosmos - ci

/azp run java - cosmos - ci


Implement PSR-7 for Neos 5.0 compatibility

To be compatible with Neos 5.0 PSR-7 needs to be implemented.
I started adapting the code, but came to find that a simple $response->getContent() just returns an empty string. The real content lies in $response->getComponentParameters() where there is a
Neos\Flow\Http\Component\ReplaceHttpResponseComponent on whose response parameter you can ->getBody()->getContents().
I'm not familiar with this, so I hope someone else can support here.

Well technically I woudl say what this does isn't even "allowed" in userland code. I have no spontanous idea how to fix it without using too much internal knowledge. In theory it has to run the full HTTP component chain with a fake http request and then grab the response at the end.

It's probably not the best solution, but at least it does work with Neos 5.0.
Reviews or better implementations are very welcome!
#18 is included here, because it won't work without.

You changed the internal behaviour to use a Curl-Request to fetch the 404 page right? This has implications with several scenarios (on pages with HTTP Basic Auth or with self signed certificates). Is there no way to use an internal request like before?

I found a way to use an internal request by using the ComponentChain. That should do the trick.
Is that what you meant in your comment @kitsunet?

yep correct that's what I meant, BUT I am not sure if that messes with security...

Technically we are not 100% setup to run a second http chain separately while one is running already, due to singletons

The package uses "native 404 handling" by now, problem solved.


[Bug]: torchmetrics using torch.sigmoid() behind the scenes

Describe the bug
I hope I am wrong on this one :sweat_smile:, but there may be some models with inconsistent F1, F1Max, and AUROC scores*.
* Maybe others, but I only checked these.
The documentations of torchmetrics.classification.BinaryF1Score, torchmetrics.classification.BinaryROC, and BinaryPrecisionRecallCurve (used for F1Max) say

... If preds is a floating point tensor with values outside [0,1] range we consider the input to be logits and will auto apply sigmoid per element. ...

It can be seen here for instance, coming from BinaryF1Score.
This affects the metrics because anomaly scores (AS) become "too big", there is a loss of number precision and at some point they are not distinguishable.
This quick test shows that an AS value 16 would not be ditinguishable of numbers higher than that.
t1 = torch.tensor(16)
t2 = t1 + 1e-1
s1, s2 = t1.sigmoid(), t2.sigmoid()
print(t1 == t2)  # False
print(s1 == s2)  # True

This is problematic because many AD models don't necessarily have an apriori range close to zero (where the resolution is unaffected).
For instance, a gaussian model using the mahalanobis distance as AS would output scores proprotional to the square root of the size of the feature space. Embeddings with 300-ish features would be totally undistinguishable because the normal instances would have an average AS >16.
I think this might cause a very silent mistake that most users won't see.

The default engine normalizes the outputs so it's ok in that case, but normalization is not necessarily used.
Btw why does the normalization happen per batch?

Dataset
N/A
Model
Other (please specify in the field below)
Steps to reproduce the behavior
N/A
OS information
OS information:

OS: Ubuntu 20.04
Python version: 3.10.14
Anomalib version: 1.2.0dev
PyTorch version: 2.4.0+cu121

Expected behavior
The metrics in anomalib ideally should find a way to not reach the .sigmoid() under the hood of torchmetrics.
Screenshots
No response
Pip/GitHub
pip
What version/branch did you use?
main
Configuration YAML
n/a

Logs
n/a

Code of Conduct

[X] I agree to follow this project's Code of Conduct

For cases wehre the Binary Precision Recall Curve is computed, anomalib uses it`s modified implementation without applying a sigmoid function. So F1Max is safe..
https://github.com/openvinotoolkit/anomalib/blob/2ba5ede95daa2abfdb2026ec08f29f4e8a818f67/src/anomalib/metrics/precision_recall_curve.py#L18-L19

For cases wehre the Binary Precision Recall Curve is computed, anomalib uses it`s modified implementation without applying a sigmoid function. So F1Max is safe..
https://github.com/openvinotoolkit/anomalib/blob/2ba5ede95daa2abfdb2026ec08f29f4e8a818f67/src/anomalib/metrics/precision_recall_curve.py#L18-L19

A ha, missed that.
It looks like correcting it for ROC would be very similar, right?
anomalib's BinaryPrecisionRecallCurve is basically imitating the one from torchmetrics without that sigmoid() call in
_binary_precision_recall_curve_format.

@jpcbertoldo closing this as Anomalib uses its customized metrics to not apply sigmoid


Add two-way settings config for publishing sites to register links to connected services

Aaron & Chach discussed ways of syncing Wordpress to its github repo & microservice endpoints.
Need to sort this out in order to progress on the preview button.

Did actually create this.
Static sites have an odi-publishing config.
The WordPress plugin has the ability to take env variables & configs & use them.
We put this in headless cannabis instance.
We aren't actively working on this right now, so I will close (archive) this - but will add it to a list of things we did so that we can pick it up again if we decide we want to work on it again.


Replace flake8 by ruff 🚀

Ruff is the new flake8 (near instant linting).
Check out the launch blog article.

I'm all for this. I've followed ruff for a while and it looks to be the next big thing for static analysis in python. :)
Personally, I'd use ruff alongside mypy, pylint, and black. That's because I care more about "stati analysis coverage" than speed. It's a tradeoff between development velocity and code quality guarantees.
In any case, I vote that we go ahead and replace flake8 with ruff. 👍 There is no contest there. 😄


Fixed DbSession for Microsoft SQL Server, enhanced tests

Fixes #13436

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues
#13436

Hmmm... fails.

Fixed rbac/DbManagerTestCase to revert all migrations, instead of the latest only

Yeah, it did not work. I've tried to fix it, but was able to fix only work with control chars (null-byte, etc).
Inserting binary data leads to the error that occurs either with nvarchar(max) or varbinnary(max):
An error occurred translating string for input param 1 to UCS-2: Error code 0x7

I've adjusted test to make sure other DBMSs handle binary session data correctly, but I'm not a Microsoft SQL Server expert and I doubt I can fix any more.
Symfony PdoSessionHandler test does not check possibility of inserting binary data and I think I know why ;)

if we can't fix it its okay to merge it, but maybe @sergeymakinen has an idea how to make it work?

He's extremely busy so waiting may hold release significantly.


Update tools to 0.5.3

About this PR
📦 Updates org.scala-native:tools from 0.4.17 to 0.5.3
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (0.4.17).
You might want to review and update them manually.
doc/website/package-lock.json

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-native", artifactId = "tools" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-native", artifactId = "tools" }
}]

labels: library-update, early-semver-major, semver-spec-minor, old-version-remains, commit-count:1

Superseded by #3017.


Remove incorrect av/__init__.pyi

We do not need this type stub, since __init__.py is already a Python file. What's more the file is incorrect since it uses star imports, which the actual __init__.py does not.

I'm glad that __init__.pyi can be removed. However, that does mean we need to write a stub for audio/fifo since mypy is checking __init__.py now. I actually went and already did that and applied your changes #1433, so we don't need this pull request now.


[Bug] When pie.minAngle is within the normal range but the set value is relatively large, the size of the sector angle does not match the actual value corresponding to each sector, and there is a problem with the sector enlargement effect when hovering over the sector

Version
5.5.1
Link to Minimal Reproduction
https://echarts.apache.org/examples/zh/editor.html?code=PYBwLglsB2AEC8sDeAoWtJgDYFMBcya6GOAHmAQOQBKOAZjgE5OzB2wCGsA6jgEYBnCGByUANEXQCArnxHkqAMQ4BrHLAAiHMB3GTYuOhViUAxjmgjGlIgF8J6MMGBZIIAqmIZGEAOa-mKmEcAFsbdHsiXADoABMPfWAfC2NKADcmSFMOLD0vQ1SC8NhIqSYIHAECAG19Ty9YaA4Q_BMAQVNzAQFYRUZgMIcGsABPEFbKEAq8hsYOWIhpKpMAVgAGAFIZr1jtDhr9LyRYNJzpVoA2MUbmiYBlHA5GUwALWABRaF8IaFESoYayBOZ1aK2uTRaVA0EGYpjAlH-h2Ix1OWHOBAAjGtwbcqO8QhwILlEYD0CiQZiwTdISYAKrQKBwNqxAQI0qk8lo1rY6kTABqEFiOGAsGZrJKSIAugDiKEQC8OEJlvVAcEQndRrgEqTiAIFbFgAB3ABCaMYmOxSK8evmRoA8nQ6AIcGAABoES06qT6o0AYRcSSojF8fA4AAoeZHrmsAHQrACUxUBtiR7K8IR-bS-WtgWLW-hT6ElKFsAG4gA
Steps to Reproduce

Set a relatively large pie.minAngle.
The values corresponding to each sector should not be similar.
Check the angles of all sector and the corresponding values of each sector area.
Hover all sector  and observe the angle change after hovering

Current Behavior

The correspondence between the size of the angle of the sector and the corresponding classification value of the sector is confusing.
When hovering over the ‘Search Engine’ , the angle of the sector increases.

Expected Behavior

The size of the sector angle corresponds to the size of the value.
When hovering over any sector, only the sector will be magnified without changing the angle of the sector area.

If this is not a bug, unless the user is particularly familiar with the pie.minAngle function, it will be difficult to visually see the proportion of each category, which will affect the user experience
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response

Hello. I happened to see your issue and looked at the link you gave.
For your example, I think there are some configuration items that are not very reasonable (there is also a certain possibility that echarts was not designed with 0 in mind).
First, we need to argue that it makes sense to set a minimum angle when the data in the pie chart has a value of 0.From my point of view, if there is an item in the pie chart with a data value of 0, then the minimum angle of the design is redundant, because there is really no need for the value of 0 to be displayed in the pie chart. Of course, this includes what I said about echart, which was not designed with the special value of 0 in mind.
Secondly, for pie charts, the maximum angle is 360 degrees, and if the angle of the minimum value is set to a static value and this static value is too large, there will be problems. For example, if there are five items in a pie chart, it is mathematically wrong to set the minimum item to an angle of 100, because the minimum angle is 100. Then 100*5>360. Therefore, this minimum angle is best calculated dynamically, and if there is a value of 0 in the data, the minimum angle should be avoided.
of course, the echarts official can further modify the rationality of this configuration item, so that you don't have to think about this problem when you use it.

#20603


KV - Profile Picture Retains After The App Reloads

This PR adds functionality to allow users to save their profile pictures in the ProfileScreen component, ensuring the image persists even after the app is reloaded. I also added a default profile picture.

Default Profile Picture:

Closes #116

the outline for the default profile picture isn't fully aligned in my account

Could you show me a screenshot of how the default profile picture looks like for you please

It should be aligned now!

LGTM!


added in missing comma in webpack-config readme

Overview

Added in comma missing from webpack-config readme code example

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: ABC-123
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey @DanielJDufour, happy to merge this in if you sign the CLA. Thanks!


[WIP] add budget attribute to project

#203

[x] add attribute budget to project
[x] show budget on project if any
[ ] show hours remaining on budget to entry_stats
[ ] make it visually stunning

currently:

How should we visualize the budget on the project-detail? A donut? A line?

Line
Sent from my iPhone

On 05 Jan 2015, at 12:23, Maarten Jacobs<EMAIL_ADDRESS>wrote:
How should we visualize the budget on the project-detail? A donut? A line?
—
Reply to this email directly or view it on GitHub.


feat: versioning for deploys

Package
deploy
Describe the feature you would like
need to design how we will handle versioning between contracts-core, contracts-bridge, contracts-router, and deploy packages, for each use case where they are needed
As the contract code + interfaces change, the deploy script must also change.
Use cases:

production deploys: deploy from tagged contract version
development + staging deploys: deploy from tagged contract version?
local environment testing: default = local workspace version, possibly able to deploy from tagged versions too

We cannot just update the package.json of deploy package to suit the use case, as we also need to use the right version of the deploy package itself
Additional context
No response

ya, for any given commit, CI should guarantee that the version of deploy in that commit is compatible with its dependency. So when we tag a contract release, we need to bump the deploy script dependency version. If we always do that correctly, we should keep things in sync I guess? 🤔

hmmmm wdyt @Imti

@prestwich logistically how would we check whether version of deploy is compatible with version of contracts-* deps? there may be multiple versions on each side that are compatible with each other

in other words, it's not a 1:1 mapping between deploy and contracts-* package versions
(we may tag a new contracts release which doesn't change the deploy script; or we may update the deploy script without changing the contracts)

I'm saying that CI already will fail to build if deploy specifies a contracts-* version that deploy's code is type-system incompatible with

ah, yes. this is true.
but.. how do we deploy from past versions? i guess just check out that version in a branch.

but.. how do we deploy from past versions? i guess just check out that version in a branch.

yes

I agree with @prestwich, basically following the convention for npm packages releases. Let me know if you need help setting this up.

I think we have fixed this @anna-carroll ?


Updates to marker gene panel

We'd like to update the columns and tooltips available for the marker genes panel. Changes below:

[ ] Rename Marker Score to Effect Size
[ ] Remove Low Medium High cutoffs from panel (we're adding to tool tip below)
[ ] Add tool tip to Effect Size, copy:
Effect size indicates how much higher the average gene expression is in this cell type relative to other cell types in the same tissue.
Low: <1    Medium: 1-2    High: >2
Learn more about how this is calculated.
[ ] Add a Specificity column
[ ] Add Specificity tooltip, copy:
Specificity indicates the percentage of cell types in the corpus with a lower Effect Size for this gene. Higher Specificity values indicate markers which are more specific for this cell type.
Learn more about how this is calculated.

cc @karenliang0 @sidneymbell
Notes for eng estimate:

Copy changes to update "Marker Score" to "Effect Size" should be quick
Adding the specificity column will require using MarkerGene.specificity. It looks like we're already pulling this down from WMG, but passing it all the way through to to the MarkerGenesTable will be a bit tricky
Add/update e2e test to verify the Specificity column exists

@signechambers1 @sidneymbell Just a suggestion, but do you think that we should update the column names and tooltip copy in CellGuide as well? We currently show "Marker Score" and "% of Cells".
Private Zenhub Image
Also, if there are any guidelines on where the Specificity column should appear and what the spacing/justification should be, let me know. cc @karenliang0

cc i think it would make sense to update marker score in cell guide as well, but defer to @sidneymbell. cc @niknak33 for cell guide.

Correct me if I'm wrong, but are we holding off on implementing specificity @signechambers1? Maybe I heard incorrectly!

No, we are adding in specificity. Thank you!

Nevermind, we are doing specificity! Will add them to the design right now.

Thanks @karenliang0 and @signechambers1 !

Updated in Figma! :) @joyceyan

Yes, we can rename "marker score" to "effect size" in cell guide as well. Thanks!


LVS error with default user_proj_example

Running flow.tcl on user_project_wrapper with the default user_proj_example (counter) result in the following error:
LVS reports:
    net count difference = 0
    device count difference = 0
    unmatched nets = 0
    unmatched devices = 0
    unmatched pins = 2
    property failures = 0

Total errors = 2

Versions
  magic              litex-hub/linux-64::magic-8.3.274_0_g47df9da-20220307_093930
  netgen             litex-hub/linux-64::netgen-1.5.219_0_ge11dbac-20220309_101211
  open_pdks.sky130a  litex-hub/noarch::open_pdks.sky130a-1.0.290_0_gc82996f-20220222_104027
  openroad           litex-hub/linux-64::openroad-2.0_3087_gcd06e5320-20220309_101211

OpenLane: 00da77e58c86a2fa745dafc2f4b277191cb8d3ac
caravel_user_project: afbb1601246c336b1c1e6cd87ecd85d9be8aa4d5
caravel-lite: 477c17fb986b0d3f7f3581e940095b68bd62422f
caravel_mgmt_soc_litex: 3fee299f8177cebf7919eb0e6da7f0f5ad7af31d

Also getting similar errors with mpw-5c tagged version:
OpenLane: 00da77e58c86a2fa745dafc2f4b277191cb8d3ac
caravel_user_project: b3ac77dd3737f2aa461199484538fd91c363deed mpw-5c
caravel-lite: 477c17fb986b0d3f7f3581e940095b68bd62422f mpw-5c
caravel_mgmt_soc_litex: 3fee299f8177cebf7919eb0e6da7f0f5ad7af31d mpw-5c

and earlier version of open_pdks and magic:
  magic              litex-hub/linux-64::magic-8.3.276_0_g083c0c1-20220309_101211
  open_pdks.sky130a  litex-hub/noarch::open_pdks.sky130a-1.0.284_0_g89d8afc-20220215_161633

Colab notebook that reproduce the issue:
https://gist.github.com/proppy/b15a082e39c863a01202d76cc1f1ab51
https://colab.research.google.com/gist/proppy/b15a082e39c863a01202d76cc1f1ab51/caravel-user-project-lvs-errors-105.ipynb

@proppy I think I responded on slack, but this occurs when there are unconnected nets with the same label in a subcircuit. If the nets are connected in the parent hierarchy, the netlists should match. At the user_project_wrapper level, you might check your power mesh to be sure that nothing has been orphaned.

With netgen 1.5.228, I do not get an error. After 1.5.228, netgen doesn't handle implicit ports correctly.
@proppy can you check that no error occurs with netgen 1.5.228?

Proppy,
Can you check it with netgen 1.5.228 and let me know if its a valid issue or not?

Need to confirm if this error still exists with the current version of netgen.  @proppy

I'm closing this.  No response from @proppy for over two years.


Fix userscripts for GreaseMonkey 4

In GreaseMonkey 4, userscripts don't share the page's window object. Instead, it's accessed through unsafeWindow.

Sorry, I choose a different way of doing this with window.eval.  Thanks for the help, and I will mention you in the next release!
Fixed in version 2.0045.1.


Integration won't load when missing VM ID

Hi,
Just found this integration, which indeed helps me more than the official proxmox ve integration in HA. Thank you.
I installed this custom integration and restarted HA. The previous settings form config.yml was imported successfully. However, one of my nodes did not load. I found that I had one machine ID in the HA config that was no longer available in PVE. When reconfiguring the integration, and I am presented with the list of available VM ID:s, the one no longer avaialble is of course not listed, but when trying to save, I get an error that the missing VM ID halts the save.

User input malformed: 101 is not a valid option for dictionary value @ data['qemu']

I am unsure how to procees with removing the old VM ID. Also, could this be fixed by this integration by also listing, or even directly removing, missing VM ID:s?

I made a fix for this, can you try version 1.7.0 to see if it works for you?

Worked like a charm! Error message as system notification and I was later able to uncheck the removed vm from the integration settings. Thank you so much. Great work


No Route to host with v2 plugin on Docker Swarm Mode

What you expected to happen?
Iperf3 from client should connect to server, measuring total bandwitch or at least telnet should connect to port 5201.
What happened?
Iperf3 returned:
iperf3: error - unable to connect to server: No route to host.
Using an overlay network, iperf3 runs normally.
On Weave, DNS resolution and ICMP Ping works (with iptables -F before docker service start action)
How to reproduce it?

Install weave plugin and configure to use multicast;
Create docker cluster (all nodes are managers);
Create stack using the following docker-compose file:

version: '3.1'
services:
weave1:
image: networkstatic/iperf3
command: -s
deploy:
placement:
constraints:
- node.hostname == vm1.docker.local
networks:
- default
weave2:
image: networkstatic/iperf3
tty: true
entrypoint: sh
deploy:
placement:
constraints:
- node.hostname == vm2.docker.local
networks:
- default
networks:
default:
driver: store/weaveworks/net-plugin:latest_release
external: false

Access vm2 ssh and try to issue the command docker exec <CONTAINER_ID> ping weave1 (It Should Work, DNS and ICMP Ping);

Try to use iperf3 to measure bandwitch:

docker exec <CONTAINER_ID> iperf3 -c weave1
Anything else we need to know?
I'm using KVM on my personal machine with 2 VMs, which has Docker 17.06 on top of Centos 7, configured as cluster (swarm mode).
Tried with multicast support enabled and disabled for the plugin; same results.
Logs:

# docker-runc exec -t 02c7cd96a526ed506307d09dc6b03dec5fcaad4345ba9c17e3077e0263919ca5 sh
# /home/weave/weaver status

INFO: 2017/09/13 11:56:10.885871 Command line options: map[]
INFO: 2017/09/13 11:56:10.885919 weave  git-1da1943df9d8
INFO: 2017/09/13 11:56:10.886230 Bridge type is bridge
INFO: 2017/09/13 11:56:10.886240 Communication between peers is unencrypted.
INFO: 2017/09/13 11:56:10.918688 Our name is c6:49:af:8b:df:aa(vm2.docker.local)
INFO: 2017/09/13 11:56:10.918732 Launch detected - using supplied peer list: [status]
INFO: 2017/09/13 11:56:10.920162 Docker API on unix:///var/run/docker.sock: &[Version=17.06.2-ce ApiVersion=1.30 Os=linux KernelVersion=3.10.0-514.26.2.el7.x86_64 BuildTime=2017-09-05T20:00:25.777242273+00:00 MinAPIVersion=1.12 GitCommit=cec0b72 GoVersion=go1.8.3 Arch=amd64]
INFO: 2017/09/13 11:56:10.920743 Listening for DNS queries on <IP_ADDRESS>:53
INFO: 2017/09/13 11:56:10.943083 Sniffing traffic on vethwe-pcap (via pcap)
FATA: 2017/09/13 11:56:10.956896 listen udp4 :6783: bind: address already in use

Using "weave" instead of "weaver", returns errors:

sh -x /home/weave/weave status

+ set -e
+ [ -n  ]
+ SCRIPT_VERSION=unreleased
+ IMAGE_VERSION=latest
+ [ unreleased = unreleased ]
+ IMAGE_VERSION=latest
+ MIN_DOCKER_VERSION=1.10.0
+ DOCKERHUB_USER=weaveworks
+ BASE_EXEC_IMAGE=weaveworks/weaveexec
+ EXEC_IMAGE=weaveworks/weaveexec:latest
+ WEAVEDB_IMAGE=weaveworks/weavedb
+ echo
+ cut -s -d: -f1
+ PROXY_HOST=
+ PROXY_HOST=<IP_ADDRESS>
+ DOCKER_CLIENT_HOST=
+ IP_REGEXP=[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
+ CIDR_REGEXP=[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}
+ check_docker_version
+ docker -v
/home/weave/weave: line 1: docker: not found+
sed -n -e s|^Docker version \([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*|\1|p
+ DOCKER_VERSION=
+ [ -z  ]
+ echo ERROR: Unable to parse docker version
ERROR: Unable to parse docker version
+ exit 1

Firewall:
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DOCKER     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DOCKER     all  --  anywhere            !loopback/8           ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  <IP_ADDRESS>/16        anywhere
MASQUERADE  all  --  <IP_ADDRESS>/16        anywhere
Chain DOCKER (2 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
RETURN     all  --  anywhere             anywhere
Chain OUTPUT_direct (0 references)
target     prot opt source               destination
Chain POSTROUTING_ZONES (0 references)
target     prot opt source               destination
Chain POSTROUTING_ZONES_SOURCE (0 references)
target     prot opt source               destination
Chain POSTROUTING_direct (0 references)
target     prot opt source               destination
Chain POST_public (0 references)
target     prot opt source               destination
Chain POST_public_allow (0 references)
target     prot opt source               destination
Chain POST_public_deny (0 references)
target     prot opt source               destination
Chain POST_public_log (0 references)
target     prot opt source               destination
Chain PREROUTING_ZONES (0 references)
target     prot opt source               destination
Chain PREROUTING_ZONES_SOURCE (0 references)
target     prot opt source               destination
Chain PREROUTING_direct (0 references)
target     prot opt source               destination
Chain PRE_public (0 references)
target     prot opt source               destination
Chain PRE_public_allow (0 references)
target     prot opt source               destination
Chain PRE_public_deny (0 references)
target     prot opt source               destination
Chain PRE_public_log (0 references)
target     prot opt source               destination
iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DOCKER-USER  all  --  anywhere             anywhere
DOCKER-ISOLATION  all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Chain DOCKER (2 references)
target     prot opt source               destination
Chain DOCKER-ISOLATION (1 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere
RETURN     all  --  anywhere             anywhere
Chain DOCKER-USER (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
Chain FORWARD_IN_ZONES (0 references)
target     prot opt source               destination
Chain FORWARD_IN_ZONES_SOURCE (0 references)
target     prot opt source               destination
Chain FORWARD_OUT_ZONES (0 references)
target     prot opt source               destination
Chain FORWARD_OUT_ZONES_SOURCE (0 references)
target     prot opt source               destination
Chain FORWARD_direct (0 references)
target     prot opt source               destination
Chain FWDI_public (0 references)
target     prot opt source               destination
Chain FWDI_public_allow (0 references)
target     prot opt source               destination
Chain FWDI_public_deny (0 references)
target     prot opt source               destination
Chain FWDI_public_log (0 references)
target     prot opt source               destination
Chain FWDO_public (0 references)
target     prot opt source               destination
Chain FWDO_public_allow (0 references)
target     prot opt source               destination
Chain FWDO_public_deny (0 references)
target     prot opt source               destination
Chain FWDO_public_log (0 references)
target     prot opt source               destination
Chain INPUT_ZONES (0 references)
target     prot opt source               destination
Chain INPUT_ZONES_SOURCE (0 references)
target     prot opt source               destination
Chain INPUT_direct (0 references)
target     prot opt source               destination
Chain IN_public (0 references)
target     prot opt source               destination
Chain IN_public_allow (0 references)
target     prot opt source               destination
Chain IN_public_deny (0 references)
target     prot opt source               destination
Chain IN_public_log (0 references)
target     prot opt source               destination
Chain OUTPUT_direct (0 references)
TCPDUMP
From container weave2 (that is on vm2) to weave1(that is on vm1):
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ethwe0, link-type EN10MB (Ethernet), capture size 262144 bytes
12:30:07.213779 ARP, Request who-has weave_weave1.1.ubaoxfck11mokt2pdm68r9tup.weave_default tell 48b3ca73500a, length 28
12:30:08.216357 ARP, Request who-has weave_weave1.1.ubaoxfck11mokt2pdm68r9tup.weave_default tell 48b3ca73500a, length 28
12:30:09.218356 ARP, Request who-has weave_weave1.1.ubaoxfck11mokt2pdm68r9tup.weave_default tell 48b3ca73500a, length 28
12:30:10.220434 ARP, Request who-has weave_weave1.1.ubaoxfck11mokt2pdm68r9tup.weave_default tell 48b3ca73500a, length 28
12:30:11.222364 ARP, Request who-has weave_weave1.1.ubaoxfck11mokt2pdm68r9tup.weave_default tell 48b3ca73500a, length 28
12:30:12.224358 ARP, Request who-has weave_weave1.1.ubaoxfck11mokt2pdm68r9tup.weave_default tell 48b3ca73500a, length 28
Thanks in advance.

I have the same issue with you. Containers on different host cannot ping each other.
ps -ef | grep weave results
root      3263  3245  0 13:41 ?        00:00:00 /home/weave/weaver --port=6783 --datapath=datapath --host-root=/host --proc-path=/host/proc --http-addr=<IP_ADDRESS>:6784 --status-addr=<IP_ADDRESS>:6782 --no-dns --ipalloc-range=<IP_ADDRESS>/12 --nickname red-hat-enterprise-linux2.shared --log-level=debug --db-prefix=/host/var/lib/weave/weave --plugin-v2 --plugin-v2-multicast --plugin-mesh-socket= --docker-api=

--docker-api is empty. Is the problem here?

To run the status command inside the V2 plugin you have to add --local:
/home/weave/weave --local status

were you following some instructions somewhere we should update?

/ # /home/weave/weave --local status

        Version: 2.0.1 (up to date; next check at 2017/09/25 15:07:19)

        Service: router
       Protocol: weave 1..2
           Name: be:e6:3c:3d:c3:a5(red-hat-enterprise-linux.shared)
     Encryption: disabled
  PeerDiscovery: enabled
        Targets: 1
    Connections: 1 (1 failed)
          Peers: 1
 TrustedSubnets: none

        Service: ipam
         Status: idle
          Range: <IP_ADDRESS>/12
  DefaultSubnet: <IP_ADDRESS>/12

        Service: plugin (v2)

It seems like we've reached a dead end in the investigation here. -> closing


Error: Vendor response doesn't contain thingArn key in object

Hi,
when I use the ThingWithCert in the current version ("1.0.213" at time of writing):
const thingWithCert = new ThingWithCert(this, "ThingWithCert", {
      thingName: "demoThing",
      saveToParamStore: true,
      paramPrefix: "/devices",
    });

I get this error during deployment:
11:04:07 AM | CREATE_FAILED        | AWS::Greengrass::DeviceDefinition   | deviceDefinition CustomResource attribute error: Vendor response doesn't contain thingArn key in object arn:aws:cloudformation:<region>:<account-id>:stack/<stack-name>/790cfba0-b4f3-11ed-9133-0606d2cf45e0|ThingWithCertlambdaCustomResource28E12CE8|dba2ff30-8d29-46f0-ae82-23843d86be14 in S3 bucket clou dformation-custom-resource-storage-<region>
Any idea what I might change to fix this?

I've completed testing and everything seems to be working correctly from release 1.0.230 onwards so I'll close this ticket


Get all dependencies to download locally.

Finished the small scope of the problem. Others need to be better defined.


Validate the VC restart scenario to check for node status inconsistencies

Customer reported - When VC is powered off, Kubernetes v1.6.6. cluster remains stable.
Nodes remain active, Pods remain accessible.
But when VC is powered on back, after some time nodes started reporting disconnected / unavailable and back to available and ready state. Customer observed Pods were moving around from one node to another node.
We need to investigate this issue.
cc: @BaluDontu @tusharnt

As part of first analysis, I have tried to reproduce the customer scenario by restarting the vpxd service and did the following steps:

Deployed a kubernetes cluster on VC.
Deploy multiple pods on the kubernetes cluster.
Stop the vpxd services.

Verified that the pods are still available and running.

Restart the vpxd services.

Found the nodes are still in ready state and didn't observe any inconsistencies in node status.
Neither I observed the pods moving between the nodes as nodes are up and running.

Next steps:

I will now verify if I observe the same actions when VC is shutdown.

I have verified to reproduce the customer scenario by shutting down the VC. I do not see any node consistencies (or) the pods moving between the nodes after a successful VC restart.
Below steps are performed:

Create a 2 pod redis application with 1 volume attached to each pod.
Verified that I am able to access the frontend application.

Verified that I am able to access the frontend application.
Restart the VC.

Verified that nodes are in Ready state only and pod also present in the same nodes as there were before shutting down the VC.
Also verified the logs to see any attach/detach operations on other nodes. I didn't find any of them.

Overall it seems to be working fine as expected. Will get back to the customer to verify if they can reproduce it on their environment and send the logs to the VMware team.

Based on customer feedback, the customer is not able to reproduce the node inconsistencies in kubernetes release 1.6. Currently there are no other issues from the customer and they´re currently positive that the platform is stable for production workloads.


Fields dot notation

Added support for nested fields using dot notation with '\' escape in the fields option. Also added tests.
This resolves #164 .

Seems to be failing due to lint errors, can you check your style and reformat? Thanks a lot for the PR!

OK, fixed.

Sorry, we're dealing with regressions on master due to changes in CouchDB's master branch. I'll rebase your PR so we can try to get a green run.

See: https://github.com/nolanlawson/pouchdb-find/pull/189

fixed in https://github.com/nolanlawson/pouchdb-find/pull/189


Clarify module loaders in Modules.md's Introduction

Clarify that web apps can use AMD modules with RequireJS. Previously one could read this implying that CommonJS was commonly used with both Node.js and with RequireJS.

Cool, thanks!


Widen the channels dependency

We accept any version equal or greater than 1.0.0-rc1 and less than 2.0.0. This is because the channels is now in release candidate so no more breaking changes are expected.

Enabled auto-merge.

Waiting for this to make a release.

Will force-merge because it's minor and I want to push out the release.


Add Infraction Tests to the testing suite

The PR adds Infractions tests to the testing suite (Just like the title says), and it also introduces minor consistency enhancements in the testing suite.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

60 of 60 (100.0%)  changed or added relevant lines in 5 files are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage increased (+1.1%) to 84.108%

Files with Coverage Reduction
New Missed Lines
%

tests/routers/conftest.py
5
85.71%

Totals

Change from base Build<PHONE_NUMBER>:
1.1%

Covered Lines:
344

Relevant Lines:
409

💛  - Coveralls

Yeah, sure thing!


Flow should never consider React Component props readable

I guess we should always be marking our component props covariant, but should Flow really allow writing to component props under any circumstances?
In other words shouldn't StatelessFunctionalComponent<Props> essentially be equivalent to the following, and likewise for React.Component?
(props: ObjMap<Props, <T>(t: T) => $Supertype<T>>) => React.Node

// @flow

import * as React from 'react'

type UserCardImplProps = {
  name: string,
  address: string,
}

const UserCardImpl = (props: UserCardImplProps) => <div>{props.name = 'foo'}</div>

$Supertype is not the same as read-only. In fact, all writes are allowed to a $Supertype property.
You're right that React props should be immutable objects, although React does not enforce that internally. The best way we have currently for expressing that is through covariant property annotations, which is what you should use.

@samwgoldman is there any way to turn all properties of an object type covariant with any utility types?  I can't seem to find a way...

I think $ReadOnly is what you're asking for?
This:
type Props = {
  +name: string,
  +age: number
}

is the same as
type Props = $ReadOnly<{
  name: string,
  age: number
}>

@saadq oh, thank you, I somehow hadn't discovered $ReadOnly!

@samwgoldman is there a reason you guys didn't decide to make StatelessFunctionalComponent<Props> essentially (props: $ReadOnly<Props>) => React.Node?


wg-stories Status Update 2020-06-22

What was accomplished

Started work on results-page components and multi-option polls
Interactive poll animations (PR pending) https://github.com/ampproject/amphtml/pull/28931
Fixit week: 25 bugs closed

Accessibility fixes (https://github.com/ampproject/amphtml/pull/28860, https://github.com/ampproject/amphtml/pull/28780, https://github.com/ampproject/amphtml/issues/28408, https://github.com/ampproject/amphtml/issues/28294)
complete docs regarding analytics in STAMP
audio bug fixes
increased tap target for swipe up
tooltip dark-theme
fix sandbox flag bug in player

Fixed bugs related to video playback and media pool (on story replay)
360 videos and images implementation ongoing, with two projections
Removed amp-story v0.1 (~2 years after deprecation 😅 )

What's next

Planning 360 media component
Figure out solutions to improve the audio UX
Ongoing video performance work (hoping to get bitrate selection prototypes)
implement show() callback in player
expose swipe down to close handlers for players
Starting to design/implement UI primitives / API methods for the story player
Demos, documentation, and tooling for fixed aspect ratio grid layers

Hello Ampproject/ Wg-Stories / Team / Jon
360° Stories sounds superb .
Keep us in the loop , will love to contribute.
Even for using it and testing it in non production  projects , will make it
easier to contribute .
On Mon, 22 Jun, 2020, 11:07 pm Jon Newmuis<EMAIL_ADDRESS>wrote:

What was accomplished

Started work on results-page components and multi-option polls
Interactive poll animations (PR pending) ampproject/amphtml#28931
https://github.com/ampproject/amphtml/pull/28931
Fixit week: 25 bugs closed

Accessibility fixes (ampproject/amphtml#28860
https://github.com/ampproject/amphtml/pull/28860,
ampproject/amphtml#28780
https://github.com/ampproject/amphtml/pull/28780,
ampproject/amphtml#28408
https://github.com/ampproject/amphtml/issues/28408,
ampproject/amphtml#28294
https://github.com/ampproject/amphtml/issues/28294)
complete docs regarding analytics in STAMP
audio bug fixes
increased tap target for swipe up
tooltip dark-theme
fix sandbox flag bug in player

Fixed bugs related to video playback and media pool (on story replay)
360 videos and images implementation ongoing, with two projections
Removed amp-story v0.1 (~2 years after deprecation 😅 )

What's next

Planning 360 media component
Figure out solutions to improve the audio UX
Ongoing video performance work (hoping to get bitrate selection
prototypes)
implement show() callback in player
expose swipe down to close handlers for players
Starting to design/implement UI primitives / API methods for the
story player
Demos, documentation, and tooling for fixed aspect ratio grid layers

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ampproject/wg-stories/issues/41, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKHR7TKIMVL7HSZAVK2XYADRX6JEHANCNFSM4OE4QKXA
.


No module named 'mkdocstrings.handlers.python'

ERROR    -  Error reading page 'aiomoto_fixtures.md': No module named 'mkdocstrings.handlers.python'
Traceback (most recent call last):
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/mkdocstrings/handlers/base.py", line 563, in get_handler
    module = importlib.import_module(f"mkdocstrings_handlers.{name}")
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mkdocstrings_handlers'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/envs/pytest-aiomoto/bin/mkdocs", line 8, in <module>
    sys.exit(cli())
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/mkdocs/__main__.py", line 192, in build_command
    build.build(config.load_config(**kwargs), dirty=not clean)
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/mkdocs/commands/build.py", line 292, in build
    _populate_page(file.page, config, files, dirty)
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/mkdocs/commands/build.py", line 174, in _populate_page
    page.render(config, files)
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/mkdocs/structure/pages.py", line 175, in render
    self.content = md.convert(self.markdown)
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/markdown/core.py", line 264, in convert
    root = self.parser.parseDocument(self.lines).getroot()
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/markdown/blockparser.py", line 90, in parseDocument
    self.parseChunk(self.root, '\n'.join(lines))
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/markdown/blockparser.py", line 105, in parseChunk
    self.parseBlocks(parent, text.split('\n\n'))
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/markdown/blockparser.py", line 123, in parseBlocks
    if processor.run(parent, blocks) is not False:
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/mkdocstrings/extension.py", line 121, in run
    html, handler, data = self._process_block(identifier, block, heading_level)
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/mkdocstrings/extension.py", line 175, in _process_block
    handler = self._handlers.get_handler(handler_name, handler_config)
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/site-packages/mkdocstrings/handlers/base.py", line 565, in get_handler
    module = importlib.import_module(f"mkdocstrings.handlers.{name}")
  File "/opt/conda/envs/pytest-aiomoto/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mkdocstrings.handlers.python'

To Reproduce
See https://github.com/dazza-codes/pytest-aiomoto/pull/20
git clone https://github.com/dazza-codes/pytest-aiomoto
cd pytest-aiomoto
poetry install
make docs

Information (please complete the following information):
mkdocs = {version = "^1.3.0", optional = true }
mkdocs-material = {version = "^8.0.0", optional = true }
mkdocstrings = {version = "^0.19.0", optional = true }

It was working before the version update (from 0.16) without an extra, but now it requires an extra for python support. It is a bit strange that python is an optional extra, since this is a python project and python package, you would expect the python package to be distributed with default support for the python language.
mkdocstrings = {version = "^0.19.0", extras = ["python"], optional = true }

I have the same issue.

Hello @dazza-codes, thanks for the report. The solution is indeed to explicitly depend on one of the Python handlers. It's not so strange considering MkDocs and mkdocstrings are language agnostic, and considering that there are currently two mutually exclusive Python handlers (the legacy and the new one). Closing as this is not an issue!


Rearrangement of days

Rename tutorials and folders to follow new schedule

I'm surprised that this is registering as huge code changes? git should be able to recognize that things have been renamed but not changed. Are you using git mv?


VHDS: Is there any way to update resources that have been unsubscribed?

I found that whenever vhds subscribes to a resource, it will unsubscribe from the previous resource, which causes me to be unable to update the old resource issued through VHDS.

Example
prepare:
The Listener listened to port 50000 and pointed to the route named local_route, which was configured with vhds.
step1:
curl --location --request GET '<IP_ADDRESS>:50000'  --header 'Host: a'

VHDS Server will receive:
DeltaDiscoveryRequest{
    ResourceNamesSubscribe: ["local_route/a"],
    ResourceNamesUnsubscribe: [],
}

Then VHDS Server responds:
DeltaDiscoveryResponse{
    Resources: []Resource{
        {
            Name: "local_route/a",
            Version: ...
            Resource: ...
        }
    }
}

step2:
curl --location --request GET '<IP_ADDRESS>:50000'  --header 'Host: b'

VHDS Server will receive:
DeltaDiscoveryRequest{
    ResourceNamesSubscribe: ["local_route/b"],
    ResourceNamesUnsubscribe: ["local_route/a"],
}

Then VHDS Server responds:
DeltaDiscoveryResponse{
    Resources: []Resource{
        {
            Name: "local_route/b",
            Version: ...
            Resource: ...
        }
    }
}

My question is, why does the subscription of local_route/b cause the cancellation of local_route/a?
Is there any way I can update local_route/a?
I haven’t read Envoy’s source code for VHDS, so I’m not sure if it’s a problem with my way of using it. There are too few documents/usage related to VHDS.

What version of Envoy are you using?
@dmitri-d Do you think this https://github.com/envoyproxy/envoy/issues/12158 is related?

What version of Envoy are you using?
@dmitri-d Do you think this https://github.com/envoyproxy/envoy/issues/12158 is related?

It sounds very much like the issue in https://github.com/envoyproxy/envoy/issues/12158, which should be resolved now (see https://github.com/envoyproxy/envoy/pull/12819).

It sounds very much like the issue in https://github.com/envoyproxy/envoy/issues/12158, which should be resolved now (see https://github.com/envoyproxy/envoy/pull/12819).

I encountered this problem in Envoy version 1.15.0, and it no longer exists in 1.16.0.
What confuses me is that I did not find the relevant change information in the CHANGELOG of v1.15.0~v1.16.0. Did I miss something?

I encountered this problem in Envoy version 1.15.0, and it no longer exists in 1.16.0.
What confuses me is that I did not find the relevant change information in the CHANGELOG of v1.15.0~v1.16.0. Did I miss something?


Get a entity is undefined error

Hi I can't seem to get this new code working
the code for the card is below: I have taken out the dongle number.
I only have one inverter.
In the previous card I didn't use the energy allocations so have not been including that code when setting up the new one.
But still get the error the entity is undefined.
Not an expert on code so any suggestion would be appreciated.
Thanks Richard
type: custom:lux-power-distribution-card
inverter_count: 1
battery_soc:
entities:
- sensor.lux_battery
battery_flow:
entities:
- sensor.lux_battery_flow_live
home_consumption:
entities:
- sensor.lux_home_consumption_live
grid_flow:
entities:
- sensor.lux_grid_flow_live
lux_dongle:

BAxxxxxxx
inverter_alias:
Inverter 1
battery_voltage:
entities:

sensor.lux_battery_voltage_live
pv_power:
entities:
sensor.lux_solar_output_live
backup_power:
entities:
sensor.lux_power_to_eps_live
grid_voltage:
entities:
sensor.lux_grid_voltage_live
update_time:
entities:
sensor.lux_data_received_time
show_last_update: true
grid_indicator:
hue: true
status_codes:
entities:
sensor.lux_status
no_grid_is_warning: true
refresh_button: right
energy_allocations:
entities:
sensor.power_plug_1
sensor.power_plug_2
sensor.power_plug_3
sensor.power_plug_4

Hi @Richspr
Can you please send a screenshot of the config? I just want make the formatting is correct as these configs are sensitive to indentation.
Unfortunately the new version of the card is sensitive to everything not being perfect, I'm working on a fix to be more description when it encounters an issue

Hi DW, thanks for the reply, can I clarify which is the config you want my to send.
R.

HI DW attached should be a screen shot of the config

You said you weren't using the energy allocations, right? Then you need to remove the energy_allocations config and the entities. Remove lines 42 to 47. Let me know if the error still persists.

Hi DW, I did that try that but will give it another go, and see if it solves the issue. Thanks R.

Try removing it an clearing the browser cache? Hit F12 while the browser is open, right-click on the refresh button and it should open a menu where you can select clear cache and hard reload. If you right-click on the refresh button but no options show up, just click on refresh once and try right-clicking again

HI DW, thanks for the info, please to report that we are now seeing the card.
Thanks again for your time
Regards Richard


Create security-managers team

Create a security-managers team.
Fixes #112

Unconditionally, changes to config.yaml must

[ ] be approved by 2 members of the OQS TSC
[ ] not violate permissions documented in GOVERNANCE.md files for sub projects where such files exist

The following goals apply to changes to the file config.yaml with exceptions possible, as long as the rationale for the exception is documented by comments in the file:

[ ] all sub projects should be treated identically wrt roles & responsibilities as per the detailed list below
[ ] teams/team designations are to be used wherever possible; using personal GH handles should only be used in team definitions
[ ] Admin changes to the file must be documented by comments as to the rationale of the change

All the following conditions hold for permissions set in config.yaml:

sub project maintainers have admin rights on the sub projects
OQS and sub project release managers have maintainer rights on the sub projects but can themselves set/reset branch protection rules limiting write access to sensitive branches
sub project committers have write rights on all branches of the sub projects but can request branch protection rules limiting this
sub project contributors (incl. code owners) have write rights on all branches except main on those sub projects
OQS and sub project triage actors have triage rights on all branches of the sub projects
OQS maintainers and LF admins have admin rights on the organization (e.g., org-wide secret management) as well as maintenance rights on the team configurations

LGTM. Just wonder whether "read" is enough to perform the task -- but will probably become clear when actually used.

read is the proper role.


Windows archives outputted as msi

hey @bep
Thank you for this code. I got it running and it’s elegant how the apple notarisation works.
i was hoping that for windows windows archive like msi or similar for windows .
Instead it outputs a zip.
is there a reason why it’s a zip file or is it just that you did not have time to get it outputting msi ?

I have used this golang helper to create msi installers for windows
https://github.com/mh-cbon/go-msi


changed: validation rule function name

Change function name from equals_field() to equalsfield()

i found function than function rule name and original rule its not same with wixel/gump rule.

It can be minor version, would you like create backwards compatible


casperjs 1.1beta 3  selftest failed

Hello,
Tests based on casperjs failed. I think this issue is related to phantomjs.
OS is Windows 7
O:\mobilegui>phantomjs -v
1.9.8
O:\mobilegui>casperjs
CasperJS version 1.1.0-beta3 at C:/Dev/casperjs-1.1, using phantomjs version 1.9.8

Details for the 2 failed tests:

In C:/Dev/casperjs-1.1/tests/suites/casper/encode.js:10
  base64encode() and download() tests
    assertEquals: Casper.base64encode() can retrieve base64 contents
In C:/Dev/casperjs-1.1/tests/suites/casper/logging.js:38
  logging tests
    assertEquals: Casper.log() logged messages
Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL file:///C:/Dev/casperjs-1.1/bin/bootstrap.js. Domains, protocols and ports must match.

I think this is related to
https://github.com/n1k0/casperjs/issues/1068
https://github.com/iamchrismiller/grunt-casper/issues/60
Regards,
patS

Could you please try to install phantomjs 1.9.7 and check if you still encounter this issue?
Thanks.

As part of a cleanup effort:
Looks to be a stale help request. Assuming you've moved on to better and cooler things. Please feel free to re-open if this is still an active issue for you and we'll try our best to help out.


coding guidelines: comply with MISRA C:2012 Rule 11.9

In particular:

avoid to obtain an unwanted null pointer

Signed-off-by: Abramo Bagnara<EMAIL_ADDRESS>

I guess there is a misunderstanding: apart MISRA rule 11.9 (that has helped to spot that), to build a null pointer instead of a 0-value fixed address is unwanted and not what it is meant when CONFIG_KERNEL_VM_BASE is 0.
According to C standard a null pointer is not a pointer to address 0, but a non-dereferenceable pointer to nowhere.

Z_VIRT_RAM_START is a pointer simply because we pass around addresses where uint8_t * is for virtual addresses and uintptr_t is for physical addresses. It is not constructed as a NULL pointer in any way if value is zero.

According to C standard if CONFIG_KERNEL_VM_BASE is defined to 0 then
#define Z_VIRT_RAM_START	((uint8_t *)CONFIG_KERNEL_VM_BASE)
definitely expands to a NULL pointer, while ((uint8_t *)((void) 0, (uintptr_t)CONFIG_KERNEL_VM_BASE)) is a zero-value fixed address pointer.
C99 <IP_ADDRESS>p3: An integer constant expression with the value 0, or such an expression cast to type
void *, is called a null pointer constant.
C99 6.6p3: Constant expressions shall not contain assignment, increment, decrement, function-call,
or comma operators, except when they are contained within a subexpression that is not
evaluated.


Added animated image component

Animated images support (at least GIF & WebP) for issue https://github.com/JetBrains/compose-jb/issues/153

By the way, @igordmn  @olonho not sure if the PR should already the methods & demo documented in detail or wait until it gets reviewed.

I have changed the whole component to make a combination of both both options mentioned in this comment.
I have encapsulated the Codec within the AnimatedImage class and exposed an API that allows the user to handle the UI depending on the load state, this way we can use the existing Image.
I have also a couple of additional methods:

Load synchronously the AnimatedImage (local, network & resources)
Use async load with a custom implementation of AnimatedImageLoader (asyncAnimatedImageLoaderState)

The changes can be summed up in the following code snippets:
expect class AnimatedImage

expect suspend fun loadAnimatedImage(path: String): AnimatedImage

expect suspend fun loadResourceAnimatedImage(path: String): AnimatedImage

@Composable
expect fun asyncAnimatedImageLoaderState(path: String): AnimatedImageLoaderState

@Composable
expect fun asyncResourceAnimatedImageLoaderState(path: String): AnimatedImageLoaderState

@Composable
expect fun asyncAnimatedImageLoaderState(animatedImageLoader: AnimatedImageLoader): AnimatedImageLoaderState

Use for async load
val asyncAnimatedImage = asyncAnimatedImageLoaderState(url)

when (asyncAnimatedImage) {
    is AnimatedImageLoaderState.Success -> {
        Image(
            bitmap = animatedImage(asyncAnimatedImage.animatedImage),
            contentDescription = null,
        )
    }
    AnimatedImageLoaderState.Loading -> {
        CircularProgressIndicator()
    }
    is AnimatedImageLoaderState.Error -> {
        Text("Error!")
    }
}

Not really sure about the methods naming tho, not really convincing.

By the way, @igordmn @olonho not sure if the PR should already have the methods & demo documented in detail or wait until it gets reviewed.

Also, we forgot to write docs for public methods :). Could you make a separate PR with docs?

By the way, @igordmn @olonho not sure if the PR should already have the methods & demo documented in detail or wait until it gets reviewed.

Also, we forgot to write docs for public methods :). Could you make a separate PR with docs?

Sure, I'll do it this weekend probably.


refactor: explicitly set static flag on all queries

Explicitly marks all ViewChild and ContentChild queries so that the timing is consistent for apps using Ivy or ViewEngine.
This PR resolves FW-1212.

Re-did this one by running Paul's schematic which caught a few cases where queries were supposed to be static. I had to revert a couple of them, because they caused tests to fail.


Consider different approach to multiline strings?

Hi there! I'm a big fan of nested text, but as I went through the docs I was surprised with your choice for multiline strings:
address:
    > 138 Almond Street
    > Topeka, Kansas 20697

Perhaps you'd consider an alternative way to specify this? I find needing to add the > character on every line isn't ideal especially long pieces of text or for html templates, etc!
My guess is you can use your indention rules pretty well to find the end of the string without a character on each line. I immediately was hoping for this syntax:
address:
    138 Almond Street
    Topeka, Kansas 20697

But I think this is also clear:
address: >
    138 Almond Street
    Topeka, Kansas 20697

Or even this if you prefer it as the first character
address:
    > 138 Almond Street
    Topeka, Kansas 20697

To my surprise YAML also supports all of these directly. Here's a playground to look (they have perhaps too many options) :
https://yaml-multiline.info
Additionally, here's a couple examples that would improve the nested text significantly with this as an option:
website:
    product page template: >

Product Info: {{name}}

Product: {{name}}

Color: {{color}}

Price: ${{price}}

In the current syntax it would have to be this, which is quite hard to type and pretty confusing!
website:
    product page template:
        >
Product Info: {{name}}

        >

        >
Product: {{name}}

        >
Color: {{color}}

        >
Price: ${{price}}

        >

The other situation is larger embedded text (readme, documentation), and again a character on each line would be very hard to read:
screenplay:
   name: Groundhog Day
   contents: >
      INT. BREAKFAST ROOM

      Phil enters the old library of the house and finds everything
      exactly as it was the day before. Mrs. Lancaster spots Phil as
      she comes out of the kitchen with the fresh pot of coffee.

	      MRS. LANCASTER
	      Did you sleep well, Mr. Connors?

	      PHIL
	      (completely confused)
	      Did I? I don't know--

	      MRS. LANCASTER
	      Would you like some coffee?

	      PHIL
	      Yes, thank you. I ' m feeling a
	      little strange.

	      MRS. LANCASTER
	      (as she pours)
	      I wonder what the weather's going
	      to be like for all the festivities.

	      PHIL
	      Did you ever have deja vu, Mrs. Lancaster?

As for parsing, obviously it's more tricky because multi-line strings could contain a colon. The key, I think, is either to require the > character at the start (easiest), or to look at the first line. If it doesn't contain a colon or start with a - then it's a multi-line, and subsequent lines with the same indention are appended.
Thanks for considering. Very cool project!

Thanks for the suggestions.  I'm afraid we considered all of your ideas and all of the various ways YAML supports multiline strings before we settled on the current approach.  There are a boatload of issues that must be considered. For example, where does the string begin, where does it end, and given that the lines in a multiline string may begin with spaces, where does the indentation end and the spaces begin.  I suspect it is possible to come up with a scheme that might work, but it would require fixing the indentation level and taking everything within the indented block literally, which would exclude comments and the blank lines that would normally be ignored.
One fundamental test of a format like JSON, YAML, or NestedText is "can it contain values that are data encoded in its own format?".  Specifically, can a NestedText document contain another NestedText document as a string.  Here the > that leads every line is an asset because it clearly distinguishes the string from surrounding data, and within the string you can include any character or syntax.  Thus a NestedText document can contain another NestedText document without conflict, confusion, or a blizzard of quoting and escaping.
Another nice benefit of the current approach from an implementation perspective is that the current format is very easy to parse.  The reader program can look at each line individually and determine its type.  This is not really a concern for the end user, but it will encourage more implementations, which should aid in adoption.
When we were considering using the > tag at the beginning of every line of a mutliline string, I was worried that they would be cumbersome to enter.  However, I was pleasantly surprised when my editor (Vim) automatically entered them for me.  Vim thinks of > at the beginning of a line as a continuation character because it is used that way in email.  Perhaps you can look into configuring > as a continuation character in your editor.
A design goal with NestedText was to make the format close to what people might use themselves to entered structured data if there were no constraints.  For example, how you enter an address list in a text editor where your only goals were to hold all the relevant information in an clear and consistent way, but with the assumption that only people would read the file.  I think with NestedText we came close to that ideal.  The biggest exception is the use of > to lead each line of a multiline string.  My only defense is that all the alternatives we considered were either ambiguous or required a complicated set of rules that were inconsistent with those used elsewhere in the document, making the format more difficult to learn.

Thank you. I really appreciate the response!
I had no doubt that you considered everything a ton, including yaml, because nested text is elegant in a way that's hard to achieve without taking the time needed :)
I also think you'll find that people don't want to type or even see the prefix for anything but trivial examples. In a markdown or news forum convention (where vi's feature is probably coming from) the > symbol is usually used to quote a single paragraph in-line. This style works really well visually because these quotes are short and it makes them distinct from the response that follows.
For longer text it feels really heavy, and in reading between the lines of your response, I think you know it too! The block of text looks much nicer without the > on every line. This is definitely the crux of it. Handling comments right, parsing the end and beginning, choosing how newlines are kept or not, these are the hard challenges with a different approach. But for a document model that only has strings, multiline strings need to be first class citizens. The extra effort is worth it!

Sorry I did not mean to close the issue when you had more to say.
I agree with you that it would be better to not have the leading > symbols on multi-line strings.  I personally thought long and hard on how to accomplish that.  If fact I probably spent at least 6 years on and off thinking about how to create a format like NestedText.  Every attempt I made hit a dead end until the current approach occurred to me.  I do believe it is possible to create such a format, but I was never comfortable with the trade-offs.
Regardless, this ship has sailed. NestedText is not clean as I had hoped, but as it is it is a nice advance over JSON and YAML. It has been released and others are building new versions in other languages.  This is not the time to make fundamental changes to the base format. Instead we continue to develop NestedText as it is, and if someone takes inspiration from it and develops a new format that improves on it, much the way I took inspiration from YAML and improved on it, then so much the better.

All good. Apologies for the delay, I have a newborn and my time is not my own 😂
I know you are pretty settled so it's no problem to close. I only bring it up because nested text is so cool, but the multi-line stuff just isn't perfect and I had to see if you knew it too.
One idea would be to ask your community of porters if they'd be open to experimentation on improving multi-line support in v2.0. I actually would guess adding indention based multi-line support would not break compatibility (> prefixes can still be parsed as is) and they may be interested in improving this as well.
Thanks again for the thoughtful replies!

Personally I completely agree with NestedText's approach, where each line type is identifiable without surrounding context. This makes it easier for parser implementations, but also makes it easier to visually parse IMO.


Add implementation of atomics on CPU using __atomic

This is implementation of atomics on CPU using __atomic built-ins. For now, it's WIP for discussion. It's meant to fix #172.

@jeffhammond What's the right way to implement fetch_min and fetch_max? There is not an equivalent __atomic. The only way I can think of is via compare_exchange. Is there a better way?

@jeffhammond Also the memory order on success and failure for compare_exchange_strong deserves attention. I just picked relaxed without knowing what I'm doing.

This PR includes implementation listed in #174.

One more thing that's unclear: load and store are not implemented. There are obvious __atomic functions to use, but I don't see what the right function is in HIP. Any ideas?

@mrzv I think you may have discovered the reason why those functions were unimplemented ;) I would suggest to only implement those on CPU for now.
I will investigate how to implement those functions on GPU. If I remember correctly, the spec was very unclear for those anyway because it was not clear what values for the template parameter T were allowed.

@illuhad Ok, done, I think.

@jeffhammond What's the right way to implement fetch_min and fetch_max? There is not an equivalent __atomic. The only way I can think of is via compare_exchange. Is there a better way?

 The right implementation does CAS but only after an early-exit check for when no update is required.  This is a fundamental difference between min/max and arithmetic ops like add (all credit to @jcownie-intel for teaching me this via https://github.com/LLNL/RAJA/issues/447).
If example code helps, see https://github.com/jeffhammond/HPCInfo/blob/master/atomics/min-max/gcc-min-max.c.  I don't claim this code is perfect, so please verify correctness before using.

@jeffhammond Why do you issue an extra __atomic_load_n inside your do-while loop? Doesn't __atomic_compare_exchange_n fill old in case of failure?

@jeffhammond Also, shouldn't the if (old > value) check live inside the do-while loop?

@jeffhammond I pushed an implementation of fetch_min and fetch_max. Can you take a look and critique?

@jeffhammond Why do you issue an extra __atomic_load_n inside your do-while loop? Doesn't __atomic_compare_exchange_n fill old in case of failure?

Good point. It shouldn’t be there if the CAS refreshes it.
I meant it when I said my code wasn’t perfect! 😂

Thank you! We also need test cases for the atomic class, but I can also do this later. Unless you want to, of course ;)

I agree that we desperately need test cases; I've been testing this stuff in a one-off project, which is a bit of a pain. The trouble is I can't figure out your test framework. It's setup as a separate CMake project, and I haven't figured out how to get it to work. Why not just setup make test to run the tests?

I think this probably has historic reasons.. It should be relatively easy to use though:
cmake -DSYCLCC=/path/to/syclcc-clang /path/to/tests
HIPSYCL_PLATFORM=cpu|cuda|rocm HIPSYCL_GPU_ARCH=<your-gpu-arch> make

This was written before we had our cmake integration, we should probably update it to use our current cmake integration, then we could select the target platform etc from cmake.

Ok, this works for me. But let me express my enthusiastic support for updating cmake integration. (I'm afraid I'm not qualified to create a pull request for this one.)

I will test it in isolation and then hopefully write some SYCL atomic tests, but I don't see how the atomic_min/max implementation can be correct.  I'm happy to be wrong, but see my comment above for details.
In any case, I will be happy to provide the tests and fixes once I get a few hours to work on this.

@jeffhammond Can you say a little more? What do you think is wrong with it?

  Let me do some tests and then I'll follow-up if necessary.


Documentation

Add an how-to / Documentation on how to build to self host the service , for example on a local server or inside a docker.

I'll have a think about that.  The main issue for anyone wanting to self-host is having the actual Fiat database from v84 of ePer.  I don't host the data here but I could add notes on how to create the database based on having access to an ePer DVD.  I'm short on time right now but I'll give it some thought

Thanks!
Obviously the ePer DB is required and is clear you can't provide it.
Compilation instructions, indication on which platform it will run (maybe provide a Flatpack for Linux?) and basic configuration will be appreciated!

It was all built in VisualStudio 2022 Community Edition and I mostly just ran it locally for testing. I can certainly look at documenting the config files as an initial help.  It's all .NET core so in theory it should be cross platform but I can't vouch for that.

I'll have a think about that. The main issue for anyone wanting to self-host is having the actual Fiat database from v84 of ePer. I don't host the data here but I could add notes on how to create the database based on having access to an ePer DVD. I'm short on time right now but I'll give it some thought

Could u please be so kind and give as a clue what which tables should mysql include or give as a file that we can import tables into db.
Or maybe also give as documentation how to build full procedure and which files from eper84 need to be moved or copy to which folder and so on
thank u in advance

it is so waist, such as this huge project will in near future will be forgoten :-), because of documentaiton should be very recommended (how to build or how to create openper database and which files need to be copy and where or which location

Hi, thanks for your comments.  Sadly too many other issues take up my time but I haven't forgotten openPer.  It is currently hosted by the Fiat Forum at:
https://eper.fiatforum.com/
for which I'm grateful.  That version has some UI amendments and is built from a private fork of this project.
There is a project that I used to create MySql tables from the ePer Access data.  It might need to some fixing but it is here:
https://github.com/OldBoyCoder/LoadEPERDataIntoSqlite/tree/main
I'm sorry but all of the openPer code is quite messy.  I got the architecture of the libraries wrong and do not have the energy to go back and fix it.  Hopefully the code is useful enough for someone else to fork the project and do a better job than I could do.
One day I would like to properly document all of the database tables but I no longer spend much time programming so it hasn't got done.  I hope by making the project open source someone else could carry on now that I have stopped...

Hi
thank u for quick reply, but link https://github.com/OldBoyCoder/LoadEPERDataIntoSqlite/tree/main does not exits, page not found
Could u please check it again
When i get mysql tables and all details i will try then to finish some documentation and all details how to use it.
Thank u in advance

it is possible that u can upload it again, or i can give u also some upload link where u can put the files

or maybe also it is possible to contact fiatforum (if yes, who i can contact on forum to keep in touch about that)  that they can share how did they manage to work and share all details about the database and so on and so on.

I've added you as a collaborator to the data load repository.  I warn you that the code is a mess and may not work out of the box but hopefully you can use it to get started.  It works with MariaDb or probably MySql.
You'd have to contact the owner of Fiat Forum yourself but since I guess that both you and him in some ways monetize access to the data then he may not be too willing to share but you can ask.
My view is that my code is free for anyone to use or modify if they wish as I wanted what I had learned to be available for the future.  Reverse engineering the database took many weeks of my time and I just don't have the energy to spend much longer looking at it.
Good luck

great, thank u for sharing info and for quick reply
Have a nice day and holidays