List of reported working TECH Controllers

The integration is based on API provided by TECH which supports following controllers:

L-7
L-8
WiFi 8S
ST-8S WiFi

Unfortunately, I own only L-8 controller based on which it was developed and tested. Therefore please report in the comments below if this integration works with your controller and what version. Once you add the integration and passes authentication, the controller type and version should be displayed on integration card, like example below:

Thank you for your support!
Mariusz

TECH: L4-WiFi (v.1.0.24) works well

It's Working with L-9, L-9r and panel M-9

It's Working with L-9, L-9r and panel M-9

Could you please write also what's the firmware versions?
Thanks, Mariusz

I think that more important than Heating Controller L-9r (v1.0.2) is managing panel M-9 (v1.0.12)
I have second heating controller on 2nd floor but it's hard to get there, so I will check version during next service.

If you add controller to HA via this integration you should have see firmare version on the integration card in brackets, like in screenshot in first post. Hope this will save you from going to second floor ;)

Unlucky field with version number is empty

tech cs-i-3 does not work, home assistant shows no clear errors - there are no entities read out of the remodel portal. What would be the way to troubleshoot it, to help you with coding and adding additional devices such as the i3. Thanks

I think this may be useful for future users:
I have Tech I-2 for installation and  and 8S mini for heating control in rooms. Both connected to eModul.eu   After first (and second) installation  extention raported "I-2 vxxx" and not showed any entions.
I tried to change default module to 8S mini, and re install addon  again,  but widthout  any results.
Finally i found the way: In case like this  user should remove I-2 before installation addon.  Now it works perfect. Thanks a lot for this code!!!!

I think this may be useful for future users:
I have Tech I-2 for installation and  and 8S mini for heating control in rooms. Both connected to eModul.eu   After first (and second) installation  extention raported "I-2 vxxx" and not showed any entions.
I tried to change default module to 8S mini, and re install addon  again,  but widthout  any results.
Finally i found the way: In case like this  user should remove I-2 before installation addon.  Now it works perfect. Thanks a lot for this code!!!!

Hi,
EU-L-4 with EU-MW-1 works great.
Maybe you have paypal for donate?
For me very intresting open windows signals, maybe it's works get from other device signals and push to eModul

Hi,
EU-L-4 with EU-MW-1 works great.
Maybe you have paypal for donate?
For me very intresting open windows signals, maybe it's works get from other device signals and push to eModul

Hi,
Some months ago it was working here, but after a new setup of Home Assistant, i can’t get it working again. When I Add the Tech controleurs

and enter my email and password I get the message “succes” and see in the screen the controller “TECH: M-9r (v.1.1.11). But I don’t get any services and entities.

IT IS WORKING 😎
M-9r (v.1.1.11)
I did remove the controller in eModule, and then I did registrate the controller again. After that I did wait until the controller was synchronised with eModule. Then add Tech-Controller in Home Assistant and with few minutes I did get entities. :)

I have controller TECH i-3 & DE.529 Ethernet Module, and I have the same situation as Tijn1974, after installing in HA, after logging in the message Success but I do not see any entity. :(

I have controller TECH i-3 & DE.529 Ethernet Module, and I have the same situation as Tijn1974, after installing in HA, after logging in the message Success but I do not see any entity. :(

Hi Zetbees,
I saw your post and that you have the same problem as that I did have.
The thing I did do, is remove the controller on the website of eModule.eu (or .pl). After the controller is removed, I did register is again to connect to the eModule website and app.
After that is was working for me.
Hope this will work for you.
greetings,
Martijn (tijn1974)

Hi!
It's work on L7 v.2.0.6

tech ST-350 does not work. Home assistant shows no clear errors, but there are no entities read out. No errors / notifications are popping up. What can we do to resolve this?
Thanks

tech ST-350 does not work. Home assistant shows no clear errors, but there are no entities read out. No errors / notifications are popping up. What can we do to resolve this?
Thanks

Hi GertjanNL,
I have a different controller but i had also no errors and no entities. For me it did help to remove the controller from the eModule website and add it again. Did u try this?
Ik hoop dat dit voor je helpt.
Succes,
Martijn

By the way, it should not be on this topic, but i have a M-9r touchscreen panel and in the beginning i had some trouble to get it connected to the WiFi system i have. After even trying if with a cheap router witch where it did worked, i did discover that this M-9r touchscreen panel haves some problem with WiFi channel 6. On my main system it works great on channel 1 and 11, only the panel don’t work on channel 6.
So if anyone haves some problem with connecting to WiFi, Try a different channel on the router.

This may be a basic question, but I downloaded the files, put them into my custome components folder, restarted my raspberry 3 times - but the integration does not show up in the search field, so I am unable to add it.
Any thoughts or ideas why this may be?

@forg1vr,
It would be helpful for the people on this forum, if you would post the error messages that appear in the HomeAssistent log.

@forg1vr,
It would be helpful for the people on this forum, if you would post the error messages that appear in the HomeAssistent log.

Sorry, you are right. It was late last night :)
This is the error:
2021-11-20 09:16:38 ERROR (SyncWorker_3) [homeassistant.loader] The custom integration 'tech' does not have a version key in the manifest file and was blocked from loading.
I am on the most recent HA build.

Good morning Forg1vr,
Probably you need to add one or two lines of code to the Tech Api. There is a post about this.
[https://github.com/mariusz-ostoja-swierczynski/tech-controllers/issues/23#issuecomment-962477561]
In some HomeAssistant versions ago there was a change and a extra line as "version" was. needed. I don't know if the api programmer already did add it. It is not difficult to change it. Just edit the manifest file (/config/custom_components/tech/manifest.json) and keep it as how it is in the above link.
Also be sure that all files are in the map "tech"
After that, reboot HomeAssistant.
Greetings, Martijn

https://github.com/[/issues/23](https://github.com/mariusz-ostoja-swierczynski/tech-controllers/issues/23)#issuecomment-962477561

Super! That worked.
For everybody else stumbling across this, simply add this line to the manifest file:
  "version": "1.0.0",
You can of course use any version number you like.

tech ST-350 does not work. Home assistant shows no clear errors, but there are no entities read out. No errors / notifications are popping up. What can we do to resolve this?
Thanks

Hallo Gert Jan,
Does the ST-350 work with this intergration for you? I have the same module btw and want to know, beacuse it isn't working for me.

Hi TicoTheLord,
Try to remove the decontroller from the website and registrate the controller again using the instructions of the controler.

Hi Tijn,
It didn't work for me, doe you know a other solution?

I don’t know any other solution. For me it did help to registratie the controller again on the eModule website.  What u can try is to reboot home assistant, but I guess that you have already don’t that.
The thing is that you don’t see anything in the log..

I managed to connect Defro: ST-9724 1.6.1 P01 (v.3.3.5) pellet stove using the current dev branch. So the tiles-based integration works for me. Yay!

I am still encountering the https://github.com/mariusz-ostoja-swierczynski/tech-controllers/issues/11 issue but I overcame it with hardcoding the authentication token.
Thanks @mariusz-ostoja-swierczynski and all the contributors for your work!

Hi all!
I have Tech i3+OT. With this integration works perfect :)

Hello everyone. I have an L8e where the entities are loaded, but I could not get the entities to work on the i-2.. Even if I tried to add the i-2 separately, it is always loaded without the entities.. I removed the i-2 driver in eModule.pl and added it again. .yet my entities are not loading after logging in.. thanks for the replies

Just install dev repository. Repeat install procedure. Done 😁

Witam posiadam Defro: ST-9730 1.6.1 P01 (v.5.1.5) nie ładuje encji :(

pomożecie ? Jeszcze jedno pytanie on pobiera dane z portalu emodule.pl czy musi być w sieci lokalnej ? Dzięki za odp. i pomoc

Witam posiadam Defro: ST-9730 1.6.1 P01 (v.5.1.5) nie ładuje encji :(  pomożecie ? Jeszcze jedno pytanie on pobiera dane z portalu emodule.pl czy musi być w sieci lokalnej ? Dzięki za odp. i pomoc

Zainstaluj ręcznie wersję "dev" zamiast "main" i po sprawie.

Hi everyone, thanks gasz for the advice that helped..
it works.

Hi
for me version dev working also with defro ST-9724 and I can read 18 entites ...
thanks for suport !!

Planujesz dodać wsparcie dla rekuperatorów (ST-340)? Jak się obserwuje rynek, coraz więcej polskich producentów rekuperatorów stosuje sterowniki tech. Z góry dzięki za odpowiedź.

Udało mi się podłączyć Defro: ST-9724 1.6.1 P01 (v.3.3.5)piec na pellet za pomocą obecnego devrozgałęźnika. Tak więc integracja oparta na kafelkach działa dla mnie. Tak! Nadal napotykam problem nr 11 , ale przezwyciężyłem go za pomocą kodowania na stałe pliku . authentication token
Dzięki@mariusz-ostoja-swierczynskioraz wszystkim darczyńcom za Waszą pracę!

How did you achieve it?
I have such a driver but the integration does not show anything.

I managed to connect Defro: ST-9724 1.6.1 P01 (v.3.3.5) pellet stove using the current dev branch. So the tiles-based integration works for me. Yay!  I am still encountering the #11 issue but I overcame it with hardcoding the authentication token.
Thanks @mariusz-ostoja-swierczynski and all the contributors for your work!

How did you achieve it?
I have such a driver but the integration does not show anything.

Hi.
Mam problem z jedną encją.
Wyświetla mi txtld 0 z temperaturą -20,3C.
Jest to czujnik od Pompy Solarnej.
Nazwa jest zła oraz temperaturę powinna być -203,0C
Narazie sterownik jest w fazie testów i nie ma podłączonych czujników temperatur, stąd takie niskie wartości na nich.

This integration works partly** with the Robot Easy Flex HC 8-kanaals (https://www.robotclimate.com/robot-rc-hc-8-kanaals-master-230-volt), which looks like a rebranded EU-L-9 R.
** Heating is indicated in home assistant, the room is actually cooling (see images). Cooling is not done or not activated in this integration yet (?)

Działa z:
Defro: ST-9724 1.6.1 P01 (v.3.2.2)
15 urządzeń i 15 encji
Czy jest szansa wprowadzenia sterowania tak jak na stronie emodul.eu/emodul.pl, czyli np. ustawienie żądanej temperatury?

This integration works partly** with the Robot Easy Flex HC 8-kanaals (https://www.robotclimate.com/robot-rc-hc-8-kanaals-master-230-volt), which looks like a rebranded EU-L-9 R. ** Heating is indicated in home assistant, the room is actually cooling (see images). Cooling is not done or not activated in this integration yet (?)

Hi,
Same issue with L-X WIFI (v. 1.0.7)

No niestety mi to nie działa z Moduł WiFi RS I Czy może ktoś potwierdzić, kto ma taki sam moduł i też u niego nie działa?

No niestety mi to nie działa z Moduł WiFi RS I z I-1 CWU numer wersji 1.4.0? Czy może ktoś potwierdzić, kto ma taki sam moduł i też u niego nie działa?

Z WiFi RS działa normalnie. Zainstaluj wersję "dev"  i po sprawie.

Czyli co konkretnie bo nie rozumiem gdzie ta wersja Dev jest?

Klikasz w "code"  potem poniżej w "branches" zamiast "main" wybierasz "dev"

Klikasz w "code" potem poniżej w "branches" zamiast "main" wybierasz "dev"

Nie rozumiem, gdzie to mam kliknac,  pobrałem pliki wrzuciłem do katalogu zainstalowałem integrację i gdzie mam wejść?

Nie rozumiem, gdzie to mam kliknac, pobrałem pliki wrzuciłem do katalogu zainstalowałem integrację i gdzie mam wejśa

To podstawowa obsługa githuba.... W zakładce Code, trochę poniżej jest ramka z wybrana wersja oprogramowania. Zawsze jest main, czyli oficjalna. Kliknij i wybierz dev, czyli wersję developerską. Pobierz i przekopiuje z ręki. Więcej nie pomogę, bo to nie o tym jest wątek. Załóż inny wątek, to tam pogadamy.

Ale gdzie to jest Ja nie wiem gdzie to jest w Home asystent?

Jest ok dzięki działa Czemu nikt tego nie napisał w informacji przy instalacji.

Hi everybody!
Can anyone confirm that L-X Wifi is fully functional with this integration?
@kc1974 any luck with it after switching to dev branch?
And did someone try L-7 plus ST-505 Ethernet?

Hi everybody! Can anyone confirm that L-X Wifi is fully functional with this integration? @kc1974 any luck with it after switching to dev branch?
And did someone try L-7 plus ST-505 Ethernet?

Hi. I've checed twice and I have dev branch installed. My issue: no cooling option visible. Curently I have switched whole installation in to cooling mode. In HA it's still visible as heating, cooling option is not visible. Ican confirm that other features, like setting and displaying temperatures working well. When setted in HA after 5-6 sec. change is visible in e-module application and vice versa. (L-X WiFi)

Thanks a lot for a quick response.
The question is whether cooling is handled by this integration at all.
@mariusz-ostoja-swierczynski can you answer?
Cooling and heating in a single underfloor installation is quite a recent trend.

  Ani docelowej ktoś też tak ma?

Works for me with the L-X Wifi (v 1.0.6)
Would be great to have the cooling option, as well as the humidity readings of the individual zones.

Hi, I've also tested the software.  I currently have two L4 WIFI v.1.1.10 controllers in my environment.
However, the data from both controllers is downloaded with errors.

in the case of the same controllers, the zones from the first overlap with the second and are omitted during import. Both controllers support 8 heating zones each. I, at my place have configured 4 on one controller and 3 on the other. In the configuration of controllers they are assigned respectively from: the first - zone 1, 2 , 3,4 and on the second controller - 1, 2 , 3.
This causes confusion when importing because everything is lumped into one "bag", but they are different controllers and different heating zones.
2023-10-08 11:05:32.200 ERROR (MainThread) [homeassistant.components.climate] Platform tech does not generate unique IDs. ID 120 already exists - ignoring climate.wiatrolap_wc
2023-10-08 11:05:32.200 ERROR (MainThread) [homeassistant.components.climate] Platform tech does not generate unique IDs. ID 121 already exists - ignoring climate.salon_kuch
2023-10-08 11:05:32.200 ERROR (MainThread) [homeassistant.components.climate] Platform tech does not generate unique IDs. ID 122 already exists - ignoring climate.garaz
2023-10-08 11:05:32.200 ERROR (MainThread) [homeassistant.components.climate] Platform tech does not generate unique IDs. ID 123 already exists - ignoring climate.strefa_4
2023-10-08 11:05:32.201 ERROR (MainThread) [homeassistant.components.climate] Platform tech does not generate unique IDs. ID 124 already exists - ignoring climate.strefa_5
2023-10-08 11:05:32.201 ERROR (MainThread) [homeassistant.components.climate] Platform tech does not generate unique IDs. ID 125 already exists - ignoring climate.strefa_6
2023-10-08 11:05:32.201 ERROR (MainThread) [homeassistant.components.climate] Platform tech does not generate unique IDs. ID 126 already exists - ignoring climate.strefa_7
2023-10-08 11:05:32.201 ERROR (MainThread) [homeassistant.components.climate] Platform tech does not generate unique IDs. ID 127 already exists - ignoring climate.strefa_8
2023-10-08 11:05:32.236 ERROR (MainThread) [homeassistant.components.sensor] Platform tech does not generate unique IDs. ID 120 already exists - ignoring sensor.wiatrolap_wc_temperature
2023-10-08 11:05:32.241 ERROR (MainThread) [homeassistant.components.sensor] Platform tech does not generate unique IDs. ID 121 already exists - ignoring sensor.salon_kuch_temperature
2023-10-08 11:05:32.244 ERROR (MainThread) [homeassistant.components.sensor] Platform tech does not generate unique IDs. ID 122 already exists - ignoring sensor.garaz_temperature
2023-10-08 11:05:32.245 ERROR (MainThread) [homeassistant.components.sensor] Platform tech does not generate unique IDs. ID 123 already exists - ignoring sensor.strefa_4_temperature
2023-10-08 11:05:32.247 ERROR (MainThread) [homeassistant.components.sensor] Platform tech does not generate unique IDs. ID 124 already exists - ignoring sensor.strefa_5_temperature
2023-10-08 11:05:32.247 ERROR (MainThread) [homeassistant.components.sensor] Platform tech does not generate unique IDs. ID 125 already exists - ignoring sensor.strefa_6_temperature
2023-10-08 11:05:32.248 ERROR (MainThread) [homeassistant.components.sensor] Platform tech does not generate unique IDs. ID 126 already exists - ignoring sensor.strefa_7_temperature
2023-10-08 11:05:32.248 ERROR (MainThread) [homeassistant.components.sensor] Platform tech does not generate unique IDs. ID 127 already exists - ignoring sensor.strefa_8_temperature

the HA does not see the pump control correctly because on both controllers such an option exists and the soft does not distinguish whether it is from controller 1 , or 2.
" 2023-10-08 11:05:32.204 ERROR (MainThread) [homeassistant.components.binary_sensor] Platform tech does not generate unique IDs. ID 2000 already exists - ignoring binary_sensor.pompa"

Hi for me version dev working also with defro ST-9724 and I can read 18 entites ... thanks for suport !!

where to change the option to dev? i can/t fint it

can you add an additional valve to the configuration?
The ST-480 controller works approx

Works with L-12 1.0.16 + ML-12 1.0.7. Cheers!

A little off topic. Is there a module that makes direct communication over ethernet possible? I have now a display (M-9R) that connect with WiFi to the Internet, and with this app and HA I regulate temperatures with presence and so.
The thing is that with bad weather like heavy rain or some snowing. My Internet connection is unstable and I lose then contact between HA and the heating system.
So, is there a way to communicate in a direct way without the Internet with the M-9R, or with a different module?

Hi,
I recently started to use Home Assistant at my house to get better insights in the Heatpump and Floor heating.
Thanks to this post I found out that the floor heating system used in the Netherland, the Robot L-9R (image 2) is the same as the TECH. I got two of them installed in my house and 6 different controllers (img 1)
This L-9R version doesnt have ethernet or WIFI connectivity.
My question, how do I get the data out of this device without adding a very expensive device like the Robot Easy Flex HC (see image 3)

A little off topic. Is there a module that makes direct communication over ethernet possible? I have now a display (M-9R) that connect with WiFi to the Internet, and with this app and HA I regulate temperatures with presence and so. The thing is that with bad weather like heavy rain or some snowing. My Internet connection is unstable and I lose then contact between HA and the heating system.
So, is there a way to communicate in a direct way without the Internet with the M-9R, or with a different module?

How did you connect the M-r9 to WIFI?

A little off topic. Is there a module that makes direct communication over ethernet possible? I have now a display (M-9R) that connect with WiFi to the Internet, and with this app and HA I regulate temperatures with presence and so. The thing is that with bad weather like heavy rain or some snowing. My Internet connection is unstable and I lose then contact between HA and the heating system.
So, is there a way to communicate in a direct way without the Internet with the M-9R, or with a different module?

How did you connect the M-r9 to WIFI?

The panel has a wifi connection with the router that is close to it. The problem i have with the connection is because of the Internet transmitter i have on the roof. So i'm looking for a way to extract data local without using the internet.

I have succesfully read temperature (outside, inside, intake and exhaust) and bypass sensors reads with ST-340 controller with WANAS 350H recuperation.

Hi, I'm using an ST-340 V2 connected to a Wanas Recuperator. It's possible to read some sensors like:
Bypass (only state)
Additional Temp sensor (only state)
Party Mode (only detection, no triggering possible)
Room temp (only state)
Intake temp (only state)
Outflow temp (only state)
Outside temp (only state)
Seven txtld sensors (not working, showing "0")
Unfortunately, no control is possible. It would be great to have the ability to turn on/off the device as a first step. Afterwards, control for bypass and the power.
Chiller (Cooling) / Heating On/Off would be beneficial.
Temperature setting is possible only at the Wanas Programmer, not even on the Tech Controller, so I don't think I can ask for that. :)
Thanks for this whats already possible

Hi,
This also works with ROTH Touchline SL Controller !
I have Module L-11 (V1.0.6) and using Roth Mini SL temperature sensors
It has controls for wanted temperature and reports Temperature, humidity, battery lvl and signal strength(?) (not sure about the last one)
Thanks for this code!

Hey!
I have a VER-24 wifi also produced by TECH Sterowniki Sp. z o.o.. The integration works as this device also uses emodul.

The problem is that it only exposes sensors, rather than climate or binary_sensors that would allow me to control it via HA.
any suggestions?

I confirm that it works with the Tech L-4X.


Update fs2-core, fs2-io to 3.4.0

Updates

co.fs2:fs2-core
co.fs2:fs2-io

from 3.3.0 to 3.4.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "co.fs2" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "co.fs2" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Codecov Report

Merging #688 (f34d74a) into master (212b6d4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #688   +/-   ##
=======================================
  Coverage   62.12%   62.12%
=======================================
  Files          38       38
  Lines        1307     1307
  Branches       59       59
=======================================
  Hits          812      812
  Misses        495      495

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


PCI DT parsing is not as per DT spec

https://github.com/ARM-software/bsa-acs/blob/main/pal/uefi_dt/bsa/src/pal_iovirt.c#L751
As per DT schema https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/pci/pci-iommu.yaml#L55
parameter conatain Phandle but BSA expecting offset.  line 750 iommu_node =  fdt32_to_cpu(Preg_val[1]);
This look wrong expectation. This need to replace line with
iommu_node = fdt_node_offset_by_phandle((void *)dt_ptr, fdt32_to_cpu(Preg_val[1]););
So suggestion is
like 750
-- iommu_node =  fdt32_to_cpu(Preg_val[1]);
++iommu_node = fdt_node_offset_by_phandle((void *)dt_ptr, fdt32_to_cpu(Preg_val[1]);
so first we grab phandle then get offset.
above is working. please review and change code.

Hello @quic-pansing,
The PR changes has been merged.
Thanks,
ACS team


trurl: 0.4 -> 0.6, add manpage, add passthru.tests.version

Description of changes

Changelogs:

0.4 -> 0.5: https://github.com/curl/trurl/releases/tag/trurl-0.5
0.5 -> 0.6: https://github.com/curl/trurl/releases/tag/trurl-0.6

This PR also adds a separate man output, as well as a basic passthru.tests.version.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

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

[x] Fits CONTRIBUTING.md.

Updated to version 0.6, which was released earlier today.
I also added a simple passthru.tests.version test as a separate commit.


Column indexing hotfix

As observed for example in #469 , currently __getitem__ does not convert the data to the dataset format when indexing by column. This is a hotfix that imitates functional 0.3.0. code. In the future it'd probably be nice to have a test there.

Looks good to me as well but we'll want to add a test indeed.
You can add one if you have time @TevenLeScao.
Otherwise, we'll do it when we are back with Quentin.

I fixed it in #494


feat(page): expose page.client()

Puppeteer already allows creating a new CDP session
via target.createCDPSession but there is no way
to get access to any existing session to send
some additional commands.

@OrKoN I think we should mark this as @internal as we have a bunch of internal assumptions about the state the connection is in. Our documentation recommends users to create a new CDP session instead.

Oh, I didn't know. Where is it documented?


Displaying Recent Submissions on the homepage

References
#667

Fixes #667

Description
Displaying Recent Submissions on the Repository's homepage with option of configuring number of items required to be displayed.
Instructions for Reviewers
Update the "rpp" variable in the config.example.yml with the item count that needs to be displayed in the Recent Submission section.
If you do not want to display any item under the Recent Submission section, keep the "rpp" count = 0.
Restart the server for the change to take effect, and no need to re-build the application.
Home page will show the Recent Submission section below the community list with the latest items submitted.
Upon clicking the Load more button, users will be redirected to the search results page, and items will list in descending order based on the submission date.
If there is no item submitted in the repository or rpp = 0, then Recent Submission should not appear.
Include guidance for how to test or review your PR. This may include: steps to reproduce a bug, screenshots or description of a new feature, or reasons behind specific changes.
Checklist
This checklist provides a reminder of what we are going to look for when reviewing your PR. You need not complete this checklist prior to creating your PR (draft PRs are always welcome). If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & specs/tests), or I have provided reasons as to why that's not possible.
[x] My PR passes TSLint validation using yarn run lint
[x] My PR doesn't introduce circular dependencies
[x] My PR includes TypeDoc comments for all new (or modified) public methods and classes. It also includes TypeDoc for large or complex private methods.
[x] My PR passes all specs/tests and includes new/updated specs or tests based on the Code Testing Guide.
[x] If my PR includes new, third-party dependencies (in package.json), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.

@GauravD2t : Thanks for recreating this! I'll add it to the 7.4 review board.
@artlowel and @MarieVerdonck : Adding you as potential reviews since you both helped review #1632, and this is an updated replacement for that PR.


Feature/v11

[x] Any validation library support, native support for Zod / Io-Ts :

By using the TypeProvider pattern we can now make zodios validation agnostic.
Implement at least ZodTypeProvider and IoTsTypeProvider since they both support input and output type inferrence
openapi generation will only be compatible with zod though
Not a breaking change so no codemod needed

[x] const in generics:

migrate to typescript 5.0
will allow to get rid of Narrow helper that is slow and may prevent zodios to really be agnostic to validation library
should improve perf
will maintain v10 for some more time to let users migrate
need to provide a big warning about ts dependency

[x] Plugins:

implement new plugin system that allows to match endpoints with more advance rules
allow to match endpoint with regex
allow to match endpoint with custom function
allow to control the priority of the plugin (low, normal, high) => two plugins with same priority will be executed in the order of declaration

[x] MonoRepo:

Zodios will become a really large project so maybe migrate to turbo repo + pnpm
not a breaking change

[ ] Transform:

By default, activate transforms on backend and disable on frontend (today it's the opposite), would make server transform code simpler since with this option we could make any transforms activated not just zod defaults.
Rationale being that transformation can be viewed as business code that should be kept on backend
breaking change => codemod to keep current defaults by setting them explicitly

[x] Axios:

Move Axios client to it's own package @zodios/axios and keep @zodios/core with only common types and helpers
Move plugins to @zodios/axios-plugins
breaking change => easy to do a codemod for this

[x] Fetch:

Create a new Fetch client with almost the same features as axios, but without axios dependency @zodios/fetch
Today we have fetch support with a plugin for axios instance (zodios maintains it's own axios network adapter for fetch). But since axios interceptors are not used by zodios plugins, we can make fetch implementation lighter than axios instance.
Create plugins package @zodios/fetch-plugins
Not sure it's doable without a lot of effort to keep it in sync/compatible with axios client
new feature, so no codemod needed

[ ] React/Solid:

make ZodiosHooks independant of Zodios client instance (axios, fetch)
not a breaking change, so no codemod needed

[x] Client Request Config

uniform Query/Mutation with body sent on the config and not as a standalone object. This would allow to not do client.deleteUser(undefined, { params: { id: 1 } }) but simply  client.deleteUser({ params: { id: 1 } })
breaking change, so a codemod would be needed, but might be difficult to implement

[x] Mock/Tests:

if we implement an abstraction layer for client instance, relying on moxios to mock APIs response will likely not work for fetch implementation.
create a @zodios/testing package that work for both axios/fetch clients
new feature, so no breaking change (no codemod needed)

Ping

This PR and this project hasn't been worked on for a long time. What is the PR and project status? Is it abandoned in favour of some other library?
I am using the V10 version and I think it works great. However, I am missing support for extracting header data and that should be supported in V11 from what I read in #426. Would be awesome if this PR could be merged or get a proper V11 release.


Add some useful micro commands and fix bug on the css variable command

Thanks!

Question: does the "pace" alternative here really increase recognition accuracy for you, @SandeepJoel ? In what contexts? It seems like there's no other similar commands that these could be misheard as...

@rntz During many times, paste that would get recognized as b10 for me. And it seems pace works well when we are issuing multiple commands at a faster pace, such that you don't need to emphasis on te ending of the paste


Missing zeropoint values in Lasair

The zeropoint (magzpsci) values appear to be missing in Lasair.  They are all set to 0.0.  They are present in MARS.  I suspect they are not being parsed correctly out of the AVRO packet.  See object https://lasair.roe.ac.uk/object/ZTF18aazblzy/json/ for example.  All the magzpsci values are set to 0.0.

Ken and Daniel
Its a matter of timing of updates. The magzpsci was introduced into the schema last summer, and MARS must have responded more quickly than we did at Lasair. Note that you don't need magzpsci any more, as the apparent magnitudes are now computed for each candidate.
Roy
2018-07-15 ZTF schema updated from 2.0 to 3.0 to include magzpsci
2018-08-07 Latest of the candidates in Daniel's object ZTF18aazblzy
2018-10-01 Lasair was updated to schema 3.0 including magzpsci
2019-07-19 Lasair now computes apparent magnitudes for the candidate table
see Note about Photometry on lasair.roe.ac.uk/about


Not return/calculate the variance?

Is there a way to not return (and not compute!) the variance when using predict_noiseless() ? I don't need that information for the moment and I want to save as much computational time as possible
Thank you

Accessing variance may differentiate depending on your setup.
Without more information, I cannot help, I'm afraid. Did you consider looking into the code and trace how predict_noiseless works and where you could acquire the information you won't without additional computations? That might be the best way to get there.

Hi Martin,
Maybe I wasn't clear - my question is whether the computation of the variance can be toggled off in predict_noiseless (e.g. there's a boolean variable for this on scikit). I did have a look into the code but couldn't trace back the variance computation nor the corresponding covariance matrices multiplication.
Thank you.

you can set full_covar=False, which onley computes the diagonal entries, surely being less expensive, if that is what you want.
I hope that answers your question?

I'm gonna close tihs issue. If you feel like your question has not been answered, feel free to reopen.


chore: Bump modin to 0.22.2

Relates

modin 0.22.2 was released to address https://github.com/modin-project/modin/issues/6258 https://github.com/modin-project/modin/issues/6259

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

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: c438360ee4e9b73ecedcad632236ca4911f8a418
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: c438360ee4e9b73ecedcad632236ca4911f8a418
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 4ab6df9ac8d4550dd67c8c9d660a5e31a089b411
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 6544714e7363f73193349bed350245f7f73b050d
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 6544714e7363f73193349bed350245f7f73b050d
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Improve rating stats display (sizing, responsiveness)

We should also explore other react charting libraries

https://recharts.org/en-US/examples/CustomContentTreemap
https://react-charts.tanstack.com/

I think we can close this


Is it possible to remove markers?

No, it is not possible. You can only replace all markers with the new ones (where you can omit a marker you want to remove).


Not a valid ERC-20 token | MCI

I have 2 wallets that magically appeared sometime past midnight last night:
Not a valid ERC-20 token | MCI
I did not purchase anything by the name of MCI.

This appears even on a fresh wallet. I suspect the list of tokens is a magic/well-known list being populated at runtime, and one of the token addresses is bad.

fixed—will be live shortly


I cannot get any of the examples with localSourceImage to work.

I have been playing around with the example code and I was wondering if there is something I'm missing? I have copy pasted the code into my project just to see how it works, however the image never loads in the background but the canvas works without any issues.
There is another issue which is somewhat similar to this, but the solutions there have not worked for me.
The example I'm talking about is example 4, it uses RNCamera to snap a picture with my phone and then uses localSourceImage to show it on the canvas.
Any pointers would be greatly appreciated, thank you.

yeah, i face same issue like u, did u fix it?

yeah, i face same issue like u, did u fix it?

Not at all sadly.

for android u can use this:
<RNSketchCanvas
localSourceImage={{ filename: 'whale.png', directory: SketchCanvas.MAIN_BUNDLE, mode: 'AspectFit' }}
          containerStyle={{ backgroundColor: 'transparent', flex: 1 }}
          canvasStyle={{ backgroundColor: 'transparent', flex: 1 }}

you should make a folder underneath of the drawable.  android/app/main/res/
after that use the code which is beneath.

After putting lot of effort I found the solution
Save your image in the Picture folder and use below code
localSourceImage={{ filename: '/storage/emulated/0/Pictures/yourimage.png', mode: 'AspectFit' }}

@itvignes09 how to save the image in that image?

@keung7251 Manually place some images under Pictures folder in your sdcard and try

@keung7251 I am using ios and I save image in the RNFS.DocumentDirectoryPath is not working

@PopManu  have you found any solution to this?

Did anyone get it loading an image from iOS, ive taken a photo and just want to pass the source of the newly taken photo to the localSourceImage but sadly i cant seem to get it working with the following:
<SketchCanvas
style={StyleSheet.absoluteFill}
strokeColor={'red'}
strokeWidth={7}
localSourceImage={{
filename: file://${path},
mode: 'AspectFit',
}}
/>

You should add to your project.workspace and use the name of you have giving in your js.
Erdenay Özkanlı

On 28 Jan 2022, at 01:26, Matthew Elliston @.***> wrote:

Did anyone get it loading an image from iOS, ive taken a photo and just want to pass the source of the newly taken photo to the localSourceImage but sadly i cant seem to get it working with the following:
<SketchCanvas
style={StyleSheet.absoluteFill}
strokeColor={'red'}
strokeWidth={7}
localSourceImage={{
filename: file://${path},
mode: 'AspectFit',
}}
/>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you commented.

Hey thanks for your reply Erdenay,
I can't add the images at build time, (Is that what you meant) They are taken in the app. Is there a specific folder they need to be in?
Matthew

No just add your images to projectname.workspace if you are using RN not expo. Go to project navigator on left at xcode, then right click and add as a folder if you’d like. I did this 2 years ago. It worked.
Erdenay Özkanlı

On 28 Jan 2022, at 12:32, Matthew Elliston @.***> wrote:

Hey thanks for your reply Erdenay,
I can't add the images at build time, (Is that what you meant) They are taken in the app. Is there a specific folder they need to be in?
Matthew
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you commented.


Templates need work

Hey, I'm not a designer myself but I have been hanging out with designers.
One thing I'd say is that the use of space kinda sucks in the templates. Sorry but it does, that's not to take away from the great work you've done on the project. Technically it's superb but the design needs work.
Everything is very cramped together, adding more space between things makes the content less overwhelming to the reader. It's just way cleaner.
I'm currently hosting this via a docker container. Do you know if it's possible to create my own custom template and store it in a volume?

I'm looking at this and it seems as though the templates are compiled into the project itself? Is that right?

@TheDevelolper Would your designer friends like wireframing out a template design and posting it here for someone to implement?

Unfortunately I think I'm going to struggle to get them to jump at doing
it.
I may have a look myself at something, perhaps a mechanism for implementing
templating when time permits but I don't think that will be any time soon.
Best wishes,
Kiran
On Fri, 9 Jun 2023 at 03:57, Alex Tu @.***> wrote:

@TheDevelolper https://github.com/TheDevelolper Would your designer
friends like wireframing out a template design and posting it here for
someone to implement?
—
Reply to this email directly, view it on GitHub
https://github.com/AmruthPillai/Reactive-Resume/issues/1345#issuecomment-1583882130,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA6XBOOLXHRASHSIRNTIRNTXKKGIPANCNFSM6AAAAAAY7NFPVY
.
You are receiving this because you were mentioned.Message ID:
@.***>

@AmruthPillai Can it be possible to have the option to "export" the templates that are created outside the app in some format and then "import" them in the app at least?

Hello.
First of all, thanks @AmruthPillai for this amazing projekt, it really looks nice and well polished from a UX perspective.
I really want to switch from my old and custom process of making my CVs to using a (or your) resume builder, but I share the same opinion, that I personally do not like the design templates of the CVs itself and they feel a bit old school to me. I wanted to look up in the docs how to create custom templates but was a bit sad to see that this is not a thing yet.
In my opinion, an open template marketplace that everyone could contribute to would turn this software from good to great, as there would be then dozens if not hundreds of options to chose from (similar to other softwares like VS Code, Obsidian or Wordpress).
For me, this would really be a great addition on the roadmap of this project. I hope you can consider it :)


Don't allocate a checker if the checker waiter is canceled.

I'm wondering if this can help.
While debugging, I have seen a lot of checkers being allocated and prepared to just be thrown away because the task awaiting it has been canceled.
This PR does not even allocate the tasks.
However, it contains something I would like someone (e.g. @cpitclaudel ) to confirm it is not a problem: If we use WaitASync(cancellationToken), can it cause a deadlock in any way?

I got inspired by this PR and made one that also provides the cancellation feature but including a bugfix and refactoring: https://github.com/boogie-org/boogie/pull/552

Wonderful ! I was thinking that your PR is way better than this one as the refactoring is much cleaner. I'll close this PR.


Support MNP jobs in AWS Batch

Link - https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html
Slack discussion - https://outerbounds-community.slack.com/archives/C020U025QJK/p1629221031059900

@parallel provides the necessary support. Please ping us at chat.metaflow.org if you would like to use the functionality.


sendMessage can't use param url

I try to use api.sendMessage({body: "test", url: "an image url"}, threadID) but nothing happens.

fixed headers['sec-fetch-site'] =  'same-origin';


Values on charts

Hi Gion,
there is any way how to show values on the charts? I just saw how to show labels but not sure how can I do the same for values on pie and bars.
Thanks in advance.

I saw it is possible to show values if I declare them as labels but I would love the option to place both info if it is possible, :). Thanks.

Sorry I never replied to this, please re-open if still needed

Hello! I need the solution too.


Move react and react-native to peerDeps

To my understanding, React and React-Native should be peer dependencies of Victory-Native and not regular dependencies, as Victory-Native expects to be run alongside them in a project where they are already installed.
This also has real-life consequences: before this fix, if you created a new React Native project and then installed Victory Native, the project would fail to build, as Victory Native would install its own copy of React Native leading to duplicates (which the React Native packager doesn't like).

@mmgm Sorry for the delay. I believe you're right. I will merge this PR, but I wanted to update the dependent repos first.


[3pt] PR: Add logging system

A custom logging system was added. Testing against native python logging as well as some independent packages showed none them were reliable for multi-processed logs.
The solution here is to let each multi-process (MP) have it's own logging file, which avoids file collisions, then at the end of the MP, let the logger merge them back into the parent log files.  Sorry, it isn't the prettiest of solutions but solves the problem.
Almost all files were changed to add in the system.  When ras2fim.py is running, it will setup logging for all child scripts, however, each independent script has the ability to setup its own logging system as required.
When ras2fim.py or get_models_by_catalog.py is run, it will put all log files in the unit directory, log folder e.g.  C:\ras2fim_data\output_ras2fim\12030106_2276_231025\logs. If other scripts such as get_usgs_dem_from_share.py is called, it will default it's log files in different folders, generally in folders such as one of the step folders e.g. C:\ras2fim_data\output_ras2fim\12030105_2276_231024\01_shapes_from_hecras\logs.  For sample code that is required to for a script that will do some of it's own logging via command line, see most files in the "main" arg_parser sections.
How the system works.
There are logging levels each with slightly different rules about colors, formatting and log files being used.

trace: It will put message on the screen only and not in a log file. Good for logging detailed info.
lprint: Goes to console and default log file.
debug: Goes to console and default log file.
success: Goes to console and default log file.
warning:  same as lprint PLUS adds duplicate message to a separate file called {name}_warnings.log. This will tell the users of a possible problem but will continue processing.
error:  same as lprint PLUS adds duplicate message to a separate file called {name}_errors.log.  However, this can be used as you see fit but generally is for an exception where the program is NOT stopped. However, sometimes, in multi-proc, you may want to continue anyways.
critical: same as error , also the  {name}_errors.log. Use as you can use it as you see fit, but generally you want the most obvious visibility and is for complete stop of the program.

To use one of the log with levels, use this syntax (adjusting for level). eg.

or

Note: Make sure that when you issue some of these log commands, make sure you give good detail about which feature, huc, etc is involved. Generally, I do not use the syntax of simply:
except Exception as ex:  ... print(ex).
Why? it does not give you the stack trace which is critical in most cases. Now that logging is involved, it will no longer automatically give you the stack trace so you have to add it yourself. In lieu, use the command of traceback.format_exc()  to give you full tracing.  eg.

Colors and format can be different in various log classes. eg.

One of the most common logging tools you will use is the lprint command.  You can continue to use print as you always have and know it will go the screen only but not the log files..  Almost all of the time, you will want to use lprint instead which goes to screen and the logs. eg.

Another feature is the ability to create and use your own set of logs independent of the new system logging. For details see the functions named setup_custom_log and write_c_log in ras2fim_logger.py.
Multi Processing (MP_LOG) system.
OTHER NOTES FOR THE PR : To use the logging system inside functions that are being called inside of a MP, such as workers_fim_rasters.py, it requires some setup to use a system called the MP_LOG system. This include an additional global variable (MP_LOG) and  addition of some code for setting up the MP_LOG,  and some minor changes to the parent code that runs the pool.
You will need a way to pass in the multi-proc primary function, the mlog_file_path and mlog_file_prefix. See worker_fim_rasters.py > fn_main_hecras as an example. There are multiple ways to pass those values in and in that example, I used a python "partial" command. There are some examples of how the parent pool setups key variables that need to be passed into the MP function. See the "processing in HEC-RAS" portion of the code in create_fim_rasters.py.
There are a number of places in the code that use Pools and not all of them have been upgraded to MP_LOG. If you want logs to be added inside a pool that currently does not have it, you will need to add this MP_LOG system.
Use of RLOG inside of functions that are inside of a MP loop will fail (or at least not record).
AND.... yes, you will need to delete and re-create, or update your conda enviro.
TQDM / Progress Bars:  When MP_LOG is part of Pool, it can mess up the progress bars a little. Inside of being a moving single bar, it can add new lines per increments.

Additions
I will not list all files affected as most are. However, I will list files that have any additional fixes or changes other than adding of logging.
Many files had extra DEBUG logging with tracing and/or more context data for WARNING, ERROR and CRITICAL.
Over time, more logging will be added to files for even more visibility to objects and variables.
Additions

ras2fim_logger.py: The parent script that runs the entire logging system.

Removals

src

ras2catchments.py: No longer applicable for V2.

Changes

 config

r2f_config.env: Change PRODUCE_GEOCURVE_POLYGONS to True.  Removed flags for RUN_RAS2REM, and RUN_RAS2CATCHMENTS.

environment.yml: added new package for colorma and colored.

pyproject.toml:  adding of an linting exception for convert_ras2fim_to_recurr_valiation_datasets.py.

src

conflate_hecras_to_nwm.py:  Changed a few variable names. Upgraded time stamp and duration system. Renamed a few functions using multi-processing for easier identification.
convert_tif_to_ras_hdf5.py: Added new partial "verbosity" system to allow for optional additional output.
create_fim_rasters.py: Upgraded time stamp and duration system. Added better error handling for multi-processing pools. Added the start of a verbosity system which can be used to show certain messages only if "is_verbose". More is needed later in this script.
create_geocurves.py: Added some screen output for incoming params to match other script patterns. Also added new logging for when some logging when depth grid files are skipped.
create_shapes_from_hecras.py: Upgraded the multi-proc pool for better error handling. A few variable name changes.
ras2fim.py: removed all references to run_ras2fim and ras2catchments.
ras2inundation.py: Upgraded some error handling.
reformat_ras_rating_curve.py: Upgrade datetime.now to datetime.utcnow. Updated some of the "sample usage" notes.
run_ras2rem.py: Added some of the logging but stopped. Moved it to the "tools" directory and marked as deprecated.
shared_functions.py: Added a new function as well as added new argument to get_stnd_date().
shared_variables.py: Added some new variables for the logging system.
simplify_fim_rasters.py: Fixed a bug allow float values to be passed in as command line arg parse values. Need to be int and not a float for the resolution size variable.
worker_fim_rasters.py: Keep the original "errors.csv" but renamed that output file. Updated a few variable names. Added a system to slightly stagger start of processes in the multi-process system to avoid rare collisions of a bunch of procs starting at once. A couple of minor variable name changes.

tools

get_models_by_catalog.py: Added another delimiter when reading the S3 parent models catalog file, which was dropping records where the final key starts with 3_.  Small try except updates. Removed its own previously existing logging system in favor of the new logging system.

ras_unit_to_s3.py: fix some validation checking and updated a bit of error handling. Note: It has a bug in it that appears to be unrelated to logging. A new issue has been issued to be fixed later.

run_ras2rem.py:  Moved from src directory and added deprecation message.

Note: None of the files in the tools directory starting with the name of nws_ were updated as they may be no longer in use.

Fixes Issue 164
Testing
A very wide range of testing was completed including:

testing a full set of models for one HUC (12030106)
testing almost all of the files that could be used from command line directly. Not all files with command line options were successfully tested as some have errors and are being noted as TODO items for later. Skipped on testing
convert_ras2fim_to_recurr_validation_dataset.py.

Checklist
You may update this checklist before and/or after creating the PR. If you're unsure about any of them, please ask, we're here to help! These items are what we are going to look for before merging your code.

[x] Informative and human-readable title, using the format: [_pt] PR: <description>
[x] Pre-commit executed and linting changes made.
[x] Links are provided if this PR resolves an issue, or depends on another other PR
[x] If submitting a PR to the dev branch (the default branch), you have a descriptive Feature Branch name using the format: dev-<description-of-change> (e.g.: dev-revise-levee-masking)
[ x Changes are limited to a single goal (no scope creep)
[x] The feature branch you're submitting as a PR is up to date (merged) with the latest dev branch
[x] Changes adhere to PEP-8 Style Guidelines
[x] Any change in functionality is tested
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged / future todos are captured in comments
[ ] Project documentation has been updated (CHANGELOG and/or README)
[x] Reviewers requested

Merge Checklist (For Technical Lead use only)

[ ] Update CHANGELOG with latest version number and merge date

Hi Heidi. It is ready for re-testing. Thank you for your patience.


Fix a bunch of Clippy warnings (and errors)

This pull request bundles a large number of low-impact changes to fix most Clippy warnings (and errors). Together with #128 and #129, this should fix the Clippy portion of the CI build.

I reviewed and agree that these changes should all be functionally identical.
In commit b4ba44f , is appending "_f32" to specify the type preferred over appending a ".0"?

Thank you for reviewing, @dtjones190!

In commit b4ba44f , is appending "_f32" to specify the type preferred over appending a ".0"?

I just followed Clippy's recommendation without really questioning it. I thought that maybe .0 would cause a type inference issue, but didn't test that.

@mvertescher Any objections to merging this?

Awesome, fixes look good


docs: fix typos

Description
found via typos --hidden --format brief
Checklist

[ ] I added tests that cover my proposed changes.
[x] I updated the documentation related to my changes (if applicable).

Thanks!

:partying_face: :partying_face: :partying_face: :partying_face: :partying_face:


Update Pages “home”

Automatically generated by Netlify CMS

👷 Deploy Preview for chic-shortbread-66a66b processing.

Name
Link

🔨 Latest commit
967dbc6e8a06bcc8b3a8077a1c0674a96af3927f

🔍 Latest deploy log
https://app.netlify.com/sites/chic-shortbread-66a66b/deploys/654eeae868bb9d000879ef09


[Release] sdk/resourcemanager/powerbidedicated/armpowerbidedicated/0.1.0

…1.0 generation from spec commit: 4cda81c5daed78441aa8043dd32ae00b02899c36

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

/azp run prepare-pipelines

/azp run go - armpowerbidedicated - ci

/check-enforcer override


TypeInitializationException in PointCollection regression in (Windows App SDK) 0.8.2

Is https://github.com/microsoft/microsoft-ui-xaml/issues/5692 on your radar? It seems like a pretty clear regression in 1.3.3.

transferred issue 5692 above, so closing this as a dupe of #971


ERROR! FOV=289.000 > 256 Include the flag -cw256 with recon-all!

Originally reported at https://neurostars.org/t/freesurfer-error-fov-256
For files with unusually large FOV freesurfer needs to perform cropping. Example image

Suggested solution: detect if FOV is larger than 256 in any direction and add -cw256 flag to recon-all. Add a red warning to the reports to check the outputs carefully.

I saw the last message at https://github.com/poldracklab/smriprep/issues/52 which says the fix for this is now available in fmriprep. However, I just tried with 1.3.0.post3 I am still getting the error
ERROR! FOV=282.000 > 256
Include the flag -cw256 with recon-all!
Inspect orig.mgz to ensure the head is fully visible.


Monitor Running Tasks

Hi Stephen
Is there a way to montior running tasks without creating a custom scheduler? Because most of time I use Task.Run.
I tried to use something like this:
public static IReadOnlyCollection<Task> GetRunningTasks()
{
    TaskScheduler currentTaskScheduler = TaskScheduler.Current;
    // Reflection with Fasterflect to call the protected method
    List<Task> runningTasks = ((IEnumerable<Task>)currentTaskScheduler.CallMethod("GetScheduledTasks")).ToList();
    return runningTasks;
}

But this doesn't work. Then I found this solution, but this also may include the wrong information:
public static int GetWorkingThreads()
{
	int maxThreads;
	int completionPortThreads;
	ThreadPool.GetMaxThreads(out maxThreads, out completionPortThreads);

	int availableThreads;
	ThreadPool.GetAvailableThreads(out availableThreads, out completionPortThreads);

	return maxThreads - availableThreads;
}

Is there a way with your postsharp implementation to track this?
Why I need that. We have some SpecFlow tests (which have a static context) and some developers didn't correctly dispose some RX subscription and the current test means that everything is finished but after the teardown there is still a handler which gets hooked.
To prevent that I like to assert if there is still an active task.
I know: "Please program correctly" but there are developers which may forget a small dispose and didn't saw that there is still something runnning.
I think this could be the rigth repository for that? :-)
Thx Cédric

No, sorry, AsyncDiagnostics only provides a caller stack for asynchronous code.
I'm not aware of any way to track running tasks unless you use a custom TaskScheduler/SynchronizationContext.


"'await' has no effect on the type of this expression" from inferred void and Promise<void> union

🔎 Search Terms
"'await' has no effect on the type of this expression" , "promise<void>"
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about Why are functions returning non-void assignable to function returning void?

⏯ Playground Link
https://www.typescriptlang.org/play?ts=5.2.1-rc#code/MYewdgzgLgBGIgA4wLwwBQEpUD4YG8BfAbgChSBDCATzGBgDMBXOqAS3EYXQYBsKA5gC4YAIwS8AphTDZ8pGDFCRYkgB6TgTKJNSN+AmAH4YVWvSy4CMAPQAqGABMQMdYkmQ2AN10B3EABOANYwdjYwhDAi8EhkihS+FGyqGlo6WGSEpEA
💻 Code
const noop = () => {};

async function foo(flag: boolean) {
  const execute = flag ? async () => { /* do expensive work */ } : noop;
  await execute();
}

🙁 Actual behavior
The type of execute is inferred as () => void, so TypeScript displays a spurious warning on the await execute(); line, "'await' has no effect on the type of this expression.(80007)".
🙂 Expected behavior
TypeScript infers the type as () => void | () => Promise<void>, and calling await execute() generates no warnings.
Based on the FAQ, I would expect explicitly assigning () => Promise<void> to () => void to work, but I would not expect () => void | () => Promise<void> to be inferred as () => void and correct code then generating compiler diagnostics.
Additional information about the issue
I found some possibly related issues: #44201, #43921, #49755
If this issue is actually a duplicate of one of those, I apologize.

I believe this is unfortunate fallout due to subtype reduction.

Yeah, there's not terribly much we can do here. The best solution is to annotate noop:
const noop = (): undefined => {};


[azure-iot] IoT Extension Version 0.10.3

Release notes for this version can be found here: https://github.com/Azure/azure-iot-cli-extension/releases/tag/v0.10.3

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

We will need to merge this in a couple days.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/c-ryan-k/azure-cli-extensions.git@master#subdirectory=src/$EXT&egg=$EXT"

/azp run

Will make new PR.


[Feature Request] nextgen_crypto without stdlib

🚀 Feature Request
nextgen_crypto libraries without the use of stdlib.
Motivation
I want to (potentially) statically link nextgen_crypto libraries with FFI, but I don't want to bring the rust standard library with me.
Pitch
Describe the solution you'd like
nextgen_crypto with #![no_std]
https://doc.rust-lang.org/1.8.0/book/using-rust-without-the-standard-library.html
Describe alternatives you've considered
Not using this / roll-your-own-crypto / forking without stdlib.
Are you willing to open a pull request? (See CONTRIBUTING)
Probably not. I don't know enough about this to fulfill the requirements effectively.
Additional context
Thanks

+1 on this!

This will be awesome!

This would a great contribution to rust!

Hi there,
I'm on the Libra Cryptography team and this is deffinitely something we can start working on.
That said, here's an idea: Why don't we do it together!
You seem interested in the topic and claimed that you don't know enough about the topic to fulfill the requirements effectively. If you'd like, I can provide support.
If you would prefer not to be involved, it will need to be prioritized in the list of things we currently have on our cryptography roadmap which primarily revolves around providing high-assurance cryptography for the Libra blockchain.
Let me know if you're interested. I'm always game for collaboration.

Hey @ladiJ2N, definitely interested in collaboration and willing to learn.
I have limited exposure to Rust, but it doesn't seem that intimidating.
With your support, it sounds like we can resolve this. Kindly let me know where to start.
I have a specific ask that we avoid using dynamically allocated data structures; I had some pain trying to specify a global allocator without stdlib and prevent duplicate symbols in the linker (could be something I was doing wrong with linking it). It seems like we can avoid things like alloc::vec::Vec and still have a working crypto. What do you think?
Thanks!

I believe the issue lies in the threshold_crypto crate.
You can try to remove BLS from the nextgen_crypto crate first and see if you are able to get it to work that way.

As expected, adding #![no_std] to crypto/nextgen_crypto/lib.rs fails: build.log
What is the pattern of best practice here? Is there way to support std and no_std builds?
Do we need std for some things? Seems like there are debug log statements, use of several std:: components. Not sure what the non, std library options are for std::hash:Hash or std::result::Result.
To clarify requirements, we're trying to use no_std without heap or collections, if possible.

img src


BZ:1283503 - Task list: loading animation displayed indefinitely unti…

…l the mouse is moved.Removed deferred at tab command execution, added flush at redraw function

master: ae7ab219269a47369ba332b722bc7528f2e2c1ff


Update Translation

Found some critical translation errors. Fixed.

gotta figure out a different way other than deleting, re-forking and editing.
anyone know what to do?
(syncing master and upstream put 'merge' into commit, so when pushing, the 'merge upstream' commit gets included to the pull request. any way to avoid this, or is it not a problem?)


geolocation.polling.url in GLOBAL deprecated?

There is a few locations where geolocation url is specified. HOSTMON, GLOBAL and CCR_CDN.
Looks like HOSTMON and CCR_CDN shares the same. Although GLOBAL has the hold database maybe? Should this be removed?

geolocation.polling.url is definitely not deprecated, however, it only pertains to Traffic Router (aka CCR) profiles.  I believe what you are seeing is that the parameter is mapped to multiple profiles that do not need the mapping.  You can safely remove the additional, non-Traffic Router profiles from the existing parameter.
To the best of my knowledge, it is not possible to have multiple parameters with the same name, config file, and value, however, you can have multiple parameters with the same name and config file as long as the value is different.  Because of this, it's also possible that you have two different parameters called geolocation.polling.url with different values, mapped separately to a few different profiles.
You will need to determine which profile(s) need to be removed from the geolocation.polling.url parameter that is assigned to your Traffic Router(s), and whether you have an extraneous geolocation.polling.url parameter that is no longer needed and can be deleted.

BTW, specifically, the mapping GLOBAL to this particular parameter is unnecessary.  If there's a bug around removing this mapping, let me know and I'll happily reopen.


Option to make payments on players completely silent.

Description of new idea or improvement on existing one
It would consist on a config option that would make payments messages silent in both actionbar and chat sides if enabled.
NOTE: When I go to the locale file and change the messages to "" they don't disable, and you can still see the empty messages showing, that is why I suggest this option.

Does not make sense. We shouldn’t hide the messages when a player gets paid for doing something at a job. If this were to happen, for the future, players would not know where and how they would receive cash rewards, but this could still happen to server owners who only disable options with different behaviors.

Does not make sense. We shouldn’t hide the messages when a player gets paid for doing something at a job. If this were to happen, for the future, players would not know where and how they would receive cash rewards, but this could still happen to server owners who only disable options with different behaviors.

Hello @montlikadani !
Well, I currently use the actionbar for notifications with other plugin, and I don't want cash reward messages on chat since it is very spammy. You would ask "How will people realise when they get paid?" I have a configured scoreboard on my server which shows your currency, and when you do something at your job, you see how your currency increases. That is why I would like an option to disable it. On versions older than Jobs Reborn 4.17.0, I could disable payments messages in both actionbar and chat by setting EnabledByDefault to false on the generalConfig, but now when I set that to false it will return into chat messages. A way to disable payment messages would be sweet.

Hello @montlikadani !
Well, I currently use the actionbar for notifications with other plugin, and I don't want cash reward messages on chat since it is very spammy. You would ask "How will people realise when they get paid?" I have a configured scoreboard on my server which shows your currency, and when you do something at your job, you see how your currency increases. That is why I would like an option to disable it. On versions older than Jobs Reborn 4.17.0, I could disable payments messages in both actionbar and chat by setting EnabledByDefault to false on the generalConfig, but now when I set that to false it will return into chat messages. A way to disable payment messages would be sweet.

@montlikadani Thanks a lot! <3

@montlikadani Thanks a lot! <3


Add and Sync a New Request from AXIS - Non Pilot User (NPU)

•	As a NPU Analyst
•	I want to be able to sync data from AXIS when I have a fee for a request
•	so that I can send out a fee estimate letter and invoice so the applicant can pay online
Assumptions & Scope
What are the assumptions for this story?
•	AXIS request ID is mandatory in request and in CFR state. AXIS request number will be shown on header
•	Analyst will update the Fee Estimate in AXIS then sync over
What is IN scope?
•	Creating a new request in the new system and syncing the data with the request information in AXIS.
What is NOT in scope?
Acceptance Criteria
Scenario 1: Add a Request- NPU
•	GIVEN an NPU Analyst is on the queue: https://jacklyn808742.invisionapp.com/console/share/3W2O64AP5C/941000374
•	WHEN the NPU analyst clicks the 'Add Request' button'
•	THEN a blank request will open with a mandatory 'AXIS ID Number' field and a 'Sync with AXIS' button
Scenario 2: Sync with AXIS - invalid number - NPU
•	GIVEN an NPU analyst has entered an invalid AXIS ID Number
•	WHEN the NPU analyst clicks the 'Sync with AXIS' button
•	THEN an error message will be displayed in red: This ID number was not found
Scenario 3: Sync with AXIS - valid number- NPU
•	GIVEN the NPU analyst has entered a valid AXIS ID Number
•	WHEN the analyst clicks the 'Sync with AXIS' button
•	THEN the data will be synced
•	AND then the analyst will remain on the request detail’s view
•	AND the fields all the request fields from AXIS will be filled (GENERAL: applicant details, address and contact information, date range, request description, ministry, additional request details, and overall fee estimate data
•	AND the State will automatically update to Call for Record
Scenario 4: Save and Display AXIS number- NPU
•	GIVEN an NPU analyst has synced to add a request
•	WHEN the analyst clicks 'Save'
•	THEN the request ID number from AXIS will be displayed at the top of the request view
•	AND the AXIS request ID number will appear on the Queue
Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

@m-prodan- for your review

Not required anymore.


added an ">" and your discord user id on owner.js

added an ">" and your discord user id on owner.js so when doing /bot owner your profile would be available to seen (ignore the extra space i accidentally added at the bottom of the code)

If users don't share a server with me they can't see me name and click on it, so because of that this PR isn't necessary


Example please

Can you please share an example of how to use these schemas ? This would be very helpful.
[Enter feedback here]

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

ID: 292225b2-8397-7a3a-b549-9b293f86f309
Version Independent ID: 82dc1859-e2f9-a709-2892-6bc92dc3d952
Content: AS2 tracking schemas for B2B messages - Azure Logic Apps
Content Source: articles/logic-apps/logic-apps-track-integration-account-as2-tracking-schemas.md
Service: logic-apps
GitHub Login: @divyaswarnkar
Microsoft Alias: divswa

Hi @nitin-narkar, thanks for reaching out. I've added this request onto our backlog and will triage with other requests accordingly.


Question: How to pass state from messageParser,js to config.js ?

I am using dialogflow as tool for chatbot. When user write anything to chatbot that mesasage is passed as data to dialogflow api and as a response it gives fulfillmentText. And that response is passed to actionprovider.botMessage method.
I have defined a widget in config.js file and actionprovider uses that widget to create bot message. The props of widgets can be defined in config.js file.
I need to pass props from messageParser.js file (dialogflow api response) to config.js(where props can be defined). I cannot find solution for that. Can anyone help me?
This is post request from messageParser file where dialogflow generate response for user data.
 axios.post('http://localhost:3000/dialogflow', data)
      .then(response => {
        console.log("Frontend:", response.data);
        // Speech to text
        const speechToText = (msg) =>{
          let speech = new SpeechSynthesisUtterance();

          speech.lang = "en-US";
          speech.text = msg;
          speech.volume = 1;
          speech.rate = 1;
          speech.pitch = 1;

          return window.speechSynthesis.speak(speech);
        }
        const msg = response.data.fulfillmentText;
        this.actionProvider.botMessage(msg);
        this.actionProvider.botMessage(speechToText(msg));
})

This is config.js file where widgets are defined.
widgets: [
      {
        widgetName: "options",
        widgetFunc: (props) => <Options {...props} />,
      },
      {
        widgetName: "video",
        widgetFunc: (props) => <VideoPlayer {...props} />,
      },
      {
        widgetName: "weatherCard",
        widgetFunc: (props) => <WeatherCard {...props} />,
        props: {
          city: "Bombay",
          temp: 35,
          date: new Date().toDateString(),
          weather_desc: "Cloudy",
          weather_imgurl: "client/src/asset/cloud.jpeg"
        }
      }
    ]

In weatherCard widget I am passing static value as props. But I need value that dialogflow api generate in messageParser file. How to pass data from messageParser to config ?

You could simply set this into state. The whole state object will be passed to your widget.


Fixed #17657 -- Made ModelForm respect ModelMultipleChoiceField's to_field_name.

…tead of a list of pks, let the form fields handle it.
Remove obsolete tests for model_to_dict performance optimization.

buildbot, add to whitelist.

@timgraham Thank you for your feedback. Do you want to me squash all the fix-ups to a single commit?

Yes, that's the normal procedure.

I updated the pull request, please review.
I moved my test to ModelMultipleChoiceFieldTests and refactored it to remove unnecessary definitions of categories. It doesn't rely on checking the HTML output of the form widget, so it's less fragile now.

Code looks good but now do we have to reopen #18949 since we removed that optimization? It's not obvious to me what "let the form fields handle it" means.

Code looks good but now do we have to reopen #18949 since we removed that optimization?

I removed not only the optimization, but all the code for the special handling of M2M fields in model_to_dict. Let me explain:
model_to_dict used to have this special case for M2M fields. M2MField.value_from_object returned a QuerySet and model_to_dict converted it to a list of primary keys. This special case:

Caused a bug, see https://code.djangoproject.com/ticket/17657
Was inefficient (thus a number of optimization has followed)
Was unnecessary. Removing this special case doesn't seem to break anything. On the contrary, removing it fixes the bug mentioned in (1). We use a patched version of Django with this special case removed in production for about 4 years now.

Here's what I mean when I say "let the form field handle it": M2M field value returned from model_to_dict is passed to ModelMultipleChoiceField.prepare_value. This method can accept both a QuerySet or a list of primary key (or other field's values if to_field_name is used). Although, if to_field_name attribute is used, prepare_value will return correct result only if a QuerySet is passed as a value. See ModelMultipleChoiceField.prepare_value and ModelChoiceField.prepare_value for details.

I suppose correct behavior should be the first priority. Merged in 81963b37a92ef583b9f725f1a78dd2ca97c1ab95, thanks!


Save as Raw Data

Hello, I met a problem about the raw data type. When I applied BaSiC to obtain a flat-field which ranges [0.5, 1.5] and save it as Raw data, the data can't be opened with numpy format np.float32. It's strange that there are negative values in np.float32 which is not consistent with the range in Image J. Hope you can help me solve this problem.

@supercheney Please post this issue on forum.image.sc. It would be very helpful to describe the exact steps you are doing in ImageJ (a script or macro is ideal, but just the list of commands is good too), and then the Python code you are trying to use to open the exported data.


CA cert for Voltron must be provided

Description
Voltron needs to receive a certificate CA and private key in order to start up the tunnel server. This will be used to create certificates for the managed clusters that will be used to connect to the tunnel server.
Operator would create a certificate that used the value voltron as SAN. Voltron had this value hardcoded as the ServerName when checking certficates. If we need to provide a custom certificate, a DNS SAN entry would look like *.mydomain.com. Gurdian will not be able to connect to the server, as it will check for the value voltron to match *.mydomain.com.  A part of the fix is to remove this dependency in Voltron and default to the hostname provided to connect.
Generating a default server with DNS entry set to voltron is a redundant step, as this certificate will never allow Guardians to connect to the Voltron sever. This is why we need to provide the secret as a mandatory step before registering any clusters. Generating the proper CA certificate requires that we know how our clients would like to make Voltron discoverable and it depends on the architecture of our clients. They can choose to create a public DNS entry for this service or create a reachable IP for this service. The root CA will need to be created with DNS entry like *.mydomain.com and/or IP entry like x.x.x.x matching voltron.
For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

Clients will be required to use self signed certificates and not provide their own CA certificates. In case they do, they need to add a subject alternate domain for voltron.


Added new requirements

thanks for the PR.
would you please share the error details because of these missing packages ?


Script doing away with the complexities of string matching and regex matching in urls

Aim
This python script will help in regex matching that can be used by compilers or string matching .
Details
Many times we want to have a search feature in our program.When one has a list of strings and one wants to search a term or a regex against all of them ,this script will help us to extract the most relevant ones with similarities.

Can I be assigned this issue to work on if it seems a good addition to the repo?

Sure @vaishnavijha Go ahead

Created pull request for this issue


module api sketch

type Transfer {from :: Address, to :: Address, amount :: Token}

data BankKeeper m =
  BankKeeper
    { getBalance :: Address -> m Token
    , transfer :: MonadThrow TransferError m => Transfer -> m Unit
    , supply :: m Token
    }

type BankQueryRoute
    = "supply" :-> Token
  <|> "getBalance" :/ Address :-> Token

type BankMsgRoute =
  "transfer" :? Transfer -> Unit

mkBankModule
  :: HasCodec Bank cdc
  => IO
        ( Module BankQueryRoute BankMsgRoute (ReaderT (Store cdc) IO)
        , BankKeeper IO
        )

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

mkUserModule
  :: HasCodec User cdc
  => BankKeeper IO
  -> IO
        ( Module UserQueryRoute UserMsgRoute (ReaderT (Store cdc) IO)
        , UserKeeper IO
        )

mkPetModule
  :: HasCodec Pet cdc
  => BankKeeper IO
  -> IO
        ( Module PetQueryRoute PetMsgRoute (ReaderT (Store cdc) IO)
        , PetKeeper IO
        )

mkMainModule
  :: HasCodec Main cdc
  => BankKeeper IO
  -> UserKeeper IO
  -> PetKeeper IO
  -> IO
  ( Module MainQueryRoute MainMsgRoute (ReaderT (Store cdc) IO)
  , MainKeeper IO
  )
do
  (bankM, bankK) <- mkBankModule
  (userM, userK) <- mkUserModule bankK
  (petM, petK) <- mkPetModule bankK
  (mainM, _) mkMainModule bankK userK petK
  store <- mkStore
  toApp $ hoistModule' (runReaderT store) $ mkRootModule
    { bank: bankM
    , user: userM
    , pet: petM
    , main: mainM
    }

-- some type level stuff which works like this
mkRootModule
  ::{ bank :: Module BankQueryRoute BankMsgRoute (ReaderT (Store [Bank]) IO)
    , user :: Module UserQueryRoute UserMsgRoute (ReaderT (Store [User]) IO)
    }
  -> RootModule
      (bank :/ BankQueryRoute <|> user :/ UserQueryRoute)
      (bank :/ BankMsgRoute <|> user :/ UserMsgRoute)
      (ReaderT (Store [Bank, User]) IO)

type Module queryRoute msgRoute m = Module' Identity queryRoute msgRoute m
type RootModule queryRoute msgRoute m = Module' (Map String) queryRoute msgRoute m

Module'
  (queryRoute :: Path_Param_Route)
  (msgRoute :: Path_Param_Route)
  (m :: Type -> Type)
  =
    Module'
      { genesis :: f JSON -> m ()
      , beginBlock :: RequestBeginBlock -> m ResponseBeginBlock
      , endBlock :: RequestEndBlock -> m ResponseEndBlock
      , execute :: RouteHandler msgRoute m
      , query :: RouteHandler queryRoute m
      }

-- | given natural transformation from m to g changes base monad of Module from m  to g
hoistModule'
  :: m ~> g
  -> Module' f queryRoute msgRoute m
  -> Module' f queryRoute msgRoute g

toApp :: RootModule queryRoute msgRoute IO -> App IO

actually here:
      , beginBlock :: RequestBeginBlock -> m ResponseBeginBlock
      , endBlock :: RequestEndBlock -> m ResponseEndBlock

results here should instead be some monoid so responses from all modules can be combined.

This is starting to look pretty good. Couple of things to think about going forward:

Are you implying the Keeper someone outside the module, because i see things here like

mkUserModule
  :: HasCodec User cdc
  => BankKeeper IO
  -> IO
        ( Module UserQueryRoute UserMsgRoute (ReaderT (Store cdc) IO)
        , UserKeeper IO
        )

where the tuple return type to me means "yes". What about the comparison to Halogen where the Keeper is effectively the Halogen.Query a type, and arguable also the Halogen.Message a type that the component can raise even though I'm not sure what raise would mean here. It seems like the functionality listed here is still covered.

Just so everyone's on the same page, my understanding is that this url style querying is meant for external clients only, and that all inter-module communication is done by simple message passing. This means that it's possible we can omit the api parameter from the type of Module and instead do something like:

type family QueryApi :: Type -> Type

type instance QueryApi BankModule = BankApi

type instance QueryApi UserModule = UserApi

type instance QueryApi RootModule = BankApi :<|> UserApi

server :: RouteT (QueryApi Rootmodule m)
server = bankHandlers :<|> userHandlers

it would make the types much shorter and make it harder for module A to use the api of module B even if it had a reference to the type or module

Also just to clear up the example code you've posted, I don't see the need for strings in the *Msg routes, would they be used for something or can we remove them for clarity

Also with regard the the Begin/EndBlock monoid instances, probably the return type for these hooks is not actually m Response.BeginBlock or m Response.EndBlock but more like m () at the module level, in which case there is already monoid instance for a -> m (). If the RootModule is guaranteed that those hooks are run in order, then it can assemble the response to the tendermint-core server using whatever implicit state changes that those hooks made.
There's not a lot of examples of this in their docs, most have to do with updating the modules that govern consensus and voting rights, i.e. token balances

Are you implying the Keeper someone outside the module, because i see things here like

Yes.

What about the ...
Message functionality if needed can be achived by having having something like this subscribe :: BusW UpdateMsgs -> IO () in Keeper

Just so everyone's on the same page, my understanding is that this url style querying is meant for external clients only, and that all inter-module communication is done by simple message passing.

Yes url style execute & query handlers are for external use. if some functionality is needed from other module Keepers are for that. Keeper is basically "internal-public" api. Also technically we we can hide constructor of the Module.

This means that it's possible we can omit the queryRoute parameter from the type of Module and instead do something like: ...

for writing handlers you would need access to keepers. also handlers will need same things a module would need.
we might do something like this:

mkUserModule
  :: HasCodec User cdc
  => BankKeeper IO
  -> IO
        ( Module (ReaderT (Store cdc) IO)
        , UserKeeper IO
        , RouteHandler UserQueryRoute (ReaderT (Store cdc) IO)
        , RouteHandler UserMsgRoute (ReaderT (Store cdc) IO)
        )

and assemble handlers by hand.

Also just to clear up the example code you've posted, I don't see the need for strings in the *Msg routes, would they be used for something or can we remove them for clarity

the strings from *Msg, would be used to construct message / query, so given
type BankQueryRoute
    = "supply" :-> Token
  <|> "getBalance" :/ Address :-> Token

type BankMsgRoute =
  "transfer" :? Transfer -> Unit

...
app = do
  ....
  toApp $ hoistModule' (runReaderT store) $ mkRootModule
    { bank: bankM
    ...
    }

then for making transfer one would create message using bank/transfer?from=0x002&to=0x003&amount=0x001 or for querying use this: bank/getBalance/0x002

Also with regard the the Begin/EndBlock monoid instances, probably the return type for these hooks is not actually m Response.BeginBlock or m Response.EndBlock but more like m () at the module level, in which case there is already monoid instance for a -> m (). If the RootModule is guaranteed that those hooks are run in order, then it can assemble the Response.EndBlock response to the tendermint-core server using whatever implicit state changes that those hooks made.

I think this handlers should return some monoid which contains logs, events raised (like etherium) maybe stats like "Gas used" etc. and it should be monoid so this result's then would combine and returned to client / published in block (like Events in etherium). or this could be done using MonadLog Stats m or something, as we would need to create such logs when handling Messages too.


Last week highlights in contributor profile is not visible properly in light theme

@rithviknishad Is it about the labels like "in last 7 days" or "pull requests" ?

My bad, forgot to mention that. It's about
 in last 7 days

@sagarkori143 are you working on this.
If not @rithviknishad Please assign this to me.

@sriharsh05 Yeah. You can take it.


Python snippets

This adds two versions of a python file with a collection of functions that can be used to build an API script, one using httplib and another using requests.
There is an example script called template.py that can be used as a base, or a customer can build their own by copying & pasting from snippets.py or just importing from that file. I've also included a readme for each version of the script to explain what is happening.
We may want to rename this directory to something else, like template or something like that, but snippets is what I came up with off the top of my head.
This has all been tested, but a quick sanity check would be helpful before merging.

I'm going to go ahead and merge this so it can be used.


[Feature Request] add an abc2xml.js script

Would love an abc2xml.js that does the opposite of xml2abc.js so its is possible to go back and forth between the 2 formats.

I wish there were such a thing too, but sadly there is not.On Apr 7, 2024, at 9:25 PM, Justin @.***> wrote:
Would love an abc2xml.js that does the opposite of xml2abc.js so its is possible to go back and forth between the 2 formats.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

@zaun  I've added the ability to export your ABC in MusicXML format just by specifying .xml as the file extension when you save a file.
The ABC to MusicXML conversion is being done using Willem Vree's abc2xml Python tool that I've converted to a web service and am hosting as a Flask application at pythonanywhere.com
Because of how abc2xml works, the ABC to MusicXML conversion is limited to the first tune in the ABC editor area so if you need to convert an entire tunebook from ABC to MusicXML, you will need to do it one tune at a time.
The resulting MusicXML files can be opened back in the tool.
Demo video:
https://youtu.be/EuhJAjDv6GQ

@zaun
Change of plans on how to do MusicXML export from my ABC Transcription Tools.
I've decided to consolidate the MusicXML export under the "Export All Tunes" dialog.
Now there is a new "Export All Tunes as MusicXML" button on the "More Tools"/"Export All Tunes" dialog (only available on desktop browsers).
When clicked, each ABC tune in the editor will be exported to its own MusicXML file with the same name as the tune.
This works the same way for one tune or a hundred.
The ABC to MusicXML conversion is being done using Willem Vree's abc2xml Python tool that I've converted to a web service and am hosting as a Flask application at pythonanywhere.com
The first pass implementation where you would just save the ABC with a .xml extension had limitations and has been removed in favor of this more robust method.
Please use the new "Export All Tunes as MusicXML" feature on the "More Tools"/"Export All Tunes" dialog going forward.
Demo video
https://www.youtube.com/watch?v=ecxJQHD4FMQ


Add examples for fifo SNS topics

Description of your changes
Added an example for fifo SNS topics, which have some specific naming restrictions.
Fixes #670
I have:

[ ] Run make reviewable test to ensure this PR is ready for review.
(I don't think this is necessary anymore, as everything in make reviewable test is run in CI (lint, unit tests, check-diff)

How has this code been tested

I ran uptest locally, and will run it again on the PR.
No changes to the actual provider code, just an added example/test case.

/test-examples="examples/sns/topic-fifo.yaml"


Format Age from Days

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes [link to issue]
Engineer Checklist

[ ] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[ ] I have added any strings visible on UI components to the strings.xml file
[ ] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[ ] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[ ] I have built and run the FHIRCore app to verify my change fixes the issue and/or does not break the app
[ ] I have checked that this PR does NOT introduce breaking changes that require an update to Content and/or Configs? If it does add a sample here or a link to exactly what changes need to be made to the content.

Code Reviewer Checklist

[ ] I have verified Unit tests have been written for any new feature(s) and edge cases
[ ] I have verified any strings visible on UI components are in the strings.xml file
[ ] I have verifed the CHANGELOG.md file has any notable changes to the codebase
[ ] I have verified the solution has been implemented in a configurable and generic way for reuseable components
[ ] I have built and run the FHIRCore app to verify the change fixes the issue and/or does not break the app

Any updates on this PR @qiarie? Do we still need it?

@ellykits
This was dependent on the issue of rules and base resource in the main section not being available in subsections. I am waiting for that fix to test this fully

@ellykits This was dependent on the issue of rules and base resource in the main section not being available in subsections. I am waiting for that fix to test this fully

:+1: Noted.


Test runtime provider Interface changes

Passing runsettings as xml

@mayankbansal018,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@dotnet-bot Test this please


Not working on Scaffold resizeToAvoidBottomInset: false

I'm not using resizeToAvoidBottomInset: true because it a bit overweight operation. Otherwise I listen keyboard appearance and increase SingleChildScrollView content insets.
I would like to have EnsureVisibleWhenFocused because it is really great package but it is not working with those settings.

    return Scaffold(
      resizeToAvoidBottomInset: false,
      body: SafeArea(
        bottom: false,
        child: Stack(
          fit: StackFit.expand,
          children: [

Hey @ObranS , thanks for using this package. I will took a look at this and get back to you as soon as possible!

Hey @ObranS , thanks for using this package. I will took a look at this and get back to you as soon as possible!

If it helps I use now fork with constant Alignment 0.3 and it scrolls to visible area. Of course it's requires more math but anyway at least it possible. I will play around this code too and send you PR request when I've done work version.


docs: add authorization note to messages

I'm adding a section about admin groups to the docs and I need a way to be able to say "To learn about permissions of different admin policy accounts, refer to the docs on messages" or something. Having an "Authorized" note in the code will hopefully help keep it up to date.
Related: https://github.com/zeta-chain/docs/pull/216

Did you use the doc on Notion as a reference?

@lumtis I didn't 🤦♂

For maintaining it up-to-date, something I'm thinking could be to maintain a table directly in the codebase that maps message type with authorization, so that possible the docs could be rendered automatically from this table. Could also simplify maintaining authorization and eventually make it upgradable through governance.

I like this!


Add domain_data to Organization API and deprecate domains

Description
Documentation
Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.
[ ] Yes

If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.

@workos/php I'll be taking over this PR, but if one of y'all can give this a review, it'd be much appreciated!