Failed to parse Signature Packet

Describe the bug
While building mariner toolkit one of the packages is reporting invalid signature.
To Reproduce
Steps to reproduce the behavior:
git clone https://github.com/microsoft/CBL-Mariner.git
pushd CBL-Mariner/toolkit
git checkout 2.0-stable
cd toolkit
sudo make package-toolkit REBUILD_TOOLS=y

Expected behavior
toolkit is built successfully.
Screenshots
Error message:
Adding RPM to worker chroot: docbook-style-xsl-1.79.1-13.cm2.noarch.rpm.
make: *** [/Mariner/CBL-Mariner/toolkit/scripts/chroot.mk:48: /Mariner/CBL-Mariner/build/worker/worker_chroot.tar.gz] Error 1

Related failures from build/logs/worker_chroot.log file.
libxml2-devel-2.10.4-2.cm2.x86_64
Adding RPM to worker chroot: docbook-dtd-xml-4.5-11.cm2.noarch.rpm.
Found full path for package docbook-dtd-xml-4.5-11.cm2.noarch.rpm in /Mariner/CBL-Mariner/build/toolchain_rpms: (/Mariner/CBL-Mariner/build/toolchain_rpms/noarch/docbook-dtd-xml-4.5-11.cm2.noarch.rpm)
warning: /Mariner/CBL-Mariner/build/toolchain_rpms/noarch/docbook-dtd-xml-4.5-11.cm2.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 3135ce90: NOKEY
Verifying packages...
Preparing packages...
docbook-dtd-xml-4.5-11.cm2.noarch
Adding RPM to worker chroot: docbook-style-xsl-1.79.1-13.cm2.noarch.rpm.
Found full path for package docbook-style-xsl-1.79.1-13.cm2.noarch.rpm in /Mariner/CBL-Mariner/build/toolchain_rpms: (/Mariner/CBL-Mariner/build/toolchain_rpms/noarch/docbook-style-xsl-1.79.1-13.cm2.noarch.rpm)
error: /Mariner/CBL-Mariner/build/toolchain_rpms/noarch/docbook-style-xsl-1.79.1-13.cm2.noarch.rpm: Header RSA signature: BAD (header tag 268: invalid OpenPGP signature: Parsing an OpenPGP packet:
  Failed to parse Signature Packet
      because: Signature appears to be created by a non-conformant OpenPGP implementation, see <https://github.com/rpm-software-management/rpm/issues/2351>.
      because: Malformed MPI: leading bit is not set: expected bit 1 to be set in        0 (0))
error: /Mariner/CBL-Mariner/build/toolchain_rpms/noarch/docbook-style-xsl-1.79.1-13.cm2.noarch.rpm cannot be installed

I am unable to repro this behavior. I followed the repro steps mentioned.
Can you please once check your environment again.
Reference:

Closing this issue as stale.
Please feel free to reopen if this issue comes up again.


pkg/trace/filters: write an error when regex compile error

What does this PR do?

write an error when regex compile error
%q safely escaped a filter string, so escaped string looks a different value from a value they set.

https://pkg.go.dev/fmt

Go playground: https://go.dev/play/p/P6df2bp6-3z
BEFORE
Invalid resource filter: "App\\Http\\Actions\\HealthAction health"

AFTER
Invalid resource filter: App\Http\Actions\HealthAction health: error parsing regexp: invalid escape sequence: `\H`

Motivation
Kind log message for users.

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

1 ) Build trace-agent.
ubuntu@ip-172-31-4-166:~/go/src/github.com/DataDog/datadog-agent$ python3 -m invoke trace-agent.build --build-exclude=systemd
--- Setting rtloader paths to lib:/home/ubuntu/go/src/github.com/DataDog/datadog-agent/dev/lib | header:/home/ubuntu/go/src/github.com/DataDog/datadog-agent/dev/include | common headers:

2 ) Prepare datadog.yaml
api_key: <API_KEY>
apm_config:
  enabled: true
  ignore_resources:
  - App\Http\Actions\HealthAction health

3 ) Run trace-agent.
ubuntu@ip-172-31-4-166:~/go/src/github.com/DataDog/datadog-agent$ ./bin/trace-agent/trace-agent -config ./bin/datadog.yaml
...
2022-12-08 14:43:31 UTC | TRACE | ERROR | (run.go:275 in Errorf) | Invalid resource filter: App\Http\Actions\HealthAction health: error parsing regexp: invalid escape sequence: `\H`

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

@ahmed-mez Thank you for reviewing my PR!! Updated the PR description.


Upgrade Wagtail to 4.x

Fixes #3018

Update requirements - wagtail and wagtail-cache
Update BaseSetting to BaseSiteSettings
Fix Category StreamBlock at hypha/apply/categories/blocks.py
Add migration changes
Add wagtail_reference_index_ignore = True to models (See this issue on wagtail for more info)

Screenshots
Update to UIs

I tested it locally and was not able to find another issue. @sandeepsajan0 @frjo would be possible for you to check if anything breaks on your local database?

Found an issue on this page:

Update got an issue with the ModelChooserBlock used in the CategoryQuestionBlock. That's what I'm trying to resolve.

I get this notice on the commandline:
/Users/frjo/Sites/hypha/venv/hypha/lib/python3.10/site-packages/django/db/models/base.py:326: RemovedInWagtail50Warning: StreamField must explicitly set use_json_field argument to True/False instead of None.
  value.contribute_to_class(cls, name)

Tested just now and during migration I get:
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration funds.0087_applicationsettings is applied before its dependency wagtailcore.0078_referenceindex on database 'default'.

Regarding the"count increase due to ReferenceIndex". Was there not a setting to disable that? From what I understod it is not a feature Hypha really needs/make use of?

Tried to deploy to otf-devlop but hit "django.db.migrations.exceptions.InconsistentMigrationHistory: Migration funds.0087_applicationsettings is applied before its dependency wagtailcore.0078_referenceindex on database 'default'."

Tried to deploy to otf-devlop but hit "django.db.migrations.exceptions.InconsistentMigrationHistory: Migration funds.0087_applicationsettings is applied before its dependency wagtailcore.0078_referenceindex on database 'default'."

Fixed this by added a new empty migration in the hypha.core app, instead of modifying the old one.

@frjo All is good from my side. Fixed a decent amount of depreciation warnings, while also preventing reference index to be automatically generated for the models that doesn't need them.

Works well for me now! Excellent work. Will test it some more locally and then deploy to the OTF dev env.

Sounds great! I've also rebased it with the main now!

/rebased with main

Rebased with main.

@frjo Does the branch automatically get updated on the dev site?
I've rebased this branch with main and also fixed the issues.

Rebased with latest / updated migration conflicts

I need to update the OTF dev branch manually, will get that done today.

Updated the overridden wagtail admin user templates, got a 500 error trying to edit a user. Deployed to OTF dev site now.

Noticed an issue for the Round edit form.
This is how it looks in current Hypha:

This is with Wagtail 4.x in this PR.
The forms are not listed and there are no edit buttons.

Resolved conflict with main and also fixed issues with the Form display:

Deployed latest to test.


New Version (0.1.966) causes build errors: type errors due to Boxing Issues and INumbers?

In updating from Version 0.1.877 to 0.1.966, my TUnit tests have suddenly stopped being valid.
I've added a PR that shows this change, and the errors attached:
https://github.com/SharpMUSH/SharpMUSH/pull/60
https://github.com/SharpMUSH/SharpMUSH/actions/runs/11219273148/job/31184856701?pr=60
5>BooleanExpressionUnitTests.cs(43,51): Error CS0315 : The type 'bool' cannot be used as type parameter 'TActual' in the generic type or method 'NumberIsExtensions.IsEqualTo<TActual>(IValueSource<TActual>, TActual, string)'. There is no boxing conversion from 'bool' to 'System.Numerics.INumber<bool>'.
5>PatternUnitTests.cs(29,5): Error CS0315 : The type 'bool' cannot be used as type parameter 'TActual' in the generic type or method 'NumberIsExtensions.IsEqualTo<TActual>(IValueSource<TActual>, TActual, string)'. There is no boxing conversion from 'bool' to 'System.Numerics.INumber<bool>'.
5>NameList.cs(24,5): Error CS0315 : The type 'SharpMUSH.Library.Models.DBRef' cannot be used as type parameter 'TActual' in the generic type or method 'NumberIsExtensions.IsEqualTo<TActual>(IValueSource<TActual>, TActual, string)'. There is no boxing conversion from 'SharpMUSH.Library.Models.DBRef' to 'System.Numerics.INumber<SharpMUSH.Library.Models.DBRef>'.
5>BooleanExpressionUnitTests.cs(58,51): Error CS0315 : The type 'bool' cannot be used as type parameter 'TActual' in the generic type or method 'NumberIsExtensions.IsEqualTo<TActual>(IValueSource<TActual>, TActual, string)'. There is no boxing conversion from 'bool' to 'System.Numerics.INumber<bool>'.
5>BooleanExpressionUnitTests.cs(72,47): Error CS0315 : The type 'bool' cannot be used as type parameter 'TActual' in the generic type or method 'NumberIsExtensions.IsEqualTo<TActual>(IValueSource<TActual>, TActual, string)'. There is no boxing conversion from 'bool' to 'System.Numerics.INumber<bool>'.
5>NameList.cs(35,5): Error CS0315 : The type 'SharpMUSH.Library.Models.DBRef' cannot be used as type parameter 'TActual' in the generic type or method 'NumberIsExtensions.IsEqualTo<TActual>(IValueSource<TActual>, TActual, string)'. There is no boxing conversion from 'SharpMUSH.Library.Models.DBRef' to 'System.Numerics.INumber<SharpMUSH.Library.Models.DBRef>'.
5>AnsiStringUnitTests.cs(140,35): Error CS0311 : The type 'MarkupString.MarkupStringModule.MarkupString' cannot be used as type parameter 'TActual' in the generic type or method 'NumberIsExtensions.IsEqualTo<TActual>(IValueSource<TActual>, TActual, string)'. There is no implicit reference conversion from 'MarkupString.MarkupStringModule.MarkupString' to 'System.Numerics.INumber<MarkupString.MarkupStringModule.MarkupString>'.
5>------- Finished building project: SharpMUSH.Tests. Succeeded: False. Errors: 7. Warnings: 0

Apologies @HarryCordewener I did some major refactoring of the assertions library.
I'll have a fix out shortly!

@HarryCordewener can you try 0.1.971

@thomhurst - Some of the errors have gone away. Some have not.
6>NameList.cs(24,5): Error CS0315 : The type 'SharpMUSH.Library.Models.DBRef' cannot be used as type parameter 'TActual' in the generic type or method 'NumberIsExtensions.IsEqualTo<TActual>(IValueSource<TActual>, TActual, string)'. There is no boxing conversion from 'SharpMUSH.Library.Models.DBRef' to 'System.Numerics.INumber<SharpMUSH.Library.Models.DBRef>'.
6>NameList.cs(35,5): Error CS0315 : The type 'SharpMUSH.Library.Models.DBRef' cannot be used as type parameter 'TActual' in the generic type or method 'NumberIsExtensions.IsEqualTo<TActual>(IValueSource<TActual>, TActual, string)'. There is no boxing conversion from 'SharpMUSH.Library.Models.DBRef' to 'System.Numerics.INumber<SharpMUSH.Library.Models.DBRef>'.
6>AnsiStringUnitTests.cs(140,35): Error CS0311 : The type 'MarkupString.MarkupStringModule.MarkupString' cannot be used as type parameter 'TActual' in the generic type or method 'NumberIsExtensions.IsEqualTo<TActual>(IValueSource<TActual>, TActual, string)'. There is no implicit reference conversion from 'MarkupString.MarkupStringModule.MarkupString' to 'System.Numerics.INumber<MarkupString.MarkupStringModule.MarkupString>'.

@HarryCordewener basically there's conflicting generic method signatures so there's two options:
Use IsEquatableOrEqualTo
Or import the namespace TUnit.Assertions.Extensions.Generic to keep using the standard IsEqualTo.
Also you'll need to update to 0.1.980 for the new namespace as I've just added it.

These are rather typical signatures, so I suspect that's going to cause chaos in the future.
I'll try out importing those namespaces.

Using IsEquatableOrEqualTo allowed the build.

I have noticed this issue crop up with assertions that check variables of various enums. Is this expected behaviour? I would have thought an enum is a 'kind of number'. Regardless, is IsEquatableOrEqualTo the correct assertion for checking the enums?

I have noticed this issue crop up with assertions that check variables of various enums. Is this expected behaviour? I would have thought an enum is a 'kind of number'. Regardless, is IsEquatableOrEqualTo the correct assertion for checking the enums?

Yeah it'll call object.Equals, and as enums are just int/value types under the hood, that'll work fine


Upgrade jhipster dependency to support 7.0.1

Dependency update done as part of #346 Pending item is to remove cors overrides from this repo


Revert API-breaking change in name of LOG

Fixing the name of this constant is an API-breaking change.  Reverting.

Coverage increased (+0.2%) to 77.784% when pulling 2a16c3712e33c6e365edb6f42471bd72eb736b23 on feature/fix-api into cf03f34a7d503d97f256772be97064224ee4b9c1 on master.


Update Manual.md

changes #below to #acrion

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

 All committers have signed the CLA.


feat: Add ability for controlling whether or not to create a policy

Description
Add ability for controlling whether or not to create a policy
Motivation and Context
In certain scenarios can be useful to decide which specific policy should be created or not. Let's imagine that we create a module from this module for creating a set of policies that might change depending on the account you are targeting. This change allows you to do that.
Breaking Changes
There is no breaking change as the module still behaving the same by default.
How Has This Been Tested?

[✅] I have tested and validated these changes using one or more of the provided examples/* projects
[✅] Tested over my own AWS account.

Thanks, @gabops !
v4.4.0 has been just released.

Thanks, @gabops !
v4.4.0 has been just released.

Thanks to you for your time reviewing this!


Digitally Sign Build

When trying to install Pear AI windows defender blocks the installation

Describe the solution you'd like
Digitally Sign the application similar to the way Cursor AI does

Example Certificate from Cursor AI

Looking closely to this as well, I'm unable to install mon my company PC


Sensors data availability ?

Dears.  1st big thanks for the project. Quite well working.
Is there any chances to get the sensors data   Like temperature or humidity?
many thanks

Version of the custom_component

Configuration

Add your logs here.

Describe the bug
A clear and concise description of what the bug is.
Debug log

Add your logs here.

Hi there,
What kind of temperature and humidity sensor talking about?
Has Inels some kind of these sensors on BUS protocol?
Kind regards.
JH.

Hello!
Yes Inels has two ways of reporting temperature.  The first is with the built in temperature sensor of the wall switches WS-20 and WS-40 and by adding an external temperature sensor  in the analogue inputs of the switches.  From what I understatand any Inels device that has an analogue input we use a temperature sensor.  The central unit can be used as an interface for it.
This is how I read them in Home Assistant

platform: tcp
name: "Outdoor-Roof Temp"
host: 192.168.1.xx
port: 1111
timeout: 2
payload: "GET,0x01050041\r\n"
value_template: "{{ value.split(',')[2] | int(base=10)/100 }}"
unit_of_measurement: "°C"

I will post screenshots and photos of the actual switches and sensors later on today.
Kind regards,
DS

It is interesting.
This integration is communicating with CU unit through the connection server and there is no way to touch wsb switches at all.
So I'm a bit interesting the way you are reaching the unit.
What version number of the CU unit, you have?
They have many firmware versions even on the same CU type, so it can be very difficult to get data, at the same format.
I'm going to try your code on my CU unit.
I'll be in touch with you soon and share my results.

Hello,
Yes it was intersting finding things out about how to interface with the CU.  I managed to communicate directly through the telnet connection protocol.  You have to use IDM to set that up.  Once you telnet into the CU you can send commands
My CU firmware version is, there is an upgrade but I am hessitant to upgrade it in case it breaks anything.

You have to enable Third Party Communicatin through IDM

This is what comes up on the screen through Putty

You can get the code and name for each device from the Connection server

This is I have it setup in Connection server

This is how I setup a new sensor.  It will later on appear on my Inels phone App

You could probably use this read the temperature from the connection server and create a sensor in Home Assistant.
The tcp sensors in Home Assistant work pretty reliably so far.  I use it to keep track of my hot water boiler on the roof and it has been pretty solid.  I created a climate entity in HA and control on/off of hot water from there.  Paired that with is an NSPanel it is sweet :)

I hope this will be of some sort help to anyone looking to integrate Inels CU temperature sensor to HA.
Kind regards,
DS
PS
This is the temperature sensor on the wall switch, I have this in the garage so I left it without the cover.

Temperature for boiler and NS panel are different because I took the pictures at different times :)

@ds141414 can you shed some more light on using tcp sensor? Friend of mine has inels. not sure which version of CU. But he is using thermometers in rooms, and this is currently not supported by this integration. I am curious if there is any way to get around it - perhaps by querying CU to get raw data that I could parse later. Any help would be appreciated

Hi! No problem,  I will get back to you this afternoon when I am home and gave access to CU.

Hello again!
Have you seen my post here, above actually.  It explains everything how it is done.  I use Home Assistant to create the TCP sensor.
Is there anything specific that you need cleared up?
Happy to help!

Good morning,
I have the same CU, CU3-01M.  This functionality should be available with the 3.3.27 version of IDM but I provide below two links for 3.4.18 and 3.4.19.  The last  one includes an MQTT client.  I haven't been able to make it work as yet, you may want to try it out.

3.4.18
3.4.19

Let me know how you get along!
Have a nice day!

Yes you are right it is for system bits.  However system bits are very easy to work with as you can link them with any on/off device and copy the state.  The issue I faced with that was that after activating MQTT I would lose connection to the CU from IDM.  After a cold restart I would be able to connect back.  Since I am able to control everything with CS and HA integration I kind of put it on the back burner.
I am curious how you fare out
Let me know

Are system bits only for on/off devices? Means these would not include temperature sensors? If yes, it is pointless for me to even try since i can get all other switches/lights through these integrations.
I am interested in temp sensors.
One thing I did not quite get (yet) - is the tcp sensor polling, or is it constantly listening for events? My understanding is that you need to send a payload to get response from CU (that is what payload is there for in definition), but then - how often is HA sending that query?
So far I have asked my friend to enable 3rd party communication, i can telnet into CU on port 1111 but if I just listen for the output in putty (not sending any payload), it just reports "NOP"

Could you perhaps share example of device, how you query it as well as how is it listed in export?
For instance, I found following in export:
'heat_garage 0x02080008 0x02andheat_garage_Temperature Y B<PHONE_NUMBER> REAL PUB_INOUT`
I think my friend did not configure separator, so I have changed it (left it as space, but I have also tried with ,), to see raw value that is returned
- platform: tcp
  name: "Temp Test Inels Garaz"
  host: <IP_ADDRESS>
  port: 1111
  timeout: 2
  payload: "GET 0x02080008\r\n"
  value_template: "{{ value }}"

But this is actually returning GET 0x02080004 N
Therefore I am not sure if I am doing something wrong, or perhaps older firmware acts differently

Hello,
Did you try to interact directly with  the CU via the terminal? That's how I started .  I also set up the separator to be a comma, that way I get single string separated by commas and I pick the value after the second comma.  Have a look below.
This is the sensor from my solar water heater.  The TCP sensor and below the raw data as it is returned from the CU.
Also have a look at this manual from Inels.  It is their manual for ASCII communication with the CU.
idm3_tutorial17_ascii-communication-protocol.pdf
This is my CU setup, notice the comma as the separator.

Also use this this to download the imm file
cu-ip-address/immfiles/export.imm
Here is a sample of my file that includes the example below.  Also notice that the name of the device providing the temperature from the wall switches begins with something like:
WSB3-40_AIN1-AIN2-Therm_017C15 0x01050008 0x00000000 °C

platform: tcp
name: water_heater_temp
host: 192.168.1.xx
port: 1111
timeout: 2
payload: "GET,0x01050009\r\n"
value_template: "{{ value.split(',')[2] | int(base=10)/100 }}"
unit_of_measurement: "°C"

GET,0x01050009
GET,0x01050009,7994
This should give you a good idea!

This helped a lot. One of issues that I was doing is that not all WSB3-40 were exposed. Instead, they were used internally in heating circuits, which was exported but I was unable to query that (which is expected).
Since there are multiple devices I would like to query, I tried to follow the guide you provided, that says user can query multiple parameters in one command:
NOTE: user can stick several requests together by separating each command using special
symbol “;”, e.g. GET 0x01020045 ; GET 0x01020046 ; GET 0x01020047, therefore third-party
application can make only one request instead of three.

Unfortunately, this is not working for me - comma separator is used, but even if I try it in this format:
GET,0x01020045 ; GET,0x01020046 ; GET,0x01020047

It does not return any value. Is this perhaps working for you? I tried that using putty. Querying one by one works fine.
Is there peraps any downside to querying 30+ parameters, each in its own command?
Thank you.

Hi! If you are getting results when you use it one by one then you are OK.  The Home Assistant sensor can only take one input per sensor.
Did you try to setup an HA sensor ?
I assumed you already had the temp variable marked for export and I did not put it in the guide

Sensor works fine. But since I want to query multiple, I wanted to avoid setting multiple TCP sensors and instead, send one command with multiple GET requests, as instructed in manual, and then create sensor based on answer as described here in port #2 https://community.home-assistant.io/t/is-it-possible-to-consigure-one-tcp-sensor-request-and-multiple-sensors-from-the-same-one-response/285846/2
But in my case, CU just won't respond anything if I bundle multiple GET commands together.

Hi!
I was not aware of this option in HA.  I  too have a number of top sensors set up and I don't really like it as it is not a very efficient way to do it.
I am out now, I will try in the afternoon and let you know what happens
Thanks for the info

Thank you. It would be interesting to know if you can query CU via Putty in that way. I was unsuccessful. But I am also still on the older version of FW (02.8C.00).

So I have tried adding around 35 sensors today and clearly CU does not like it. It resets connections (perhaps if too many are opened). I have reduced number to 18, 6 groups with 3 sensors with update interval 10s different from the other. That works, but it is certainly not neat as one cannot rely on the data being received (or not). So wondering if you managed to get multiple GET requests bundled together and sent to CU.

Hello!
Crazy couple of days but I finally found some time to work on this.  Your suggestion of collecting everything is a single sensor really helped.  I set this up a long time ago, before creating the TCP sensor and finding this repo. I set up Telnet switches to control my lights.  Indeed the CU was not happy about that.  Sometime the switches would not initialize.
So this is how I did it.  I based my solution on the post you included a couple of days ago.
With this sensor I am getting all the data from CU.  I guess it is working OK with me when I send the request as a string
sensor:

platform: tcp
name: inels_sensors
host: 192.168.x.xx
port: 1111
timeout: 2
payload: "GET,0x01080007;GET,0x01050009;GET,0x0105000A;GET,0x01050021;GET,0x0105002B;GET,0x01050036;GET,0x01050037;GET,0x0105003F;GET,0x01050029\r\n"
value_template: "{{ value }}"

This stores all the data I get from the CU in the {{vallue}}  variable.  From there all I did was to crate a template sensor and I stacked them up like this

template

sensor:

name: Inels Water Heater Temp
unit_of_measurement: "°C"
state: >
{% set state = states('sensor.inels_sensors')%}
{{state.split(',')[4] | int(base=10)/100 }}

name: Inels Roof Temp
unit_of_measurement: "°C"
state: >
{% set state = states('sensor.inels_sensors')%}
{{state.split(',')[6] | int(base=10)/100 }}

name: Room1 Temp
unit_of_measurement: "°C"
state: >
{% set state = states('sensor.inels_sensors')%}
{{state.split(',')[6] | int(base=10)/100 }}

name: Room2 Temp
unit_of_measurement: "°C"
state: >
{% set state = states('sensor.inels_sensors')%}
{{state.split(',')[8] | int(base=10)/100 }}
etc

Notice how the subscript increases when I move to the next sensor.  Additionally you could use the templates from Helpers to create your sensor.  The downside to that is creating the sensors one by one.
This creates the sensors based on the data from the first sensor.  To make it work I restarted Home Assistant before creating the template sensors.  I did this so that the sensor.inels_sensors  will be created and I could reference it in the Template Generator to make sure everything was working as expected.
It sound weird that the CU is able to respond back with a single request and it does not with multiple.  I don't think this is a firmware issue because I have been running this for a very long time, way before I upgraded to the latest version.
Here are my CU settings

Also this is what I get by sending a single request to my CU

Thanks for response. I don't know honestly. What I do know is that friend of mine runs original firmware for around last 5 years. I guess he will attempt upgrade again to see if it makes any difference.
I have also reached out to Inels, hoping to get an answer, but the answer was that delimitere needs to be set to blank space, which is obviously incorrect since you use "," and it works.
They also advised that MQTT for system bits is available from 3.4.19 rev5 (your link was for rev3), here is link for rev7 - this is a test version

To give an update - attempted to do upgrade to latest FW available in 3.4.19, querying multiple values worked there. However I ran into issues with connection server - that one somehow stopped working, as a result both inels app in phone as well as this HA intergration (since it connects to CS) stopped working. Rolled back to IDM 3.3.x used before - it worked, but was not straight forward as last time. FW got updated to original one couple of times, but then again after connecting it reported v00.00.00 and required CU upgrade. Anyway, we got past it somehow, but CS is still broken.
I am a bit frustrated with this all "ease of use", complicated documentation, and unclear description of what version works with what FW, etc. Such as - you have IDM for basic project creation. That needed to be converted to newer version 3.4.x which created way more entries than before. Then you have connection server, my friend uses older version, I was able to find later image, but again, no clear advice whether it will work, or whether it is required to update it after upgrading to 3.4.19.
I am also curious if one can just easily replace CU3-01M with CU3-08M that would be able to support HA. They also sell separately so called Inels Bridge, which I believe is just some linux OS with potentially dockered version of HA and MQTT. But - does one still need connection server? What for? There is also Inels Cloud available, says it is supported with certain FW versions, but again, unable to find which are those...

Hi!
You beat me to it.  I was on it yesterday as well into the night.  I too installed the latest version of 3.4.19 and managed to get MQTT working.  I can see the topics created in the MQTT Server.  Then there was the mystery on how to make them appear in HA.  It was not clear as you said in the documentation how things are set up for CU3-01M.  After jumping around for a bit I find this https://github.com/epdevlab/elkoep-hacs  After installing that all the bit entities appeared in HA.  So far good news.
What started happening though was everytime I would push an update to the CU it would ask for which settings to use, project settings or CU settings.  I would choose CU settings and the CU would reboot install the project but I was not able to connect to it after that.  At some point it failed completely and nothing would come on and I had to leave the house for a few hours.  So no switchable lights until I got home, factory reset the unit, upgrade the firmware and then re upload the project.  Up to this point everything is working, CU, CS and MQTT integration.  I will leave it for a few days to see how stable it is.  What I noticed though is that after every CU restart CS would stop reconnecting  to CU and after a reboot it would function OK.
To answer your question regarding  replacing CU, yes it is possible.  They have a guide how to do it.  I will find it and post it here.  If I had to choose I would just upgrade to CU3-08 and would not consider the Bridge as it is too expensive.  The bridge is just Home assistant with the Connection server driver baked in plus all the bells and whistles HA to integrate with other systems.
I think I am having better success because at some point I did the whole house on a newer version of IDM and I did not have to go through all the conversion process.

Thanks for sharing.
Out of curiosity - which version of CS do you use?
Also on that guide for CU replacement (upgrade) - this is exactly what I had in mind. Not very transparent about sharing these, I found image of CS one one of lolal branches, I believe it was UK. But nothing on local site. But it is all hit and miss.

Hi!  I hit that documentation wall from day one with Inels.  The hardware is good but it has been a nightmare with documentation.  I remember the first time I had to factory reset the unit.  I coud not find a guide anywhere.  They kind of assume that anyone is supposed to know these things.  I am guessing they are more targeted towards installers and integrators rather than us home tinkerers :)
Anyway back to this.  Have you checked which services are running after the system boots up? When you cannot download the file try telnet to port 80.  That might give you an indication if the http server is running or not.  I would also try to download the file from IDM
My connection server verson is: ver. connection-server-3.362.  If you image for CS is newer than this please share.  I could try it out.

The image I found is 3.362 too. My friend used 3.265. That could somehow contribute to the issue. But still, I would expect that after rolling back to original version, it would work.
The export on CU is not present. CU listens on port 80 as the message thrown is comming from CU's server.

This might be useful, I found it in C:\Users****\ELKO EP\iNELS BUS System\iNELS3 03.04.19 Designer & Manager\Documentation
Recommended minimal firmware version.txt

Thanks. I think that next steps here will be just to upgrade to CU3-08M and do everything natively.

Yes, thats what I am thinking in the future.  There is no sense for inels bridge if you already have a running Home Assistant instance.
Do you have a local supplier for inels hardware or do you order online?

My friend reached out to one of local inels representatives (technical support) just to cofirm the desired plan. As per his instructions, project will need to be reworked. He did not mention any easy way to migrate it over to CU3-08M. But OK, few hours spent is still worth it.
Normally you can't buy anything online here, as it is all sold via partners. But he also offered to sell CU - the price is around 150 EUR for CU3-08M unit. All other units that he has installed (SA3-012M, SA3-04M/06M, DA3-22M, SA3-04M, SA3-012M, WSB3-20/40, IM3-140M) are compatible both with CU3-08M as well as are fully supported by MQTT.

It is the same here in Cyprus, only through local representative.     Last time I checked they wanted around 250 euro for the CU3-08M.  For 150 euro I would buy one now :) Do you think your dealer could send one here ?

If he can't, perhaps I could resend it. Would you be interested?

Hi!  Yes definately!

Can we connect somewhere else (email, ...) so that we are not continuing this OT discussion here?

Yes, I was thinking about that too...we went on a huge tangent email me at<EMAIL_ADDRESS>

Hi only short info from ELKO, there is no compatibility between actors and components used with CU3-01/02 and CU3-08.
But when I see your communication maybe you will find something. :)
Where are you continue with this discusion?

Hi! What exactly are you trying to achieve? In our case we settled on the conclusion that the best way to control Inels devices was to replace Cu3-01m with CU3-08M.
Now trying to find a way to have both units work on the same Bus

I had disucion with some people from Elko (one of them is iNels developer) and they told to me that is not possible run CU3-8 on same instalation as CU3-1/2 (I have version 2). I have question if you have it yet in your instalation and trying run it or no. It will be really interesting info for me.

Have you any better place for this discusion for example Discord?

Hi,
Just set up an inels server on discord
https://discord.gg/Kx9zcacs
Sent from my Galaxy
-------- Original message --------
From: KalKal1976 @.>
Date: 21/12/2024 22:54 (GMT+02:00)
To: JH-Soft-Technology/InelsForHass @.>
Cc: ds141414 @.>, Mention @.>
Subject: Re: [JH-Soft-Technology/InelsForHass] Sensors data availability ? (Issue #15)
Have you any better place for this discusion for example Discord?
—
Reply to this email directly, view it on GitHubhttps://github.com/JH-Soft-Technology/InelsForHass/issues/15#issuecomment-2558238257, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOTE4YCLJYKPG5XXQXR62Y32GXIQDAVCNFSM6AAAAABPQXRWICVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJYGIZTQMRVG4.
You are receiving this because you were mentioned.Message ID: @.***>


feat: add immutable_stack

Summary by CodeRabbit

New Features

Introduced an immutable stack data structure with functionalities such as push, pop, peek, and more.
Added support for Moonbitlang core functionalities in the application.
Implemented a struct ImmutableStack for managing immutable stack data.
Updated README with details on the ImmutableStack data structure.

@CAIMEOX  Help me write the documentation.

@coderabbitai pause

Are there any real-world examples of using immutable_stack? In my experience, a List is sufficient because it's convenient for pattern matching and easy to use with functional code.

Are there any real-world examples of using immutable_stack? In my experience, a List is sufficient because it's convenient for pattern matching and easy to use with functional code.

This is indeed an issue that needs to be considered. However, I think ImmutableStack can be replaced with List but semantically it still can't be labeled with a method to use like Stack. But it's true that there's not much need to rewrite a structure, and I'll close this PR for now, and possibly reopen it when it comes up for discussion again.


[Bug] Profiles are not changing

Addon Version
11.0.2
World of Warcraft Version
Retail
Describe the bug
The goal was to have Player and Target frames in one position (with specific settings) in 1 Cell layout and another position in a second layout. But I've tried changing the "Master Layout" and set it to "Noone" as well as to those two layouts from Cell, but the frames are just fixed at the same position, same settings whatever I do.
For example: I've got a "Healing party" layout in Cell and a "Healing raid" layout. I want Party and Target frames to be on different positions with different widths and settings. How to set it up?
Steps to reproduce
Described above.
BugSack
No response

I find myself unable to replicate this.
With None as the Master Layout I get this position when using my Default layout.

And this when using another layout with changed positions.

Selecting another layout here instead of swapping into another layout doesn't actually load frame positions, that is something I'll look into.

So theoretically if each of these layouts in the above picture had different positions and settings of Player and Target frames and then having Master Layout set to None it should work?

That is the behavior that im seeing when i mess around with it yes.
The "bug" is that positioning with "none" selected doesnt respect what is choosen in the layout dropdown, like the rest of the settings do


devsec3

Devsec detection
Github Commit In Develop

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Github Commit In Develop :white_check_mark:

diskUsage: 163840
runDuration: 1.016s
scanCount: 1


add block template miner service

:x: Build AElf <IP_ADDRESS>7 failed (commit https://github.com/AElfProject/AElf/commit/0c047ee989 by @loning)


DispatchQoS and DispatchSpecificKey should have consistent Sendable conformances between macOS and linux

Description
the DispatchQoS and DispatchSpecificKey are conditionally Sendable on macOS, but not on linux for some reason, which creates a needless portability barrier for developers that aim to support both platforms.
Reproduction
import Dispatch
func f()
{
    let x:DispatchQoS = { fatalError() }()
    Task.init
    {
        let y:DispatchQoS = x
        let _ = y
    }
    Task.init
    {
        let y:DispatchQoS = x
        let _ = y
    }
}

Expected behavior
the types should have consistent conformances across platforms
Environment
$ swiftc --version
Swift version 6.0.1 (swift-6.0.1-RELEASE)
Target: x86_64-unknown-linux-gnu
Additional information
the original context was attempting to build GRDB.swift on linux

this seems like a duplicate of: https://github.com/apple/swift-corelibs-libdispatch/issues/845

@parkera Are you able to transfer this?

@rokhinip would have the power to do so; I don't sadly.

It seems we can't transfer issues cross org; @tayloraswift please open this on corelibs dispatch, we can't do anything about it in swiftlang/swift.


[ERROR PDN-9999] Unexpected error: key "vccd1" not known in dictionary

The bug
The following error message shows up during the floorplan step and the flow fails:
[INFO PDN-0012] **** END INFO ****
[INFO PDN-0013] Inserting stdcell grid - grid
[INFO PDN-0010] Inserting macro grid for 10 macros
[INFO PDN-0034]   - grid for instance proc.h.z.vcore.dmem.macro.mem.sram8x1024_1
[INFO PDN-0034]   - grid for instance proc.h.z.vcore.dmem.macro.mem.sram8x1024_2
[INFO PDN-0034]   - grid for instance proc.h.z.vcore.dmem.macro.mem.sram8x1024_3
[INFO PDN-0034]   - grid for instance proc.h.z.vcore.dmem.macro.mem.sram8x1024_4
[INFO PDN-0034]   - grid for instance proc.h.z.vcore.icache0.imem_0.macro.mem.sram8x1024_1
[INFO PDN-0034]   - grid for instance proc.h.z.vcore.icache0.imem_0.macro.mem.sram8x1024_2
[INFO PDN-0034]   - grid for instance proc.h.z.vcore.icache0.imem_0.macro.mem.sram8x1024_3
[INFO PDN-0034]   - grid for instance proc.h.z.vcore.icache0.imem_0.macro.mem.sram8x1024_4
[INFO PDN-0034]   - grid for instance proc.h.z.vcore.icache0.imem_0.macro.mem.sram8x1024_5
[INFO PDN-0034]   - grid for instance proc.h.z.vcore.icache0.imem_0.macro.mem.sram8x1024_6
[INFO PDN-0015] Writing to database
-code 1 -level 0 -errorcode NONE -errorinfo {key "vccd1" not known in dictionary
    while executing
"dict get $global_connections $net_name"
    (procedure "get_valid_mterms" line 5)
    invoked from within
"get_valid_mterms $net_name"
    (procedure "get_global_connect_list_default" line 8)
    invoked from within
"get_global_connect_list_default [dict get $design_data core_domain] false"
    (procedure "export_opendb_global_connection" line 8)
    invoked from within
"export_opendb_global_connection"
    (procedure "export_opendb_specialnets" line 13)
    invoked from within
"export_opendb_specialnets"
    (procedure "opendb_update_grid" line 4)
    invoked from within
"opendb_update_grid"
    (procedure "apply" line 7)
    invoked from within
"apply $config"
    (procedure "pdngen::apply_pdn" line 13)
    invoked from within
"pdngen::apply_pdn $config_file $verbose "} -errorline 9
[ERROR PDN-9999] Unexpected error: key "vccd1" not known in dictionary
PDN-9999
[ERROR]: during executing: "openroad -exit /openLANE_flow/scripts/openroad/or_pdn.tcl |& tee >&@stdout /openLANE_flow/designs/bsg_manycore_tile_compute_mesh_real/runs/14-08_17-42/logs/floorplan/13-pdn.log"
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
child process exited abnormally

[ERROR]: Please check openroad  log file
[ERROR]: Dumping to /openLANE_flow/designs/bsg_manycore_tile_compute_mesh_real/runs/14-08_17-42/error.log

This issue does not arise on the stable OpenLane (v0.21) frozen by Efabless for the shuttle.
Steps to reproduce the behavior:

Place the design in OpenLane (2021.08.02_05.21.44-7-g71bf5bd)
Run the flow
This error should show up during the floorplan step.

As this issue doesn't occur in the stable version of OpenLane (v0.21), expecting this to be an issue specific to the newer OpenLane (2021.08.02_05.21.44-7-g71bf5bd)
Versions Used:

OS: Ubuntu 20.04.1 LTS
Openlane Version: 2021.08.02_05.21.44-7-g71bf5bd
open_pdks Version: 1.0.205 (6de165cc41b9f1050006d37288c8121c23756406)

Additional Context
This issue has also been observed when running the flow on a black parrot design.
This issue does not occur on the default spm design.
It seems to be occurring when macros are used but it does not occur on the default 'manual_macro_placement_test' design.
This is the config file used

@maliberty Does pdngen support different names for VPWR/VGND yet?

@Colin-Holehouse is the right person to ask about pdngen.  Does pdngen support different names for VPWR/VGND yet?

Just adding on, it seems for macros, giving explicit naming for the power and ground pins is suggested in the PDN part of the manual, am I understanding it correctly?
I think having the power pins named as 'vccd1' & 'vssd1' for the macro should be possible because:
-> I had previously been able to push a simple SRAM wrapper  through the stable version of OpenLane (v0.21) using this same naming scheme ('vccd1' and 'vssd1').
-> Also, the LEFs of the openram test chip  in the shuttle also seem to be utilizing "vccd1" & "vssd1" as the naming for the power and ground pins respectively.
Am I right?

The incoming netlist after synthesis has no power/ground connectivity, so there needs to be a mechanism to define the power/ground net names and connections.
The pdn code has a default set of global connections defined:
variable default_global_connections {
  VDD {
    {inst_name .* pin_name ^VDD$}
    {inst_name .* pin_name ^VDDPE$}
    {inst_name .* pin_name ^VDDCE$}
  }
  VSS {
    {inst_name .* pin_name ^VSS$}
    {inst_name .* pin_name ^VSSE$}
  }
}

This declares the net VDD and states that pins matching patterns ^VDD$, ^VDDPE$ and ^VDDCE$ found on instances matching the pattern .* (i.e. all instances) are to be connected to this net. Similarly for VSS.
If for your design style you dont want these names for power and ground, and/or you need to have different instance/pin patterns then  you can specify them in the PDN config file as follows
set pdngen::global_connections {
  vccd1 {
    {inst_name .* pin_name ^VDD$}
  }
  vssd1 {
    {inst_name .* pin_name ^VSS$}
  }
}

or else you could use the (new) TCL command add_global_connection e.g.
add_global_connection -net vccd1 -pin_pattern {^VDD$} -power
add_global_connection -net vssd1 -pin_pattern {^VDD$} -power

(there is a -inst_pattern option, which defaults to .* if not specified)
The error that is reported above arises because vccd1 is not specified in the global connections definition. I will add an error message to this effect.
Using the approach described above, it should be possible to have any net name for your power/ground nets, and it should be possible to connect to any desired pin on any given instance to fore the power/ground net connectivity.

I tried the TCL command mentioned but it says it's not found.
% add_global_connection -net vccd1 -pin_pattern {^VDD$} -power
invalid command name "add_global_connection"

I tried it on one of the newer versions  2021.08.17_03.26.57 too, still the same error. Am I missing something?
As earlier mentioned I am able to push through a simple SRAM wrapper with the naming 'vccd1', 'vssd1', through OpenLane v0.21 without having to give any separate PDN config file or the 'add_global_connection' command. I checked the connections to the macro power pins in the resulting GDS and they indeed seem to be connected properly (Image below)

(The vertical strips on the right are the vccd1 and vssd1 of the macro.)
It was only on the newer OpenLane version, that I had to specify a separate PDN config file for pushing the same design. If it runs on a previous version without the need for a separate pdn config (or command), then on the newer version too it should run without one, am I right? Or is this expected in the newer versions?

All you need to do is add this to config.tcl:
set ::env(PDN_CFG) $::env(DESIGN_DIR)/pdn.tcl

Then add this file as pdn.tcl to the same directory as config.tcl:
# Power nets

if { ! [info exists ::env(VDD_NET)] } {
	set ::env(VDD_NET) $::env(VDD_PIN)
}

if { ! [info exists ::env(GND_NET)] } {
	set ::env(GND_NET) $::env(GND_PIN)
}
set ::power_nets $::env(VDD_NET)
set ::ground_nets $::env(GND_NET)

if { [info exists ::env(FP_PDN_ENABLE_GLOBAL_CONNECTIONS)] } {
    if { $::env(FP_PDN_ENABLE_GLOBAL_CONNECTIONS) == 1 } {
        # to parameterize -- needs a PDNGEN fix
        set pdngen::global_connections {
            vccd1 {
                {inst_name .* pin_name VPWR}
                {inst_name .* pin_name VPB}
            }
            vssd1 {
                {inst_name .* pin_name VGND}
                {inst_name .* pin_name VNB}
            }
        }
    }
}

# Used if the design is the core of the chip
set stdcell_core {
    name grid
    straps {
	    $::env(FP_PDN_LOWER_LAYER) {width $::env(FP_PDN_VWIDTH) pitch $::env(FP_PDN_VPITCH) offset $::env(FP_PDN_VOFFSET)}
	    $::env(FP_PDN_UPPER_LAYER) {width $::env(FP_PDN_HWIDTH) pitch $::env(FP_PDN_HPITCH) offset $::env(FP_PDN_HOFFSET)}
    }
    connect {{$::env(FP_PDN_LOWER_LAYER) $::env(FP_PDN_UPPER_LAYER)}}
    pins { $::env(FP_PDN_UPPER_LAYER) }
}

# Used if the design is a macro in the core
set stdcell_macro {
    name grid
    straps {
	    $::env(FP_PDN_LOWER_LAYER) {width $::env(FP_PDN_VWIDTH) pitch $::env(FP_PDN_VPITCH) offset $::env(FP_PDN_VOFFSET)}
    }
    connect {}
}

# Assesses whether the deisgn is the core of the chip or not based on the value of $::env(DESIGN_IS_CORE) and uses the appropriate stdcell section
if { [info exists ::env(DESIGN_IS_CORE)] } {
    if { $::env(DESIGN_IS_CORE) == 1 } {
        set stdcell $stdcell_core
    } else {
        set stdcell $stdcell_macro
    }
} else {
    set stdcell $stdcell_core
}

# Adds the core ring if enabled.
if { [info exists ::env(FP_PDN_CORE_RING)] } {
    if { $::env(FP_PDN_CORE_RING) == 1 } {
        dict append stdcell core_ring {
                $::env(FP_PDN_LOWER_LAYER) {width $::env(FP_PDN_CORE_RING_VWIDTH) spacing $::env(FP_PDN_CORE_RING_VSPACING) core_offset $::env(FP_PDN_CORE_RING_VOFFSET)}
                $::env(FP_PDN_UPPER_LAYER) {width $::env(FP_PDN_CORE_RING_HWIDTH) spacing $::env(FP_PDN_CORE_RING_HSPACING) core_offset $::env(FP_PDN_CORE_RING_HOFFSET)}
            }
    }
}

# Adds the core ring if enabled.
if { [info exists ::env(FP_PDN_ENABLE_RAILS)] } {
    if { $::env(FP_PDN_ENABLE_RAILS) == 1 } {
		dict append stdcell rails {
			$::env(FP_PDN_RAILS_LAYER) {width $::env(FP_PDN_RAIL_WIDTH) pitch $::env(PLACE_SITE_HEIGHT) offset $::env(FP_PDN_RAIL_OFFSET)}
		}
		dict update stdcell connect current_connect {
			append current_connect { {$::env(FP_PDN_RAILS_LAYER) $::env(FP_PDN_LOWER_LAYER)}}
		}
    } else {
		dict append stdcell rails {}
	}
}

pdngen::specify_grid stdcell [subst $stdcell]

# A general macro that follows the premise of the set heirarchy. You may want to modify this or add other macro configs
# TODO: generate automatically per instance:
set macro {
    orient {R0 R180 MX MY R90 R270 MXR90 MYR90}
    power_pins $::env(VDD_NET)
    ground_pins $::env(GND_NET)
    blockages "li1 met1 met2 met3 met4"
    straps {
    }
    connect {{$::env(FP_PDN_LOWER_LAYER)_PIN_ver $::env(FP_PDN_UPPER_LAYER)}}
}

pdngen::specify_grid macro [subst $macro]

set ::halo [expr min($::env(FP_HORIZONTAL_HALO), $::env(FP_VERTICAL_HALO))]

# POWER or GROUND #Std. cell rails starting with power or ground rails at the bottom of the core area
set ::rails_start_with "POWER" ;

# POWER or GROUND #Upper metal stripes starting with power or ground rails at the left/bottom of the core area
set ::stripes_start_with "POWER" ;

There is something to be said here that these values should be VDD_NET and GND_NET   by default, but that's an Open PDKs issue.

Fixed by #609


Input Validation

It accepts strings as input, which then outputs NaN in fields below

you are welcome to enable validation in JS

This repository has Jekyll default project and does not correspond to https://khattak.info/nustfinancialreward/
This repository has https://cs334seecs.github.io/nust-financial-reward/ as active GitHub page

What is the workaround to enable validation in JS?


Enable Github plugin for Code Climate

We have added the ballerina-lang repo to Code Climate, but don't seem to be making any use of it. I think it would be good to enable the Github plugin for Code Climate. This way, we'll know of quality issues when the PR sent and can fix it then and there.

I am closing this as we have now integrated CodeCov for coverage reportings


Investigate latency when using a running service

amshali reports about a 5 second latency to run, even when analyzing a file in the same directory. We should make sure this is mostly/entirely the analyzer and that there aren't obvious performance problems in shipshape.

It looks like when I run shipshape in its default mode on a single .shipshape file it still takes 19seconds.

Actually it is just me, it looks like no one else is having these kinds of performance problems. Leaving open since latency could be improved, but downgrading priority.

Fixed issues I was having by updating our docker inspect command.

Seems to be confirmed for me now. Initial run takes about 5 seconds, subsequent runs are taking 3 seconds.


Anthropic only uses Last System Message

What Happened?
The way Portkey is set up, when sending multiple system messages to anthropic, only the last message is sent.
What Should Have Happened?
I'd propose that a better solution, since anthropic only allows a single system message to be provided, would be to concatenate all the provided system messages together, instead of only sending the last one.
If this seems reasonable, I can write the code for it.
Relevant Code Snippet
Note how system message is just wholesale overwritten in every iteration of param,messages:
https://github.com/Portkey-AI/gateway/blob/fe0899bbf1a0f65f8f751aca8fca1b0a4409acb4/src/providers/anthropic/chatComplete.ts#L174-L186
Your Twitter/LinkedIn
@jamespulec

Thank you @jpulec - this seems interesting and useful. Tagging @VisargD / @roh26it who can give the final go.

Hi @jpulec - Sounds like the right approach, can you raise a PR for this. Would be happy to merge this.


Fix GitHub source code links due to missing env vars

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>6:
0.0%

Covered Lines:
53

Relevant Lines:
53

💛  - Coveralls


[BUG] Required typer.Option for Tuple raises TypeError: It would appear that nargs is set to conflict with the composite type arity

Describe the bug
For an option that is of Tuple type and set to required with ..., a TypeError occurs when no value passed in the command line.
To Reproduce
Steps to reproduce the behavior with a minimum self-contained file.
Replace each part with your own scenario:

Create a file main.py with:

from typing import Optional, Tuple

import typer

app = typer.Typer()

@app.command()
def run(tuple_option: Tuple[float, float, float, float] = typer.Option(...)) -> None:
    print(tuple_option)

if __name__ == "__main__":
    app()

Call it with:

python main.py

It outputs:

Traceback (most recent call last):
  File "main.py", line 15, in <module>
    app()
  File "venv/lib/python3.8/site-packages/typer/main.py", line 214, in __call__
    return get_command(self)(*args, **kwargs)
  File "venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "venv/lib/python3.8/site-packages/click/core.py", line 781, in main
    with self.make_context(prog_name, args, **extra) as ctx:
  File "venv/lib/python3.8/site-packages/click/core.py", line 700, in make_context
    self.parse_args(ctx, args)
  File "venv/lib/python3.8/site-packages/click/core.py", line 1048, in parse_args
    value, args = param.handle_parse_result(ctx, opts, args)
  File "venv/lib/python3.8/site-packages/click/core.py", line 1623, in handle_parse_result
    value = self.full_process_value(ctx, value)
  File "venv/lib/python3.8/site-packages/click/core.py", line 1965, in full_process_value
    return Parameter.full_process_value(self, ctx, value)
  File "venv/lib/python3.8/site-packages/click/core.py", line 1592, in full_process_value
    value = self.get_default(ctx)
  File "venv/lib/python3.8/site-packages/click/core.py", line 1917, in get_default
    return Parameter.get_default(self, ctx)
  File "venv/lib/python3.8/site-packages/click/core.py", line 1534, in get_default
    return self.type_cast_value(ctx, rv)
  File "venv/lib/python3.8/site-packages/click/core.py", line 1561, in type_cast_value
    return self.type(value or (), self, ctx)
  File "venv/lib/python3.8/site-packages/click/types.py", line 46, in __call__
    return self.convert(value, param, ctx)
  File "venv/lib/python3.8/site-packages/click/types.py", line 681, in convert
    raise TypeError(
TypeError: It would appear that nargs is set to conflict with the composite type arity.

But I expected it to output:

Usage: typer_bug.py [OPTIONS]
Try 'typer_bug.py --help' for help.

Error: Missing option '--tuple-option'.

Expected behavior
Act like other required options.
Environment

OS: Linux Ubuntu 20.04
Typer Version 0.3.2
Python 3.8.5

Additional context
Same exception with this setting:
@app.command()
def run(tuple_option: Tuple[float, float, float, float] = typer.Option(None)) -> None:
   pass

No exception with this:
@app.command()
def run(tuple_option: Tuple[float, float, float, float] = typer.Option((None, None, None, None))) -> None:
   pass

I think this issue is due to Click -> https://github.com/pallets/click/issues/789

https://github.com/pallets/click/issues/789 has now been fixed!


fix(v2): resolve webpack loaders from siteDir/node_modules

Motivation
Fix url-loader not found if the docs folder is outside siteDir. Fixes #2724.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Tested on react-native site migration repo

Thanks
Wonder if siteDir/node_modules should actually be the first in that array? Do you think there's a case where we'd like to look at /parent/node_modules in priority over /parent/siteDir/node_modules?
If a dep exist in the 2 node modules, in 2 different versions, I think we should consider first the one of the sitedir right?

"node_module" will just be like check-in all node_module, If not found fallback to siteDir/node_modules.

Let's merge this, and see if it improves the URL loader problem.
Not 100% convinced the order is right, but we'll see if someone will come with an issue


⚠ Bofrost.at has degraded performance

In aa006d3, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1385 ms

Resolved: Bofrost.at performance has improved in 7be40a2 after 303 days, 17 hours, 17 minutes.


Improve handling of command arguments in uv run and uv tool run

Closes https://github.com/astral-sh/uv/issues/4390
We no longer require -- to disambiguate child command options that overlap with uv options.

Can you say at a high level how this works? Does this introduce any ambiguities?

Honestly I'm not sure about the details, just that this is the standard flag for this purpose. My understanding is as follows though:

Once we start parsing the external command we'll treat all the flags we see as options for that command
If we add a uv run subcommand e.g. uv run list then list will be treated as a uv subcommand
Now, the only reason to use -- is to disambiguate between an external subcommand and a uv subcommand but we don't have any right now


Max lenght of the subscription name?

Hi,
For most resources listed above, there is a min and max length for the name. But this is not stated for subscriptions. It would be nice if this was added :-)
Regards Peter

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

ID: 0e540bb6-9f72-0529-28ea-ae82bc869835
Version Independent ID: 24e71392-985b-59fb-1552-46395b169612
Content: Naming conventions for Azure resources - Best practices for cloud applications
Content Source: docs/best-practices/naming-conventions.md
Service: architecture-center
Sub-service: cloud-fundamentals
GitHub Login: @telmosampaio
Microsoft Alias: pnp

Hi @theheatDK - Thank you for your feedback! We have assigned this issue to the author to review further and take the right course of action.

Hi @doodlemania2,
You have closed this without any comments? Is there a min/max? Do you not want to share what they are?
Regards Peter

Hi @theheatDK - apologies for the confusion, your issue was closed as resolved as we pushed an update to the document this morning addressing it! It can take several hours to distribute the updated content worldwide. In the interim, the magic number is 1-64 alphanumeric except < > | and ;

Ah perfect. Thank you @doodlemania2


fix bootstrap when platform.gcc.arch=="skylake"

Exceprt from #59148 needed to bootstrap post-#59225 staging with gcc.arch == "skylake" (mainly by avoiding to pass unsupported flags to bootstrap GCC and by preventing to build on the machines which did not declare their architecture the nix-build feature)

It does not include fixes for qt or crypto++.
Let's check first that it doesn't break ARM

@GrahamcOfBorg build perl

Let's merge?
there are qt/libreoffice-fixes and nix.systemFeatures in the queue.
And... do you know a convenient way to specify platform.gcc.arch (platform.gcc.tune, ...) which could be recommended for the public and put into the documentation ?
I am using fork of nixops (with per-machine channel, system and platform) even targeting localhost, but most people use /etc/nix/configuration.nix
Otherwise we will be the only users of this feature


Update css-scroll-behavior.json

Safari on iOS has the same support as macOS ... smooth scrolling is considered an experimental feature, and can be turned on in Settings > Safari > Advanced > Experimental Features > CSSOM View Smooth Scrolling.

Thanks!


nzPageSizeOptions not working on Tree Table

Reproduction link
https://ng-zorro-antd-ivy-7z28hv.stackblitz.io
Steps to reproduce
Provide Tree Data Table an option to display the number of records based on show size changer.
What is expected?
nzShowPagination and nzShowSizeChanger should work on Tree Data Table.
What is actually happening?
Pagination and SizeChanger are displaying in the application but all the records are displaying at once (on single page).
SizeChanger cannot be able to restrict the number of records per page.
In this case all records displays in page 1 always.
Is there a way to fix this?
Is seems to be Pagination is a bug and SizeChanger is a lack of feature on Tree Data Table.

Environment
Info

ng-zorro-antd
9.2.1

Browser
All

Documentation is very minimal and lacking information on many features. Need to improve documentation by providing enough information.

Please provide a reproduction with source code like https://stackblitz.com/edit/ng-zorro-antd-ivy.


fbConfig contains apiKey

You probably don't upload  your firebase api key to github publicly. Just FYI.

@ckwong90 thanks for observation, it's from "demo" app, to allow users take a look at demos without configuration


Firing a hook only once rather than each time when logging something

Hi,
Is there a way of firing a hook only once (e.g. when we boot the app) rather than firing every when we log something?
Thanks
var o sync.Once

func BootOnce(level uint32) {
	o.Do(func() {
		logrus.SetLevel(logrus.Level(level))
		logrus.SetOutput(os.Stdout)
		logrus.SetFormatter(&logrus.JSONFormatter{
			FieldMap: logrus.FieldMap{
				logrus.FieldKeyMsg: "message",
			},
		})

		logrus.AddHook(defaultFields{
			env: func() string { return env },
		})
	})
}

type defaultFields struct {
	env func() string
}

func (df defaultFields) Levels() []logrus.Level {
	return logrus.AllLevels
}

func (df defaultFields) Fire(e *logrus.Entry) error {
	fmt.Println("Fired")

	e.Data["env"] = df.env()

	return nil
}

current
Fired
{.... a log ...}
Fired
{.... another log ...}
Fired
{.... and another log ...}

aim
Fired
{.... a log ...}
{.... another log ...}
{.... and another log ...}

Write a hook who's Fire function contains a sync.Once.Do() ?
Example: https://play.golang.org/p/m5rvn2gLtmp

My bad. I didn't make it clear. Once it is fired, the custom field env will always be in the logs so not only when it is fired.

There are at least two different ways to do this. I recommend the first one as it sets you up for always injecting the logger and not relying on a global logger.

https://play.golang.org/p/bdJIcdz4ca6 : capture the value of logrus.WithField and use that as your logger.
https://play.golang.org/p/RLMTH7g9xXA : Have a hook always add a key if the entry doesn't exist already.

For now I'll go with the second option as it is easier to integrate with the current structure. However, I'll keep the first option in my mind. Thanks for taking time to provide useful answers!


fix: documentation errors

I was reading the documentation and was slightly confused, having looked at the tests I think the documentation was slightly off for the the spy function.

Thank you for noticing!


Drop unnecessary $(mise env)

Removing the second mise invocation seems to have no effect, to the best of my ability to discern; and it both

improves startup-time, and
reduces line-noise if there's any missing packages (see jdx/mise#1561).

I just confirmed with mise version 2024.2.0 that calling the mise env is still required when any of the install plugins / tools to the global environment are immediately required later within your .zshrc.

Updated the plugin to use mise hook-env -s zsh instead of mise env.
As recommended by the mise team : https://mise.jdx.dev/dev-tools/shims.html#zshrc-bashrc-files


use Tester and new tests

Hi,
thanks for simple but a nice and helpfull class for color manipulation.
I just rewrite the test from the PhpUnit to the Tester (http://tester.nette.org) and add new tests for color analyzation. More tests will come.
I hope you will see that write tests in Tester are super easy and will merge it to your code. If not, it's not a problem, i rewrite the new test to PhpUnit.

Thank you for adding the new test for color change.


Add OGC API - Features support

Support of OGC API Features as layer type would be great.
https://ogcapi.ogc.org/features/

see #10963 and https://github.com/opengeospatial/ogcapi-code-sprint-2021-05/issues/1#issuecomment-838610721

#10963 is about OGC API - Tiles. To support OGC API - Features, we have everything in place already: the format (GeoJSON), and an API to tell a vector source how to load data incrementally (tiled and bbox loading strategy. Similar to a WFS layer.
If someone can point me to a publicly available and maintained server providing OGC API - Tiles, I'd be happy to create an example.

Here we go: https://ogc-api.nrw.de/  OGC API Features of the state North Rhine Westphalia (Germany)

Thanks, works for me! The issue could be closed.


Basic setup for the repo with linting and github actions

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@ffe539e). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #1   +/-   ##
=======================================
  Coverage        ?   96.05%
=======================================
  Files           ?        3
  Lines           ?      203
  Branches        ?       35
=======================================
  Hits            ?      195
  Misses          ?        4
  Partials        ?        4

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@ffe539e). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #1   +/-   ##
=======================================
  Coverage        ?   96.05%
=======================================
  Files           ?        3
  Lines           ?      203
  Branches        ?       35
=======================================
  Hits            ?      195
  Misses          ?        4
  Partials        ?        4


Ignore backup files when extracting version

$ dune-release tag
[-] Extracting tag from first entry in CHANGES.md~

After removing the backup file, it works correctly.

This is indeed weird, I'll take a look!


[5.6] Caching collections with database (PostgreSQL) cache driver doesn't work

Laravel Version: 5.6.38
PHP Version: 7.2.5
Database Driver & Version: PostgreSQL 10.3

Description:
Caching collections when using the database driver doesn't work when using PostgreSQL. The issue seems to be that in PostgreSQL null bytes can't be stored in columns of the type text.
This is what ends up being saved into the database:
O:39:"Illuminate\Database\Eloquent\Collection":1:{s:8:"

This string was serialized but it's cut off and therefore corrupted, and it can not be unserialized. When trying to read it from cache, this exception is thrown:
unserialize(): Error at offset 52 of 55 bytes

This is an example SQL query that ends up saving a corrupted serialized string into the database:
[2018-09-05 14:38:34] local.INFO: array (
  'query' => 'insert into "cache" ("key", "value", "expiration") values (?, ?, ?)',
  'bindings' =>
  array (
    0 => 'app_name_cachespatie.permission.cache',
    1 => 'O:39:"Illuminate\\Database\\Eloquent\\Collection":1:{s:8:"' . "\0" . '*' . "\0" . 'items";a:1:{i:0;O:35:"Spatie\\Permission\\Models\\Permission":28:{s:7:"guarded";a:1:{i:0;s:2:"id";}s:13:"' . "\0" . '*' . "\0" . 'connection";s:5:"pgsql";s:8:"' . "\0" . '*' . "\0" . 'table";s:11:"permissions";s:13:"' . "\0" . '*' . "\0" . 'primaryKey";s:2:"id";s:10:"' . "\0" . '*' . "\0" . 'keyType";s:3:"int";s:12:"incrementing";b:1;s:7:"' . "\0" . '*' . "\0" . 'with";a:0:{}s:12:"' . "\0" . '*' . "\0" . 'withCount";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'perPage";i:15;s:6:"exists";b:1;s:18:"wasRecentlyCreated";b:0;s:13:"' . "\0" . '*' . "\0" . 'attributes";a:5:{s:2:"id";i:19;s:4:"name";s:6:"q2Yk6f";s:10:"guard_name";s:3:"web";s:10:"created_at";s:19:"2018-09-05 14:36:59";s:10:"updated_at";s:19:"2018-09-05 14:36:59";}s:11:"' . "\0" . '*' . "\0" . 'original";a:5:{s:2:"id";i:19;s:4:"name";s:6:"q2Yk6f";s:10:"guard_name";s:3:"web";s:10:"created_at";s:19:"2018-09-05 14:36:59";s:10:"updated_at";s:19:"2018-09-05 14:36:59";}s:10:"' . "\0" . '*' . "\0" . 'changes";a:0:{}s:8:"' . "\0" . '*' . "\0" . 'casts";a:0:{}s:8:"' . "\0" . '*' . "\0" . 'dates";a:0:{}s:13:"' . "\0" . '*' . "\0" . 'dateFormat";N;s:10:"' . "\0" . '*' . "\0" . 'appends";a:0:{}s:19:"' . "\0" . '*' . "\0" . 'dispatchesEvents";a:0:{}s:14:"' . "\0" . '*' . "\0" . 'observables";a:0:{}s:12:"' . "\0" . '*' . "\0" . 'relations";a:1:{s:5:"roles";O:39:"Illuminate\\Database\\Eloquent\\Collection":1:{s:8:"' . "\0" . '*' . "\0" . 'items";a:1:{i:0;O:29:"Spatie\\Permission\\Models\\Role":27:{s:7:"guarded";a:1:{i:0;s:2:"id";}s:13:"' . "\0" . '*' . "\0" . 'connection";s:5:"pgsql";s:8:"' . "\0" . '*' . "\0" . 'table";s:5:"roles";s:13:"' . "\0" . '*' . "\0" . 'primaryKey";s:2:"id";s:10:"' . "\0" . '*' . "\0" . 'keyType";s:3:"int";s:12:"incrementing";b:1;s:7:"' . "\0" . '*' . "\0" . 'with";a:0:{}s:12:"' . "\0" . '*' . "\0" . 'withCount";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'perPage";i:15;s:6:"exists";b:1;s:18:"wasRecentlyCreated";b:0;s:13:"' . "\0" . '*' . "\0" . 'attributes";a:5:{s:2:"id";i:19;s:4:"name";s:6:"DWZhv1";s:10:"guard_name";s:3:"web";s:10:"created_at";s:19:"2018-09-05 14:36:59";s:10:"updated_at";s:19:"2018-09-05 14:36:59";}s:11:"' . "\0" . '*' . "\0" . 'original";a:7:{s:2:"id";i:19;s:4:"name";s:6:"DWZhv1";s:10:"guard_name";s:3:"web";s:10:"created_at";s:19:"2018-09-05 14:36:59";s:10:"updated_at";s:19:"2018-09-05 14:36:59";s:19:"pivot_permission_id";i:19;s:13:"pivot_role_id";i:19;}s:10:"' . "\0" . '*' . "\0" . 'changes";a:0:{}s:8:"' . "\0" . '*' . "\0" . 'casts";a:0:{}s:8:"' . "\0" . '*' . "\0" . 'dates";a:0:{}s:13:"' . "\0" . '*' . "\0" . 'dateFormat";N;s:10:"' . "\0" . '*' . "\0" . 'appends";a:0:{}s:19:"' . "\0" . '*' . "\0" . 'dispatchesEvents";a:0:{}s:14:"' . "\0" . '*' . "\0" . 'observables";a:0:{}s:12:"' . "\0" . '*' . "\0" . 'relations";a:1:{s:5:"pivot";O:44:"Illuminate\\Database\\Eloquent\\Relations\\Pivot":29:{s:11:"pivotParent";O:35:"Spatie\\Permission\\Models\\Permission":28:{s:7:"guarded";a:1:{i:0;s:2:"id";}s:13:"' . "\0" . '*' . "\0" . 'connection";N;s:8:"' . "\0" . '*' . "\0" . 'table";s:11:"permissions";s:13:"' . "\0" . '*' . "\0" . 'primaryKey";s:2:"id";s:10:"' . "\0" . '*' . "\0" . 'keyType";s:3:"int";s:12:"incrementing";b:1;s:7:"' . "\0" . '*' . "\0" . 'with";a:0:{}s:12:"' . "\0" . '*' . "\0" . 'withCount";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'perPage";i:15;s:6:"exists";b:0;s:18:"wasRecentlyCreated";b:0;s:13:"' . "\0" . '*' . "\0" . 'attributes";a:1:{s:10:"guard_name";s:3:"web";}s:11:"' . "\0" . '*' . "\0" . 'original";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'changes";a:0:{}s:8:"' . "\0" . '*' . "\0" . 'casts";a:0:{}s:8:"' . "\0" . '*' . "\0" . 'dates";a:0:{}s:13:"' . "\0" . '*' . "\0" . 'dateFormat";N;s:10:"' . "\0" . '*' . "\0" . 'appends";a:0:{}s:19:"' . "\0" . '*' . "\0" . 'dispatchesEvents";a:0:{}s:14:"' . "\0" . '*' . "\0" . 'observables";a:0:{}s:12:"' . "\0" . '*' . "\0" . 'relations";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'touches";a:0:{}s:10:"timestamps";b:1;s:9:"' . "\0" . '*' . "\0" . 'hidden";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'visible";a:0:{}s:11:"' . "\0" . '*' . "\0" . 'fillable";a:0:{}s:46:"' . "\0" . 'Spatie\\Permission\\Models\\Permission' . "\0" . 'roleClass";N;s:52:"' . "\0" . 'Spatie\\Permission\\Models\\Permission' . "\0" . 'permissionClass";N;}s:13:"' . "\0" . '*' . "\0" . 'foreignKey";s:13:"permission_id";s:13:"' . "\0" . '*' . "\0" . 'relatedKey";s:7:"role_id";s:10:"' . "\0" . '*' . "\0" . 'guarded";a:0:{}s:13:"' . "\0" . '*' . "\0" . 'connection";N;s:8:"' . "\0" . '*' . "\0" . 'table";s:20:"role_has_permissions";s:13:"' . "\0" . '*' . "\0" . 'primaryKey";s:2:"id";s:10:"' . "\0" . '*' . "\0" . 'keyType";s:3:"int";s:12:"incrementing";b:1;s:7:"' . "\0" . '*' . "\0" . 'with";a:0:{}s:12:"' . "\0" . '*' . "\0" . 'withCount";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'perPage";i:15;s:6:"exists";b:1;s:18:"wasRecentlyCreated";b:0;s:13:"' . "\0" . '*' . "\0" . 'attributes";a:2:{s:13:"permission_id";i:19;s:7:"role_id";i:19;}s:11:"' . "\0" . '*' . "\0" . 'original";a:2:{s:13:"permission_id";i:19;s:7:"role_id";i:19;}s:10:"' . "\0" . '*' . "\0" . 'changes";a:0:{}s:8:"' . "\0" . '*' . "\0" . 'casts";a:0:{}s:8:"' . "\0" . '*' . "\0" . 'dates";a:0:{}s:13:"' . "\0" . '*' . "\0" . 'dateFormat";N;s:10:"' . "\0" . '*' . "\0" . 'appends";a:0:{}s:19:"' . "\0" . '*' . "\0" . 'dispatchesEvents";a:0:{}s:14:"' . "\0" . '*' . "\0" . 'observables";a:0:{}s:12:"' . "\0" . '*' . "\0" . 'relations";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'touches";a:0:{}s:10:"timestamps";b:0;s:9:"' . "\0" . '*' . "\0" . 'hidden";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'visible";a:0:{}s:11:"' . "\0" . '*' . "\0" . 'fillable";a:0:{}}}s:10:"' . "\0" . '*' . "\0" . 'touches";a:0:{}s:10:"timestamps";b:1;s:9:"' . "\0" . '*' . "\0" . 'hidden";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'visible";a:0:{}s:11:"' . "\0" . '*' . "\0" . 'fillable";a:0:{}s:46:"' . "\0" . 'Spatie\\Permission\\Models\\Role' . "\0" . 'permissionClass";N;}}}}s:10:"' . "\0" . '*' . "\0" . 'touches";a:0:{}s:10:"timestamps";b:1;s:9:"' . "\0" . '*' . "\0" . 'hidden";a:0:{}s:10:"' . "\0" . '*' . "\0" . 'visible";a:0:{}s:11:"' . "\0" . '*' . "\0" . 'fillable";a:0:{}s:46:"' . "\0" . 'Spatie\\Permission\\Models\\Permission' . "\0" . 'roleClass";N;s:52:"' . "\0" . 'Spatie\\Permission\\Models\\Permission' . "\0" . 'permissionClass";N;}}}',
    2 =><PHONE_NUMBER>,
  ),
  'time' => 1.31,
)

Steps To Reproduce:

Configure the config/database.php with the PostgreSQL driver and the config/cache.php with the database driver
Create the cache table with php artisan cache:table and migrate it
Get any collection from the database, e.g $collection = User::limit(3)->get()
Cache the collection, e.g Cache::put('test', $collection, 5)
Try to read the the value from cache, e.g Cache::get('test')

In step 4, the corrupted string will be successfully saved into the database, without any exception or warning. In step 5, an exception will be thrown when trying to unserialize the corrupted string.

Did it every work for you? How did you define and create the cache table? Did you not get any error when storing it in PostgresSQL? Can you check the pgsql log?
You probably think the database column has "enough space" (you mentioned this in https://github.com/spatie/laravel-permission/issues/857 ) but I think you're running in a PgSQL specific problem: you cannot always expect store "null bytes" in PgSQL => see the SO answer => https://stackoverflow.com/a/28816294/47573
PHPs serialization format (but also JSON as I've experienced this a few times already) do support and make use of "null bytes" and always cause troubles with PgSQL if you want to use the text or json* data types. I never used the bytea workaround mentioned in the answer (my fix was to remove the null bytes from JSON payloads) but I think you should give it a try.

@mfn No, it never worked for me before.
The cache table was created with a Laravel migration. I generated the schema with the command php artisan cache:table, so it's the default Laravel schema for the caching table. Here is the schema:
Schema::create('cache', function (Blueprint $table) {
    $table->string('key')->unique();
    $table->mediumText('value');
    $table->integer('expiration');
});

I've read the SO answer that you linked... so it seems like the issue is that PostgreSQL can't store "null bytes" in text coulumns and my value column is of the type text. And Laravel doesn't seem to support the bytea data type.
I see that this is an issue that is related to PostgreSQL, because it can't store "null bytes". But can this be fixed on the PHP side, so that there is no need to store null bytes when caching a collection with the PostgreSQL driver?

We could use a workaround like this: https://stackoverflow.com/a/31328170/4848587

And Laravel doesn't seem to support the bytea data type.

It does, it's the binary type; see https://github.com/laravel/framework/blob/5.7/src/Illuminate/Database/Schema/Grammars/PostgresGrammar.php#L685-L688 .

We could use Base64 encoding on PostgreSQL to fix this.

My only gripe with this is that it increases the payload size and is a breaking change.
Seems safer to me to simply figure out a proper datatype for to use with PgSQL?

It's possible to implement Base64 encoding as a non-breaking change.
I think this would be the better solution because it doesn't require any actions by the user. If we use a binary column, we have to add a note/warning to the documentation and adjust the artisan cache:table command.

You don't know if the cache table isn't read by some other (non-laravel) application too; not totally out of the word IMHO.

To me any custom encoding feels like a hack.
The serialization format has null bytes and the database supports it, you just have to use the correct type.
IMHO educating is the proper "fix" here.

But if only null bytes would be Base64 encoded, that shouldn't affect any other applications that read from the table because currently null bytes can't be stored at all. So I doubt that anybody is storing and reading those corrupted strings since you can't use them for anything. And all other, non-corrupted values would be unaffected by this change. If this is possible to do, it sounds like a better solution to me.
About changing from text to bytea for the cache table... Is that without other side-effects and can the text column be altered to a byetea column for users who already have a cache table?

It's not possible to convert the column with $table->binary('value')->change() ("Datatype mismatch"), it requires raw SQL.
Using a binary column for PostgreSQL also requires changes to the DatabaseStore class. Both inserting and retrieving don't work with the current implementation.
So the DatabaseStore class has to be adjusted in both cases. But with Base64 encoding, the user doesn't have to change the migration/database. I think this is more relevant than the increased payload size.

@staudenmeir thanks for implementing this! <3

Hi @staudenmeir , would you mind to share where to implement the Base64 you suggested?
I also used text type $table->text('value'); . Thanks.

@eternalBlast What Laravel version are you using?

@staudenmeir  I am using Laravel 5.5.45.

This has only been fixed in Laravel 5.7. I'll submit a PR for 5.5.

@eternalBlast It will be fixed in the next release.

Okay @staudenmeir . Thanks a lot 👍

When will this update available? @staudenmeir

When will this fix available? @staudenmeir

@eternalBlast not sure yet. I'll check in with Taylor but he's on vacation right now.

Okay @driesvints. Please notify when it is done. Thanks.

@eternalBlast Laravel 5.5.46 has been released.

Thanks a lot.


feat: voyager routing

Provide a routing system to Voyager backend by Ktor Routing.
Why powered by Ktor?

Multiplatform
Asynchronous by coroutines
Pipeline/Hooks based
Routing system
Extensible by plugins or Hooks
A lot of utils/helper
Oficial and maintained by Jetbrains team.

Just wondering the reason you closed this? It looks great

He is working on a standalone, more generic library and will integrate with Voyager right after.

Yep! And it is done here @Syer10: https://github.com/programadorthi/kotlin-routing/tree/main/samples/multiplatform-voyager


Show also enchantment - auras that are on creatures

https://i.imgur.com/j4VhAFo.png
There's a Deep Freeze( https://scryfall.com/card/dom/50 ) on one of the creatures in that image, would be nice to see them too.

The Deep Freeze should appear in the opponents Enchantment/Vehicle zone. I agree that's not ideal and will try to see if there's a way to move that card to the same zone as the creature it's attached to.


Tools Documentation

In case you might be interested in adding an Active Directory Recon Tool to the documentation under Tools:
ADDS_Tool (An Active Directory Recon Tool)

Thank you for the suggestion, i will consider it!


NameError: name 'accept_invite' is not defined

Summary
I tried to use the accept_invite function but it gives me a is not defined error
Reproduction Steps
try to run:
await accept_invite("https://discord.gg/code")
Code
No response
Expected Results
It should accept the invite
Actual Results
gave a "is not defined" error
System Information

Python v3.9.6-final
discord.py-self v1.9.2-final
aiohttp v3.7.4.post0
system info: Darwin 22.0.0 Darwin Kernel Version 22.0.0: Thu Jun 16 20:33:02 PDT 2022; root:xnu-87<IP_ADDRESS>.3~2/RELEASE_ARM64_T8103

Checklist

[X] I have searched the open issues for duplicates.
[X] I have shared the entire traceback.
[X] I am using a user token (and it isn't visible in the code).

Additional Information
No response

Try await client.accept_invite('just the code not the link')

Try await client.accept_invite('just the code not the link')

still giving the same error

Client.accept_invite() is only present in the alpha version of the library. Install it from git to use the alpha.

with python3 -m pip install git+https://github.com/dolfies/discord.py-self right?


Rework

This is the beginning of an attempt to use Spring Initializr's Rest Docs template to start off the tutorial instead of trying to get the right configuration by hand.
I've used untainted configuration directly from start.spring.io for both Maven and Gradle.
However this attempt is not finished because I'm new to unit and mock testing in Spring and I wouldn't want to make assumptions about those parts of the tutorial. I'll keep working on this later, but would welcome suggestions or additions in the mean time.

Alright, I got through the whole thing, making some useful improvements and upgrading things to the latest template provided by Spring Initializr (Spring Boot 2.4.1).
@Buzzardo, @gregturn, I'd be happy to make any changes you might request.

Any ideas why gradle isn't generating the snippets? It creates the generated-snippets folder, and it runs the tests, but no snippets appear.


Missing file     .sln   file

Missing file     .sln   file

SLN file is not required. You open project with TGMacro.csproj file and when you save visual studio will create one for you.


Feature/consensus/changeable validator set

Sanitize tx_body before hashing Transaction
Sanitize transactions before hashing Block
Fix logger message level

Fixes #182

Thanks for the quick review! Now merging..

Thanks for the quick review! Now merging..


Add [Stellar ] #anchor GA5ZSE…K4KZVN

Address: GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN
Tags: anchor
Title: **Stellar **
Requested by @gre3n3yes34

Hello @gre3n3yes34
Can you please give more information about your report? This is the Issuer of the only real USDC token.
This address is currently labled:
[Centre] GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN
[#anchor] [#issuer] https://centre.io/
Looking Towards The Future With You,
Rob TheCryptoHobbyist

Hello @gre3n3yes34
If you have additional information to report please feel free to reopen this issue,
Looking towards the future with you,
Rob

I would  like to transfer  some  of my funds onto my credit card  how do I
do that.
On Fri, Aug 18, 2023, 7:02 PM CryptoHobbyist @.***>
wrote:

Hello @gre3n3yes34 https://github.com/gre3n3yes34
If you have additional information to report please feel free to reopen
this issue,
Looking towards the future with you,
Rob
—
Reply to this email directly, view it on GitHub
https://github.com/stellar-expert/public-directory/issues/579#issuecomment-1684677379,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5LQRFOESK2AE76MLO2JRHLXWANCTANCNFSM6AAAAAA3FW4FPI
.
You are receiving this because you were mentioned.Message ID:
@.***>


Custom exceptions being swallowed in paths other than default path

Custom exceptions are not being raised correctly when they are thrown in paths that are not the default path. Instead, the generic FailButContinue Failed to execute returned Payload exception is raised.
This simple test reproduces the issue in the log output:
import boto3_fixtures as b3f
import lpipe
import pytest
from lpipe import Payload
from lpipe.exceptions import FailButContinue

class CustomError(FailButContinue):
    pass

def error_path(message: str, **kwargs) -> Payload:
    raise CustomError(f"I am a custom exception.")

def clean_path(message: str, **kwargs) -> Payload:
    return Payload(path="ERROR_PATH", kwargs={"message": "I'm a message"})

@pytest.mark.parametrize(
    "PATHS",
    [
        {"TEST_PATH": [clean_path], "ERROR_PATH": [error_path]},
        {"TEST_PATH": [error_path]},
    ],
)
def test_custom_error(PATHS):

    response = lpipe.process_event(
        event=lpipe.testing.sqs_payload([{"message": "test-string"}]),
        context=b3f.awslambda.MockContext(function_name="foobar"),
        default_path="TEST_PATH",
        paths=PATHS,
        queue_type=lpipe.QueueType.SQS,
        debug=False,
    )

    assert 1 == 2

Thanks for finding this issue @greatheights82
Resolved in #32


♻ builds with latest package deps

This is an update based on building a downstream package with up to date dependencies. Notable changes are small changes to the prosemirror api and types impacting getPos return types and impact of building with a later typescript version.

I've yet to build with  an updated local package-lock.json but expecting it to build.


Fransay

Program outputs the sum of even Fibonacci numbers less than 4 million with a complexity of O(N).

@fransay where is this question so that i can post the question to other pages as well? link to problem


show providerId in list of sign ins?

Testing #117290
We don't show the provider in the list of extensions that want to sign in:

In this case, test117290 wants to sign in using the microsoft provider and the others I assume want to sign in using GitHub.  It would be good to know what I am signing into.
Sign into GitHub to use GitHub Codespaces(1)
Sign into GitHub to use GitHub Pull Request Nightly(1)
Sign into microsoft to use test117290(1)

or maybe "sign in with <<< provider >>>" to use ...

Verification steps:

Install GHPR extension

See:

Install GitHub Codespaces extension ("Cancel" any modals)
Reload VS Code
Once GitHub Codespaces activates you should see:


Update getLanguages() to return the available TTS languages

https://developer.android.com/reference/android/speech/tts/TextToSpeech#getAvailableLanguages()

Acceptance criteria: there should be a dart function that calls the native channel and spits out a dart map of language codes to display names.

I believe I got it sorted in the latest commits to the PR
https://github.com/muxable/rtchat/pull/1091


Render actual histogram for first scene in cc

Overview
Hooks up histogram to endpoints to display real histogram of selected scenes with color corrections applied.
Demo

Notes
Color correction sliders start at their minimum, so any initial adjustment to the sliders throws off the color correction values.
Would also be beneficial to enforce some min-height of the histogram containing div so that loading would not be so jarring.
Testing Instructions

Select scenes to color correct
Enter color correction
See that histogram loads
Adjust sliders and ensure histogram updates

There is also an issue with the tileReset method in the layer controller. Not sure if that would be overreaching for this PR. We are saving the corrections as they occur right to the layer instance. If there are existing corrections on that layer, we lose the initial values. The baseColorCorrection() method only resets everything to 0.

The only recommendation I would make at this point, would be to remove the tooltip/popup from the histogram. I don't think the information currently provided is super insightful and until we have something worth showing I think it's safe to remove the tooltip completely.

Removed all interactivity from the histogram for now, this disables both the tooltip and the hover action which, without any tooltip, is fairly pointless.


⚠ Adacta-fintech.com has degraded performance

In 65726ba, Adacta-fintech.com (https://www.adacta-fintech.com) experienced degraded performance:

HTTP code: 502
Response time: 582 ms

Resolved: Adacta-fintech.com performance has improved in d36d736.


+/- determine-basal.js

In the hight temp rate calculation there is: "var rate = profile_data.current_basal - (2 * insulinReq);" shouldn't be "var rate = profile_data.current_basal + (2 * insulinReq);"?

It's a double negative with the way insulinreq is calculated right above. The logic is correct, but we could reverse it in both places if that'd make it easier to read.
I also need to fix the way I'm using max(0) and snoozebg: right now it's temping all the way to zero any time the bolus snooze range goes below the target range, instead of being more gradual like I intended.

No it's no need to change :) Once, I have noticed, that there was "low bolus" calculated (below base bolus) instead of high. I haven't saved logs unfortunately. I'm closing issue.


Upgrade to go1.18

Proposed changes

Bump to Pulumi v3.36.0 (go 1.18)
Use go 1.18 for builds
CI update to go 1.18

/run-acceptance-tests


How to generate traffic matrices?

Does anyone know how to generate traffic matrices with diffferent traffic intensity levels using
a gravity model? Is there any tool to generate?

The source code can generrate the traffic demand. What kind of traffic do you want to generate?

From the traffic data file "traffic.zip\traffic\1000_0.txt", we can use it to generate traffic. However, i mean how can we generate the traffic data file with different network topology, i.e. different from 14 nodes?

The source code can generrate the traffic demand. What kind of traffic do you want to generate?

I hava some questions. How to generate the traffic with different  intensity,and where in the code?How to get the paper result of delay？

I have a question, can you help me?  I estimate that it will take two or three hours to finish it, which is too long.


Redundant if statement can be removed

https://github.com/torchbox/wagtail/blob/master/wagtail/wagtailusers/views/users.py#L54 checks to see if ordering in ["name", "username"] and https://github.com/torchbox/wagtail/blob/master/wagtail/wagtailusers/views/users.py#L55 checks if ordering != "name" and filters users by username since that's the only other option.
Those lines can probably be refactored as follows:
if 'ordering' in request.GET:
    ordering = request.GET['ordering']
    if ordering == 'username':
        users = users.order_by(ordering)

If that's sounds reasonable, I'd be happy to open a pull request for the above mentioned changes.

Thanks, the new way definitely looks a clearer to me. Pull request welcome!

Yay, Thanks!! Will do shortly.

Looks like it's the same here, too: https://github.com/torchbox/wagtail/commit/46840b2c2f3d6546b9b6ec12cab561f361da2682#diff-61ccba6e8955e9ec6a7a15499d32b1a7R46
Might also want to change that line.
@davecranwell Are you cool with this change?

Will make the change mentioned above.

Hmm. In that case I think this makes more sense, then.
# Ordering
try:
    ordering = request.GET['ordering']
except KeyError:
    ordering = None

if ordering not in ['title', '-created_at']:
    ordering = '-created_at'

documents = documents.order_by(ordering)

I think we simplify even further. Looks like the default is '-created_at' if ordering is not specified
# Ordering
ordering = '-created_at'
try:
    ordering = request.GET['ordering']
except KeyError:
    pass
documents = documents.order_by(ordering)

And i think in the pull request i have, we can probably use the same construct but the default there appears to be name . Thoughts?

Why not:
# Ordering
default_ordering = '-created_at'
allowed_orderings = ['title', '-created_at']

ordering = request.GET.get('ordering', default_ordering)
if ordering not in allowed_orderings:
    ordering = default_ordering
documents = documents.order_by(ordering)

@annp89 Only problem with that it doesn't validate the user input. This part: if ordering not in ['title', '-created_at']: is making sure the ordering is valid before passing it to documents.order_by() to prevent a runtime error.
@timheap Ahh, nice! I didn't know dict.get() allows for a default value, that simplifies it quite a bit.

You could also just omit the default value from it entirely, which causes dict.get() to default to None.
# Ordering
default_ordering = '-created_at'
allowed_orderings = ['title', '-created_at']

ordering = request.GET.get('ordering')
if ordering not in allowed_orderings:
    ordering = default_ordering
documents = documents.order_by(ordering)

I think it's better for ordering to be set to None when the key doesn't exist, because it's valid to want to know that the key was never set. For instance, maybe in the future you'd rather pass None directly to the order_by function, and let it determine the default ordering based on a property defined as a part of the documents object.

@annp89 Do you want to update this? Or if you don't have time I can. Thanks!

^ go for it. Thanks for checking in.

Fixed by #1766 (but if there are further tweaks to be made, feel free to open as new PRs :-) )


Unable to accept concurrent api calls for /tts_to_audio since out.wav will be shared

In /tts_to_audio api, if USE_CACHE=False, it will use default file_name_or_path="out.wav" for XTTS.process_tts_to_file.
However it get error if concurrent api calls happen.
torchaudio.save(output_file, torch.tensor(out["wav"]).unsqueeze(0), 24000)

I also get an error when processing 2 or more requests at the same time, I'm trying to fix it.

Is there a fix for this?


Doctrine try to alter tables changing the case of data type (i.e. VARCHAR) every time

Using Symfony 2.8 and Doctrine 2.5.5 on CentOS 7 x64 with MariaDB 10.2.
If I run:
php app/console doctrine:schema:update --dump-sql
Doctrine generates a lot of statements like ALTER TABLE change myfield VARCHAR(255). Well, myfield is already a varchar(255) (note the case).
If I force the update:
php app/console doctrine:schema:update --force
A lot of queries were executed. But data types aren't actually changed, so running again php app/console doctrine:schema:update --dump-sql will generate the same updates again.
Any help is much appreciated!

Please report this again (if applicable) after upgrading to the latest stable releases.

@Ocramius the lastest release I can use is 5.5 indeed...

@gremo 2.5.13

@gremo also, MariaDB 10.2 is not fully supported and it will only be on DBAL v2.7 (or v3.0) which requires PHP 7.1.

@lcobucci yes, I figure it out a couple of hours after opening this issue. Too bad that I have to rebuild my entire server to support legacy sites (can't have multiple database versions). Thank you both anyways.


Alert is not generating in WSO2 V3.0

I am trying to generate alert in WSO2 V3.0. All the required settings has been configured as per the WSO2 documents but still alerts are not generating. I have made delay of 5 mins in the API response at the backend to test and generate the alerts.
I have followed the WSO2 official documentation to generate alert but there are no alerts... there is not error logs.
https://apim.docs.wso2.com/en/latest/learn/analytics/managing-alerts-with-real-time-analytics/configuring-alerts/#configuring-alerts
WSO2 V3.0 on Windows 7 and integrated with mysql

Closing the issue since SP analytics is deprecated.


build: remove deprecated Node 10 version from CI build

PR summary
Node 10 is deprecated, so we want to update the build to use the latest stable versions of Node, 12 and 14.

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

:tada: This PR is included in version 0.18.10 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Improve PIT Run Button Design

User story

As a user of our plugin
I want / need a unique design for our Pitest run button
So that I can clearly recognize it

Acceptance criteria

the run button is clearly visible in the sidebar of the IDE
it has a recognizable and clear design (For example two run buttons overlayerd, one in the PITest pink and one gray - Make it so everyone clearly sees that it is not a button to reduce the size of the class or anything but that it has something to do with our plugin
the run button is correctly positioned next to the class names

Definition of done (DoD)

All acceptance criteria are met.
Work products are uploaded to the Github repository.
A pull request is created for each related branch.
The work products in the pull requests are reviewed.
Github CI Workflow passes for the branches
The corresponding branches are merged and closed.
The bill of materials section of the planning documents is updated.
Tests are written for the added features, if suitable

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release


Metadata needs a timestamp of when it's "as of"

Going to http://bosun/api/metadata/get shows the latest metadata (yay!) but there's no timestamp to know when the data is from. Can we get this added? Knowing the metadata is say a week old is very valuable.

This was implemented.