Add details for SSL certificate and Kestrel Configuration

This has been missing link in our Hosting section.
Few references :
https://github.com/aspnet/KestrelHttpServer/issues/2902
https://stackoverflow.com/questions/52227372/asp-net-core-application-service-only-listening-to-port-5000-on-ubuntu
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: dcdd2c35-bf2b-2673-d150-303a8aaa54d2
Version Independent ID: 815fe034-c9fc-aee3-a8b5-f2e860b30302
Content: Host ASP.NET Core on Linux with Nginx
Content Source: aspnetcore/host-and-deploy/linux-nginx.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Thanks ... I'm working on the links part of the HTTPS master issue this morning, so your timing is great. I'm moving this over to the HTTPS issue: https://github.com/aspnet/Docs/issues/6538


Be (even) more lenient

Potential further improvements could be made by consuming:

[x] times with missing trailing zeros
[x] times with unusual separators (mainly ".",) (there are slightly less than 1000 such OH specs in the test data)
[x] times with "h" as separator, see above
[ ] 4 digit times
[x] PH/SH in weekday list (173 occurrences)
[x] utf white space
[x] "to" instead of "-"
[x] times specified with am/pm
[ ] interpret "wd" as weekdays
[x] translations of "to"

See https://github.com/simonpoole/OpeningHoursParser/blob/master/test-data/oh.txt-fail for list of strings that currently fail in non-strict mode.

Sounds good. However note that this is not covered by the spec. Refer to opening_hours.js which supports all of those things but will give proper warnings.

https://github.com/simonpoole/OpeningHoursFragment/issues/14

Should this include a closing time of 00:00 as well as 24:00? I've noticed that in a number of nodes and I'm not sure if that is an error in the data, or if this parser isn't handling it properly.

My comment from https://josm.openstreetmap.de/ticket/18140#comment:17

Concerning "Wd": `Wd is used as a symbol for describing the syntax in https://wiki.openstreetmap.org/wiki/Key:opening_hours, but it is not an allowed value. Also, "wd" is negligible concerning the usage statistics: https://taginfo.openstreetmap.org/keys/opening_hours#values

In principle wd could be supported in a non-conflicting way, but it would need a clear definition (and even if that boils down to "the days considered as work days is defined by local convention".
Because now the problem is that the only way to produce a OH grammar conforming output would be to transform it to a list of normal weekdays, so say for DACH:
Wd -> Mo,Tu,We,Th,Fr
or would that be
Wd -> Mo,Tu,We,Th,Fr,Sa
? :-)

https://github.com/simonpoole/OpeningHoursParser/commit/732edc67d642f28e01658d711abea39b2a5d1bb5 adds some translations of "to" for use in non-strict mode.
I've had a look at supporting 4 digit times, but it is a bad case of diminishing returns, ~10 changes in 160'000 examples and two of those would be regressions because of mix up with years. As this would need some fiddling around with semantic lookup ahead to fix, I think we shouldn't do this.

What do you mean with

~10 changes in 160'000 examples

?

What do you mean with

~10 changes in 160'000 examples

?

It changed the parsing of ~10 of the values from our test set (there are more values that use 4 digit times but they continue to fail for other reasons).

Ah well, isn't the problem with the test set, that it only includes unique values? For example, the opening hours Mo-Fr 09:00-17:00 are used 15513 times. So it should be 15513 times more important to be able to parse that than for example Mo-su 09:00-22:00.
In other words, the question is, how many opening hours use 4 digits.

Ah well, isn't the problem with the test set, that it only includes unique values? For example, the opening hours Mo-Fr 09:00-17:00 are used 15513 times. So it should be 15513 times more important to be able to parse that than for example Mo-su 09:00-22:00 (used 1 time).
In other words, the question is, how many opening hours use 4 digits.

I don't think your argument really holds water, because in the end we are testing constructs, not individual values. And I would say that it is just as important to parse Mo-Fr 09:00-17:00  correctly as it is Mo-su 09:00-22:00.
My argument was that handling 4 digit times causes issues with -legit- values with year values, and that handling illegal values in this case doesn't seem to be worth the effort because the gains are likely to be very small.

Let's say there is a city that has 15514 shops and all of these have the opening hours Mo-Fr 09:00-17:00, except one, which has Mo-su 09:00-22:00. For an app that is being used in that city to display the opening hours, it would certainly be more important that the former opening hours are parsed correctly than the latter.
The test set does not test constructs, but unique taggings. This is insofar a difference as testing for the construct, you'd need to test times like 0600-1200, 0601-1200, 0602-1200, 0603-1200 etc.

If you want to argue semantics, then lets say "constructs in use", the goal was and is to parse all legal constructs. Given that enumerating all of them is not possible, testing all that are actually used (plus additional specific tests) is a reasonable place holder. Weighting is irrelevant as not parsing a legal construct is a failure regardless of it it occurs once or 1'000'000 times.
But in any case I might actually add this in, because I've found some more cases which can be handled by this which might make the effort of avoiding trashing years worth while.

I created this Kotlin script that parses every single instance of an opening hours value in OSM and reports the result (How much is parseable). In Java, the code would look very similar. Maybe you are interested in this:
https://gist.github.com/westnordost/b43d2e5100e913cdd2eb8d2d2eb2d296

I just noticed that the retrieved number of opening hours strings is less than one fourth of the actual count of opening hours tagged. Probably just a temporary bug/issue with sophox.


user pre-built storage image

Fixes #124
Signed-off-by: Boris Glimcher<EMAIL_ADDRESS>

why still building SPDK ? see https://github.com/opiproject/opi-poc/runs/7436446179?check_suite_focus=true
Building spdk-target
Sending build context to Docker daemon  9.728kB
Step 1/12 : FROM fedora:36 as build
 ---> 98ffdbffd207
Step 2/12 : ARG TAG=v22.05
 ---> Running in 52cdf5e0be5e
Removing intermediate container 52cdf5e0be5e
 ---> 88b4dcd10ed8
Step 3/12 : ARG ARCH=native
 ---> Running in 310c8e3ce234
Removing intermediate container 310c8e3ce234
 ---> 018bc8e2f237
Step 4/12 : WORKDIR /root
 ---> Running in 069026cfb5f9
Removing intermediate container 069026cfb5f9
 ---> cb9f11bd5124
Step 5/12 : RUN dnf install -y git rpm-build diffutils procps-ng && dnf clean all
...

My guess is that we aren't uploading/downloading the image from a known repo.

Successfully tagged ghcr.io/opiproject/opi-spdk:main
Image for service spdk-target was built because it did not already exist. To rebuild this image you must use docker-compose build or docker-compose up --build

To be fair, I'm not super familiar with ghcr or docker compose, but normally there'd need to be a docker push to push it to the container registry after building it, and a docker pull to (or a run/FROM) to cause it to pull from the container registry.

My guess is that we aren't uploading/downloading the image from a known repo.

Successfully tagged ghcr.io/opiproject/opi-spdk:main
Image for service spdk-target was built because it did not already exist. To rebuild this image you must use docker-compose build or docker-compose up --build

To be fair, I'm not super familiar with ghcr or docker compose, but normally there'd need to be a docker push to push it to the container registry after building it, and a docker pull to (or a run/FROM) to cause it to pull from the container registry.

it was already pushed, see https://github.com/opiproject/opi-poc/pkgs/container/opi-spdk
docker pull ghcr.io/opiproject/opi-spdk:main

And on another point, it's not trivial to cache container images.  As @mestery is fond of pointing out, cache invalidation is a hard problem.  How do we know if we need to build an updated image vs using an existing one from a container registry?  It's much simpler to either build every time, or separate that logic into two separate jobs:

an spdk job that runs when spdk updates
an opi job that just consumes the latest (never builds it)

And on another point, it's not trivial to cache container images. As @mestery is fond of pointing out, cache invalidation is a hard problem. How do we know if we need to build an updated image vs using an existing one from a container registry? It's much simpler to either build every time, or separate that logic into two separate jobs:

an spdk job that runs when spdk updates
an opi job that just consumes the latest (never builds it)

the split already happened. I build and push SPDK image in storage CI and consume it in integration CI

Looks like our package is private here https://github.com/orgs/opiproject/packages/container/opi-spdk/settings
Change package visibility
This package is currently private.

I can't change this to public for some reason @mestery @seroyer check if you can please

Made a package public, let's see now...


Add some more drama

Adds:

Owen from Paper
Cyclic dependencies from Owen
Configurate

meowww

meowww

mrrooww

nyaaa :3


Format .astro files with prettier

Hacky setup for now, but much better than not having any formatting for the site.

fix(site): add prettier
feat(site): add nix run .#fmt-site
fix(site): format astro files

noice


Support Java 8 LocalDate type

Hi,
Is it possible to support the new Java 8 date API : LocalDate and LocalDateTime ?
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html
I'm a Clojure beginner but perhaps I could help.
Thanks you,
Damien

do you mean support it for reading or for writing?
For writing json, you should be able to do this yourself by extending the protocol. Is the change you're requesting just about making that support built-in so users don't have to extend the protocol manually?

Thank you for your answer.
It's about serialization. You're right, I'll try to extend the protocol. A built-in support could be relevant if more than one user need this support.

And it's quite simple by the way:
(add-encoder java.time.LocalDate
             (fn [c jsonGenerator]
               (.writeString jsonGenerator (.toString c))))

I've just to put this in the right place in my Luminus Web app!


Bets in hexadecimal (0xDEADBEEF, 0xB00B5, 0xC0FFEE...)

Would be never used, maybe once to test it.


DevStatusReq downlink without any application data uses uplink's application port instead of port 0

This is a bug report for the Backend (and the Console).

When an unconfirmed uplink has ADR enabled and uses, say, application port 2, then when the application does not require any downlink itself, TTN might still send a DevStatusReq downlink using that port 2. I think it should then use port 0, as it's only a DevStatusReq MAC command without any application data, for which the LoRaWAN specifications state:

4.3.2 Port field (FPort)
If the frame payload field is not empty, the port field must be present. If present, an FPort value of 0 indicates that the FRMPayload contains MAC commands only; see Chapter 4.4 for a list of valid MAC commands. FPort values 1..223 (0x01..0xDF) are application-specific.

TTN Console shows the downlink is using port 0, while the payload really includes another value.

According to a forum post, Actility uses port 0 for the same use case.

Example:

Node sends 403A140126C0820002005629CDB1F73640BEDEF047 which is an Unconfirmed Uplink for application port 2, with the FCtrl.ADR bit set.

In the gateway traffic, TTN Console shows it's responding with 603A140126200300022A0F94A8:

603A140126200300022A0F94A8 decodes to an Unconfirmed Data Down without any application data, but with FPort set to 2:
 Message Type = Data
   PHYPayload = 603A140126200300022A0F94A8

 ( PHYPayload = MHDR[1] | MACPayload[..] | MIC[4] )
         MHDR = 60
   MACPayload = 3A14012620030002
          MIC = 2A0F94A8

 ( MACPayload = FHDR | FPort | FRMPayload )
         FHDR = 3A140126200300
        FPort = 02
   FRMPayload =

       ( FHDR = DevAddr[4] | FCtrl[1] | FCnt[2] | FOpts[0..15] )
      DevAddr = 2601143A (Big Endian)
        FCtrl = 20
         FCnt = 0003 (Big Endian)
        FOpts =

 Message Type = Unconfirmed Data Down
    Direction = down
         FCnt = 3
    FCtrl.ACK = true
    FCtrl.ADR = false

In the application data, TTN Console shows that the downlink was using port 0 (which it should, but did not, so maybe there's a bug in Console as well?):

Environment

My application:

App ID: arjanvanb-bb-1

My gateway:

EUI: eui-5ccf7ff42f1970ec
Connected to: router.eu.thethings.network:1700

My node:

Device ID: arjanvanb-bb-1
AppEUI: 70B3D57EF00037B4
DevEUI: 70B3D5B020035CD1

Confirmed. Shouldn't be too hard to fix.


Update New-MigrationBatch.md

Rename G Suite migration to Google Workspace migration
Add more description to ContentFilter, ContentFilterLanguage

Docs Build status updates of commit c55b41a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/New-MigrationBatch.md
:white_check_mark:Succeeded
View (exchange-ps)

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

Docs Build status updates of commit d119cc7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/New-MigrationBatch.md
:white_check_mark:Succeeded
View (exchange-ps)

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

Docs Build status updates of commit 87173df:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/New-MigrationBatch.md
:white_check_mark:Succeeded
View (exchange-ps)

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

@rahu-microsoft, be advised that the G Suite term is used in other migration cmdlets (New-MigrationEndpoint, Set-MigrationBatch, Set-MigrationEndpoint, and Test-MigrationEndpoint. I fixed them all with similar "Google Workspace (formerly G Suite) " updates in a separate PR.


Updating the Calendar document

Updating the Calendar document with Deleting calendar database forcefully -article. Added to the end of the doc.

I wonder if line 183 would need some more information.
With a ghost calendar we mean a calendar that persists in the Calendar app, no matter what you do to remove it.
Maybe tell them that deleting the valid calendars is not critical if they are synced calendars as the calendar data would be synced down from the server(s) after this treatment. Only the data of the local (non-synced) calendars will be definitely lost.
Otherwise, this is "LGTM".

Good points, added those additional info to the doc.


[Codeflare Action] Update notebook's pipfile to sync with Codeflare-SDK release 0.19.1

:rocket: This is an automated Pull Request.
This PR updates the Pipfile to sync with latest Codeflare-SDK release.

/lgtm
we need to update the imagestreams definitions to comply with the codeflare package upgrade

@harshad16 Can this automated job be re-run so that the updates are done for the Python 3.11 images as well?

@guimou This workflow is in codeflare-sdk project. We can ask them if we want to rerun this.
however as we are not shipping python 3.11 as of now
i believe we can wait for the next release, which would anyhow would get those changes.
we are few months away for getting 3.11.
another note, we haven't done package updates in the 3.11 , so that process would also take care of it.
Let me know , if you feel otherwise, we can reach out to that team for rerun.

@guimou This workflow is in codeflare-sdk project. We can ask them if we want to rerun this.
however as we are not shipping python 3.11 as of now i believe we can wait for the next release, which would anyhow would get those changes. we are few months away for getting 3.11.
another note, we haven't done package updates in the 3.11 , so that process would also take care of it. Let me know , if you feel otherwise, we can reach out to that team for rerun.

Sounds good to me! I just wanted to keep everything in sync.
Nevertheless, the changes are not complex, we can apply them manually if necessary.

/lgtm
we need to update the imagestreams definitions to comply with the codeflare package upgrade

I have created the #679.
Also, the updater workflow ignores the Pipfile.cpu and Pipfile.gpu files in the intel directories so I raised https://github.com/project-codeflare/codeflare-sdk/issues/644 - will be probably migrated to a jira issue :shrug:


Added specific smaple for child fragment.

Closing due to inactivity. @techartist feel free to re-open if you've signed the CLA. Be sure to resolve merge conflicts with the current HEAD of master.


test_orphaned_signal_handler: rare instability

https://travis-ci.org/jgehrcke/gipc/jobs/618426367
test/test_gipc.py::TestSignals::test_signal_handlers_default PASSED      [100%]
=================================== FAILURES ===================================
___________________ TestSignals.test_orphaned_signal_watcher ___________________
self = <test_gipc.TestSignals object at 0x000000010d3d4138>
    def test_orphaned_signal_watcher(self):
        # Install libev-based signal watcher.
        s = gevent.signal(signal.SIGTERM, signals_test_sigterm_handler)
        # Normal behavior: signal handlers become inherited by children.
        # Bogus behavior of libev-based signal watchers in child process:
        # They should not be active anymore when 'orphaned' (when their
        # corresponding event loop has been destroyed). What happens, however:
        # The old handler stays active and registering a new handler does not
        # 'overwrite' the old one -- both are active.
        # Since this test is about testing the behavior of 'orphaned' libev
        # signal watchers, the signal must be transmitted *after* event loop
        # recreation, so wait here for the child process to go through
        # the hub & event loop destruction (and recreation) process before
        # sending the signal. Waiting is realized with sync through pipe.
        # Without cleanup code in gipc, the inherited but orphaned libev signal
        # watcher would be active in the fresh event loop and trigger the
        # handler. This is a problem. With cleanup code, this handler must
        # never be called. Child exitcode 20 means that the inherited handler
        # has been called, -15 (-signal.SIGTERM) means that the child was
        # actually killed by SIGTERM within a certain short time interval.
        # Returncode 0 would mean that the child finished normally after that
        # short time interval.
        with pipe() as (r, w):
            p = start_process(signals_test_child_a, (w,))
            assert r.get() == p.pid
            os.kill(p.pid, signal.SIGTERM)
            p.join()
            if not WINDOWS:
>               assert p.exitcode == -signal.SIGTERM
E               assert 0 == -15
E                 -0
E                 +-15
test/test_gipc.py:1305: AssertionError
----------------------------- Captured stderr call -----------------------------
02:54:44,679.9  [19974]start_process# Invoke target `<function signals_test_child_a at 0x00000001108fe980>` in child process.
02:54:44,682.9  [19974]start# SIGCHLD watcher for 20024 started.
02:54:44,683.6  [19974]start_process# Invalidate <_GIPCWriter_b413c4 fd: 23> in parent.
02:54:44,684.3  [19974]close# Invalidating <_GIPCWriter_b413c4 fd: 23> ...
02:54:44,707.2  [20024]_child# _child start. target: `<function signals_test_child_a at 0x00000001108fe980>`
02:54:44,712.0  [20024]_child# Delete current hub's threadpool.
02:54:44,712.9  [20024]_child# Destroy hub and default loop.
02:54:44,714.6  [20024]_child# Created new hub and default event loop.
02:54:44,715.1  [20024]_child# Invalidate <_GIPCReader_c0ae88 fd: 21> in child.
02:54:44,715.7  [20024]_set_legit_process# Legitimate <_GIPCReader_c0ae88 fd: 21> for current process.
02:54:44,716.4  [20024]close# Invalidating <_GIPCReader_c0ae88 fd: 21> ...
02:54:44,717.1  [20024]_set_legit_process# Legitimate <_GIPCWriter_b413c4 fd: 23> for current process.
02:54:44,717.7  [20024]_child# Handle `<_GIPCWriter_b413c4 fd: 23>` is now valid in child.
02:54:44,740.7  [19974]_on_sigchld# SIGCHLD watcher callback for 20024 invoked. Exitcode stored: 0
02:54:44,742.7  [19974]close# Invalidating <_GIPCReader_c0ae88 fd: 21> ...
------------------------------ Captured log call -------------------------------
DEBUG    gipc:gipc.py:285 Invoke target `<function signals_test_child_a at 0x00000001108fe980>` in child process.
DEBUG    gipc:gipc.py:463 SIGCHLD watcher for 20024 started.
DEBUG    gipc:gipc.py:303 Invalidate <_GIPCWriter_b413c4 fd: 23> in parent.
DEBUG    gipc:gipc.py:607 Invalidating <_GIPCWriter_b413c4 fd: 23> ...
DEBUG    gipc:gipc.py:478 SIGCHLD watcher callback for 20024 invoked. Exitcode stored: 0
DEBUG    gipc:gipc.py:607 Invalidating <_GIPCReader_c0ae88 fd: 21> ...
===================== 1 failed, 78 passed in 11.90 seconds =====================

Thanks past @jgehrcke for this code comment.

Not seen in a long time.


umi-ocr: Update to version 2.1.1, fix checkver and autoupdate

Update the format of version tag

[x] I have read the Contributing Guide.

/verify

/verify


What is the LICENSE of words2map?

Title.

Thanks for question. MIT License. I've now pushed it.
Cheers!


upgrade the wala to v2.2.32.

@mfine30 v2.2.32 have some perf improvement change. please help merge. thanks.

Merged manually here (https://github.com/cloudfoundry/bosh-linux-stemcell-builder/commit/77cc09f10477a51777a3c9a4169e08d27ed8d541)


Object frequency when using object painting image in zones

When painting the terrain with the brush, it is possible to configure the object frequency, so that you can separate for instance trees the way you like.
When using object painting images for zones, this is not possible. Instead, the objects are placed very, very close to each other, which is not ideal when modeling a forest.
It would be good to have the same behavior for zones as for painting with the brush.

Hey @niklasking !
Is this what you mean?

This allows you to reduce/increase the frequency of the objects when you paint 🙂
The -1 you see here means that you will use the deault. If you increase it, higher than -1, this is the one that will get applied.
Let me know if this is what you mean!

Exactly, this is what I want, but you said earlier that it does not work when using images in the zones.
So if you make this to work even when using my own images in the zones that would be perfect!

Oh yeah, I mean what you mean, in your case, you are not using the paint tool but an image!
I'll check what I can do about this 🙂

Thanks a lot!

This should work now with the version 0.9.0Alpha 🙂
I'll close the issue, feel free to open a new one if needed!


fix: Fix volume size validation

Fixes #6055
Description
This fixes the volume size string validation that should have already been performed to ensure that the resource value must be one of T, Ti, G, or Gi. You could bypass this check by specifying an integer; however, etcd would store this value as a string somewhere down the line which would cause us to fail to delete the EC2NodeClass.
There's an open issue against controller-gen to try and dig deeper into what causes the integer to be able to circumvent this validation but then pass through the validation later, causing it to fail.
How was this change tested?
make presubmit
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.02%) to 81.963%

Files with Coverage Reduction
New Missed Lines
%

pkg/providers/amifamily/ami.go
1
90.32%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
5394

Relevant Lines:
6581

💛  - Coveralls


zh-trans: add federation-current-state.md

zh-trans: add federation-current-state.md

/assign @zhangxiaoyu-zidif

/assign @steveperry-53

/assign @steveperry-53

@xichengliudui Please revise the punctuations.

@tengqm  Is there any standard about punctuation?

@tengqm  I have modified it, can you have a look?

@xichengliudui In Chinese, we use Chinese punctuations unless it breaks the doc rendering.

/lgtm
/approve


Empty popup

Platform
Which platform does the bug apply to?

WebExtension (Google Chrome)

Describe the bug
After the recent update (5.10.0), the popup is empty on all sites:

To Reproduce
Steps to reproduce the behavior:

Go to https://github.com/AliasIO/wappalyzer
Click on wappalyzer icon
It's empty

Expected behavior
To have the technologies listed.

I just pushed v5.10.1, let me know if that fixes it.

@AliasIO  Yes, v5.10.1 fixes the empty popup issue

Fixed :+1:

Please Push the same Update For Microsoft edge. Its currently not working as well


Fix icon padding

Great app, I love using it!
There is a minor issue where the padding around logo on the main icon as well of the shortcut actions don't match the Android guidelines. The guidelines recommend 18dp of padding around the icon and the edge of the circle.
See the screenshot below where the all the other icons respect the 18dp padding rule and flashdim icon has almost no padding.

Hi Mikhail, thanks for the feedback.
I'm not really experienced with designing, but I will try my best at fixing this when I find some time.

I have adopted the minimum 18dp recommendation:

Not a big change though

For reference, that's how the previous version looks like with guide lines:

I have to take a look at the adaptive icon implementation, maybe there's something wrong...

@mchowdhury Does that look as intended?

@cyb3rko Looks great! Can you check that the the shortcut icons (Minimum, Maximum Brightness, etc.) have the correct padding too?


Zookeeper

Hi,
Dapr StateManagement -> components Zookeeper
After call
await daprClient.SaveStateAsync("zookeeper",0);
I got exception
Dapr Exception:
Unhandled exception. Dapr.DaprException: State operation failed: the Dapr endpoint indicated a failure. See InnerException for details.
== APP ==  ---> Grpc.Core.RpcException: Status(StatusCode="Internal", Detail="failed saving state in state store zookeeper: zk: invalid path")
== APP ==    at Dapr.Client.DaprClientGrpc.MakeSaveStateCallAsync[TValue](String storeName, String key, TValue value, String etag, StateOptions stateOptions, IReadOnlyDictionary`2 metadata, CancellationToken cancellationToken)
== APP ==    --- End of inner exception stack trace ---
== APP ==    at Dapr.Client.DaprClientGrpc.MakeSaveStateCallAsync[TValue](String storeName, String key, TValue value, String etag, StateOptions stateOptions, IReadOnlyDictionary`2 metadata, CancellationToken cancellationToken)

zookeeper log:
[NIOWorkerThread-1:o.a.z.s.ZooKeeperServer@1422] - Connection request from old client /<IP_ADDRESS>:42248; will be dropped if server is in r-o mode
INFO  [SyncThread:0:o.a.z.s.p.FileTxnLog@285] - Creating new log file: log.1
INFO  [NIOWorkerThread-3:o.a.z.s.NIOServerCnxn@337] - Unable to read additional data from client, it probably closed the socket: address = /<IP_ADDRESS>:42248, session = 0x10000

Zookeeper version :3.8.1
Dapr version: 1.11.1
Docker version:24.0.2

@pamav could you please share the logs from the daprd container too when the panic happens?

here is dapr logs:
dapr run --app-id daprCounter --components-path "./components" -- dotnet run --project ./DaprCounter.csproj
Flag --components-path has been deprecated, This flag is deprecated and will be removed in the future releases. Use "resources-path" flag instead
Starting Dapr with id daprCounter. HTTP Port: 63014. gRPC Port: 63015
Checking if Dapr sidecar is listening on HTTP port 63014
time="2023-07-20T06:55:03.3075013+02:00" level=info msg="starting Dapr Runtime -- version 1.11.1 -- commit 204163e75fcfd4d56b6cdbb849265b223372aab0" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3081282+02:00" level=info msg="log level set to: info" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3087116+02:00" level=info msg="metrics server started on :63016/" app_id=daprCounter instance=RDiGregac scope=dapr.metrics type=log ver=1.11.1
time="2023-07-20T06:55:03.3109992+02:00" level=info msg="Resiliency configuration loaded" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3115794+02:00" level=info msg="standalone mode configured" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3115794+02:00" level=info msg="app id: daprCounter" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3115794+02:00" level=info msg="mTLS is disabled. Skipping certificate request and tls validation" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3121267+02:00" level=info msg="Dapr trace sampler initialized: DaprTraceSampler(P=1.000000)" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3156728+02:00" level=info msg="local service entry announced: daprCounter -> <IP_ADDRESS>:63017" app_id=daprCounter component="mdns (nameResolution/v1)" instance=RDiGregac scope=dapr.contrib type=log ver=1.11.1
time="2023-07-20T06:55:03.3156728+02:00" level=info msg="Initialized name resolution to mdns" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3164382+02:00" level=info msg="Loading components…" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3169632+02:00" level=info msg="Waiting for all outstanding components to be processed" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3253075+02:00" level=info msg="Component loaded: zookeeper (state.zookeeper/v1)" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3258463+02:00" level=info msg="All outstanding components processed" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3261084+02:00" level=info msg="Loading endpoints" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
2023/07/20 06:55:03 connected to [::1]:2181
time="2023-07-20T06:55:03.3289625+02:00" level=info msg="Waiting for all outstanding http endpoints to be processed" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3289625+02:00" level=info msg="All outstanding http endpoints processed" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3297133+02:00" level=info msg="gRPC proxy enabled" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.330298+02:00" level=info msg="gRPC server listening on TCP address: :63015" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.grpc.api type=log ver=1.11.1
time="2023-07-20T06:55:03.3308645+02:00" level=info msg="Enabled gRPC tracing middleware" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.grpc.api type=log ver=1.11.1
time="2023-07-20T06:55:03.3308645+02:00" level=info msg="Enabled gRPC metrics middleware" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.grpc.api type=log ver=1.11.1
time="2023-07-20T06:55:03.3326934+02:00" level=info msg="configuring workflow engine gRPC endpoint" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.wfengine type=log ver=1.11.1
time="2023-07-20T06:55:03.3333281+02:00" level=info msg="API gRPC server is running on port 63015" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.333926+02:00" level=info msg="enabled metrics http middleware" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.http type=log ver=1.11.1
time="2023-07-20T06:55:03.3352312+02:00" level=info msg="enabled tracing http middleware" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.http type=log ver=1.11.1
time="2023-07-20T06:55:03.3359046+02:00" level=info msg="HTTP server listening on TCP address: :63014" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.http type=log ver=1.11.1
time="2023-07-20T06:55:03.3359046+02:00" level=info msg="http server is running on port 63014" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3365321+02:00" level=info msg="The request body size parameter is: 4" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3389624+02:00" level=info msg="gRPC server listening on TCP address: :63017" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.grpc.internal type=log ver=1.11.1
time="2023-07-20T06:55:03.339665+02:00" level=info msg="Enabled gRPC tracing middleware" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.grpc.internal type=log ver=1.11.1
time="2023-07-20T06:55:03.339665+02:00" level=info msg="Enabled gRPC metrics middleware" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.grpc.internal type=log ver=1.11.1
time="2023-07-20T06:55:03.340245+02:00" level=info msg="internal gRPC server is running on port 63017" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3418107+02:00" level=warning msg="App channel is not initialized. Did you configure an app-port?" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3423632+02:00" level=info msg="actors: state store is not configured - this is okay for clients but services with hosted actors will fail to initialize!" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.343448+02:00" level=info msg="actor runtime started. actor idle timeout: 1h0m0s. actor scan interval: 30s" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.actor type=log ver=1.11.1
time="2023-07-20T06:55:03.3456916+02:00" level=info msg="configuring workflow engine with actors backend" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.wfengine type=log ver=1.11.1
time="2023-07-20T06:55:03.3462098+02:00" level=info msg="Registering component for dapr workflow engine..." app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3463188+02:00" level=info msg="initializing Dapr workflow component" app_id=daprCounter component="dapr (workflow.dapr/v1)" instance=RDiGregac scope=dapr.contrib type=log ver=1.11.1
time="2023-07-20T06:55:03.3474817+02:00" level=warning msg="failed to read from bindings: app channel not initialized " app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
time="2023-07-20T06:55:03.3502458+02:00" level=info msg="dapr initialized. Status: Running. Init Elapsed 38ms" app_id=daprCounter instance=RDiGregac scope=dapr.runtime type=log ver=1.11.1
2023/07/20 06:55:03 authenticated: id=72057594807648257, timeout=15000
2023/07/20 06:55:03 re-submitting 0 credentials after reconnect
time="2023-07-20T06:55:03.4393965+02:00" level=info msg="placement tables updated, version: 0" app_id=daprCounter instance=RDiGregac scope=dapr.runtime.actor.internal.placement type=log ver=1.11.1
Checking if Dapr sidecar is listening on GRPC port 63015
Dapr sidecar is up and running.
Updating metadata for appPID: 1912
Updating metadata for app command: dotnet run --project ./DaprCounter.csproj
You're up and running! Both Dapr and your app logs will appear here.
== APP == Hello, World!
== APP == Unhandled exception. Dapr.DaprException: State operation failed: the Dapr endpoint indicated a failure. See InnerException for details.
== APP ==  ---> Grpc.Core.RpcException: Status(StatusCode="Internal", Detail="fail to get counter from state store zookeeper: zk: invalid path")
== APP ==    at Dapr.Client.DaprClientGrpc.GetStateAsync[TValue](String storeName, String key, Nullable1 consistencyMode, IReadOnlyDictionary2 metadata, CancellationToken cancellationToken)
== APP ==    --- End of inner exception stack trace ---
== APP ==    at Dapr.Client.DaprClientGrpc.GetStateAsync[TValue](String storeName, String key, Nullable1 consistencyMode, IReadOnlyDictionary2 metadata, CancellationToken cancellationToken)
== APP ==    at Program.$(String[] args) in X:\DaprCounter\Program.cs:line 15
== APP ==    at Program.(String[] args)
The App process exited with error code: exit status 0xe0434352
terminated signal received: shutting down
Exited Dapr successfully
Error exiting App: exit status 0xe0434352

Moving to components-contrib as it seems to be an error with the zookeeper component.
Could you also share the Component YAML file?


Update to libssh2 1.8.1

@cmb69 Is this just an unchanged import of libssh 1.8.1 or are there winlibs-specific changes?

This is just an unmodified import.

OK, thx

Merged, thanks!

There were 2 commits to the 1.8.1 branch after the release:
https://github.com/libssh2/libssh2/commits/1.8.1
Fixed misapplied patch:
https://github.com/libssh2/libssh2/commit/ca2744483eac4e707084df5fc55cc69d57571dde
moved MAX size declarations
https://github.com/libssh2/libssh2/commit/d06ab72a146be1a5975d351e747cebe9f2b5357a

@weltling Looks like these are bug fixes – should we backport these right away?

@cmb69 the second one doesn't fix anything at runtime. The first one could be a bugfix, yes. I'd prefer to omit these, as long as no bug has been reported and PHP's tests pass, especially as we're in the QA phase for the current RCs right now.
Thanks.

@weltling Fine. Thanks.

How do you run the tests for the ssh2 extension? Against a public test-server, against a vagrant box?


record: implement multiple communities inclusion

implements the new request type community-inclusion
renames permission to align with the new request type
closes inveniosoftware/invenio-app-rdm#2060

@kpsherva @jrcastro2 everything should be fixed now, thank you for the review.


unknown device type with id 603

Describe the bug
After each restart of HA it shows this Message:
Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht
Logger: custom_components.smartthinq_sensors.wideq.device_info
Source: custom_components/smartthinq_sensors/wideq/device_info.py:197
Integration: SmartThinQ LGE Sensors (documentation, issues)
First occurred: 16:27:08 (1 occurrences)
Last logged: 16:27:08
Device 915f13b3-f748-10e1-a5e4-5026ef357f80: unknown device type with id 603
Expected behavior
no errors at startup
Screenshots
n.A.
Environment details:
HASSIO
I have enabled the logs and got an URL
https://objectcontent.lgthinq.com/b5db8a86-a73f-479d-bbe7-d2dc0af353a3?hdnts=exp=1763186250~hmac=60d38a9e9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Can I send the URL or the file I downloaded it over the URL or is that security-related?
It is a LG ThermaV heatpump

What are your LG devices? Error is because device with ID 603 is unknown.

It is a LG air/water Heatpump "LG Therma V Monobloc S 9kW - HM093MR.U44", connectet over LG cloud gateway.
Values are shown in HA and controllable.

smartthinq_sensors-200526a9185260f8b1ba9bd05cdf010a-Ansgar-57984c7f9788f278d494e147831110be.json.txt

OK, this is just a warning for unknown device type, anyway I added to the list and released a new version to remove the warning.

Thank you very much

Thank you very much


Multiselect: Make arrow open/close drop-down

When you open the multiselect, let's make it so the down-arrow on the right-hand side closes it when clicked, yaaay! Also, let's flip the arrow when it is open! Yaaaah!
Changes

Make clicking the arrow in the search input open AND close the drop-down.
Switch the drop-down arrow to an up arrow when the drop-down is open.

Testing

Open the PR preview and go to the dropdowns and multiselects page and open and close the multiselect by clicking the arrow.

Screenshots

looks good!


Initial POC commit for stevedore runners

Moving get_runner call in container to refer to name instead of module_name
Using stevedore to load runner in util loader
Removing tests for removed runner loader
Removing runner loader based on import

[ ] Testing cleanup
[ ] Add new test coverage
[ ] Update generate requirements to include runners (Maybe?) and corresponding st2-packages changes

@Kami take a look at this and let me know if you're good w/ the direction. As you'll see from my error message I plan on making a small st2ctl util to install runners which should allow us to deprecate current runner load methods (packaged, but not installed) as well as <= 2.6 loader methods by just giving a friendly message to run that command. (Also consider 2.9 upgrade command in packaging. [/cc @armab for inspiration]). This, as-is, functions if you install the runner manually to your dev environment's env. I've only tested w/ local runner at the moment.

I plan on making a small st2ctl util to install runners which should allow us to deprecate current runner load methods (packaged, but not installed) as well as <= 2.6 loader methods by just giving a friendly message to run that command. (Also consider 2.9 upgrade command in packaging.)

Can you describe a little bit in more detail re st2ctl util and its consequences on both packaging and users?
What steps will be required/modified to get the fully working stackstorm system? Will we need an additional st2ctl reinstall-runners step apart of st2ctl reload?
Does this reinstall functionality required only to pick-up optional runners or needed for all core runners?
During the K8s work we experience increasing pain points in any migration, register, reload or init scripts. And so any package postinst hooks are flaky by nature, see https://github.com/StackStorm/st2-packages/issues/453 the consequences for st2ctl reload --register-runners which was added in packaging "as a temporary hack" and is still there, showing errors on every st2 install.
In containerized env, package upgrade/postinst doesn't make much sense anymore because we don't do apt/yum upgrade there, but re-package Docker image instead.
Thus I'd tend to push in future to register more content as possible by default & on fly on st2 init time, especially if it's core functionality and required for system to run properly.
@Kami From what I remember some on-fly content reload happens with st2 sensors?

Let's discuss.

@armab Good comments. Let me clarify a bit.
The reinstall-runners is only for people upgrading from <= 2.8 to >= 2.9. Starting with 2.9 all runners will be packaged with the deb/rpm packages and there's no need to run anything additional. In fact I'm eying a look at removing runners from the DB in general in this PR (I haven't yet because there would be a lot of implications so for now it will stay while I clean the rest up.)
The biggest thing about upgrades I need to check is:

What happens to st2 virtualenv when it's upgrade (aka, will new runner wheels be there [I assume so, but I need to find out for sure])
If runner wheels are not there what's the best way to get them there. For that I see two options
Post-install script to install-runners (which will basically just install runner modules into st2 venv
st2ctl script that will do the same thing post-install would.

I think once the runners are all loaded via stevedore we can just get rid of them from the contrib folder in general (both in the st2 repo and in the installation contrib). This is why I think we can also get rid of them from the DB (Again there are some implications that might not make it into round 1 of this).
Either way, for HA story, the packages you guys would be installing from will have the runner modules baked into the env. So I do not, at this time, foresee an issue there. The install-runner command will only be added if upgrade process does not include new runner wheels. If it does then we should be okay.
One of my bigger concerns w/ removing runners from the DB (and how this is currently implemented) is I don't know what %age of our packs still have inconsistent naming references to runners. (Note to self: Look through exchange and make those consistent.)

Overall, I'm fine with this approach, but I wouldn't touch DB stuff right now since it has many consequences (and some would even argue it's a bad idea from consistency perspective since we also have DB objects for other resources, but that's a long debate :D).
I'm also a bit confused like @armab about the st2ctl command - if I understand things correctly, there should be no need for that, even for users who are upgrading from a previous release.
Runners will be built as Python Wheels and packaged / installed into main StackStorm virtual environment. All the pack virtual environments should inherit dependencies from parent virtualenv (and we also do some PYTHONPATH manipulating) so at least in theory, it should work out of the box.

Btw, what's our target release for this functionality? v2.9.0?

I went over the code and changes and I believe those are the major changes we need to make to get this to work:

Update runner registrar to discover available runners using stevedore introspection instead of iterating over directories on disk. See tools/enumerate-runners.py for example. I believe all the major changes are already in place so the change itself should be simple.
Update st2-packages to build wheels for each runner package and inject and install it into generated StackStorm virtual environment
Update installer scripts, etc. to remove copy step (cp -R) for runner directories
Update installer and other (test) scripts to install runners into used virtual environment (similar thing as we do for Orquesta)
Document that "behavior" change in upgrade notes

I will try to get this PR finished - it's mostly there because most of the code was already in place and this PR is just hooking everything up.
I have some issues with existing tests due to how they mock some methods.
I will try to sort this out and then I will look into also making --register-runners flag obsolete.
Initial version of "dynamic runners" feature when this flag was added was a bit rushed. I will make registration implicit. It will happen automatically on each service startup during bootstrap phase (that's how things worked before implementing initial version of dynamic loading feature).
For backward compatibility reasons, I will still leave that flag in place.

@bigmstone This PR is now finally finished and ready for a review.
I also needed to update our runner callback and query module loading code so it uses the same dynamic stevedore loading approach.
Whole change took a lot of work - mostly because of mocks and fixtures in our tests (some tests mocked too much, a lot of fixtures were out of date / invalid, etc.).


[v1.2][ISSUE-336] Adding Delta tuner fine-tuning capability

What changes were proposed in this pull request?

Why are the changes needed?

How was this patch tested?

@xuechendi Hi Chendi, as we discussed with @Jian-Zhang, we decided to put the deltatuner as an individual component under the e2eAIOK/e2eAIOK folder, which is at the same level as "DE-NAS" and "Model Adaptor". It seems a reasonable and easy way to maintain our current implementation. Please have a look.

link to the issue#336 [https://github.com/intel/e2eAIOK/issues/336]

@tianyil1 @zhouyu5 @XinyaoWa , for folders under examples/models, I saw 'llama-7b-ssf', 'mpt-7b-ssf', 'mpt'... Are these codes-copied from original model? Do we need to provide them our self instead of 'import' from their original source?
Have we minor changes we made to the model codes?

For UT, are these UT nessary for delta tuner?
If not, please exclude them and only invoke delta tuner UTs. Once you added the trigger, The PR should trigger the UT.
============================= test session starts ==============================
tests/unittest/test_denas_asr_model_builder.py .                         [  1%]
tests/unittest/test_denas_cv_trainer.py ..                               [  5%]
tests/unittest/test_denas_evolutionary.py ..                             [  8%]
tests/unittest/test_denas_random.py ..                                   [ 12%]
tests/unittest/test_hydrodb.py .                                         [ 13%]
tests/unittest/test_ma_adapter.py ...................                    [ 46%]
tests/unittest/test_ma_distiller.py ....                                 [ 53%]
tests/unittest/test_ma_finetuner.py .                                    [ 55%]
tests/unittest/test_ma_transferrable_model.py .......................... [100%]
=============================== warnings summary ===============================

For UT, are these UT nessary for delta tuner? If not, please exclude them and only invoke delta tuner UTs. Once you added the trigger, The PR should trigger the UT.
============================= test session starts ============================== tests/unittest/test_denas_asr_model_builder.py . [ 1%] tests/unittest/test_denas_cv_trainer.py .. [ 5%] tests/unittest/test_denas_evolutionary.py .. [ 8%] tests/unittest/test_denas_random.py .. [ 12%] tests/unittest/test_hydrodb.py . [ 13%] tests/unittest/test_ma_adapter.py ................... [ 46%] tests/unittest/test_ma_distiller.py .... [ 53%] tests/unittest/test_ma_finetuner.py . [ 55%] tests/unittest/test_ma_transferrable_model.py .......................... [100%]
=============================== warnings summary ===============================

UT are all now refined, I refined the trigger condition.

@xuechendi Hi Chendi, as we discussed with @Jian-Zhang, we decided to put the deltatuner as an individual component under the e2eAIOK/e2eAIOK folder, which is at the same level as "DE-NAS" and "Model Adaptor". It seems a reasonable and easy way to maintain our current implementation. Please have a look.

Tianyi and I think models folder could be removed. However, it's added by Xinyao, so we will wait for xinyao's response.

@tianyil1 @zhouyu5 @XinyaoWa , for folders under examples/models, I saw 'llama-7b-ssf', 'mpt-7b-ssf', 'mpt'... What are these folders used for? From the example, seems everything is imported either form peft or transformers. I we still need a folder containing so much files to provide example?

Tianyi and I think models folder could be removed. However, it's added by Xinyao, so we will wait for xinyao's response.

@tianyil1 @zhouyu5 @XinyaoWa , for folders under examples/models, I saw 'llama-7b-ssf', 'mpt-7b-ssf', 'mpt'... What are these folders used for? From the example, seems everything is imported either form peft or transformers. I we still need a folder containing so much files to provide example?

As the merged SSF model will enable bias for some denas selected layers, while the default llama-7b and mpt-7b set bias=None, which make it can't load the trained weights. Thus I add  'llama-7b-ssf' and 'mpt-7b-ssf' to modify the model definition, make it able to enable bias according to denas searched layers. "mpt" is the original code contained in the file (actually not used now), not add by me.

@tianyil1 @zhouyu5 @XinyaoWa , for folders under examples/models, I saw 'llama-7b-ssf', 'mpt-7b-ssf', 'mpt'... What are these folders used for? From the example, seems everything is imported either form peft or transformers. I we still need a folder containing so much files to provide example?

As the merged SSF model will enable bias for some denas selected layers, while the default llama-7b and mpt-7b set bias=None, which make it can't load the trained weights. Thus I add 'llama-7b-ssf' and 'mpt-7b-ssf' to modify the model definition, make it able to enable bias according to denas searched layers. "mpt" is the original code contained in the file (actually not used now), not add by me.

based on you comments, if bias is a configuration , can we add that config in denas search space and provide it to llama7b and mpt7b? Do we need to copy and modify the model?

@tianyil1 @zhouyu5 @XinyaoWa , for folders under examples/models, I saw 'llama-7b-ssf', 'mpt-7b-ssf', 'mpt'... What are these folders used for? From the example, seems everything is imported either form peft or transformers. I we still need a folder containing so much files to provide example?

As the merged SSF model will enable bias for some denas selected layers, while the default llama-7b and mpt-7b set bias=None, which make it can't load the trained weights. Thus I add 'llama-7b-ssf' and 'mpt-7b-ssf' to modify the model definition, make it able to enable bias according to denas searched layers. "mpt" is the original code contained in the file (actually not used now), not add by me.

based on you comments, if bias is a configuration , can we add that config in denas search space and provide it to llama7b and mpt7b? Do we need to copy and modify the model?

But default model don't enable such configuration, what I add is to make the model can load such configuration. Anyway, After discuss with Tianyi and Yu, we plan to remove "model" folder now, and I will try to change the code to replace with layer when loading weight.

@Jian-Zhang @xuechendi We have fixed the above comments. Please have a check and help merge this PR.

hi, @XinyaoWa , may I ask why we still need ssf model in example? Can we use other way to use ssf model instead of copy the whole codes? If user want to try, do they need to use your version of ssf model?

@Jian-Zhang @xuechendi We have fixed the above comments. Please have a check and help merge this PR.

hi, @XinyaoWa , may I ask why we still need ssf model in example? Can we use other way to use ssf model instead of copy the whole codes? If user want to try, do they need to use your version of ssf model?

Please have a check again, we have removed the models folder.

network issue, will reopen the PR.

@Jian-Zhang @xuechendi We have fixed the above comments. Please have a check and help merge this PR.

hi, @XinyaoWa , may I ask why we still need ssf model in example? Can we use other way to use ssf model instead of copy the whole codes? If user want to try, do they need to use your version of ssf model?

Please have a check again, we have removed the models folder.

Thanks, I think I misstook the ssf folder under tests/finetune to previous one under example. confirmed that the issue is resolved

@zhouyu5 @tianyil1 @XinyaoWa , will we run UT for delta-tunner? I didn't see it being added to the .github/workflows
for below ones.

@zhouyu5 @tianyil1 @XinyaoWa , will we run UT for delta-tunner? I didn't see it being added to the .github/workflows for below ones.

Got it, I will add it in .github/workflows


New Install - "Cannot use alternative compiler" error

Installed CS-Script via the Plugin Admin and loaded a blank script via the New Script button, built Hello World script and got this error:
System.ApplicationException: Cannot use alternative compiler (C:\ProgramData\CS-Script\CSScriptNpp\<IP_ADDRESS>\CSSRoslynProvider.dll). You may want to adjust 'CSSCRIPT_DIR' environment variable or disable alternative compiler by setting 'useAlternativeCompiler' to empty value in the css_config.xml file.
Error Details: ---> System.ApplicationException: Cannot find alternative compiler "C:\ProgramData\CS-Script\CSScriptNpp\<IP_ADDRESS>\CSSRoslynProvider.dll"
CS-Script v1.7.27
Notepad++ v<IP_ADDRESS> (64 bit)

Is compiler dll there? The error message says it cannot find it.
Nevertheless, if you do not want to troubleshoot you can switch to the .NET Core (.NET 6) engine instead of using the default engine that comes with the plugin and relies on .NET Framework.
If you opt for this solution then you will need to install .NET 6 and then activate the plugin integration from the about box (it will install the required dependencies for you.
Have a look at this wiki, it describes the process: https://github.com/oleg-shilo/cs-script.npp/wiki/.NET-Core
I would advise you to switch to .NET core since .NET Framework is effectively no longer an active stream of .NET.
I am not making .NET Core a default option as now it is a transition phase for many .NET users but in the near future, I will.

Thanks for your reply. The dll is not there, the folders appear to be
empty. I will switch over like you suggested, thanks!
On Sun, Jan 30, 2022 at 6:02 AM Oleg Shilo @.***> wrote:

Is compiler dll there? The error message says it cannot find it.
Nevertheless, if you do not want to troubleshoot you can switch to the
.NET Core (.NET 6) engine instead of using the default engine that comes
with the plugin and relies on .NET Framework.
If you opt for this solution then you will need to install .NET 6 and then
activate the plugin integration from the about box (it will install the
required dependencies for you.
Have a look at this wiki, it describes the process:
https://github.com/oleg-shilo/cs-script.npp/wiki/.NET-Core
I would advise you to switch to .NET core since .NET Framework is
effectively no longer an active stream of .NET.
I am not making .NET Core a default option as now it is a transition phase
for many .NET users but in the near future, I will.
—
Reply to this email directly, view it on GitHub
https://github.com/oleg-shilo/cs-script.npp/issues/63#issuecomment-1025118550,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPMSB2RWKABX2AG3RUM5ITUYULFPANCNFSM5NCGVUYA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

But of course, you can turn the alternative compiler off and start experimenting with the product.
You can do it by setting 'useAlternativeCompiler' to empty value in the css_config.xml file.


Parsing encoded HTML entities fails

Hey,
Thanks for the great tool! It's really useful.
Looks like HTML entities like   and so on aren't rendering as expected.
Repro: https://stackblitz.com/edit/ngx-dynamic-hooks-quickstart-3hyr1o?file=src%2Fapp%2Fapp.component.ts
Expected functionality should match Angular's innerHtml I suppose (which does render Ampersand / encoded HTML)

Hey there!
generally speaking, HTML entities should all render as their normal characters. There's even an option to turn that behaviour off in the OutletOptions


sass minified files' sourcemap point to  incorrect source file when using custom transform method.

The Key issue is that sourcemaps for bundled minified sass files only works as expected if no custom transform methods are called.
First there maybe more then one item that is causing the issue, so it's possible the issue is partially to blame in postcss and lightningcss postcss plugin.
The first potential issue I found is that even though I enabled sourcemaps in esbuild.build config options I also had to enable sourcemaps in esbuild-sass-plugin so that source maps could be passed to the transform method of said plugin, this was required because postcss requires passing { map: { prev: DECODED_PREV_SOURCE_MAP } }  to the process method otherwise the sourcemap only shows the merged minified sass output file created by esbuild-sass-plugin, instead of the original source files.  Secondly in order to even set { map: { prev: DECODED_PREV_SOURCE_MAP } } I had to write a custom function to parse out and decode the inlined source map included in the source attribute passed in the transform method (see function below (and in context in the attached source file for the build script build.txt:
const pathDelimiter        = __dirname.includes("\\") ? "\\" : "/";
const BUNDLE_ROOT          = ".."  + pathDelimiter + ".."  + pathDelimiter + ".."  + pathDelimiter + ".." + pathDelimiter + ".."  + pathDelimiter;
function getMap(source) {
    if (!enableSourceMaps) { return null; }

    const mapUrl = "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,";
    const prevMap = Buffer
        .from(
            source.substring(source.indexOf(mapUrl) + mapUrl.length, source.length-3),
            "base64"
        )
        .toString("utf-8")
        .replaceAll(/"sourceRoot":"[^"]+"/gi, '"sourceRoot":"' + BUNDLE_ROOT + BUNDLE_ROOT + '"')
    ;

    return {
        prev: prevMap,
        inline: true
    };
}

At one point it looks like esbuild-sass-plugin had merged in changes that passed "map" as the fourth attribute of transform not sure why this was removed and/or never merged in Expose sourcemaps to transform
The second issue is why I had to write .replaceAll(/"sourceRoot":"[^"]+"/gi, '"sourceRoot":"' + BUNDLE_ROOT + BUNDLE_ROOT + '"') in my custom sourcemap decoder. Without that line files listed in the generated source map have invalid file locations that look like:
resolve.path("__dirname", SOURCE_ROOT) + "/" +
resolve.path("__dirname", SOURCE_ROOT) + "/" +
resolve.path("__dirname", SOURCE_ROOT) +
"/RELATIVE_ORIGIONAL_SOURCE_FILE_LOCATION"';

even if that string replace is removed the browser still ends up pointing to the wrong origional source files even if all the origional source files are listed as expected.
My package.json config to show that I'm using the latest versions of all the node dependencies
{
"scripts": {
    "dev": "node build.js --isDev && clientlib --verbose",
    "prod": "node build.js && clientlib --verbose",
    "aemfed": "aemfed -t \"http://admin:admin@localhost:4502\" -w \"../ui.apps/src/main/content/jcr_root/\""
  },
  "devDependencies": {
    "aem-clientlib-generator": "^1.8.0",
    "autoprefixer": "^10.4.19",
    "browserslist": "^4.23.0",
    "esbuild": "^0.23.0",
    "esbuild-plugin-browserslist": "^0.14.0",
    "esbuild-sass-plugin": "^3.3.1",
    "eslint": "^9.7.0",
    "eslint-plugin-react": "^7.35.0",
    "globals": "^15.8.0",
    "lightningcss": "^1.25.1",
    "postcss-lightningcss": "^1.0.0",
    "prop-types": "^15.8.1",
    "sass-embedded": "^1.77.8"
  },
  "dependencies": {
    "@fortawesome/fontawesome-pro": "^6.5.2",
    "@popperjs/core": "^2.11.8",
    "axios": "^1.6.8",
    "bootstrap": "^5.3.3",
    "react": "^18.2.0",
    "react-autosuggest": "^10.1.0",
    "react-dom": "^18.2.0",
    "react-modal": "^3.16.1",
    "smartystreets-javascript-sdk": "^5.1.1",
    "url-search-params-polyfill": "^8.2.5"
  },
  "browserslist": [
    "last 2 version",
    "> 1%"
  ]
}

Did further investigation today. One of the key issues is actually the minification step, and this bug exists in all three Esbuild, Postcss, & lighteningcss, so it compounds the issue in each step that minifies it. I know I said removing Postcss & Lightiningcss made the sourcemaps for css work, but that was only partially correct upon further investigation.
Esbuild will also on it's own even if the Transform Method is removed corrupt the sourceMap during it's minification step.  It just not as obvious as the mangling is less because it just gets further mangled each time a minification step happens via a custom transform method.
With that said the only time esbuild generates a correct sourceMap is when minification is completely disabled.
the Second issue is that postcss seems to screw up the sourceMap on it's own, by not including a nested sourcemap of esbuild's initial bundling step, so I found I had to use lightiningcss directly, which gave the build script a nice performance boost.
However, when lightiningcss creates the Sourcemap it adds a nested sourcemap of esbuild's bundling step as required by the sourcemap specs, but Esbuild doesn't merge the nested sourcemap added by lightiningcss, which has the effect of doubling the size of the map file as it now includes the all the source files content and the bundled version's content of those source files' content.
I fixed this by including another library called sorcery. I think this is something Esbuild should include natively as it would help performance by not having to run a javascript nodejs lib like sorcery to do the merging, and is something that should happen only when using custom transform methods when maps are enabled.
build.txt -- updated build script that outputs the files before minification so it proves that it's esbuilds minifcation step that screws up source maps for css, and maybe js too I just don't know these sites' reactjs code in depth enough to tell if there is an issue or not with the source maps for js.

I had a hunch, from day one, that css minification perfection was a target unable to achieve due to some broken links in the chain (outside of my control) and that's why despite I did a best effort not to make things worse I didn't want to put any more thoughts into it.
I appreciate your investigation and I reply mostly to say so.
Should you get to the point of figuring out something that this plugin can actually do to improve the situation I will be happy to help... till then I leave this issue to simmer as a guide for others asking themselves the same question

@glromeo the interesting thing is that if we output the state of the css bundle and source map from the transform method before returing the results to esbuild-sass-plugin the sourcemap address look up is correct as far as I can tell. it just gets to mangled after the transform step.
which is why I attached a second version of my build script above. So that we can see that if we take the files from target/preMinified all three versions of the bundled css have correct sourcemaps (.origEsbuild = what is passed into the transform method from esbuild-sass-plugin, .merged is the state after running sorcery/lightingcss and sans .merged is the same output as .merged only it includes the nested result from esbuild-sass-plugin in the map).

@glromeo Further findings. Tried jumping into both lightiningcss, esbuild-sass-plugin and esbuild source code. and I can't seem to find how they are determining to print rules in non-minified files. As far as I can tell esbuild-sass-plugin is just taking the output from sass-dart and in my specific config sass-embeded. It generates a sourcemap that is based on some selectors being on a single line and others all on their own invidual line.
e.g. some like: .foo, .bar { ... }
others like:
.more,
less {
....
}
Lightingcss always modifies the selectors so they are always consistantly on a single line and updates the sourcemap to match the new row and col locations of the selectors.
I also confirmed that using sass and lightiningcss directly via the CLI returns the same css and map output as your plugin returns just before the return call in the custom transform method.
I'm assuming, as I couldn't find where it goes after the return statement in the custom transformer call, that Esbuild then changes all the selectors to consistently be on their own line along with some other white space changes
e.g. .foo, .bar {} changes to:
.foo,
bar {
....
}
but never updates the sourceMap with the new Row and Col locations afer those whitespace changes and that is why the  sourceMap's get broken.
Do you happen to know off the top of your head, after the transform method call returns its results, where it goes to next? As with that knowledge I could open a ticket with Esbuild to have them not modify any white space without also updating the sourcemap with the col and row changes that causes.

As a temp fix so that I could use the transform directly out of lightingcss I used the type option in a hacky way to disable further processing of the css by esbuild, which allows me to finally have working css sourceMaps now using esbuild. I'm attaching my build script for those that are looking to fix the same issue as we wait for esbuild and lightiningcss (lightiningcss only breaks if you minify with sourceMaps) can fix their code.
tempFixBuildScript.txt
I don't know if my hack will work with esbuild watch mode as I don't use the feature. So I will leave that as an exercise to who the script might help to figure out if it will need to be modified to make it work with esbuilds watch mode.


Add white control for RGBW lights

Description
This pull request adds a white brightness slider for RGBW lights.
Related Issue
https://github.com/piitaya/lovelace-mushroom/issues/747
Motivation and Context
Right now the light card can control RGB and CCT lights, or RGB+CCT lights, but not the white channel(s) for RGBW or RGBWW lights. This pull request implements control for the white channel for RGBW lights.
How Has This Been Tested
Tested locally on demo HA instance.
Types of changes

[ ] 🐛 Bug fix (non-breaking change which fixes an issue)
[x] 🚀 New feature (non-breaking change which adds functionality)
[ ] 🌎 Translation (addition or update a translation)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have tested the change locally.

I'm not sure what approach should be taken for RGB+W lights. There's no way to control the white value separately. I guess an option is to switch the light to white mode when you hit the button and then use the slider to control the light brightness value.

@piitaya any feedback on this PR? I have RGBWW support ready to go as well but was waiting on feedback on this before submitting another PR.

Actually there is no way to have white at all, the closest thing you can have is full saturation cyan.
No control on the saturation either, the color picked by the slider is at full sat.
With esphome functionality color interlock :true you can force pure white (only dedicated w led lit) but it's shutted down as soon you pick a color from the slider

Actually there is no way to have white at all, the closest thing you can have is full saturation cyan. No control on the saturation either, the color picked by the slider is at full sat.

What do you mean by "there is no way to have white at all"? Are you talking about my PR? Because it works fine on my side. Please post more information about the light you're controlling so I can look into the problem.

With esphome functionality color interlock :true you can force pure white (only dedicated w led lit) but it's shutted down as soon you pick a color from the slider

Color interlock turns the light into an RGB+W light, which my PR doesn't support at the moment.

Apologies for the late reply.
I have a RGBW strip controlled by Shelly RGBW2 with esphome.
What i mean with "there is no way to get the white color" is there is no white color on the color slider

The only way to get white is manually choosing it from ha color-wheel.

Apologies for the late reply. I have a RGBW strip controlled by Shelly RGBW2 with esphome. What i mean with "there is no way to get the white color" is there is no white color on the color slider
The only way to get white is manually choosing it from ha color-wheel.

My testing has also been done on a Shelly RGBW2.
I also have another RGBW controller (thoose who came with tuya, center slider in the pic) flashed with esphome as you can see
they are all identical with no white...

Could esphome be the problem? (just thinking about that, since different device but same fw and same problem)
Can you plaese show me a slider with the white on it?
Esphome 2023.3.2
Home Assistant 2023.4.6

Still an bug - using an WLED led in HA with this card. No way to select white light! But two ways to select red lights 😕
Whites could be at either end to be honest.


setGlobalSMData not working with "non-streamable" objects

I was looking for a way to transfer data between states. In particular a std::filesystem::path and a Eigen::Isometry3d object.
For this purpose, I came across the setGlobalSMData and getGlobalSMData functions that the state machine support. As the functions are templated, it looked like they would support any type.
However, when I try to store an Eigen::Isometry3d object using setGlobalSMData, I get the following error:
error: no match for ‘operator<<’ (operand types are ‘std::stringstream’ {aka ‘std::__cxx11::basic_stringstream<char>’} and ‘Eigen::Transform<double, 3, 1>’)

The source code for setGlobalSMData:
https://github.com/robosoft-ai/SMACC/blob/e5abc09c51b16a8911b2516892afc953a00020ea/smacc/include/smacc/impl/smacc_state_machine_impl.h#L208-L224
The build error is due to the val object (casted to Eigen::Isometry3d) being inserted into the stream. As the object does not define a  << operator, this results in the abovementioned error.
Why is globalData_ of type std::map<std::string, std::pair<std::function<std::string()>, boost::any>> and not just std::map<std::string, boost::any>>? The first element of the std::pair is not used in getGlobalSMData so I am not sure why we need the function object.
┆Issue is synchronized with this Jira Task by Unito

The function object may have been used in earlier versions of SMACC to serialise the stored data so that it could easily be printed to the terminal. This functionality seems to not be used though so it can probably be cleaned up as you suggest.
On another note, using global data might be a bit of a heavy hammer in this case. You could consider using a SMACC component instead to pass data between states, especially complex objects.


1.20.1 please

1.20.1 please

I second this, the only alternative for the umbrellas currently is in fabric 1.20.1 so would be happy to see this updated to newer versions.

Yeah it would be really appreciated!
Since many people are playing on Forge 1.20.1 now, and the origins mod being a bit more updated rather than 1.19.2.
I'm developing a modpack and if this mod gets ported to 1.20.1 I'm 100% gonna include it. Thanks in advance!


Hotfix

When downloading our package via yarn add namicorn getting this error

This happens because typescript is incorrectly compiling the files. I don't understand fully why (cashing issues???) but the fix is already made and waiting to be approved over here
Typescript fix
As a hot-fix, until it, the fixes from typescript approved and merged I renamed everything to be a small case. Is there any way to set a watcher for specific pull request above, so we can update once it is done? I loved having filenames capitalized...
P.S. I feel that I should be to merge these things without your review @bogdan since it is a breaking change for many users (weirdly enough we haven't receive anything from developers which means they are probably still on a version of namicorn which used only small letters filenames). Can you confirm this for me so next time when something like this happens I would merge push and release on my responsibility?

No idea why tests on circle ci failed because of recasting the files... It passes my local stuff (connected via yarn link to a create-react-app template)


Multiple items Drag

Is there a way of drag multiple items at same time?
Ex: http://threedubmedia.com/code/event/drag/demo/multi

That would be amazing for when we have a grid with dozens of elements. +1

+1

+1

+1

+2

+1

+1

+1

+1

+1

+111111111

+1


"Contact Us" form doesn't work

Hi,
"Contact Us" form doesn't work (https://www.nuget.org/policies/Contact). I see "Sorry, an error occurred while processing your request.
Error: Oh no, we broke something!" message after a click on "Contact" button.

Hello,
I was able to successfully send a support request using Contact Us page. Did you put anything unusual in your message/title, for example characters not in the English language, or was your message/title extremely long?
I would suggest trying to send your message again, and if it fails, feel free to send the message to<EMAIL_ADDRESS>directly (but include your account name).

Hi, I was able to send after removing ">", "<" signs from message body. Thank you for quick response and helpful suggestions.

@scottbommarito My guess: Because of the ASP.NET Request Validation all requests that contain < > will receive such an error. [AllowHtml] should fix it (like it did here https://github.com/NuGet/NuGetGallery/pull/3388)
Maybe someone should check the following forms if < > are possible:

Contact NuGet Support
Contact Owner
Add Owner with Message
Report Abuse

At least these are the forms where I would think it is safe to insert < >
It this something for an up-for-grabs issue?

@robertmuehsig That sounds precisely like the issue!
I'm going to reopen this issue, rename it, and mark it as up-for-grabs.

Yep, AllowHtml seems to have done the trick.


Refactor series components

Is there a reason why all the different Series components have their own classes, although their code is mostly the same?
Many of them could be written with a HOC like this:
import React, { Component } from 'react';
import Series from '../Series';
import PropTypes from 'prop-types';

// This HOC returns Series component with injected type
export default function withSeriesType(seriesType, componentName) {

  class SeriesComponent extends Component {
    render () {
      return (
        <Series {...this.props} type={seriesType} />
      );
    }
  }
  SeriesComponent.propTypes = {
    id: PropTypes.oneOfType([ PropTypes.string, PropTypes.func ])
  };
  SeriesComponent.displayName = componentName;
  return SeriesComponent;
}
export const ColumnSeries = withSeriesType("column", "ColumnSeries");
export const LineSeries = withSeriesType("line", "LineSeries");

edit: working example

No specific reason to be honest, probably just an oversight on my part. The HOC would definitely reduce the amount we need to test.
There are a few series types to watch out for

BarSeries - Inverts the chart
FunnelSeries, PyramidSeries, PieSeries & VariablePieSeries - Don't require a parent axis
BellCurveSeries, HistogramSeries & ParetoSeries - Require parent series, but not data

HOC:
import React, { Component } from 'react';
import Series from '../Series';
import PropTypes from 'prop-types';

// This HOC returns Series component with injected type
export default function withSeriesType(seriesType, componentName, opts) {
  const { additionalProps, additionalPropTypes } = opts ? opts: {};

  class SeriesComponent extends Component {
    render () {
      return (
        <Series {...this.props} type={seriesType} {...additionalProps} />
      );
    }
  }
  SeriesComponent.propTypes = {
    id: PropTypes.oneOfType([ PropTypes.string, PropTypes.func ]),
    ...additionalPropTypes
  };
  SeriesComponent.displayName = componentName;
  return SeriesComponent;
}

VariablePieSeries:
export default withSeriesType('variablepie','VariablePieSeries', { additionalProps: {requiresAxis: false }});

BellCurveSeries:
export default withSeriesType('bellcurve','BellCurveSeries', { additionalPropTypes: { baseSeries: PropTypes.string.isRequired }});

AreaSeries:
export default withSeriesType('area','AreaSeries');

That leaves the BarSeries.
Just thinking how the src & test folders should be structured after this, it doesn't make much sense to have folder for each component.

Yeah that works for me.
Could we not just expose the series types straight from the src/index.js file?
export const AreaSeries = withSeriesType('area', 'AreaSeries');
export const LineSeries = withSeriesType('line', 'LineSeries');
// etc?

Although, we could make the HOC return a functional component?
// This HOC returns Series component with injected type
export default function withSeriesType(seriesType, componentName, opts = {}) {
  const { additionalProps, additionalPropTypes } = opts;
  const SeriesComponent = props => (
    <Series {...this.props} {...additionalProps} type={seriesType} />
  )
  SeriesComponent.propTypes = {
    id: PropTypes.oneOfType([ PropTypes.string, PropTypes.func ]),
    ...additionalPropTypes
  };
  SeriesComponent.displayName = componentName;
  return SeriesComponent;
}

(Also note default argument for  opts)


feat(transaction): data type prediction for lazy predictions

Predictive variable matching is designed to filter data types in rules, which allows us only to run the rule if the content is relevant. This improves performance
CRS and modsec agrees to be part of this
There are negative and positive filters
List of filters:

alphanumeric
uri
domain
numeric
boolean
decimal
unicode

Steps to build this:

Extend collection fields to support metadata
Add tag support at bootstrap to this metadata and validate it
Match this at transaction level
Support transformations and multimatch

cc @piyushroshan

CRS and modsec agrees to be part of this

Wonder if this is discussed somewhere or is there any link we could add

CRS and modsec agrees to be part of this

Wonder if this is discussed somewhere or is there any link we could add

It was proposed here at the lodge, and everyone agreed that it was a good idea. But yes we need to write at least a wiki page.

Negative filters are pending to be implemented


Consider wrapping config settings in env()

Checking in configuration for hosts and so forth didn't seem like a good idea, so I wrapped the default settings in env() as shown here.
If using a cluster, things would probably get a little kludgey because .env files don't support arrays.  Maybe hosts a delimited string that is exploded in the plastic.php file?
Anyway, I want to start by finding out if this is a good idea or not, and improving this if it is (including relevant changes to the README file).

why not !


option to not display tip when mouse is over a button

Hi Alex,
not an issue at all but more an RFE (if it does not exists yet...).
I would like to have a button (a ttk:: one) that only display his tip when it is clicked, not when the mouse pass over.
I saw the repaint call to trigger the tip when button is clicked and it works (please note that I've reduced the -pause option to 100 otherwise it looks like it does not works).
would that be possible?
and completely other think (but I do not have your email....), while looking to writing you I went to https://aplsimple.github.io/ and saw you were talking about color-picker.
If that's one of your skills do you know how to program a color_picker based on CIE diagram (https://en.wikipedia.org/wiki/CIE_1931_color_space)
best regards,
nicolas

for now I'm using
bind Tooltip$myButtonAddress  {}
and it's ok... but I was wondering if there was another way to achieve this.
++

Hi Nicolas,
This behavior might be implemented this way:
proc ::but1Comm {} {
  lassign [winfo pointerxy .b1]  x y
  set geom +[expr {$x+2}]+[expr {$y+16}]
  ::baltip tip .b1 "Tip on clicking" -geometry $geom -pause 2000 -fade 2000 -per10 3000
#...
}
#...
ttk::button .b1 -text {Tip on click} -command ::but1Comm
#...

Of course, so many words in "but1Comm" could be wrapped into something like "baltip balloon path message ?options?". Well, I could do "balloon" quite soon. Just for now I'm busy with releasing alited 1.3.5.
The tkcc color picker you mentioned is just a bit enhanced core Tk version of it. I made it partly for fun, partly for using it in my Tcl stuff when running it in Linux. And my last hope was that it might be included in Tk as the new version, being unnoticed alas.
Nevertheless thank you for the link, it will be interesting to explore.

thank you Alex,
no rush on my side, take your time and keep up the good work :)
++

Nicolas,
I updated baltip to v1.4.2.
This call should be added to -command handler of the button:
::baltip::show "text of tip" ?options?
The button should not have "normal" baltip's tip, so that "text of tip" will appear only on clicking the button.
Regards,
Alex

Hi Alex,
yes it works fine, thanks :)
but... what was nice with my previous hack (I mean, binding Enter event to {} for a normal tooltip) is that I could still profit of others binding of the tip.
I mean that I prefer when tip disappear when mouse leave the button... like :
-you click on the button
-tip appears, you read,
-move the mouse, tip disappear
++

Ah, I knew that you would notice that. In fact, "show" is a balloon unrelated to any widget. I need to make another proc with the feature of hiding the balloon at leaving a specific widget. Well, it'll be done tomorrow.

Hi Nicolas,
I made two procs instead of "show":

showTip (one you need)
showBalloon (old "show")

I had to increment version to 1.5 with "show" proc gone.
Encore some remarks:

Both procs show tips at a bottom right point from the mouse pointer and ignore "-under, -shiftX, -shiftY" options. This can be considered as an inconsistency, still imho it's quite nice for this specific mode of tips. You can force this mode for all widgets by global "-shiftX 10" option.

If it's important, you can use "-geometry" option for this mode. E.g. "-geometry +9999+1" shows tips at the top right corner of the screen.

The two modes of tips are incompatible, i.e. for a specific widget you should decide: whether to use tips on hovering or on clicking, or not to use at all.

As for "-shiftX" option.
By default, baltip shows tips centered under the pointer. It's nice in most cases, but especially nice for horizontally positioned widgets like tool bar, tab bar, notebook tabs etc. For these widgets, it's important to have tips positioned under appropriate items, not under their right neighbors.
But for horizontally positioned widgets, the case is reverse: for them it's important to have tips so that they don't overlap their bottom neighbors or, at least, do overlap at possible minimum. I use for these widgets "-shiftX 10" option, e.g. in alited editor for treeviews, menu items of files, acknowledgement lists (the two of these were prompted by this issue).

Thank you Alex,
the new showTip works fine :)
best regards and thank you for your work,
++


Fix IntEnum for python 3.11

Closes #202
The error described in #202 is Python 3.11 specific. Caused by this change:

Changed in version 3.11: str() is now int.str() to better support the replacement of existing constants use-case. format() was already int.format() for that same reason.

Described in documentation.
I have changed the _get_name strategy to assume that if we cannot determine the __str__ module, then we could assume that it is not overwritten by the user and use the default strategy.

Summary by CodeRabbit

Bug Fix: Enhanced the _get_name function in src/superqt/combobox/_enum_combobox.py to handle cases where the __str__ method of the enum_value object is overridden or belongs to a different module. This ensures more robust and reliable functionality.
Test: Added a new test case test_simple_create_int_enum in tests/test_enum_comb_box.py to verify the correct creation of a QEnumComboBox with an IntEnum1 class, improving the overall test coverage.

Thank you!  And thanks also for the explanation


Rename images based on value of barcodes

If you have N barcodes, you want to have N images.

Currently you get one image with a filename that is the N values separated by an underscore


Improve UX for markdown snippets

This small change allows to directly paste a link into markdown when using the link and image snippets.
Before, when inserting a link snippet, you had the following result:

The issue I see here is, if you already have a link in your clipboard like https://example.com, you can't paste it immediately otherwise you will get the following content:

With my commit, by inserting the snippet you will get:

Allowing you to paste from your clipboard and get the following result:

I also removed the link placeholder, which allows you to simply press the right key and tap a domain just after the https:// part.

Thanks! Yes I agree this is much better


Implement globbing (expand *) on Windows

Output of restic version
C:\Users\Admin>restic version
restic 0.3.2
compiled with go1.7.4 on windows/amd64

Window 7 and 10.
Expected behavior
We should be able to specify wildcards when performing backups:
C:\Users\Admin>restic backup -f e:\Downloads\Test\*.*

Actual behavior
Try with wildcard, you'll get an error message and it completes with an empty snapshot. Still no progress bar nor ETA.
On Linux, it works as expected.
Steps to reproduce the behavior
C:\Users\Admin>restic backup -f e:\Downloads\Test\*.*
scan [e:\Downloads\Test\*.*]
error for \\?\e:\Downloads\Test\*.*: GetFileAttributesEx \\?\e:\Downloads\Test\*.*: The filename, directory name, or volume label syntax is incorrect.
scanned 0 directories, 0 files in 0:00
error walking dir *.*: Lstat: GetFileAttributesEx \\?\e:\Downloads\Test\*.*: The filename, directory name, or volume label syntax is incorrect.
[0:00]   0B/s  0B / 0B  0 / 0 items  1 errors  ETA 0:00
duration: 0:00, 0.00MiB/s
snapshot 79161d62 saved

C:\Users\Admin>restic snapshots
ID        Date                 Host        Tags        Directory
----------------------------------------------------------------------
6a9aa486  2017-01-10 03:45:20  THOR                    e:\Downloads\Test\
79161d62  2017-01-10 03:48:54  THOR                    e:\Downloads\Test\*.*
7e262feb  2017-01-10 03:49:28  THOR                    e:\Downloads\Test\

C:\Users\Admin>restic ls 79161d62
snapshot of [e:\Downloads\Test\*.*] at 2017-01-10 03:48:54.1638702 -0500 EST:

Hi, thanks for your report. This function is called "globbing" and on Unix systems, the user's shell is responsible for expanding the wildcard characters. So if you enter restic backup f*, the shell will expand the asterisk and runs restic with the expanded arguments, e.g. restic backup foo foo2 fump foobar, so restic doesn't even see the wildcards.
Apparently, this isn't done by cmd.exe, and all programs need to implement this by themselves. Here, restic gets the (literal) filename e:\Downloads\Test\*.*, which does not exist (there's no file called *.* in that directory).
Since this is very different from what restic does on Unix, I'm not convinced that restic needs this globbing function itself. Isn't there a way to get cmd.exe expand the arguments, like a shell does on Unix?

Hmm ... I agree @fd. But the pattern ** *.* ** is very common under Windows. Why other command line tools (ex. dir) support it and not restic ?
Finally, there is 2 files inside _e:\Downloads\Test_
Both have a name + an extension.

Hmm ... I agree @fd0 but the pattern *.* is very common under Windows. Why other command line tools (ex. dir, del) support it and not restic ?

I guess that all those commands implement globbing by themselves, maybe using a library.

Here, restic gets the (literal) filename e:\Downloads\Test*.*, which does not exist (there's no file called . in that directory).
There is 2 files inside e:\Downloads\Test directory. Both have a name and an extension.

What I meant was: There is no file which name and extension each only consists of an asterisk character (*).

If it's the case why restic proceeded with the backup, and even returned an ID (79161d62) then?

That's an excellent question, and I think this behavior is a bug. If nothing is backed up, restic should print an error message.
Yes, I'm using the path and filepath packages within restic. We can also use filepath to add globbing, but this function needs to be restricted to windows, because on Unix (as we already discussed) wildcards are expanded by the shell. So we'll end up with different behavior on Windows and Unix, and that's what I'm concerned about. The actual function should be easy to implement.

Totally agree @fd0
Windows should be the only exception here because globbing works as expected elsewhere (Linux, MacOS).
I'm not sure we'll end up with different behaviour IMHO. It's just Windows and a fix is needed 😁

hmm... made an "--exclude-file" with stuff like "C:$Recycle.Bin" and/or "C:$Recycle.Bin" and/or like "C:$Recycle.Bin*" but seems like this is also not working...
if it's related to this discussion here, the "solution" seems to be up to you guys... see "If someone else needs their program to expand command line parameters in a particular way, they should do so" here

pls note, seems like markdown swollows the \'s

Thanks for the report. I've fixed the markdown, you can denote raw text with backticks ("`"), please review your comment.
This is a different issue, please open a new ticket. This issue is about expanding globbing in command-line parameters, you're talking about globbing patterns in an exclude file (which should work, so it looks like a bug).

@notna123 The problem here may be that the c:\ isn't interpreted correctly. Could you try again with \$Recycle.Bin?

Still not working... seems like it works as expected if passed via "--exclude" in the comand line BUT non of the various paths I tried in a "--exclude-file" seems to work:

C:>C:\bin\restic -r U:\Backup\restic\C_Drive\ backup --exclude "C:$Recycle.Bin*" C:\  <--- OK! (with * at the end!)
enter password for repository:
scan [C:]
error for \?\C:\Config.Msi: open \?\C:\Config.Msi: Access is denied.
Interrupt received, cleaning up
[0:04] 2925 directories, 37525 files, 2.297 GiB
C:>C:\bin\restic -r U:\Backup\restic\C_Drive\ backup --exclude "C:$Recycle.Bin" C:\  <--- NOT OK! (only \ at the end!)
invalid argument "C:\$Recycle.Bin" C:\" for --exclude: line 1, column 15: bare " in non-quoted-field

C:>C:\bin\restic -r U:\Backup\restic\C_Drive\ backup --exclude "C:$Recycle.Bin" C:\  <--- OK!
enter password for repository:
scan [C:]
error for \?\C:\Config.Msi: open \?\C:\Config.Msi: Access is denied.
error for \?\C:\Documents and Settings: open \?\C:\Documents and Settings: Access is denied.
Interrupt received, cleaning up
[0:03] 3189 directories, 41631 files, 2.517 GiB
C:>C:\bin\restic -r U:\Backup\restic\C_Drive\ backup --exclude C:$Recycle.Bin C:\  <--- OK!
enter password for repository:
scan [C:]
error for \?\C:\Config.Msi: open \?\C:\Config.Msi: Access is denied.
Interrupt received, cleaning up
[0:02] 2640 directories, 33941 files, 2.256 GiB

--->>> EXCLUDE-FILE not working at all <<<---
C:>C:\bin\restic -r U:\Backup\restic\C_Drive\ backup --exclude-file C:\bin\restic_exclude_list_bin.txt C:
enter password for repository:
scan [C:]
error for \?\C:$Recycle.Bin\S-1-5-18: open \?\C:$Recycle.Bin\S-1-5-18: Access is denied.
error for \?\C:$Recycle.Bin\S-1-5-21-1278075657-2615590652-2769505701-1004: open \?\C:$Recycle.Bin\S-1-5-21-1278075657-2615590652-2769505701-1004: Access is denied.
error for \?\C:$Recycle.Bin\S-1-5-21-1278075657-2615590652-2769505701-1010: open \?\C:$Recycle.Bin\S-1-5-21-1278075657-2615590652-2769505701-1010: Access is denied.
error for \?\C:$Recycle.Bin\S-1-5-21-1278075657-2615590652-2769505701-1011: open \?\C:$Recycle.Bin\S-1-5-21-1278075657-2615590652-2769505701-1011: Access is denied.
error for \?\C:\Config.Msi: open \?\C:\Config.Msi: Access is denied.
Interrupt received, cleaning up
[0:02] 1549 directories, 10886 files, 2.015 GiB
C:>more C:\bin\restic_exclude_list_bin.txt
"C:$Recycle.Bin*"
C:$Recycle.Bin*
C:$Recycle.Bin
C:$Recycle.Bin
$Recycle.Bin
C:>

Gesendet: Dienstag, 11. April 2017 um 12:59 Uhr
Von: "Alexander Neumann"<EMAIL_ADDRESS>An: restic/restic<EMAIL_ADDRESS>Cc: notna123<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Betreff: Re: [restic/restic] Implement globbing (expand *) on Windows (#722)
@notna123 The problem here may be that the c:\ isn't interpreted correctly. Could you try again with $Recycle.Bin?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Oh, indeed, this looks like an issue with the "long paths" (prefixed with \\?\), this is some strange windows specific path thingy, which makes everything a lot more complicated...

exclude via command line seems to work fine, in opposite what ever I tried in an exclude-file never worked :|
Gesendet: Dienstag, 11. April 2017 um 07:38 Uhr
Von: "Alexander Neumann"<EMAIL_ADDRESS>An: restic/restic<EMAIL_ADDRESS>Cc: notna123<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Betreff: Re: [restic/restic] Implement globbing (expand *) on Windows (#722)
Thanks for the report. I've fixed the markdown, you can denote raw text with backticks ("`"), please review your comment.
This is a different issue, please open a new ticket. This issue is about expanding globbing in command-line parameters, you're talking about globbing patterns in an exclude file (which should work, so it looks like a bug).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@AntonOks Excluding $RECYCLE.BIN via --exclude-file is now possible via $$RECYCLE.BIN after #1858. For all versions before that, another workaround can be found in #1857.

Hi,
here Is there any way to get the windows cmd shell to expand wildcard paths?  wullxz suggests to use Powershell to do the expansion in this way:
app.exe $(ls *.txt | % {$_.FullName})
Not tested but promising...
Filippo

Hi,
I have tested and it seems to work!
Try this command using PowerShell and not cmd:
restic_0.9.6_windows_amd64.exe backup -r <Repo> -p <Password> $(ls .git -Recurse -Directory -Hidden | % {$_.FullName} | Resolve-Path -Relative)
Filippo

Since restic 0.9.3 --files-from implements globbing (see #1892).

If you need glob expansion use --files-from. If you don't want glob expansion use --files-from-verbatim or pass the paths on the command line. Unfortunately there is no way from restic to guess whether a user expects paths on the command line to be interpreted as glob pattern or not. Blindly treating everything as a glob pattern, would break paths containing square brackets [], so this isn't an option either.
Thus there is nothing left to be done here.