Type inference of method argument from decorator does not work

Bug Report
Method argument type is not inferred from a context when a decorator is used.
🔎 Search Terms
decorator type inference
infer method argument type from decorator
🕗 Version & Regression Information
Version 4.7.2

This is the behavior in every version I tried, and I reviewed the FAQ for entries about type inference

⏯ Playground Link
Playground link with relevant code
💻 Code
export function Decorator<T>() {
	return (target: unknown, propertyKey: string, descriptor: TypedPropertyDescriptor<(bar: T) => boolean>) => {
    // Do something
	}
}

class Foo {
	@Decorator<string>()
	public myMethod(bar) { // Here the 'bar' has an implicit 'any' type, should have 'string'
		return true;
	}
}

Decorator<string>()(new Foo(), "myMethod", {
  value: (bar) => false // Here the 'bar' has correct type as 'string'
});

🙁 Actual behavior
When the method argument has no type specified its implicitly set to any even when decorator is used and requires specific type.
🙂 Expected behavior
I expect the type inference to work the same as for callbacks, eg. when no type is specified for the argument it is inferred from the context - means the type expected by the decorator is used.
When I call the decorator as a normal function, a type for a property descriptor value is resolved correctly. Also type checking works correctly - when I set method argument to something else than the decorator expects, it reports an error.

Decorators are unable to change the type of whatever they're attached to. You need #4881 for this.


Added docker and Azure iotedge support

Added docker modifications
This PR accompanies https://github.com/ci4rail/ci.os.lmp/pull/9
Merge this before https://github.com/ci4rail/ci.os.lmp/pull/9 has been merged.
This PR fixes https://ci4rail.atlassian.net/browse/KYT-193 and https://ci4rail.atlassian.net/browse/KYT-190

Some warnings during system boot: /run/docker.sock; please update the unit file accordingly.
[ 3.798768] systemd[1]: /lib/systemd/system/iotedge.socket:7: ListenStream= references a path below legacy directory /var/run/, updating /var/run/iotedge/workload.sock → /run/iotedge/workload.sock; please update the unit file accordingly.
[ 3.821358] systemd[1]: /lib/systemd/system/iotedge.mgmt.socket:7: ListenStream= references a path below legacy directory /var/run/, updating /var/run/iotedge/mgmt.sock → /run/iotedge/mgmt.sock; please update the unit file accordingly.

The warnings originate from recepie volatile-binds in openembedded-core that are used on a read-only-filesystem. Links /var/run to /run which is a tmpfs mount.
Proposal: We can ignore those warnings, as they are only state that the path /var/run/*.sock is in reality /run/*.sock.


Kicking players from hub sends them to Atlas.

Kicking players for whatever reason sends them to atlas instead of booting them from the network.
Server:hub

This isn't a bug, it's an intended mechanic for if the hub is down. Otherwise, players are unable to join the network.


2024-11-01_01-35-44_master-next_python3-boto3

Automatically created.

Backport failed for kirkstone-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin kirkstone-next
git worktree add -d .worktree/backport-10241-to-kirkstone-next origin/kirkstone-next
cd .worktree/backport-10241-to-kirkstone-next
git switch --create backport-10241-to-kirkstone-next
git cherry-pick -x 1d952c9b81c7af5b66c446534d93123c93d66af1

Backport failed for scarthgap-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin scarthgap-next
git worktree add -d .worktree/backport-10241-to-scarthgap-next origin/scarthgap-next
cd .worktree/backport-10241-to-scarthgap-next
git switch --create backport-10241-to-scarthgap-next
git cherry-pick -x 1d952c9b81c7af5b66c446534d93123c93d66af1

Backport failed for styhead-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin styhead-next
git worktree add -d .worktree/backport-10241-to-styhead-next origin/styhead-next
cd .worktree/backport-10241-to-styhead-next
git switch --create backport-10241-to-styhead-next
git cherry-pick -x 1d952c9b81c7af5b66c446534d93123c93d66af1


How to exclude nodes from specific target groups?

I have a use case to isolate a workload on a specific node in my cluster. This one node does work that utilizes a lot of bandwidth, and I would like to directly send requests to this node rather than proxy through the other nodes in my cluster.
By default, the alb-ingress-controller adds all nodes to all target groups (excluding masters). I haven't been able to find a way to exclude particular nodes or control which target groups send traffic to which Kubernetes nodes. Is this possible?

Perhaps this is a separate issue, but it would be great if this controller supported the alpha.service-controller.kubernetes.io/exclude-balancer annotation that kubernetes uses by default to exclude certain nodes from being included in LoadBalancer services.

Virtual Kubelet is an example of a node that sets alpha.service-controller.kubernetes.io/exclude-balancer to true.
Currently if I run a VK and then attempt to create an Ingress I get errors like:
  Warning  ERROR   56s   ingress-controller  Error registering targets to target group xyz-31823-HTTP-0008dc6: ValidationError: Instance ID 'virtual-kubelet' is not valid
           status code: 400, request id: 9167a633-5525-11e8-96c0-dbae4da6c542

I've added support for alpha.service-controller.kubernetes.io/exclude-balancer in #403

Please test with 1.0-alpha.9 and let me know how it goes


fix #6  missing include  in pcsc-mock.hpp

It is holding back development (https://github.com/web-eid/libpcsc-mock/issues/6#issuecomment-1536142252).

Thanks, will merge as soon as possible.


Add processInstanceId from TaskQuery API Version: 8.1

Hi Christophe,
Could you add, please, processInstanceId to tasklist client params as it presents in TaskQuery API Version: 8.1:
https://docs.camunda.io/docs/apis-clients/tasklist-api/inputs/task-query/
Thanks !

Hi @chDame,
I also faced with same issue.
processInstanceId is really required.
Because I do not see another way how to join process instance and tasks related to.
It will be so helpful.
Thank you!

Hi @mykhailo-smyrnov @volodya327,
I'm very busy these last weeks but should have some time next week to look into it. If that's urgent, feel free to open a PR that I'll try to review asap. If not, we should have a new version before end of next week

Hi @chDame
Thank you for the reply.
That's not urgent for me.
I'm calling GraphQL API for get tasks directly so it works fine.
But do not want to fall in love with legacy.

Thanks, Christophe, I'll wait the new version from you.
Have a nice day !

Hi @volodya327 @mykhailo-smyrnov
The release 1.6.2 comes with the possibility to filter on process instance id, task definition id and process definition id. It's available in the TaskSearch object :
TaskSearch ts = new TaskSearch().setProcessInstanceId("2251799818839086");
 client.getTasks(ts);

I also added a new getTasks method that takes these 3 parameters getTasks(String group, Boolean assigned, String assigneeId, TaskState state, String processDefinitionId, String processInstanceId, String taskDefinitionId, boolean withVariables, Pagination pagination).
The former version of this method is still available and will set these parameters as null values : getTasks(String group, Boolean assigned, String assigneeId, TaskState state, boolean withVariables, Pagination pagination)
Hope that helps. Please confirm if that fully solves your issue and if we can close this ticket :)

Hi Christophe,
Thanks for you quick work. I need also a method, which will return the processInstanceId for the current task. Something like: task.getProcessInstanceId().
Is it possible to add it to camunda-tasklist-client-java ?
P.S. As I can see, it's 8.2 version now and Camunda unexpectedly migrating from GraphQL to REST API. We live in an era of change... 8-)

@chDame Thank you for the quick update. 1.6.2 works fine.

@chDame 8.2 version looks better. Hope you implement it soon. Looking forward for that :-)

Hi Christophe, Thanks for you quick work. I need also a method, which will return the processInstanceId for the current task. Something like: task.getProcessInstanceId(). Is it possible to add it to camunda-tasklist-client-java ?
P.S. As I can see, it's 8.2 version now and Camunda unexpectedly migrating from GraphQL to REST API. We live in an era of change... 8-)

Yes, indeed this will make this client soon deprecated and bring the possibility to create a new one that will bring less dependencies (as the operate client)

@chDame @volodya327
sorry to bore you but is anybody know how to update task variable?
I see only complete task api but not just update variable.
is it possible?

how to update task variable? I see only complete task api but not just update variable. is it possible?

@mykhailo-smyrnov setting variables is possible through the Zeebe gRPC API, e.g. using the Zeebe Java Client.

@falko it's worked for me. Thank you!
But one more question - how to delete variable? :-)

@mykhailo-smyrnov I'm not sure this is possible to delete process variable. Anyway, you can ask your question on forum.camunda.io


Flashback - No Sound

Game
https://store.steampowered.com/app/961620/Flashback/
Engine
REminiscence / REinforced
Linux Distribution
NixOS/Flatpak
Luxtorpeda Version
65.0.1
Bug description
The game has no audio at all.
Additional Context
Comparing the game's audio to this youtube video of the original DOS version, the music is clearly missing: https://www.youtube.com/watch?v=C5cu5h_150Y
Relevant log output
LD_PRELOAD found with /tmp/pressure-vessel-libs-CCCA61/${PLATFORM}/gameoverlayrenderer.so
pid 14795 != 14794, skipping destruction (fork without exec?)
Godot Engine v3.5.2.stable.custom_build.170ba337a - https://godotengine.org
OpenGL ES 3.0 Renderer: NVIDIA GeForce GTX 1060 3GB/PCIe/SSE2
Async. shader compilation: OFF

22:50:04 [INFO] setup_logging success
22:50:04 [INFO] config_file_path exists, reading
22:50:04 [INFO] config_file_path exists, reading
22:50:04 [INFO] update_packages_json. found hash: d4a6801b524541017a2fb7961ec12ba87912bec6945a32b20abbe5ff4e68d83c
22:50:04 [INFO] update_packages_json. found hash and remote hash: d4a6801b524541017a2fb7961ec12ba87912bec6945a32b20abbe5ff4e68d83c d4a6801b524541017a2fb7961ec12ba87912bec6945a32b20abbe5ff4e68d83c
22:50:04 [INFO] packages_json_file exists, reading
22:50:04 [INFO] user_packages_file not found
22:50:04 [INFO] reminiscence-961620-4.tar.xz found in cache (skip)
22:50:04 [INFO] packages_json_file exists, reading
22:50:04 [INFO] user_packages_file not found
22:50:04 [INFO] reminiscence-961620-4.tar.xz found in cache (skip)
22:50:04 [INFO] Downloads is empty
22:50:04 [INFO] packages_json_file exists, reading
22:50:04 [INFO] user_packages_file not found
22:50:04 [INFO] json:
22:50:04 [INFO] Game { game_name: "Flashback", engine_name: "REminiscence / REinforced", command: Some("./run-flashback.sh"), command_args: [], download_config: None, cloud_not_available: true, cloud_supported: false, cloud_available: false, cloud_issue: false, download: [DownloadItem { name: "reminiscence", url: "https://github.com/luxtorpeda-dev/packages/releases/download/reminiscence-4/", file: "reminiscence-961620-4.tar.xz", cache_by_name: false }], app_id: "961620", choices: None, notices: None, controller_steam_default: true, use_original_command_directory: false, app_ids_deps: None, setup: None, commands: None }
22:50:04 [INFO] config_file_path exists, reading
22:50:04 [INFO] hash_check_install is enabled, checking for reminiscence
22:50:04 [INFO] reminiscence.hash has been found, checking hash against file
22:50:04 [INFO] cached hash is 04503ff2b324d47c9ead303810e6ec0d9114b5a42d4f71f6fd1a3ffa8d3e0211; install file hash is 04503ff2b324d47c9ead303810e6ec0d9114b5a42d4f71f6fd1a3ffa8d3e0211
22:50:04 [INFO] hash for reminiscence is same, skipping install
22:50:04 [INFO] run: "./run-flashback.sh" with args: [] []
Detected DOS version
22:50:04 [INFO] controller_detection_change: Steam Virtual Gamepad
22:51:03 [INFO] controller_detection_change:
22:51:03 [INFO] run returned with exit status: 0
Game process removed: AppID 961620 "/home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=961620 -- /home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/compatibilitytools.d/luxtorpeda-65.0.1'/luxtorpeda.sh waitforexitandrun  '/home/jdf/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Flashback/Flashback.exe'", ProcID 14688
ThreadGetProcessExitCode: no such process 14812
ThreadGetProcessExitCode: no such process 14811
ThreadGetProcessExitCode: no such process 14794
ThreadGetProcessExitCode: no such process 14690
ThreadGetProcessExitCode: no such process 14689
Uploaded AppInterfaceStats to Steam

I'm not sure if the music is included in the steam release, or at least in a format that this engine can read. Are you aware of anything on this?

I'm not sure, but running the game in Proton has music. If the engine needs a specific file is that something we could download like the music for Quake?

It looks like from what I can tell, the engine does not support the format the steam version has for music.
These two links show that they're expecting the original assets for that (the youtube video is a core based on this engine)
https://www.youtube.com/watch?v=46S-FDjSjfo
https://github.com/chermenin/REminiscence#data-files
That isn't something that I'd feel comfortable bundling. I added a notice about that (and the github repo for the engine has instructions on where to put it): https://github.com/luxtorpeda-dev/packages/commit/f728e01b62c37193057d0503c10992b801b7cf66


Unlock Self for observable types

This PR does a number of things. The downside of these things is that observe will be less discoverable in our docs, but it does consolidate a lot of code, makes our API more type safe, and removes functionality that didn't really work:

Disallow key path observation on collections where the Element is not of Object type. Attempting to observe keyPaths on non-object  types yields no changes, so this functionality was already broken.

@tgoyne I am not sure how we feel about this. It breaks the API for those that were using it incorrectly.

Unlock Self for observable types. By moving object observation behind a private protocol, and collection observation
cleaned up, key path filtering and Object/CollectionChanges have become more type safe. Previously, keyPath filtering
was called as:

person.observe(keyPaths: [\Person.name, \Person.age]) { change in /* do stuff */ }

Now the class can be dropped, as it is derived from the calling type:
person.observe(keyPaths: [\.name, \.age]) { change in /* do stuff */ }

Non-keyPath filtering has also been enhanced. Previously:
person.observe { change in
    switch change {
    case .initial(let object):
  	// type is of ObjectBase and needs to be casted
  	guard let person = object as? Person else { fatalError() }
  	// do stuff
    default: break
    }
}

Now:
person.observe { change in
    switch change {
    case .initial(let person):
  	// person is already of `Person` type
    }
}

The above is all unlocked for collection observation as well.

Consolidate observation logic to RealmCollection.

According to the CI, this seems to fail for Xcode < 13. I will have to investigate and potentially guard this behind directives.

Replicated the compiler error on Swift 5.4. It would appear https://github.com/apple/swift-evolution/blob/main/proposals/0299-extend-generic-static-member-lookup.md enables the Self behaviour that this PR unlocks. So users on Xcode < 13 will not be able to take advantage of the generic type lookup for keyPath filtering, but they can still take advantage of Object/CollectionChanges passing back the fully typed object.


How do you put the markdown results in a html template

Forgive the ignorance, I am somewhat new to gulp. This markdown compiles to HTML, but it doesn't include the <html> and <body> tags or whatever in the results.
Is the best way to create a html template and use "gulp-file-include" to integrate the markdown into it? Is this considered "the standard way"?

@UziTech - Not sure this is how Marked is to be used. Isn't Marked a dynamic markdown converter? Not a static output generator...maybe both?

¯\_(ツ)_/¯
I've never used gulp-file-include but couldn't you just include the tags around the output?
`<html><body>${marked(someMarkdown)}</body></html>`


FeatureRequest: wp.clamp that works on vectors

Currently wp.clamp is only defined on scalars, would be good to have one on vectors too.

Thanks for the feature request. This sounds reasonable at first glance, but I'm a bit concerned about feature creep and bloat. There are additional types that could potentially have their own clamp function, and it's difficult to determine where to draw the line. Each of them should ideally be continuously tested, it causes maintenance overhead, and JIT-compile time would be negatively affected.
Is it reasonable to just define your own @wp.func functions that perform vector clamping using wp.clamp(), instead? Note this is also the expectation when writing CUDA code, although helper header libraries exist.

Thank you for considering the request. I think not including it to avoid feature creep is fair enough. Writing the function is simple enough that it doesn't need to be included I suppose.


fix-readme-links

The README linked the vulkan-tutorial with the wrong tld.

Wow i cant believe that i messed that up, thanks


Use tables on check/glyphsets/shape_languages to make the check results more readable.

(issue #4326)

This also fixes issues #4323 and #4325


fix(template): properly handle escaping of interpolation/directive markers

Fixes #242
Closes #243
This fixes the handling of ${ and %{ markers in template literals.
When a HCL template literal contains escaped interpolation sequence or directive control flow start markers ($${ and %%{ respectively), they will be automatically unescaped while parsing now.
Additionally, formatting a Element::Literal containing ${ or %{ as HCL will now correctly emit $${ and %%{.

What do you mean? If you see a ${ in a Element::Literal, it always gets escaped when encoding zu HCL. Conversely, when parsing HCL it means that it was escaped in the source input when it ends up in a literal. Unescaped ${ always produce Element::Interpolation.


Update build workflow to pull from flowfuse main branch

Description
With CI/CD now in operation, we should pull product docs from the main branch of the flowfuse/flowfuse repo, rather than the maintenance branch.
This task is to update the workflow to make it so.
Epic/Story
No response
Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate

@ppawlowski Please also update the handbook where needed as part of this task


HTTP Error 429: To Many Request

Hey guys, i have a little problem. How can i fix the error HTTP Error 429 Message?

Ok i found the code is not working correct.
File: src/utils.py search for the method check_internet.
def check_internet(host="https://reddit.com", timeout=5):
this line is not working for me. When i use curl on reddit, i need a user agent. To check the internet i changed the reddit url to google.


Lumen v8 compatibility

Please add Lumen v8 compatibility.

Please see PR https://github.com/digiaonline/lumen-cors/pull/79.

Closed by https://github.com/digiaonline/lumen-cors/pull/79


[Pixel][7,2]Fill the Pixel!

I wish to claim pixel [7,2]

Chetan
Batch 2026
ID 12240470
Saffron

[7,2] can't be filled with saffron or green.Did you mean [2,7]?


Problem: Uncommon CRON format not working as expected

Issue
We are using the latest version of semaphore: v2.10.22
We would like to execute some templates the last Wednesdey of the month, every month.
On crontab.guru the CRON expression seems ok, but on semaphore it can't interpret it correctly (seems like it ignore the day of the week)
Today is friday 26 and the scheduler show that the template would be executed tomorrow instead of the next wednesdey.
15 9 25-31 * 3
or
15 9 25-31 * WED

Impact
Service (scheduled tasks, alerts), Ansible (task execution)
Installation method
Docker
Database
MySQL
Browser
Chrome, Microsoft Edge
Semaphore Version
v2.10.22-e44910d-1721658561
Ansible Version
No response
Logs & errors
No response
Manual installation - system information
No response
Configuration
No response
Additional information
No response

I have the same issue in this version. @fiftin , could you please adjust the feature so it allows scheduling tasks in formats other than specific dates? For example, scheduling tasks for every third Monday of the month or using an uncommon CRON format.

Currently we have a workaround to do so until this issue will be fixed.
Instead of using the Schedule section in Semaphore, I have moved out the CRON logic.
I have created an Integration with an Alias that calls the interested task template and then externally (from the semaphore server or another server) with a curl command I call this alias with the CRON logic I need, it seems tricky but it's really easy.
On the server I use the ncal package to obtain the correct information about the last wednesday of the current month, then on crontab I define the execution every wednesday but only once per month will be executed.
crontab
0 3 * * 3 /usr/local/bin/unattended_patching_last_wednesday.sh <unique alias ID of the Integration created before> >> /tmp/patching-last-wednesday-0300.lst 2>&1

/usr/local/bin/unattended_patching_last_wednesday.sh
#!/bin/bash

[ -z "$1" ] && echo "No argument supplied" && exit 0

current_date=$(/usr/bin/date +%d-%m-%Y)
current_day=$(/usr/bin/date +%d)
current_month=$(/usr/bin/date +%m)
current_year=$(/usr/bin/date +%Y)

last_wednesday=$(ncal -m $current_month | awk '/We/{print $6}')

if [[ $(ncal -m $current_month | awk '/We/{print $6}' | wc -c) -eq 1 ]]; then
	last_wednesday=$(ncal -m $current_month | awk '/We/{print $5}')
fi

if [ "$current_day" -eq "$last_wednesday" ]; then
        /usr/bin/curl --header "X-Custom-Header: semaphoreisamazing" -k https://<your semaphore instance>/api/integrations/$1
	echo "$current_data - Script executed successfully."
else
	echo "$current_date - Nothing to do, the script will be executed on $last_wednesday-$current_month-$current_year."
fi

Hope this can help fixing the issue in someway :)

I currently have a different workaround for my playbooks. I added the following tasks inside the playbooks, which need to be triggered only every third Monday and Tuesday of the Month.
   - name: Set default values for variables
      ansible.builtin.set_fact:
        custom_schedule_enabled: "{{ custom_schedule_enabled | default(false) }}"
        schedule_type: "{{ schedule_type | default('') }}"

    - name: Set default run_playbook to true if custom scheduling is not enabled
      ansible.builtin.set_fact:
        run_playbook: "{{ not custom_schedule_enabled }}"
      when: custom_schedule_enabled is defined

    - name: Determine if custom scheduling is enabled
      ansible.builtin.set_fact:
        run_playbook: false
      when: custom_schedule_enabled and custom_schedule_enabled

    - name: Check if today is the third Monday of the month
      ansible.builtin.set_fact:
        run_playbook: "{{ (ansible_date_time.weekday == 'Monday' and (ansible_date_time.day | int) >= 15 and (ansible_date_time.day | int) <= 21) }}"
      when: custom_schedule_enabled and schedule_type == "third_monday"

    - name: Check if today is the third Tuesday of the month
      ansible.builtin.set_fact:
        run_playbook: "{{ (ansible_date_time.weekday == 'Tuesday' and (ansible_date_time.day | int) >= 15 and (ansible_date_time.day | int) <= 21) }}"
      when: custom_schedule_enabled and schedule_type == "third_tuesday"

I added this to the schedule for the last Sunday of the month::
   - name: Determine if custom scheduling is enabled
      ansible.builtin.set_fact:
        run_playbook: false
      when: sunday_schedule_enabled is defined and sunday_schedule_enabled

    - name: Check if today is the last Sunday of the month
      ansible.builtin.set_fact:
        run_playbook: "{{ (ansible_date_time.weekday == 'Sunday' and (ansible_date_time.day | int) >= 25) }}"
      when: sunday_schedule_enabled and schedule_type == "last_sunday"

And under each task i added the following condition
when: run_playbook
Inside the Inventories which use the custom Schedule I added the following Variable
[all:vars]
custom_schedule_enabled=true
schedule_type=third_monday

I currently have a different workaround for my playbooks. I added the following tasks inside the playbooks, which need to be triggered only every third Monday and Tuesday of the Month. The Semaphore schedule triggers them every Monday and Tuesday, but if the conditions defined in the playbook are not met, all jobs are skipped.
   - name: Set default values for variables
      ansible.builtin.set_fact:
        custom_schedule_enabled: "{{ custom_schedule_enabled | default(false) }}"
        schedule_type: "{{ schedule_type | default('') }}"

    - name: Set default run_playbook to true if custom scheduling is not enabled
      ansible.builtin.set_fact:
        run_playbook: "{{ not custom_schedule_enabled }}"
      when: custom_schedule_enabled is defined

    - name: Determine if custom scheduling is enabled
      ansible.builtin.set_fact:
        run_playbook: false
      when: custom_schedule_enabled and custom_schedule_enabled

    - name: Check if today is the third Monday of the month
      ansible.builtin.set_fact:
        run_playbook: "{{ (ansible_date_time.weekday == 'Monday' and (ansible_date_time.day | int) >= 15 and (ansible_date_time.day | int) <= 21) }}"
      when: custom_schedule_enabled and schedule_type == "third_monday"

    - name: Check if today is the third Tuesday of the month
      ansible.builtin.set_fact:
        run_playbook: "{{ (ansible_date_time.weekday == 'Tuesday' and (ansible_date_time.day | int) >= 15 and (ansible_date_time.day | int) <= 21) }}"
      when: custom_schedule_enabled and schedule_type == "third_tuesday"

I added this to the schedule for the last Sunday of the month::
   - name: Determine if custom scheduling is enabled
      ansible.builtin.set_fact:
        run_playbook: false
      when: sunday_schedule_enabled is defined and sunday_schedule_enabled

    - name: Check if today is the last Sunday of the month
      ansible.builtin.set_fact:
        run_playbook: "{{ (ansible_date_time.weekday == 'Sunday' and (ansible_date_time.day | int) >= 25) }}"
      when: sunday_schedule_enabled and schedule_type == "last_sunday"

And under each task i added the following condition when: run_playbook
Inside the Inventories which use the custom Schedule I added the following Variable
[all:vars]
custom_schedule_enabled=true
schedule_type=third_monday

thanks for sharing your workaround, I also wanted to try it but for laziness I haven't implemented it yet... we have a lot of tasks and roles and this means that I have to add the condition almost everywhere :)


Unable to (de)serialize a RootModel

Initial Checks

[X] I confirm that I'm using Pydantic V2 installed directly from the main branch, or equivalent

Description
First of all, thanks for the incredible support. This is the third issue; the others are resolved in record time. Thank you for that 🙏🏻
Unable to (de)serialize a RootModel properly. In Pydantic 1.x I used to do:
root@a91f88a8e3a2:/# python3
Python 3.8.17 (default, Jul  4 2023, 22:24:10)
[GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pydantic import __version__
>>> __version__
'1.10.10'
>>> from pydantic import BaseModel, Field
>>> from typing import Any, Literal, List
>>>
>>> class IcebergType(BaseModel):
...     @classmethod
...     def __get_validators__(cls):
...         """Called to validate the input of the Transform class."""
...         # one or more validators may be yielded which will be called in the
...         # order to validate the input, each validator will receive as an input
...         # the value returned from the previous validator
...         yield cls.validate
...     @classmethod
...     def validate(cls, v: Any) -> BaseModel:
...         if isinstance(v, str):
...             if v == "string":
...                 return StringType()
...         return v
...
>>> class PrimitiveType(IcebergType):
...     __root__: str
...
>>> class StringType(PrimitiveType):
...     __root__: Literal["string"] = Field(default="string")
...
>>> class Schema(BaseModel):
...     fields: List[IcebergType]
...
>>> schema_json = Schema(fields=[StringType()]).json()
>>>
>>> schema_json
'{"fields": ["string"]}'
>>> Schema.parse_raw(schema_json)
Schema(fields=[StringType(__root__='string')])

Which worked as a charm. In 2.0 I'm having trouble with either (de)serialization. In the following example, serialization works as it should. But I'm unable to deserialize it.
root@f2b844589db5:/# python3
Python 3.8.17 (default, Jul  4 2023, 22:24:10)
[GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pydantic import __version__
>>>
>>> __version__
'2.0.2'
>>> from pydantic import BaseModel, RootModel, Field, SerializeAsAny, GetCoreSchemaHandler
>>> from pydantic_core import core_schema
>>> from typing import Generic, TypeVar, Literal, List, Any
>>> from abc import ABC, abstractmethod
>>> from pydantic_core import core_schema
>>>
>>> class IcebergType(ABC, BaseModel):
...     pass
...
>>> class PrimitiveType(IcebergType, RootModel):
...     """Primitive types are a by a string"""
...     pass
...
>>> class StringType(PrimitiveType):
...     root: Literal["string"] = Field(default="string")
...
>>> class Schema(BaseModel):
...     fields: List[SerializeAsAny[IcebergType]]
...
>>> schema_json = Schema(fields=[StringType()]).model_dump_json()
>>> schema_json
'{"fields":["string"]}'
>>> Schema.model_validate_json(schema_json)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.8/site-packages/pydantic/main.py", line 507, in model_validate_json
    return cls.__pydantic_validator__.validate_json(json_data, strict=strict, context=context)
pydantic_core._pydantic_core.ValidationError: 1 validation error for Schema
fields.0
  Input should be an object [type=model_type, input_value='string', input_type=str]
    For further information visit https://errors.pydantic.dev/2.1.2/v/model_type

According to the docs, __get_validators__ has been replaced by __get_pydantic_core_schema__. So let's give that a try:
root@f2b844589db5:/# python3
Python 3.8.17 (default, Jul  4 2023, 22:24:10)
[GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pydantic import BaseModel, RootModel, Field, SerializeAsAny, GetCoreSchemaHandler
>>> from pydantic_core import core_schema
>>> from typing import Generic, TypeVar, Literal, List, Any
>>> from abc import ABC, abstractmethod
>>> from pydantic_core import core_schema
>>>
>>> class IcebergType(ABC, BaseModel):
...     @classmethod
...     def __get_pydantic_core_schema__(
...         cls, _source_type: Any, _handler: GetCoreSchemaHandler
...     ) -> core_schema.CoreSchema:
...         return core_schema.no_info_after_validator_function(
...             cls.validate,
...             core_schema.str_schema(),
...         )
...     @classmethod
...     def validate(cls, v: str):
...         return str(v)
...
>>> class PrimitiveType(IcebergType, RootModel):
...     """Primitive types are a by a string"""
...     pass
...
>>>
>>> class StringType(PrimitiveType):
...     root: Literal["string"] = Field(default="string")
...
>>>
>>> class Schema(BaseModel):
...     fields: List[SerializeAsAny[IcebergType]]
...
>>> schema_json = '{"fields": ["string"]}'
>>> Schema.model_validate_json(schema_json)
Schema(fields=['string'])
# Now this stopped working
>>> Schema(fields=[StringType()]).json()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.8/site-packages/pydantic/root_model.py", line 51, in __init__
    __pydantic_self__.__pydantic_validator__.validate_python(root, self_instance=__pydantic_self__)
pydantic_core._pydantic_core.ValidationError: 1 validation error for StringType
  Input should be a valid string [type=string_type, input_value=PydanticUndefined, input_type=PydanticUndefinedType]
    For further information visit https://errors.pydantic.dev/2.1.2/v/string_type
>>> Schema(fields=['string']).json()
<stdin>:1: PydanticDeprecatedSince20: The `json` method is deprecated; use `model_dump_json` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.0.2/migration/
'{"fields":["string"]}'
# And it expects it to be a string as well:
>>> Schema(fields=['string']).model_dump_json()
'{"fields":["string"]}'

Example Code
No response
Python, Pydantic & OS Version
>>> import pydantic.version; print(pydantic.version.version_info())
             pydantic version: 2.0.2
        pydantic-core version: 2.1.2 release build profile
                 install path: /usr/local/lib/python3.8/site-packages/pydantic
               python version: 3.8.17 (default, Jul  4 2023, 22:24:10)  [GCC 12.2.0]
                     platform: Linux-5.15.49-linuxkit-pr-aarch64-with-glibc2.34
     optional deps. installed: ['typing-extensions']

Selected Assignee: @dmontagu

While I'm sure this can be done with __get_pydantic_core_schema__, the schema you are currently returning there won't work for it, in particular, it is just validating into a string, not into a model instance.
However, I think you don't need to use that at all here, and can get by with just a @model_validator:
from abc import ABC
from typing import Literal, List

from pydantic import BaseModel, RootModel, Field, SerializeAsAny, model_validator

class IcebergType(ABC, BaseModel):
    @model_validator(mode='wrap')
    @classmethod
    def handle_primitive_type(cls, v, handler):
        if isinstance(v, str) and not issubclass(cls, PrimitiveType):
            return StringType(v)
        return handler(v)

class PrimitiveType(IcebergType, RootModel):
    """Primitive types are a by a string"""
    pass

class StringType(PrimitiveType):
    root: Literal["string"] = Field(default="string")

class Schema(BaseModel):
    fields: List[SerializeAsAny[IcebergType]]

schema_json = '{"fields": ["string"]}'
m = Schema.model_validate_json(schema_json)
print(m)
#> fields=[StringType(root='string')]

print(m.model_dump_json())
#> {"fields":["string"]}

If that doesn't work for you, let us know what other issues you hit and we can help address those.


deep TS

https://microsoft.github.io/TypeScript-New-Handbook/everything/

maybe should look at real world code in definite typed repo


Downstream test: npm install in verbose mode.

Not for merging, just to investigate https://github.com/jquery/esprima/issues/1247#issuecomment-170969851.

Current coverage is 100.00%

Merging #1450 into master will not affect coverage as of 9ab5289

@@            master   #1450   diff @@
======================================
  Files            1       1
  Stmts         3310    3310
  Branches       578     578
  Methods          0       0
======================================
  Hit           3310    3310
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 9ab5289

Powered by Codecov. Updated on successful CI builds.

Closing this, verbose mode doesn't help at all.


What SceneMesher.cs does.

I didn’t see the PostProcessor scenario in the sample, nor did I see its methods being called and executed by other classes.Is it deprecated?

SceneMesher executes when running on a Quest 2 or Quest Pro. It generates a low-poly water-tight mesh of the scene as a way to emulate the functionality of the scene mesh available on Quest 3.


Flow crash

To reproduce:

Load the WRF/2D VDC, create a flow renderer
Delete the flow renderer
Create a new flow renderer.  Vapor will crash.

Cannot reproduce with a Leigh Orf Tornado data set. Need more info.

I just reproduced this with the WRF/2D VDC dataset

Investigation update:
Upon creation of the 2nd flow renderer, the variable VariableWidget::_rParams becomes a dangling pointer. Question: what's the correct behavior should be? A new Params object being created? The old Params object not being deleted?

Investigation update:
This dangling pointer only occurs with data sets that have only 2D variables. I.e., the pointer is properly updated when 3D variables are present. I think there's some logic went wrong when VariableWidget handles 2D variables.


Does not only look for runs on the current branch

Hi,
I had a run where turnstyle waited, but resumed after another CI run from another branch stopped.
I unfortunately can't share any logs nor examples (private repo)

PRs welcome to add an option!


[pulsar-broker] fix the delete-cluster-metadata command parameter "-cluster"

"-cluster"   -->  "--cluster"

after the init, the zk path as follow:
the --configuration-store zk contains admin pulsar
the --zookeeper  zk  contains  namespace stream bookies managed-ledgers
the --existing-bk-metadata-service-uri zk contains  /chroot/ledgers

First please follow https://github.com/apache/pulsar/blob/master/.github/PULL_REQUEST_TEMPLATE.md to edit your PR description.
For the code issue, there's already a ClusterMetadataTearDownTest under package org.apache.pulsar.tests.integration.cli.  Your new test seems to be covered by the test and it only checks a few z-nodes.


(Chore) #2162 PHASE 1: Queue popup - Update text

Description
Change text and styles for queue dialog.
About #2162
How Has This Been Tested?
Your account should be in the queue.
Click on claim button on the dashboard - see updated text for queue dialog.
Checklist:

[x] PR title matches follow: (Feature|Bug|Chore) Task Name
[x] My code follows the style guidelines of this project
[x] I have followed all the instructions described in the initial task (check Definitions of Done)
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] I have added reference to a related issue in the repository
[x] I have added a detailed description of the changes proposed in the pull request. I am as descriptive as possible, assisting reviewers as much as possible.
[x] I have added screenshots related to my pull request (for frontend tasks)
[ ] I have pasted a gif showing the feature.
[x] @mentions of the person or team responsible for reviewing proposed changes

Screenshots:

Dashboard
When trying to proceed FV with deleted account again

@sirpy @LiavGut I fixed the text size on 24h popup and fontWeight for button. See new screenshots:

Queue
Deleted - 24 hours


Remove dataproc_job_label_* controls and fix typos

Checklist

[ ] Issue(s) linked

@misraved can you please add details as to why it's being removed?

@cbruno10 I had incorrectly merged the PR - https://github.com/turbot/steampipe-mod-gcp-labels/pull/18, which included the additional controls for checking gcp_dataproc_job resources, however, the table gcp_dataproc_job does not exist, which resulted in the control failure.
We will add back support for the gcp_dataproc_job resources once the support for the table has been added.


optimizes raster/vector images

Simple images optimizations
Svg viewbox has also been resized to 190x60 (easier to manage when exporting etc) and content (not resized) has been centered. Svg comments removed, too.
Png got a simple lossy compression

Thanks!


Banning users

It might be a good idea to ignore prs from users wjo are banned.
Ideas for further improvement:

add a poll method to ban a user (using issues preferably)
deny prs from banned users

Ban Zidail :D (The guy from https://github.com/chaosbot/chaos/pull/48)

An alternative, less harsh, approach would be to at least have chaosbot comment on PRs from people with previous PRs deemed really bad by the community.
Could be as simple as "Hey this guy might be malicious/spam".
This gives a heads up for everybody

@rudehn that sounds interesting. I'll work on it later.

I prefer rudehn's idea for chaosbot leaving a comment on PRs
I think part of the fun in chaosbot is everyone has a vote. Made me happy when I read that democracy vote got accepted. ( Removal of following bonus )

@MINIMAN10000 interestingly the pr got reverted due to server error.
f2cd29ea15de881ab3377cad5519e0c2dcfe00ac
Coincidence?

If anyone is wondering why this got rejected, with #42 put in place, and with more yays than nays, the answer is here.  Vote weights are cached for a day.


Vertical Pod Autoscaler Settings

We have multiple clusters which have issues due to VPA.
Slack Thread: https://gigantic.slack.com/archives/C6L8J93N0/p1688041610346279
We identified multiple issues:

[x] VPA recommender restarts in bigger clusters due to the resource limitation As a result this affects several workloads that can't scale up the resources.

[x] VPA scales pods CPU down way too aggressively, see min settings. Set it to a minimum of 50 millicores. 15 millicores is just too low.

[x] VPA is creating both NetworkPolicies and CiliumNetworkPolicies. Make sure it creates one or the other, but not both.

[x] VPA is being rate limited because, in large clusters, it can't perform its operations with the default k8s client request per second limit, which is 5. Increase it to 50 with a burst limit of 75.

[x] [WONT FIX] VPA should have multiple recommenders to adjust bigger apps like prometheus or aws-loadbalancer-controller differently than smaller apps, see VPA recommenders. Currently not possible we would need to change the values.yaml, this might be coming later.

[ ] Test the memory-save parameter so that VPA does not calculate the recommendation for workloads which do not have a VPA CRD set

[ ] Review VPA metrics collection

[ ] Review VPA monitoring

Closing this for now, we will follow up with a new issue regarding reviewing VPA metrics


Bump govuk_publishing_components from 21.13.1 to 21.15.0

🤖 Bumps govuk_publishing_components from 21.14.0 to 21.15.0.

Changelog
Sourced from govuk_publishing_components's changelog.

21.15.0

Allow textarea to be described by an element outside the component (#1225)
Add guidance_id to contextual guidance component (#1225)
Update cookie banner component from an opt-out to an opt-in approach (#1227)

Commits

baaf98a Merge pull request #1229 from alphagov/release-21-15-0
da4190a Release 21.15.0
179ebd4 Merge pull request #1228 from alphagov/update-cookie-banner
1fd0c02 Update CHANGELOG.md
cb53f4d Fix scss linting error
d1fc741 Delete old cookies that don't meet the default consent
7980451 Update cookie banner text
8569181 This hides the accept button by default, then shows it with js.
6cf863d Update copy, fix mobile layout
ad20eb6 Update tests to reflect changes
Additional commits viewable in compare view

Closed in favour of https://github.com/alphagov/whitehall/pull/5212


Use ls -A to hide . and .. when previewing directories

Before:

After:

Thank you @kidonng. This is a great improvement!


factors thought

I wonder if we should just use the data after we get to the step before pivoting. Just thinking that this would avoid talking about gender and having data that isn't as inclusive as it could be (also would save a tiny bit of time).

also good to add this to the lab for people with gov computers that can't install jhur from github:
read_delim("http://jhudatascience.org/intro_to_r/data/Youth_Tobacco_Survey_YTS_Data.csv")

should remove mapping from the key too - since we don't usually use that anymore


Bug Report: Cant compile because of no Project.xml file, but its already there?

I don't understand the issue here. can someone tell me whats wrong?

Try reinstalling polymod from either the default repo (haxelib git polymod https://github.com/larsiusprime/polymod.git), as some other engines use slightly modified polymod repos that may cause conflicts. If that doesn't work, you could also try reinstalling from my repo (haxelib git polymod https://github.com/AngelDTF/haxe-polymod.git), which uses a slightly older version of polymod with less bugs. If none of these work, you could also just choose to rip polymod entirely out of the project (by removing the references in Project.xml and src/TitleState.hx), as it doesn't really do much in it's current state.

Try reinstalling polymod from either the default repo (haxelib git polymod https://github.com/larsiusprime/polymod.git), as some other engines use slightly modified polymod repos that may cause conflicts. If that doesn't work, you could also try reinstalling from my repo (haxelib git polymod https://github.com/AngelDTF/haxe-polymod.git), which uses a slightly older version of polymod with less bugs. If none of these work, you could also just choose to rip polymod entirely out of the project (by removing the references in Project.xml and src/TitleState.hx), as it doesn't really do much in it's current state.

Thank you.

Try reinstalling polymod from either the default repo (haxelib git polymod https://github.com/larsiusprime/polymod.git), as some other engines use slightly modified polymod repos that may cause conflicts. If that doesn't work, you could also try reinstalling from my repo (haxelib git polymod https://github.com/AngelDTF/haxe-polymod.git), which uses a slightly older version of polymod with less bugs. If none of these work, you could also just choose to rip polymod entirely out of the project (by removing the references in Project.xml and src/TitleState.hx), as it doesn't really do much in it's current state.

it worked!
but now its just opened a web version of the game. Is that supposed to happen?

Change lime test html5 -debug to lime test windows -debug.

Change lime test html5 -debug to lime test windows -debug.

ok!


fix(install-witness.sh): ensure compatibility with macOS for checksum verification

The install-witness.sh script did not work on macOS due to the absence of the sha256sum command.
This patch adds a check to use shasum -a 256 if sha256sum is not available, ensuring the script
runs correctly on macOS.

Added a conditional check to use shasum -a 256 when sha256sum is not found
Updated the FILE_CHECKSUM assignment to support both commands

Closes #458
Signed-off-by: Frederick F. Kautz IV<EMAIL_ADDRESS>

Tested on both macOS and Ubuntu.


NR-157489: PaLM 2 - new quickstart

Ticket: https://issues.newrelic.com/browse/NR-157489
Summary
A concise description of the changes being introduced. Please review the pre-merge checklist section to validate this pull request is ready for review and merge. If it is not ready, please mark the pull request as a draft.
The owners of this repo are not experts in the subject matter of the quickstarts. We review for the quickstart to be functional and for security risks. If you are seeking feedback on the content of the quickstart, please seek out a subject matter expert. If you are not an internal NR contributor, we can do our best to connect you with a content reviewer.

Pre merge checklist

[ ] Did you check you NRQL syntax? - Does it work?
[ ] Did you include a Data source and Documentation reference?
[ ] Are all documentation links publicly accessible?
[ ] Did you check your descriptive content for voice and tone?
[ ] Did you check your descriptive content for spelling and grammar errors?
[ ] Did you review your content with a subject matter expert? (e.g. a Browser agent quickstart is reviewed with a member of the Browser Agent team)

Dashboards

[ ] Does the PR contain a screenshot for each of your dashboards?
[ ] Do your screenshots show data?
[ ] Has the sanitization script been run on each dashboard?

Alerts

[ ] Did you check that your alerts actually work?

closing this PR, as we have created a new PR: https://github.com/newrelic/newrelic-quickstarts/pull/2047


Zone standby mode

Description
Possibility to put whole zone to standby mode, only read-only commands (like one* list/show) are allowed. No commands which modifies state are allowed.
Use case
Put zone to standby mode, do maintenance, resume normal behaviour
Interface Changes
New CLI comands onezone standby zone_id and onezone enable zone_id and corresponding API calls.
Additional Context
Consider option to put only single node to standby.

Progress Status

[x] Branch created
[x] Code committed to development branch
[x] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

Src, tests and docs merged to master, should be part of 6.2 release
In next version we should add to begining of upgrade procedure onezone disable and to the end onezone enable

Doc PR, update upgrade process


Visual effects

:tada: This PR is included in version 0.13.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


two bugfixes and paged LDAP queries

I have tried to put enough information into individual commit messages.
SearchPaged function probably looks bit weird - I didn't want to disrupt your API too much, otherwise it could be merged into Search itself (I'll gladly do it myself if we agree breaking interface is not an issue).
I tested it on AD (running on Server 2008 R2).

It all looks great! Thanks for the work.
There's a request open now for 0.6 support - feel like taking a stab at it? I'm swamped and likely will not have any time for porting to 0.6 for a couple of weeks, at least.

Thanks for the merge.
Bad thing is, I only tried if it works in the good case, all LDAP servers I have access to DO support paged queries. Now that I have read the patch again, I found that I left couple of "TODO: throw" comments on the error paths (not to mention that throw is not correct response there, it should call the callback with an error flag). I'll fix it tomorrow.
As for the 0.6, I have loads of work too, and we don't aim for >0.5 for now, we still have some code that relies on the old behavior of require.paths. I may get to it, but in similar timeframe to yours - somewhere between couple of weeks and when debian forces us to move to 0.6.

Can't blame me for trying to get someone else to do my work for me! :-)
Look forward to the proper throws, etc. I'll merge as soon as I get a pull req. Thanks again.


[BUG] Get Stared failed on Windows

In order to try to solve the problem #339 of the render_template, I wanted to make a fresh install on my windows laptop.
I installed Python 3.10.9, Robyn and Jinja2, then I copy/pasted the Get Started code from the doc and when I launch it I get this error :

main.py
from robyn import Robyn

app = Robyn(__file__)

@app.get("/")
async def h(request): # request is an optional parameter
    return "Hello, world!"

app.start(port=5000, url="<IP_ADDRESS>")

I launch program with :
python app.py

My package version :

And my structure project got only app.py file
Robyn work on windows ?  or is it another problem ?
I apologize for bothering you with these problems but I really want to use this great framework for my projects.

I apologize for bothering you with these problems but I really want to use this great framework for my projects.

No worries. I really appreciate you helping with all the support 😄
I will have a look. Ideally, this should work.

i have same problem too!
when i lunch code from the doc i get this error.
OS: Windows 10
Python: 3.9.6
Robyn: 0.20.0

@MosTafa2K @Paroxyste , this should be fixed in the latest release. Can you folks please have a look?

I just tested on Windows 10 on the latest version of Robyn and everything is working well :D


Export app with versions_only_current=True, doesn't work

Describe the bug
Export app with versions_only_current=True, doesn't work, because when getting app information, if we set versions_only_current=True, then we don't have the versions section in the response, then the following part of code doesn't work
for version in app_info["versions"]:
                version["runtimeContextLabel"] = self.get_runtime_label_by_id(
                    app_techno_id, version["runtimeContextId"]
                )

Trello card: [#143] Export app with versions_only_current=True, doesn't work


Implement subgraph deployment

Currently, the hosted subgraph is updated manually (see below). We should find a way to automate that whenever there is a change to the code that relates to the subgraph. As part of this (or at the very least), we should create a team account so that the subgraph is not deployed under a personal account.
Steps to deploy subgraph to hosted service

Update the subgraph.yaml dataSources for DaoFactory and BankFactory network (to rinkeby), address and startBlock (don’t forget to start the block from 1 block behind the block number it was deployed at)
graph deploy <GITHUB_USERNAME>/<SUBGRAPH_DIRECTORY> --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/

Note: if you haven’t authenticated your graph account to your graph-cli you’ll need to run graph auth https://api.thegraph.com/deploy/ <ACCESS-TOKEN> before doing step 2. The access token can be found on the dashboard when a subgraph is created in thegraph.com. You only need to authenticate once.

@jdville03 I've moved the subgraph related code into a /subgraph directory and I've also created the deployment setup.
FYI, details are in subgraph/README.md and I've also removed the BankFactory details from the config as it's no longer required. It's handled directly in the subgraph mappings


Native menubar example broken

Description
The native menubar example is broken. Clicking the icon in the menubar opens the native menu, but also the browser window. Right clicking the menubar icon will only open the native menubar normally.
Steps to Reproduce the Problem

Follow installation instructions from native menubar example
Click the menubar icon several times
See that both the native menu as well as the browser window appear

Expected Behaviour
Only the native menubar should appear.
Actual Behaviour
Also the browser window appears.
When the browser window appears, the following error is thrown:
yarn run v1.22.10
$ electron .
Menubar app is ready.
(node:2391) UnhandledPromiseRejectionWarning: Error: ERR_FILE_NOT_FOUND (-6) loading 'file:///GitHub/menubar/examples/native-menu/index.html'
    at rejectAndCleanup (electron/js2c/browser_init.js:217:1457)
    at Object.failListener (electron/js2c/browser_init.js:217:1670)
    at Object.emit (events.js:315:20)
(Use `Electron --trace-warnings ...` to show where the warning was created)
(node:2391) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:2391) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Specifications

Menubar version: 9.0.4
Platform: MacOS 11.4 and Windows 10 Home 20H2
Electron version: v9.4.0 (also tested with v12.0.12, same behaviour)

This code disables opening the browser window, and only opens the native menu (at least on MacOS).
	mb.on('ready', () => {
		console.log('Menubar app is ready.');
		// your app code here
		tray.removeAllListeners();
	});

Using tray.removeAllListeners("click"); is not enough, because then on double click the browser window will still open.
Seems like these events are bound when they shouldn't in case the tray is set.

Thanks @Jip-Hop. This does seem to be a bug, but your solution worked for me too.

@Jip-Hop wow! thank u sooo much! should be in the example!

If someone creates a PR I'll merge it

Created a PR for it! The issue can be closed!


refactor(actionbar)!: migrate to core tokens

Description
BREAKING CHANGE: This migrates the ActionBar component to core tokens.

Jira issue CSS-121 https://jira.corp.adobe.com/browse/CSS-121

How and where has this been tested?

Chrome 103 for macOS
Firefox 102 for macOS
Safari 15.5 for macOS
How this was tested: comparing local build of http://localhost:3000/docs/actionbar.html with XD redline components batch 2 and with https://spectrum.adobe.com/page/actionbar

Screenshots
Standard:

Emphasized:

Flexible width:

Sticky:

To-do list

[ ] If my change impacts other components, I have tested to make sure they don't break.
[x] If my change impacts documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have tested these changes in Windows High Contrast mode.

[ ] This pull request is ready to merge.

Released<EMAIL_ADDRESS>

Hi there!
Just a quick note:
Are you sure that this is expected behavior?

From github-actions https://pr-1512--spectrum-css.netlify.app/

Released updated beta<EMAIL_ADDRESS>


♻ Refactor icon picker

Thank you for contributing to Homarr! So that your Pull Request can be handled effectively, please populate the following fields (delete sections that are not applicable)
Category
Refactoring Only
Overview

Removed the old icon picker
Removed old API endpoints
Added new endpoint for normalizing all icon repositories
Added an abstract base class for making adding new sources much easier

Issue Number (if applicable)
Related issue: #638

Things to do before it's ready for review:

[ ] Add a loading indicator
[ ] Fix bugs related with file types


MathJax install directory is ignored when showing a page through Google Translator

Dear MathJax developers,
In my webserver logs, I sometimes see failed requests for JavaScript files like this one:
/jax/output/HTML-CSS/config.js?rev=2.5.3

The reason why they fail is that I installed MathJax in the /mathjax directory, so the correct path would be:
/mathjax/jax/output/HTML-CSS/config.js?rev=2.5.3

I investigated the issue and found out that it occurs when people visit my website through the Google Translator. This is the original <script> tag:
<script type="text/javascript" src="mathjax/MathJax.js?1430429173" async></script>

And this is what comes out of the Google Translator:
<script type=text/javascript src=https://translate.googleusercontent.com/translate_c?depth=2&hl=sv&pok=1&prev=search&rurl=translate.google.com&sl=en&u=http://www.my-website.com/mathjax/MathJax.js%3F1430429173&usg=ALkJrhhZA32GEKT2xBLIgKnqdLNi2xTxtw async></script>

The problem is clear: MathJax is not able to figure out the correct location of the additional JavaScript files to load.
As you see, I don't use the MathJax CDN, since I like to have critical things on my own server. Using the CDN would seem to solve the problem, but as I said, I'd rather not.
Is there a way to manually configure the "base URL" so that the files will be found?

I'm with the same problem here. But, in my case, I'm just accessing my page and getting:

If I change the MathJax load to use CDN it works.

In the screenshot above it's 2.4-beta-2, but I tried with 2.5.3 too.

After change the MathJax.Ajax.config.root = MATHJAX_PATH; the requests worked.

I found my problem, I wasn't using a <script> tag, I was using a $.getScript. :cry:

Great, thank you! I couldn't find MathJax.Ajax.config.root in the documentation, but MathJax.Hub.config.root. Would it be more advisable to change the latter?

In fact, they both point to the same location (MathJax.Ajax.config is set equal to MathJax.Hub.config  specifically so the Ajax module can use the root property).  So it really doesn't matter which you set, as you are setting both either way.


Allow disabling scraping kube proxy in 1.14

Continuing effort of unifying Prometheus handling after backporting pkg/prometheus.
Fix problem with disabling kube-proxy scraping.
Backports: #1218
/cc mm4tt mborsz

/lgtm
/approve


Not Connected To Helium Network, Not Connected To Blockchain

Main-Vinyl-Jellyfish came online and synced, made some rewards, then suddenly went offline from Aug 9 until now.
Local Diagnostics says Miner Connected To Blockchain	False.
Remote Dashboard says Connected To Helium Network:	No.
I removed the Wi-Fi and Bluetooth USB adapters and connected the hotspot via Ethernet cable only.
Port forwarding setup on the host router/firewall and I confirmed it is working.
Dashboard sync percentage keeps dropping.
Installed indoors at 22C.
Removed the lid to prevent overheating of CPU on Aug 12.
Filed support ticket #264836 and #265387 with no response from Nebra support.
Local Diagnostics:
Sync Percentage	0.0%
Height Status	0 / 970400
Firmware Version	2<IP_ADDRESS>
Frequency	915
Region Plan	US915
Variant	Nebra Indoor Hotspot Gen 1
Miner Connected To Blockchain	False
Miner Relayed	False
ECC Detected	True
ETH0 MAC	xx:xx:xx:xx:4C:66
WLAN0 MAC	None
Raspberry Pi Serial	00000000f57bxxxx
Bluetooth Detected	False
LoRa Operational	True
Modem Detected	False
Remote Dashboard:
Connected To Helium Network:	No
Blockchain Sync Status:	98.73%
Connected To Update Server: Yes
Model: Nebra Indoor Hotspot Gen 1
IP Address: <IP_ADDRESS>
CPU Usage: ~86%
CPU Temperature: ~62C
Memory Usage: 356 / 962 MB
Storage Usage: 5.7 / 27.8 GB

Your device is offline currently but from the logs appears to be suffering from this issue https://github.com/helium/miner/issues/978
Unfortunately we need to wait for a fix from helium for this issue.
We can attempt a fix once the unit is back online. But this is the wrong place for this support so please keep it on the support ticket instead

I have obtained the unit back from my host. It's now "online" but still refuses to connect to the blockchain.
Is there a "factory reset" we can do, or a serial debug console that would allow me to see some logs, or properly diagnose?

Hey there,
i have the same issue like "causticphoton" ^^
My indoor Nebra hot spot EU868 - Joyous Ceramic Stallion is syncing for 9 days since 12.08.21
Sync Percentage	0.00%
Height Status	0 / 975442
Firmware Version	2<IP_ADDRESS>
Frequency	868
Region Plan	EU868
Variant	Nebra Indoor Hotspot Gen 1
Miner Connected To Blockchain	False
Miner Relayed	False
ECC Detected	True
ETH0 MAC	xx:xx:xx:xx:C9:F7
WLAN0 MAC	xx:xx:xx:xx:7D:B1
Raspberry Pi Serial	00000000ff52xxxx
Bluetooth Detected	True
LoRa Operational	True
Can you help please

@Spiridon9 @causticphoton please reply on the support tickets

ticket ID #267178 - I hope we do not need to wait forever


Added new app engine example node.js

Description of the change: Added link to new app engine example that is node.js
Reason for the change: Node.js example was missing in the document.
Link to original source: https://cloud.google.com/appengine/docs/standard/nodejs/sending-emails-with-sendgrid

Closes #

Hello @harsh1201,Thanks again for the PR! It's HACKTOBERFEST! We want to show our appreciation by sending                                              you some special Hacktoberfest swag. If you have not already, could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX

Thank You!


Update logger_main.py

localtime

Thanks for the contributions!
I'll merge the pull but I'll change a couple of things after that
1.- "localtime". This may seem as a personal preference but the target for this logger is to generate data for NIWA (www.niwa.co.nz) databases and because of the "daylight saving" issue we need to maintain our data streams on UTC and convert to local time if required. So, I'll add a flag on the settings file so that the user can choose between localtime and UTC
2.- Output file name. I require that the file names still comply with the "8.3" format so that they are compatible with some very old internal systems at NIWA. That may change in the future so I'll add another flag to the settings file so the user can choose the format of the output filename (compressed: YYYYMMDD.tsv or extended:YYY-MM-DD.tsv)

NIWA - cool organization.
"localtime", "tsv" and other - it's personal preference, I have a "pet project" to read data from CO2-metr(AZ7722).
Next, I'm add data parsing(import re) and writing to the database(mongoldb or sqlite)
I think that data parsing is so personal, but writing to the database I send too

You're right that it is very dependent on the specific project but it makes sense to give the user a choice.
This logger is meant to be simple, that's why I didn't implement a db connection as I have in other logger (have a look at the CPC3775 logger https://github.com/guolivar/cpc3775_logger ).
If you think that your modifications are useful, send them up!
That CO2 meter seems interesting, we've used mostly Q-Trak from TSI.

Yes CPC3775 logger is interesting, thx. I want to use raspberry pi, postgreSQL is overkill for this task, but not a problem remake it.


Add fix operation (#257)

Add FIX operation to run a fix operation (available default fixTypes: UNDEL and DELET) for a record in the datastore

Add aut prod webhooks (#243, #247) ; Dependency update (#250)

Update aut-names prod webhook from main (#243)

Add aut production from main webhooks (#247)

Bump the development-dependencies group with 2 updates (#249)

Bumps the development-dependencies group with 2 updates: @babel/plugin-transform-runtime and @babel/preset-env.

Bump the production-dependencies group with 2 updates (#248)

Bumps the production-dependencies group with 2 updates: @babel/runtime and @natlibfi/melinda-commons.

3.1.0-alpha.4

Let's keep this as a draft until we see how it behaves in test environment


A technique to get even better speed

Dear authors,
Congrats on the job to optimize DCNv4, the changes make a lot of sense. I didn't expect that the previous DCNv3 was limited by the issue of memory instructions and too much computation, but it makes sense, specially for float16.
One issue I see with the current code is the memory accesses in ms_deform_attn_im2col_bilinear and ms_deform_attn_col2im_bilinear which are under different conditionals.
Similarly, the call to ms_deform_attn_col2im_bilinear is under a conditional itself.
These conditionals are of course necessary to avoid accessing outside the image.
My previous experience with GPU programming has shown me that it is hard for GPU compilers to optimize well this case, and reduce latency by issuing memory instructions significantly before their use.
Possibly recent CUDA compilers handle that just fine, and my past experience is no longer valid, and if you have seen very good GPU code generated, ignore my comment.
However if this still applies, a solution that I have found to give very significant performance boost in practice is the following:
At the beginning of your kernel check whether any of the conditions will be false for your warp.
Then if all the conditions will give true, execute a version of the kernel without any condition checks remaining. If any is false, execute the normal kernel.
Most of the time all the conditions will hold. Thus the kernel without any conditions will execute. This kernel will be much better optimized by the GPU compiler and be much faster. The 'slow' kernel will only execute  a small minority of cases and not affect performance much.
Sadly I have no time to work on this at all, but I'm hopeful you use this technique and make an even better DCN.

Just to be more explicit, here is one example of implementing the technique on backward_kernel_dcn:
Load all the w_im and h_im in a table.
Compute minimums and maximum.
Based on the minimums and maximums, determine if any of the "if (h_im > -1 && w_im > -1 && h_im < height_in && w_im < width_in)" test will be false
Based on the minimums and maximums, determine if any of the ifs inside ms_deform_attn_col2im_bilinear will be false
If any of them is false, execute the current code.
If none of them is false, execute a different loop that doesn't have any of the checks.
Similar thing can be done to the other functions.

Thanks for your valuable suggestions, we will definitely try this!

Thanks for looking at it, I hope you get a significant performance boost.
Here are some other ideas that could also improve performance, but that need research work (maybe for one of your future publication ?).

Each sample of the kernel is bilinearly interpolated. Inspired from quantization techniques, like int8, for which after training the network completly, you finetune the model with enforced quantization, one idea that could speed up DCN would be to have after training a finetuning phase when you would use nearest neigbor instead of bilinear interpolation. That would divide the bandwidth requirements with cache by 4 and reduce computations. After this finetuning, the inference network would use DCN with nearest neighbor, and thus be faster. Maybe no finetuning is needed, it's something that could be tested.
All DCNs have made the choice to mimick a convolution kernel, which is usually square (3x3, 5x5, etc). This is arbitrary and if you think about it DCN could just define a number of samples N. I have tested this idea some time ago with DCNv2 and it worked. For example instead of having a 3x3 kernel, I would use N=4 samples. For the initial position, all samples were initialized to be at the center of the convolution. This enabled me to reduce a lot the cost of DCN. Sadly I have not been able to make a complete study to identify the potential drawbacks. Maybe having an offset for the samples would be better ? This would have to be studied. But with the 'square aspect' of DCN removed, and having an arbitrary N positions, that would allow more customisation for architecture search. Maybe some layers would like N=20 and others N=5, who knows ?


Conversation with Program Area Re: Measurement

As a [description of user]?
CleanBC Team Member [...]
I want to [functionality]
Meet with behavioural insights team and program area[...]
So that [benefit]
We understand main program goals and service goals
Acceptance Criteria

KPIs and objectives from the program area are identified
Started to draft the data points for measurement planning

Conversation to be had after CAS meeting.
Measurement mapping before we talk to Dan Pollock

Mtg booked for July 18 at 11 am


Home Assitant Addon Not Starting

I am from India
Tried Installing this Addon after which whe I START I get the follwoing error
Please help
2023-05-30 17:45:49,042 return code: 15011, message: The account is not registered. Traceback (most recent call last):   File "/usr/src/app/./mqtt_gateway.py", line 427, in run     login_response_message = self.saic_api.login()   File "/usr/local/lib/python3.10/site-packages/saic_ismart_client/saic_api.py", line 113, in login     raise SaicApiException(login_response_message.body.error_message.decode(), saic_ismart_client.saic_api.SaicApiException: return code: 15011, message: The account is not registered. return code: 15011, message: The account is not registered.

Hi, take a look at #6.
You need to find out your SAIC_URI to connect to the right Server.

It seems that MG Motors India doesn't allow a login with email, but both gateways need this to work. So at the moment there is no way to help you...

Found a solution for your problem:
Login with phone number: yyy-xxxxxxxx
yyy = country like 49 for Germany
xxxxxxxx = phone number like entered in your app.
But: you need your Saic_Url for India...

You could try the following URI: iov-tap.mgindia.co.in
Try our phone number as a username.

@Tonno87 Thanks of the reply
I have update above Url or India
Use username as : +91-9898989898
Still I get the following error
2023-06-09 16:22:31,445 return code: 15011, message: The account is not registered. Traceback (most recent call last):   File "/usr/src/app/./mqtt_gateway.py", line 427, in run     login_response_message = self.saic_api.login()   File "/usr/local/lib/python3.10/site-packages/saic_ismart_client/saic_api.py", line 113, in login     raise SaicApiException(login_response_message.body.error_message.decode(), saic_ismart_client.saic_api.SaicApiException: return code: 15011, message: The account is not registered. return code: 15011, message: The account is not registered.

Remove the +

I think you have to wait for 0.2.3 to try it out. The python gateway is buggy at the moment, so I reverted it to 0.2.1 which cannot change the uri.
The EU version of the mg app allows you to choose your country code, but the India app does not.

Remove the +

Yes I removed +
Tried removing + Dint work
Just tried 91=XXXXXXXX Dint work
Also tried 091-XXXXXXX Dint work
:(

Setting SAIC_URI in docker-compose.yml
You can install the addon yourself by ssh or smb to the /addon folder of home assistant and change the version to 0.2.2.
But after that there is a new issue ... :)

0.2.3 is online. Try it out :)

Which add on is this 0.2.3?
I see diffrent version still

Python Gateway. Go to the Addon-Store in HA and check for updates:

@Tonno87 MAnaged to geet lates build
I get the following Error
2023-06-10 21:59:48,173 application ID: 511, protocol version: 25857, message: The service is not available,please try again later~ result code: 702 2023-06-10 21:59:49,672 application ID: 511, protocol version: 25857, message: The service is not available,please try again later~ result code: 702 2023-06-10 21:59:49,925 application ID: 511, protocol version: 25857, message: The service is not available,please try again later~ result code: 702

Exception in thread Thread-1 (_thread_main): Traceback (most recent call last):   File "/usr/local/lib/python3.10/threading.py", line 1016, in _bootstrap_inner     self.run()   File "/usr/local/lib/python3.10/threading.py", line 953, in run     self._target(*self._args, **self._kwargs)   File "/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py", line 3591, in _thread_main     self.loop_forever(retry_first_connection=True)   File "/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py", line 1756, in loop_forever     rc = self._loop(timeout)   File "/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py", line 1164, in _loop     rc = self.loop_read()   File "/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py", line 1556, in loop_read     rc = self._packet_read()   File "/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py", line 2439, in _packet_read     rc = self._packet_handle()   File "/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py", line 3039, in _packet_handle     return self._handle_connack()   File "/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py", line 3138, in _handle_connack     on_connect(   File "/usr/src/app/mqtt_publisher.py", line 51, in __on_connect     self.client.subscribe(f'{basic_topic}/refresh/mode/set')   File "/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py", line 1491, in subscribe     raise ValueError('Invalid subscription filter.') ValueError: Invalid subscription filter. 2023-06-10 22:02:34,684 Registering for abnormal messages 2023-06-10 22:02:34,968 Registering for moving messages 2023-06-10 22:02:35,268 Registering for region messages 2023-06-10 22:02:35,552 Registering for engineStart messages 2023-06-10 22:02:35,818 Failed to register for startVehicleStatus messages 2023-06-10 22:02:36,079 Failed to register for offCar messages 2023-06-10 22:02:36,351 Failed to register for speeding messages Traceback (most recent call last):   File "/usr/src/app/./mqtt_gateway.py", line 720, in <module>     mqtt_gateway.run()   File "/usr/src/app/./mqtt_gateway.py", line 400, in run     self.publisher.publish_str(f'{info_prefix}/brand', vin_info.brand_name.decode())   File "/usr/src/app/mqtt_publisher.py", line 126, in publish_str     self.publish(msg)   File "/usr/src/app/mqtt_publisher.py", line 109, in publish     self.client.publish(msg.topic, msg.payload, retain=True)   File "/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py", line 1233, in publish     raise ValueError('Publish topic cannot contain wildcards.') ValueError: Publish topic cannot contain wildcards.

can you show us your options entries?

can you show us your options entries?
Sorry I didn't get you
U mean configuration Tab of the Addon?

Please try your phone number with 0 instead of 091-... Like entering into your app.
Hope it helps.

Tisoft posted this on the discussion board: iSmart Thailand
Thailand only supports phone numbers. The format is a bit different to EU/AU/NZ. With the Java MQTT Gateway it should work to prefix your phone number with 0's until the whole string is exactly 50 characters long. (e.g.00000000000000000000000000000000000000000123456789) I haven't checked if the Python MQTT Gateway would accept that.

I assume the same format should be working in the India version, but all versions of the India App I could find, are encrypted and I can't get the source code, so I can't verify.

Tisoft posted this on the discussion board: iSmart Thailand
Thailand only supports phone numbers. The format is a bit different to EU/AU/NZ. With the Java MQTT Gateway it should work to prefix your phone number with 0's until the whole string is exactly 50 characters long. (e.g.00000000000000000000000000000000000000000123456789) I haven't checked if the Python MQTT Gateway would accept that.

I assume the same format should be working in the India version, but all versions of the India App I could find, are encrypted and I can't get the source code, so I can't verify.

**I see this log in (java) MQTT add on
Does this means its working?
How do I fetch or see further data??
Please help**
Value for option option '--abrp-user-token' (<String=String>) should be in KEY=VALUE[,KEY=VALUE]... format but was  Usage: ismart-mqtt-gateway [-hV] [--abrp-api-key=<abrpApiKey>] [-c=<config>]                            [-m=<mqttUri>] [--mqtt-password=<mqttPassword>]                            [--mqtt-user=<mqttUser>] [-p=<saicPassword>]                            [-s=<saicUri>] [-u=<saicUser>]                            [--abrp-user-token=<String=String>[,                            <String=String>...]]...       --abrp-api-key=<abrpApiKey>                              The API key for the A Better Route Planer                                telemetry API.                              Default is the open source telemetry API key                                8cfc314b-03cd-4efe-ab7d-4431cd8f2e2d                              Environment Variable: ABRP_API_KEY       --abrp-user-token=<String=String>[,<String=String>...]                              The mapping of VIN to ABRP User Token.                              Multiple mappings can be provided seperated by ,                              Example: LSJXXXX=12345-abcdef,LSJYYYY=67890-ghijkl                              Environment Variable: ABRP_USER_TOKEN   -c, --config=<config>      The config file to use. Options can be overridden                                by cli parameters and environment variables   -h, --help                 Show this help message and exit.   -m, --mqtt-uri=<mqttUri>   The URI to the MQTT Server.                              Environment Variable: MQTT_URI       --mqtt-password=<mqttPassword>                              The MQTT password.                              Environment Variable: MQTT_PASSWORD       --mqtt-user=<mqttUser> The MQTT user name.                              Environment Variable: MQTT_USER   -p, --saic-password=<saicPassword>                              The SAIC password.                              Environment Variable: SAIC_PASSWORD   -s, --saic-uri=<saicUri>   The SAIC uri.                              Environment Variable: SAIC_URI                              Default is the European Production Endpoint: https:                                //tap-eu.soimt.com   -u, --saic-user=<saicUser> The SAIC user name.                              Environment Variable: SAIC_USER   -V, --version              Print version information and exit.

Seems to be similar to this problem
If the fields are empty the gateway won't run.

This should work:

Tisoft posted this on the discussion board: iSmart Thailand
Thailand only supports phone numbers. The format is a bit different to EU/AU/NZ. With the Java MQTT Gateway it should work to prefix your phone number with 0's until the whole string is exactly 50 characters long. (e.g.00000000000000000000000000000000000000000123456789) I haven't checked if the Python MQTT Gateway would accept that.

I assume the same format should be working in the India version, but all versions of the India App I could find, are encrypted and I can't get the source code, so I can't verify.

I see this log in (java) MQTT add on, Does this means its working? How do I fetch or see further data?? Please help
Value for option option '--abrp-user-token' (<String=String>) should be in KEY=VALUE[,KEY=VALUE]... format but was Usage: ismart-mqtt-gateway [-hV] [--abrp-api-key=<abrpApiKey>] [-c=<config>] [-m=<mqttUri>] [--mqtt-password=<mqttPassword>] [--mqtt-user=<mqttUser>] [-p=<saicPassword>] [-s=<saicUri>] [-u=<saicUser>] [--abrp-user-token=<String=String>[, <String=String>...]]... --abrp-api-key=<abrpApiKey> The API key for the A Better Route Planer telemetry API. Default is the open source telemetry API key 8cfc314b-03cd-4efe-ab7d-4431cd8f2e2d Environment Variable: ABRP_API_KEY --abrp-user-token=<String=String>[,<String=String>...] The mapping of VIN to ABRP User Token. Multiple mappings can be provided seperated by , Example: LSJXXXX=12345-abcdef,LSJYYYY=67890-ghijkl Environment Variable: ABRP_USER_TOKEN -c, --config=<config> The config file to use. Options can be overridden by cli parameters and environment variables -h, --help Show this help message and exit. -m, --mqtt-uri=<mqttUri> The URI to the MQTT Server. Environment Variable: MQTT_URI --mqtt-password=<mqttPassword> The MQTT password. Environment Variable: MQTT_PASSWORD --mqtt-user=<mqttUser> The MQTT user name. Environment Variable: MQTT_USER -p, --saic-password=<saicPassword> The SAIC password. Environment Variable: SAIC_PASSWORD -s, --saic-uri=<saicUri> The SAIC uri. Environment Variable: SAIC_URI Default is the European Production Endpoint: https: //tap-eu.soimt.com -u, --saic-user=<saicUser> The SAIC user name. Environment Variable: SAIC_USER -V, --version Print version information and exit.

Is this working now? I am still getting the error The country code not exist !. Hope you can help me sort this.


Add a db-analyser analysis to get the UTxO size per slot

This patch adds a new analysis to db-analyser: --get-block-application-metrics N. Currently, for each block every N, we compute the block slot, block number, UTxO size, and UTxO map size. The analysis can be extended to other metrics extracted from the previous ledger state, current block, and ledger state resulting from applying said block.

Using the Cardano chain synced up to slot 109510116, block 9600000, yields these results:


⚠ Api has degraded performance

In 8290ad8, Api (https://api.storest.io/health) experienced degraded performance:

HTTP code: 525
Response time: 5088 ms

Resolved: Api performance has improved in efeb224.


[Bug]: vector.control: No such file or directory

Bug Description
Unable to connect to remote pd DB via connection string
Version
v0.9.3
Steps to Reproduce
# !pip install llama_index asyncpg pgvector -q

from llama_index.indices.vector_store import VectorStoreIndex
from llama_index.vector_stores import PGVectorStore
from llama_index import ServiceContext

vector_store = PGVectorStore.from_params(connection_string="postgresql+psycopg2://{user}:{password}@{host}:{port}/{database}", table_name="foobar")

service_context = ServiceContext.from_defaults(llm=llm, embed_model="local:BAAI/bge-base-en-v1.5",chunk_size=800, chunk_overlap=20)

index = VectorStoreIndex.from_vector_store(vector_store=vector_store, service_context=service_context)

query_engine = index.as_query_engine()

print(query_engine.query("Describe the table"))

results in :
UndefinedFile: could not open extension control file "/usr/share/postgresql/11/extension/vector.control": No such file or directory

The above exception was the direct cause of the following exception:

OperationalError                          Traceback (most recent call last)
[/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/default.py](https://localhost:8080/#) in do_execute(self, cursor, statement, parameters, context)
    920
    921     def do_execute(self, cursor, statement, parameters, context=None):
--> 922         cursor.execute(statement, parameters)
    923
    924     def do_execute_no_params(self, cursor, statement, context=None):

OperationalError: (psycopg2.errors.UndefinedFile) could not open extension control file "/usr/share/postgresql/11/extension/vector.control": No such file or directory

[SQL: CREATE EXTENSION IF NOT EXISTS vector]

^ The server is on elephantsql.
Relevant Logs/Tracbacks
No response

@hemanth this error means you don't have pgvector installed in your db I think

@logan-markewich was thinking the same and was trying it out with alternative libs and the below works fine.
https://github.com/run-llama/llama_index/assets/18315/dd87836e-c503-46f1-8330-414ad810c8b4

@logan-markewich was thinking the same and was trying it out with alternative libs and the below works fine.
P.S: I am using exactly the same connection_string
https://github.com/run-llama/llama_index/assets/18315/dd87836e-c503-46f1-8330-414ad810c8b4

@hemanth that demo isn't using vector retrieval it seems. Look up how to install pgvector and it should work then

Or use a pgvector docker image (that's what I always do)

I had done a !pip install pgvector this is on colab. Is there anything specific that is needed? Or the pgdb should have pgvector enabled?

Yea the pgdb needs to have it installed, it's a little complicated (which is why I always used the docker image lol)

Ah! Okies. I am doubtful if elephantDB has that option, maybe I should stick to pinecone or likes.
If I were to query a non-vector db, like Vallina pg, what would be the options?


Revert "[Backend] Nostr publish"

Reverts GingerPrivacy/GingerWallet#12
deps.nix was not updated.

@soosr I had to revert this, I was not able to run the coordinator with the deploy script. Recreate the PR or we can have a periodic script in a service that is broadcasting us on nostr so it will have nothing to do with the coordinator.


Add binary for running from command line.

I would like to be able to run suave or some other bin file from the command line, and get our default rule set.
This would build off the work done in https://github.com/dockyard/ember-suave/pull/15 (making the rule file generation/merging a separate utility function) and allow usage of our rule set in other scenarios than just Ember CLI.

This will also enable syntax checkers (like Emacs FlyCheck) to syntax check for us.

Is this required for ember-suave to be used with JSCS's --fix and editor integrations? Or is there any way to get those things with Suave in it's current state?

@alexlafroscia - Yes, the goal of this issue was for usage within my editor.  I assume that this would also allow --fix.

Thoughts on what this would look like?
My initial brain dump:

convert existing rule additions that suave makes to a jscs plugin
switch suave to use said plugins via plugins config line in .jscs file in ember-suave
expose functionality to others by:

making a wrapper that calls jscs with addon's jscs config - this makes a new interface that must be called by existing integrations
OR
include instructions on how to make a symlink from .jscsrc in your project root to node_modules/ember-suave/lib/jscsrc.json - I know it's hacky, but it would allow for these rules to "magically" start working in atom/vim/emacs/etc with standard jscs plugins

We don't have good docs for it yet but you can make your own "preset" now. http://jscs.info/overview.html#preset
You need to use a jscs.json file instead of .jscsrc, and add that to main in the package.json. Then in your other repos you can do "preset": "preset-ember-suave" or something and run jscs normally. There is currently an issue with globally installed versions of jscs which should be fixed soon. The workaround is to do "preset": "./node_modules/jscs-preset-ember-suave/.jscsrc". You can include other rules in the preset as well.
Ref https://github.com/jscs-dev/node-jscs/issues/863
Ex: https://github.com/behance/jscs-preset-behance/blob/master/package.json
https://github.com/wealthfront/javascript/blob/master/jscs/jscs.json
I also have an issue to port rules over to the main repo if anyone is interested https://github.com/jscs-dev/node-jscs/issues/1390

I am interested in this too. I'd like Atom to use default preset + all the custom rules it by default provides.
Or are there some hacky ways to get this going today?

I need to dig into @hzoo's suggestion above, but you can do this today by just adding your own .jscsrc file (then use the normal JSCS editor integrations).
Example from a project I recently started on: https://github.com/aptible/ember-json-schema/blob/master/.jscsrc

Oh, yes. I can add these ember-suave custom rules directly from the node-modules. Thanks for the tip.

@rwjblue I added some docs https://github.com/jscs-dev/node-jscs/wiki/Creating-a-Custom-Preset-or-Config. Let me know if I can help!

@hzoo - Awesome, thank you!  I'm digging into this now...

#70 should resolve this, also see https://github.com/aptible/ember-json-schema/pull/1 for the required changes in the project I linked before.

Awesome!


[napari-workflows] Restrict scope of wrapper?

With @mfranzon, we are not 100% happy with the shape the napari-workflow wrapper task is taking.
Some constraints on the valid workflows are already in-place (e.g. level>0 is only allowed for "labeling" worfklows), other constraints are being discussed (e.g. "IF there are N>=1 label outputs, THEN EITHER there are image inputs (assumed to have the same shape) OR there is one and only one label input.", see #161), additional parameters may have to be specified (e.g. relabeling, see #138). And we just scratched the surface of how general these workflows can be, since they are just dask graphs after all.
The main question is: how much will we want to support arbitrary workflows? To be as general as possible, we will likely have to include a long list of constraints or additional parameters. The current use cases (mainly labeling/measurement) are close to being fully covered, but we don't know what will come next. It's likely that an arbitrary user-provided workflow will not satisfy some of our constraints.
A possible way out (to be explored) is to strongly limit the scope of the supported workflows. The first idea coming to mind is to only accept workflows with arbitrary number of inputs but a single output, so that it would be simpler to know how to handle it. We don't fully appreciate how severe this constraint would be, but at least our guess is that it would streamline the cases-handling a bit.
An alternative option is obviously to shift responsibility towards the user as much as possibly, by asking a possibly long list of parameters and then handling everything with if/else branches. Also here: to be understood how far this would go.
Let's keep this in mind, and discuss when appropriate.

I'd like the initial level to be workflows from image / labels to at least (1) label + (n) measurements output, because then we should cover a broad set of use-cases for the napari workflows. And we'll raise Exceptions with clear statements of the limits if a workflow doesn't fit our scope.

All right, that seems a specific-enough scope, thanks

Closing for now, as there is no action required. Let's come back here in the future if needed.


Fix "Index out of size" TextEdit's spam to output (when using Expression nodes in the visual shaders)

This should fix that incorrect output emitted when you change Expression nodes text (to the text which contains newlines).  I think its a safe core change (since its already returns 0 when that index error occur), but will wait for review. -> changed to more correct version which prevents that bug by subtracting 1 from the lines(this saves the scroll state)

Thanks!


Added anyDouble DslProperty

Currently were copy and pasting a lot of regexes for doubles throughout our services and the corresponding contracts. Maybe having this could be helpful for others too. (Was super glad someone already added anyIso8601WithOffset)
A few sidenotes:
Since the change is a lot more invasive than I initially thought. Is there a suggested way to extend the functionality without changing the library? E.g. we use the type coordinate (lat, lng) quite a lot. But thats probably not generic enough to be added to spring-cloud-contract.
Would there be an interest in anyHttpsUrl() (current one only creates http:) and anyPositiveNumber() (looks weird to the stubrunner consumers if they get like "pages": -472498 in a response.

Also, I think we should add this into 2.0.x since I would prefer not to add any more features to 1.2.x branch

Codecov Report

Merging #571 into 1.2.x will increase coverage by 0.82%.
The diff coverage is 40%.

@@             Coverage Diff             @@
##              1.2.x    #571      +/-   ##
===========================================
+ Coverage     60.78%   61.6%   +0.82%
- Complexity     1613    1712      +99
===========================================
  Files           181     205      +24
  Lines          6189    7020     +831
  Branches        955    1071     +116
===========================================
+ Hits           3762    4325     +563
- Misses         1911    2097     +186
- Partials        516     598      +82

Impacted Files
Coverage Δ
Complexity Δ

...ud/contract/verifier/converter/YamlContract.groovy
100% <ø> (ø)
0 <0> (ø)
:arrow_down:

...ct/verifier/converter/YamlContractConverter.groovy
51.5% <0%> (-0.29%)
23 <0> (ø)

...tract/spec/internal/PatternValueDslProperty.groovy
2.85% <0%> (-0.09%)
1 <0> (ø)

.../cloud/contract/spec/internal/RegexPatterns.groovy
89.74% <100%> (+0.55%)
15 <1> (+1)
:arrow_up:

...unner/messaging/amqp/AmqpMessagingApplication.java
92.85% <0%> (ø)
3% <0%> (?)

...essaging/amqp/MessageSubscriberRabbitListener.java
100% <0%> (ø)
3% <0%> (?)

...ontract/verifier/plugin/OutputFolderBuilder.groovy
100% <0%> (ø)
1% <0%> (?)

...t/verifier/plugin/GradleContractsDownloader.groovy
90% <0%> (ø)
17% <0%> (?)

...amework/cloud/contract/maven/verifier/RunMojo.java
0% <0%> (ø)
0% <0%> (?)

...ork/cloud/contract/maven/verifier/ConvertMojo.java
80.64% <0%> (ø)
3% <0%> (?)

... and 18 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9c4758b...4084545. Read the comment docs.

Thanks!
I will fix the conflicts and change the target branch to master

rebased latest master and fixed build


[Feature Request] Issue Command to Bot through Telegram

Short Description
To allow issuing of commands through Telegram so that everything can be remotely controlled.
Possible solution
Example:

Pause Bot (/pause_bot), Resume Bot (/resume_bot), Resume at new location (/resume_at:"xxxx,xxxx" or /resume_at:"fav_location") (base on favorite list or coords)
List Pokemons (predefine what to show in config or use exisiting Pokemong_bag config)
Power up/Evolve/Transfer specific Pokemon by ID (By using the list Pokemons command to get ID)

Yes, but decouple from Telegram.

had in mind and was thinking how i wish this function could be implemented, would add to even more humanized control over the bot.

@Gobberwart  Decouple from Telegram? Another instance waiting for command?

See PR #5314 for more info on this

Adding snipe command as "/snipe [PokeMonName] [CoOrds]"


Inline java code?

is it possible to inline java code snippets?
It's possible to do this in all good major templating engines. E.g. https://laravel.com/docs/9.x/blade or c# razors. Blazor as well.
People claiming that this "opens the gates to hell" are just wrong imho. You can open the gates to hell one way or another. But handing adults baby scissors with rounded points out of fear a toddler might ram it into his eye ball isnt a good excuse.

Anything within !{} is executed as Java code. Mostly this is used for variables, like
!{var foo = "test";}

Used here: ${foo}
And here: ${foo}
And there: ${foo}

ah thank you, I think I missed it on the second read (I thought I saw something the first time I looked at it, thus I'm still here)
this does support multi line I assume? I guess all of your expressions do?

Yes it is, although I never had a usecase for it.


[Bug?]:  Streaming/ async generator doesn't work

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
It shows a error when I consume data from a server function
Expected behavior 🤔
Should work as it was implemented in seroval
Steps to reproduce 🕹
Steps:
I've made the reproduction here
https://github.com/ducan-ne/solid-async-generator-reproduction/blob/main/src/actions.tsx
https://github.com/ducan-ne/solid-async-generator-reproduction/blob/main/src/components/Counter.tsx
Context 🔦
In case it's needed: node 20, macos
Your environment 🌎
node 20, macos

It's not bug from sevoral, I've confirmed it here https://github.com/lxsmnsyc/seroval/issues/31

I've re-tested this over again, seems like a seroval thing, but let's just keep the tracking issue here for better visibility.

I've re-tested this over again, seems like a seroval thing specifically the runtime for the async iterator, but let's just keep the tracking issue here for better visibility.

Not quite following. Is it on the seroval side?

@ryansolid Yep, it was a one character mistake on the stream constructor. It is fixed now in 1.0.7.
This didn't really impact anything as the issue only happens when there's an immediate, single-push on the stream (stream thinks that the the value is the only thing in the buffer and ends immediately). For any other kind of delayed pushes, or immediate set of push-and-close, the stream normally works.

Confirmed, the issue is now fixed.

export const getABC = async function* () {
  "use server"
  yield { abc: true }

  await new Promise((resolve) => setTimeout(resolve, 5000))
  yield { xyz: true }
}

Thanks.