[Event Request] Codeunit 80 Sales-Post - OnBeforeCheckShippingAdvice

Hi Team,
In Codeunit 80 we need possibility to have our additional checks and avoid using standard code. Having event in procedure CheckAndUpdate would be a perfect solution :

[IntegrationEvent(false, false)]
local procedure OnBeforeCheckShippingAdvice(SalesHeader: Record "Sales Header"; WhseShip: Boolean; var IsHandled: Boolean)

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Add Modelfile Linter

Similar to Hadolint. Ideally, Ollama could provide a pre-commit hook that lints a Modefile and accepts args and a lint config file.

https://github.com/jmorganca/ollama/issues/1758


Dose not work with MySQL-compitable Database

I use deno driver to connect to TiDB, a MySQL-compatible Database. But find the result is empty.
TiDB works with most of the MySQL drivers including https://github.com/sail-sail/mysql2.
I think there may some thing different with https://github.com/sail-sail/mysql2.
Reproduce:

Build a TiDB with the following command

curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

source ${your_shell_profile}

tiup playground v6.1.0

Connect to TiDB with the driver

import { Client } from "https://deno.land/x/mysql/mod.ts";

const client = await new Client().connect({
  hostname: "<IP_ADDRESS>",
  username: "root",
  db: "test",
  password: "",
  port: 4000
});

const result = await client.query('show databases');
console.log(result);

I have found the answer. TiDB still return the EOF package before v6.3.0, cause

Maybe we can refer other drivers who can support both case (EOF and deprecated EOF ), the original logic may miss some thing like TiDB.

Could you confirm whether #139 fixed this?

Yes, I have prepared a pr for this too. It is similar as https://github.com/denodrivers/mysql/pull/139.


can I add an option to make it work  in move pattern?

can I add an option to make the task work in move pattern, like a mv option?
When set to true, it perform mv file instead of copy file
cc @sindresorhus @shama

please add moving mode! currently it's hard to find an appropriate plugin right now. There's grunt-move (terrible), grunt-contrib-rename (terrrible), but actually we just need the same logic as in grunt-contrib-copy but remove files after copying.


cf-dev install is timing out

Hi:
I am trying to install the cf-dev plugin on my macbook OS terminal with the stated command "cf install-plugin cfdev", but it fails with the following message "Get https://plugins.cloudfoundry.org/list: dial tcp: i/o timeout".
I tried increasing the environment variable "CF_DIAL_TIMEOUT" to 360 and it still gives me the same error of "i/o timeout", albeit after some time. My CF_CLI version is the latest at 6.37. I have tried reinstalling CF-CLI and connecting through two different wifi networks. Any advice would be much appreciated. Thank you.

Hi @DougiePop sorry you are having trouble installing the plugin for the repo. Is it possible that you are behind a proxy? In that case setting HTTP_PROXY, HTTPS_PROXY env variables might do the trick. Does curl https://plugins.cloudfoundry.org/list in the same terminal succeed?

Closing because of inactivity...


Return int from 'total_rows'/'total_bytes_processed', if present.

The first commit adds explicit unit test coverage for the scalar properties of Query (previously covered implicitly via tests of other methods).
The second commit adds the convert-to-int logic, because the back-end is marshalling integers as JSON-be-damned strings.
Closes #3004.

Crap, that was the wrong PR.  Can I get a post-facto review, or should I revert?


examine whether there is any Ben Manes' code in FrequencySketch

https://lists.apache.org/thread/mo611z4dpro1373r4f5pbgtlyjmhhtz9 lists FrequencySketch twice. One relates to #438
The other case is probably down to https://github.com/apache/incubator-pekko/blob/bd1af56fcead435cb3d730e759223dcb2b0fb4c6/actor/src/main/scala/org/apache/pekko/util/FrequencySketch.scala#L255-L256

@raboof @jrudolph I think the code is just inspired by Caffeine as opposed to any code being based directly on code lifted from Caffeine. If there is just inspiration, I expect that we don't need to mention it in the Pekko license.

@pjfanning Given @ben-manes Comment I think the safest option would be to include a mention in LICENSE considering its small enough to be considered fair use (you can even link to his comment in there)

Thanks @ben-manes - I think it is better if we do acknowledge the use of code based on your Caffeine code base. I have created #446. If you see anything wrong in that PR, we will fix it.

#446 merged


Added new flag --insert-into-limit

adds new --insert-into-limit=100 flag
closes #14

Codecov Report

Merging #15 (a010a8d) into master (afe464a) will increase coverage by 0.69%.
The diff coverage is 93.33%.

@@            Coverage Diff             @@
##           master      #15      +/-   ##
==========================================
+ Coverage   53.68%   54.38%   +0.69%
==========================================
  Files           7        7
  Lines         393      399       +6
==========================================
+ Hits          211      217       +6
  Misses        171      171
  Partials       11       11

Impacted Files
Coverage Δ

database/mysql.go
28.39% <90.00%> (+0.29%)
:arrow_up:

database/option.go
100.00% <100.00%> (ø)

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 afe464a...a010a8d. Read the comment docs.


Support better iterative development of the XDT

I love this extension, and have been wanting something like it for a long time!
There is one part of the workflow that is not ideal, although it is hard to fix. Steps:

Start with clean site and run the extension
Make some change, like add <add value="foo.htm" /> to the defaultDocument list
Go to xdt tab. Everything looks great.
Save and Restart
But now let's say you also want to add <add value="bar.htm" />. Make this change and add it after foo.htm.
Switching to xdt tab, the problem is that it only has the transform for adding bar.htm. So if you save it, you've lost the foo.html part of the transform

Of course, it's clear why it works the way it does, given that it always starts with the fully transformed config from %APP_POOL_CONFIG%, which already has the foo.htm transform.
It's not an easy problem to fix, but we can brainstorm ideas :)

I think to fix this we might need to change the way Azure transforms files to keep track of the state of applicationhost.config before it applies the xdt in the site folder.
The general Azure transform flow today is:

Start with a base config before any xdt is applied
Apply the xdt's from all the pre-installed site extensions (e.g. like Kudu)
Apply the xdt's from all the D:\home\SiteExtensions folders
Apply the xdt in D:\home\site\applicationhost.xdt

Let's say that Azure kept track of applicationhost.config after step 3 but before step 4. That would allow your extension to do the following:

Start with the Step 3 config as a base, instead of %APP_POOL_CONFIG%
Read the current D:\home\site\applicationhost.xdt, and apply it yourself
Display the result of that in your config editor
When calculating new transform, you would diff the Step 3 config with what the user typed

This way, you could keep going back and tweaking things, and it should do always the correct thing.
What do you think?

Thank you for the explanation of the behavior of the Kudu. You're right, the last operation is not recorded issue is very important.
I think available applicationhost.config.base file. maybe applicationhost.config.base is created after step 2 has been completed.

Read from applicationhost.config.base (applied pre-installed extension)
Apply the xdt's from all the D:\home\SiteExtensions folders in IIS Manager
Read from D:\home\site\applicationhost.xdt and apply it.
Display IIS Manager calculating AppHost, and current XDT

and need "All Reset" button :smile_cat:

I published "IIS Manager" 1.0.2 in Site Extension Gallery. Should this issue has been greatly improved :)

Wow, it works superbly now. Very impressive!!
I actually have an idea to make it even a little bit better, but I'll open a separate issue for it :)


Initial Django 1.11 and 2.0 support

Enough to pass tests. (tested on everything except Python 3.4).
There are some compatibility hacks (noted with comments) that can be rolled back, once older Django support is dropped.
Fixes: #22

Hey @stefanor, big thanks for your work! Sorry for the (extremely) late response. I burned out a little and neglected Open Source for some time. Getting back to business at last :) I'll merge this PR soon and drop compatibility with Django<1.11.

@zsiciarz Meep. Anything we can do to help merge this and make a new release?

Hi @zsiciarz , I am helping to set up the website for SciPy for next summer and we would like to adopt wafer (which has a dependency on this repo), but we are concerned about starting with 1.11 since it will be EOL by the time the conference comes around.
Could you merge this PR? Or is there anything you need help with in order to complete the merge?

The CTPUG organisation has taken over maintaining django-markitup - https://github.com/CTPUG/django-markitup .
We've released django-markitup 3.5.0 with support for Django 2.0, and will continue working on the other outstanding issues.


[Bug/PUI] Table filters are ignored when initially loading a page URL

Please verify that this bug has NOT been raised before.

[X] I checked and didn't find a similar issue

Describe the bug*
Tables are initially loaded with null as pk within PUI.
I've run this test on Part and Stock Item, and they both load an unfiltered table for their respective models.
Steps to Reproduce
Based on the demo dataset

Make sure you have the "Parts" panel selected
Access http://localhost:5173/platform/part/category/13 (or your local version of this. category PK 13 at least)
This category has 57 items. but the total will be listed as 414.
Refresh, and it'll list it as 57.

I added this debug print to Stock Locations (/stock/location/7):
console.log("Location:", location, "id:", id), and this is the output on hitting F5:

The code passes location.pk, and that doesn't become available until after the first render of the table.
Expected behaviour
API filters should be added on first load, not second.
Deployment Method

[ ] Docker
[ ] Bare metal

Version Information
0.13.0 master commit f0f72a8742781495628ed09dfcf288061ff22071
Please verify if you can reproduce this bug on the demo site.

[ ] I can reproduce this bug on the demo site.

Relevant log output
No response

Thanks for reporting. Probably an issue with the hooks when loading the table. Do you want to look into this one?

@SchrodingersGat Yeah, I can have a look and find a fix.

Hmm.
So, what's going on initially is that
params={{
  location: location.pk ?? null
}}

is populating no null, as
<PanelGroup pageKey="stocklocation" panels={locationPanels} />

is read before the useInstance resolves.
This makes InvenTreeTable send an API request with no category/location/etc parameter in the request.
As made evident by the following log entry when accessing /stock/location/7:
[30/Nov/2023 19:18:51] "GET /api/stock/?part_detail=true&location_detail=true&supplier_part_detail=true&limit=25&offset=0 HTTP/1.1" 200 32476
So the resulting table populates using the entire unfiltered list of whatever the table displays.

Unfortunately, even though InvenTreeTable gets an updated pk when the useInstance Promise resolves, it doesn't initiate an update of the table to the API. For this, you have ot toggle between the tabs on your given page. Thankfully, this allowed us to detect this bug.
I think a fix will have to involve passing the instanceQuery state all the way into InvenTreeTable to enable re-rendering on updating this. Adding a PR to illustrate my idea.

@LavissaWoW has this issue been sufficiently addressed now?

@SchrodingersGat Yes. Link to the PR wasn't properly set up, I guess.


Added a Ginkgo starting test

This is to help get a setup started in order to proceed with the CI.

Sounds good-will do!


Linux Web engine timeout on presubmit

https://ci.chromium.org/ui/p/flutter/builders/try/Linux Web Engine/12262/overview
/cc @nturgut @yjbanov @ferhatb

Duplicate of https://github.com/flutter/flutter/issues/71576


Fix PWM generation for TIM1

MOE bit in BDTR register needs to be set.

I don't think I'll be able to test this on hardware any time soon but I'll trust you on this one :-)
@homunkulus r+

:pushpin: Commit e50ae4c has been approved by japaric

:hourglass: Testing commit e50ae4c with merge 8aecbea...

:sunny: Test successful - status-travis
Approved by: japaric
Pushing 8aecbea402a829c03001dbedf24394d5e20c7def to master...


chore(release): v2.14.0

Problem

Solution

Additional Notes

Links
Ticket

GitHub issue _____
Other links
Verification
Manual tests

Automated tests

[ ] Unit tests added/updated
[ ] E2E tests added/updated
[ ] N/A - (provide a reason)
[ ] deferred - (provide GitHub issue for tracking)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #1014 (172aa25) into main (ad9ba60) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@           Coverage Diff           @@
##             main    #1014   +/-   ##
=======================================
  Coverage   93.71%   93.71%
=======================================
  Files         122      122
  Lines        5424     5424
  Branches     1618     1618
=======================================
  Hits         5083     5083
  Misses        323      323
  Partials       18       18

Continue to review full report in Codecov by Sentry.

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


⚠ Roblox Devforum has degraded performance

In bb260b1, Roblox Devforum (https://devforum.roblox.com) experienced degraded performance:

HTTP code: 200
Response time: 6583 ms

Resolved: Roblox Devforum performance has improved in 161b618.


[Feature Request]: Allow customization of filename and sharding for dataframe IOs.

What would you like to happen?
Other sinks, such as TextIO and FileSink, allow this customization.
Issue Priority
Priority: 2
Issue Component
Component: dsl-dataframe

Context: https://stackoverflow.com/questions/73498119/apache-beam-dataframe-write-csv-to-gcs-without-shard-name-template

Having same problem with df.to_parquet


What does this plug-in do & work with?

I tried installing this on my Mac instead of Synology, configured the Powerline Wifi Router/AP (https://www.tp-link.com/my/home-networking/powerline/tl-wpa8631p-kit/  --> only the bigger device which is the wifi access point can be added), and my power line wifi device was added as a... wifi router I think (there is a very slim chance that I misread and it was added as a range extender).
As to the function of the HomeKit wifi router itself, based on what I've read (https://www.imore.com/homekit-routers-everything-you-need-know) is to turn on the secure/privacy mode... and I only tried it briefly, but didn't seem to work (couldn't select the option to turn it on... either I was confused or it just doesn't work since it's not official HomeKit).
This is purely based on my trial and error, best if there was some simple documentation by the creator


password protection

needs implementation with password-settings

basically works, settings are missing and bugs are still persistent. See other isues.


Elastalert for multiple queries

Hi,
Need to configure the elastalert if i found any of the below sentences on my messages from Kibana dashboard

out of memory
Writing text to file from position
rows using load data from jdbc

Please find my elastalert rule which i have configured
es_host: localhost
es_port: 9200
name: String - Test
type: frequency
index: filebeat-*
num_events: 50
timeframe:
    minutes: 1
filter:
- query:
    query_string:
      query: "Writing text to file from position OR rows using load data from jdbc OR out of memory"
      default_field: message

But for the above rule im getting an alert for all messages
Please do let me know exact rule for the same

In order to search for phrases rather than individual words, you need to surround each with quotes.
        query: "\"Writing text to file from position\" OR \"rows using load data from jdbc\" OR \"out of memory\""

You're alerting if there's at least than 50 events
num_events: 50
However, you're only getting 6 results in a 3 minute span
from 2018-08-15 18:59 IST to 2018-08-15 19:02 IST: 6 query hits
So, I'd expect you not to get any alerts. If you changed num_events much lower, and made the timeframe longer, than maybe you'll get an alert.
If you want to alert on every single match, change type: frequency to type: any


This document doesn't tell me how to get this information from the desktop.  I want to get the list of flows from a PAD implementation on my local machine without any cloud access.  How do I do that?

[Enter feedback here]

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

ID: e35ac6c6-f132-4d0f-f023-52e0d225a55c
Version Independent ID: e35ac6c6-f132-4d0f-f023-52e0d225a55c
Content: Work with desktop flows using code - Power Automate
Content Source: articles/developer/desktop-flow-public-apis.md
Service: power-automate
Sub-service: developer
GitHub Login: @benabbon
Microsoft Alias: nabena

Hello @jamiemaclennan and thank you for using Power Automate. All desktop flows are saved in Dataverse; only some information is cached locally. As a result, the requested functionality isn't available. For help with the technical issues, please reach out to our support teams through support ticket to investigate further.


docs: add RFC for bar indicators in bar chart

SDE-1141
Description
This PR introduces the RFC to add the bar indicators to the BarChart component.

PR commands

List of available commands:

@toptal-bot run package:alpha-release - Release alpha version
@toptal-anvil ping reviewers - Ping FX team for review

PR Review Guidelines

When to approve? ✅
You are OK with merging this PR and

You have no extra requests.
You have optional requests.

Add nit: to your comment. (ex. nit: I'd rename this variable from makeCircle to getCircle)

When to request changes? ❌
You are not OK with merging this PR because

Something is broken after the changes.
Acceptance criteria is not reached.
Code is dirty.

When to comment (neither ✅ nor ❌)
You want your comments to be addressed before merging this PR in cases like:

There are leftovers like unnecessary logs, comments, etc.
You have an opinionated comment regarding the code that requires a discussion.
You have questions.

How to handle the comments?

An owner of a comment is the only one who can resolve it.
An owner of a comment must resolve it when it's addressed.
A PR owner must reply with ✅ when a comment is addressed.

@toptal-anvil ping reviewers


Document Bearer Authorization header

FEATURE REQUEST

Describe the feature you are requesting, as well as the possible use case(s) for it.
Document Bearer Authentication header. This is related to #1523 documentation.

Indicate the importance of this feature to you (must-have, should-have, nice-to-have).
must have

@drasko @dusanb94 @mteodor @blokovi I need your opinion about Auth security schemes: https://swagger.io/docs/specification/authentication/
Looks like we were using the Auth header as parameter while it's a securityScheme. The problem here is that only some HTTP schemes are valid. Should wer use Bearer for User token and Basic for Thing key?

@manuio I am not sure I understand the question. AFAIK, @mteodor introduced Bearer for user-initiated API calls and Thing for device-initiated API calls.

@drasko Right, but thing cannot be used as scheme type. I decided to define both of them as bearer with different description.

I still do not understand - both of what? What scheme do you mention? Can you please add some reference links and a longer explanation, I do not have all details.

@drasko openapi auth scheme. Check the link above.

@manuio I see what you mean - no, we should use Thing, not Basic. Using custom scheme is not a problem.
We know that Thing scheme is not by standard, but it is not unusual to use custom schemes (even Amazon is doing this), and @mteodor and @dusanb94 opted for this option.
Both user and device in our case use Bearer scheme strictum sensum, and I this is why I wanted that we somehow encode this information in the token itself. However, this is not quite possible, as user uses JWT and Thing uses simplestring, so without different scheme flag we would not even know how to decode the tolen to check it's type.

BTW, please take a look at discussion here. You will see for example how AWS (here introduces custom auth scheme tags. And so on.

@drasko I'm aware of this discussion and I understand that we are using a custom scheme. The thing is that I was confused by our implementation of Basic scheme in http-adapter. After to verify I saw that there we extract the thing key from user password. It's a kind of hack but it's not simply a different prefix as I thought.
Let me resume what I did. I'm using bearer scheme everywhere with Bearer or Thing prefix depending on if we are sending a JWT user token or and UUID Thing key. For http-adapter Thing and Basic schemes are accepted. For readers it's Bearer or Thing. For Bootstrap depending onm the endpoint it's Bearer or Thing.
In fact my question was more about openapi since custom types are not accepted. what I did is to use bearer type everywhere and explain the  type in the description.


Fixes #1957 - JSQMessagesVideoThumbnailFactory.h file not found.

Removes Unused VideoThumbnailFactory Class and Import Statement

Pull request checklist

[✅] All tests pass.
[✅ ] Demo project builds and runs.
[✅ ] I have resolved merge conflicts.
[✅] I have followed the coding style.

Contributing guidelines confirmation: ____
This fixes issue #1957
SwiftExample did not compile due to missing VideoThumbailFactory.h
What's in this pull request?

Deletes the VideoThumbnailFactory.h import (no compiler errors)
Deletes VideoThumbnailFactory.* files, no longer being used. Dead Code.
Removes VideoThumbnailFactory.* from JSQMessages Compile Sources build phase

@paulstringer, thanks for this. But it seems like we implemented it for providing a way to generate a thumbnail image for the video message.

hm.. this is odd? was the file just not part of the correct target?


Change user & group type to be system user & group

Per the useradd --system <user> method.
vagrant@vagrant-test:~$ cat /etc/passwd | grep prometheus
prometheus:x:999:999:Prometheus User:/home/prometheus:/sbin/nologin

Prevents potential display of prometheus user to login managers
Clearly designates system user

Secondly: remove duplicate user & group tasks.

Sorry I should have updated the tests.
                "User: prometheus: uid:",
                "Expected",
                "    <int>: 999",
                "to equal",
                "    <int>: 1000",
                "User: prometheus: gid:",
                "Expected",
                "    <int>: 999",
                "to equal",
                "    <int>: 1000",

Will correct if you are happy with this change to a system user. Please advise.

Hi Karl,
Thank you for your pool request.
Fix file molecule/default/tests/test_default.yml
Replace
uid: 1000
gid: 1000

Wit
uid: 999
gid: 999


Please add Powershell samples

I have a 2k loc PSH script that is capable of managing both Linux and Windows VMs.
I can create Linux VM with a specific password using:
$vmConfig = Set-AzureRmVMOperatingSystem -VM $vmConfig -Linux -ComputerName $vmName -Credential $credential
However, I miss a Powershell cmdlet for resetting the password on a Linux VM.
Thanks

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

ID: 9dce24b6-64e4-105f-2c26-323b2bb89d26
Version Independent ID: 9d513478-dc8f-40b9-607c-623f3f47439d
Content: Reset access to an Azure Linux VM
Content Source: articles/virtual-machines/extensions/vmaccess.md
Service: virtual-machines-linux
GitHub Login: @roiyz-msft
Microsoft Alias: roiyz

@msfcolombo Thanks for the comment! We will check on this request and get back to you soon.

@msfcolombo You can use the Set-AzureRmVMExtension cmdlet for resetting a password on a Linux server using powershell.
For more details, refer this link.
By changing the $PrivateConf , you can reset the password for a user.
You can also achieve other tasks which are mentioned here.
Try this out and let me know

Above sample is for Resource manager. The same page has sample for classic also

the sample script which i used
$RGName = '<resource group name>'
$VmName = 'ubuntu'
$Location = '<validAzureRegion>'

$ExtensionName = 'VMAccessForLinux'
$Publisher = 'Microsoft.OSTCExtensions'
$Version = '1.4'

$PublicConf = '{}'
$PrivateConf = '{
  "username": "<someusername>",
  "password": "<somesecurepass6987>",
  "reset_ssh": false
}'

Set-AzVMExtension -ResourceGroupName $RGName -VMName $VmName -Location $Location `
  -Name $ExtensionName -Publisher $Publisher -ExtensionType $ExtensionName `
  -TypeHandlerVersion $Version -Settingstring $PublicConf -ProtectedSettingString $PrivateConf

@msfcolombo I will close this out for now. If you need additional help please mention me in the comment.


fix CI benchmarking in dynamic link branch

https://github.com/Finschia/cosmwasm/actions/runs/4751522834/jobs/8440929556 fails

closed via #294


How to employ ChatGPT as the evaluator in Section 3.3?

Dear authors, could you provide the template to employ ChatGPT as the evaluator to perform quantitative analysis?
According to the paper, the model is input with question-answering pairs of each test sample and uses the four-level (A, B, C, D) rating system. I am wondering what information is provided to the evaluator to make the judgment. For example, does it include the original text, neighborhood information, or the trained prompt?
Thank you.

The evaluation prompt follows the reference paperSelf-instruct: Aligning language model with self generated instructions.. We provide user and neighbors information as background text, then ask ChatGPT to rate 3 question-answer pairs.


No activity within 45000 milliseconds. Reconnecting.

I observe the same behaviour. The heartbeat is sent every 15 seconds,  but after about 5 minutes I get the No activity within 45000 milliseconds. Reconnecting. issue. Everything seems to break after this point. SSE requests are repeatedly sent to the server in a 1s frequency. The request's response is 200, however, the event source keeps trying to reconnect (onError behaviour). No errors are shown in the console...

@BishoyBishai , @akaskj , @tiimoS -
I also have this problem.  Can we possibly pool knowledge to see if there are any similarities?
When I deploy my server everything works great about 90% of the time.  However, after some things are changed by Azure (audit policy changes) I seem to have this issue until I restart or redeploy the server.
However, if I manually create SSE messages to the client with actual data all connections stay open.  So, it may may be that the small heartbeat messages are being ignored or something else is happening.  My message contains a single word 'Heartbeat' in the message.
I may try enlarging that or changing some things around.
What kind of heartbeat do you send?

Did someone find a solution?

Maybe it could help if you sent specific type of events and listened to them through addEventLister("type", callback) instead of listening for the generic "message" type. This worked for me at least. I am using Mercure to send messages to the clients.

Maybe it could help if you sent specific type of events and listened to them through addEventLister("type", callback) instead of listening for the generic "message" type. This worked for me at least. I am using Mercure to send messages to the clients.

There is still the same error after 45 sec.

Here's how I resolved this issue on Spring Boot:
Keep on sending a 'loading message' from your backend server under 45 seconds so that the event channel remains open until real data is fetched.
 long delay;

  @Autowired
  SSEKeepAliveService(@Value("${kraken.sse.keep-alive:#{environment.KRAKEN_SSE_KEEP_ALIVE_DELAY ?: 15}}") final Long delay) {
    this.delay = delay;
  }

  @Override
  public <T> Flux<ServerSentEvent<T>> wrap(Flux<T> flux) {
    return Flux.merge(flux.map(t -> ServerSentEvent.builder(t).build()), Flux.interval(Duration.ofSeconds(this.delay)).map(aLong -> ServerSentEvent.<T>builder().comment("keep alive").build()));
  }

I am sending a loading message after every 15 seconds.
Have a look at this link for reference:
https://octoperf.com/blog/2019/10/09/kraken-server-sent-events-reactive/#sse-and-spring-webflux

Hi！I ran into the same problem. Here's how I resolved this issue in the following article
#193

Hi Team,
I am also facing the same issue. i can't use this package for SSE in angular application

@udhayaas97 i switched to use https://www.npmjs.com/package/eventsource instead

@cwirz , Thank you for your reply. There I have raised three issues.

https://github.com/EventSource/eventsource/issues/234
https://github.com/EventSource/eventsource/issues/235
https://github.com/EventSource/eventsource/issues/236

Is there any working example for Angular?

@udhayaas97 Did you find out any solution to your porblem? I am running into same error.

@sanketkarandikar , I didn't find any solution for this issue. I have been using a diffrent way without using this package.

I using EventSourcePolyfill and I managed to extend the time from 45000 milliseconds to 2 minutes using heartbeatTimeout: 120000,
```

const sse = new EventSourcePolyfill(yourURL,
{
headers: {
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive',
'X-Accel-Buffering': 'no',
Authorization: Bearer ${access_token},
},
heartbeatTimeout: 120000,
withCredentials: true,
});
                        sse.onmessage = (e) => {
                            console.log(e);
                        }
                        sse.onerror = (event) => {
                            console.log(event);
                            sse.close();
                        }

Hi Team,
I am also facing the same issue. i can't use this package for SSE in angular application

I using EventSourcePolyfill and I managed to extend the time from 45000 milliseconds to 2 minutes using heartbeatTimeout: 120000,
    const sse = new EventSourcePolyfill(`yourURL`,
                        {
                            headers: {
                                'Content-Type': 'text/event-stream',
                                'Cache-Control': 'no-cache',
                                'Connection': 'keep-alive',
                                'X-Accel-Buffering': 'no',
                                Authorization: `Bearer ${access_token}`,
                            },
                            heartbeatTimeout: 120000,
                            withCredentials: true,
                        });

                            sse.onmessage = (e) => {
                                console.log(e);
                            }
                            sse.onerror = (event) => {
                                console.log(event);
                                sse.close();
                            }

@polixisNG Did that solve the No activity within 45000 milliseconds issue for you?

@jbouhier unfortunately it doesn't solve the issue, I just tested it

@serkyron what is the issue? Do you see it always? or sometimes?
Do you send  some message every 45 milliseconds?

@serkyron Did you try with 2 minutes timeout ?

Yes, I tried 2 minutes timeout. Same result

@Yaffle My situation is a bit different. I'm not sending heartbeat, but in my case it's not expected. I use Mercure Hub to deliver updates from Symfony backend. So I'm subscribing to a SSE endpoint, and obviously there is no guarantee there will be an update to push every 45 or N seconds.
I can of course set up a cron process sending heartbeat but that sounds like a work around, which I wouldn't like to do.  Is there an option to prevent event listener from expecting heartbeat?

@serkyron you could pass heartbeatTimeout option with a big value

@Yaffle My situation is a bit different. I'm not sending heartbeat, but in my case it's not expected. I use Mercure Hub to deliver updates from Symfony backend. So I'm subscribing to a SSE endpoint, and obviously there is no guarantee there will be an update to push every 45 or N seconds.
I can of course set up a cron process sending heartbeat but that sounds like a work around, which I wouldn't like to do. Is there an option to prevent event listener from expecting heartbeat?

@serkyron Mercure automatically sends heartbeat messages, so there is no need to set up a dedicated CRON job.
You could consider reducing the default value from 40s seconds to something lower.

Anyone have an actual solution to this?

Possible solution to this problem here: https://github.com/Yaffle/EventSource/issues/193#issuecomment-2272379182


Added ability for the downpicker to send events when editing the textfield

Whenever the downpicker is activated or dismissed, it now sends UIControlEventEditingDidBeing or UIControlEventEditingDidEnd events so that the owning class can do things if it needs to.

Nice addition, mate! Adding on master branch right now, will also update the pod asap.
Thanks,


grandpa: remove deprecated afg log target

Missed in https://github.com/paritytech/substrate/pull/12875.

bot merge


coverage html: This command should print a line

Is your feature request related to a problem? Please describe.
If you use coverage for the first time in your life, than I think it would be very helpful, if the command coverage html does output a line like:

See output in htmlcov/index.html

If you agree to this proposal, then I could create a pull-request.
What do you think?

I think this is a good idea.  I may do it soon.

I did it soon :)  This is implemented in 4ef91bd9

This is now released as part of coverage 6.0.


Subscription ends in 30 days

Hi, when you sign up for an api key it says subscription ends in 30 days.  Does the Subscription auto renew or do you have to signup again every 30 days?

The developer commented on Reddit that unless you cancel your subscription it should auto renew.

I did say that, and it remains correct! I'm working with Apiable to fix the wording here, since I don't want people worrying about it not auto-renewing or worse, not realizing it will auto renew. I think I need to make a page listing the Apiable specific changes that are in progress...
Since this is answered, I'm going to close it for now, but feel free to re-open or create a new issue if anything else comes up!


Some axis labels do not refresh on IOS  when data changed

When I change data in VictoryChart -> VictoryBarcomponent some labels on Axis Y stay old but some refresh.  Android does not have this problem.
Animation helps but animation has its own bugs so it would be good to refresh labels without it.
Tested in 16.6 and 15.0 versions.

+1

The latest version changes shouldComponentUpdate logic and should correct this issue.


Unwanted change [Tags] section

Moje Klicove Slovo
    [Documentation]  Dokumentace ke klíčovému slov
    [Tags]  A  B  C
    # Lukáš Procházka
    IF  True    No Operation

https://robotidy.readthedocs.io/en/latest/transformers/NormalizeTags.html
First issue:

removed one space before [Tags]

Second issue:

Why are tags lower case? I don't call NormalizeTags explicitly.

Does your pyproject.toml from desktop enables NormalizeTags? I see it's loaded from parent directory of the directory you started the robotidy (it's by design - robotidy search for configuration in parent directories until it finds it, or reach directory with ".git" directory). But now I see the need for more verbose "verbose" mode - it could list all transformers /config at the start of the run so it would be clear what configuration you're using.
For the first issue - I will investigate it.

I found the reason - I'm using separator instead of indent https://github.com/MarketSquare/robotframework-tidy/blob/b4f29f67f6ddbd65beafbe9f6a9fa0ed1a4f2590/robotidy/transformers/NormalizeTags.py#L64
It's inside NormalizeTags.

@bhirsz Did you managed to duplicate it?

I reproduce (and fixed in PR) 1. And I just managed to reproduce 2. For some reason I though NormalizeTags is non-default transformer but it's default one. Meaning it will always be on unless you disabled it (ie. with -c NormalizeTags:enabled=False). To see which transformers are default/non-default run:
robotidy --list

Here output:

The issue was closed together with linked PR (automatically after merging) - if you still think something is not working correctly, or NormalizeTags should not be a default transformer (I've started thinking about this too..) then please create new issue or comment here.

@bhirsz  I retested spacing, it is OK now, thank you. About NormalizeTags  I think that documentation should be edit. https://robotidy.readthedocs.io/en/latest/transformers/NormalizeTags.html NormalizeTags is not included in default transformers, that’s why you need to call it with --transform explicitly:

Thanks for noticing it! Created a bug: 335


terminal text showing not good at first load

Hello
recently my terminal dont show text spaces currectly and insert space between charachters

but after resize panel its been ok!

it's fixed for me by change terminal font family in vscode settings
but in older versions its worked currectly

Can you share your settings.json file when it wasn't working correctly? Also can you provide OS information?


running terraform plan in windows 10 pro but shows unsupported platform error User tried to log in to a device from a platform (Unknown) that's currently not supported through Conditional Access policy. Supported device platforms are: iOS, Android, Mac, and Windows flavors.

Describe the bug
running terraform plan in windows 10 pro but shows unsupported platform error
C:\test>terraform plan
Planning failed. Terraform encountered an error while generating this plan.
╷
│ Error: building account: could not acquire access token to parse claims: running Azure CLI: exit status 1: ERROR: AADSTS50005: User tried to log in to a device from a platform (Unknown) that's currently not supported through Conditional Access policy. Supported device platforms are: iOS, Android, Mac, and Windows flavors. Trace ID: 37aa6e06-04c6-4059-bc87-8e9f87137300 Correlation ID: 1779b0de-6ac2-44d5-b97a-64f69d477f3d Timestamp: 2024-02-26 09:09:47Z
│ Interactive authentication is needed. Please run:
│ az login --scope https://graph.microsoft.com/.default
│
│   with provider["registry.terraform.io/hashicorp/azurerm"],
│   on providers.tf line 12, in provider "azurerm":
│   12: provider "azurerm" {
│
Related command
terraform plan
Errors
╷
│ Error: building account: could not acquire access token to parse claims: running Azure CLI: exit status 1: ERROR: AADSTS50005: User tried to log in to a device from a platform (Unknown) that's currently not supported through Conditional Access policy. Supported device platforms are: iOS, Android, Mac, and Windows flavors. Trace ID: 37aa6e06-04c6-4059-bc87-8e9f87137300 Correlation ID: 1779b0de-6ac2-44d5-b97a-64f69d477f3d Timestamp: 2024-02-26 09:09:47Z
│ Interactive authentication is needed. Please run:
│ az login --scope https://graph.microsoft.com/.default
│
│   with provider["registry.terraform.io/hashicorp/azurerm"],
│   on providers.tf line 12, in provider "azurerm":
│   12: provider "azurerm" {
Issue script & Debug output
see errors
Expected behavior
should be run successfully
Environment Summary
azure-cli                         2.57.0
core                              2.57.0
telemetry                          1.1.0
Dependencies:
msal                              1.26.0
azure-mgmt-resource             23.1.0b2
Python location 'C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\usernametest.azure\cliextensions'
Python (Windows) 3.11.7 (tags/v3.11.7:fa7a6f2, Dec  4 2023, 19:24:49) [MSC v.1937 64 bit (AMD64)]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
Additional context
n/a

Thank you for opening this issue, we will look into it.

Please open this issue in terraform repo

sure, thanks


fix: call cfn init

I'm unsure if this is a recent breaking change or if you have another way of running this, but generate.py would not run for me without this change.
Ref: https://github.com/iann0036/cfn-tf-custom-types/issues/7#issuecomment-1966490097

I see now that this was supposed to be handled here:
https://github.com/iann0036/cfn-tf-custom-types/blob/755fbfc7eb6f30f3d7dfca700bad00ba19ee7ee3/generate.py#L400-L402
However, because cfn init was exiting with an error initially, the directory got created but cfn init never successfully ran. Hence why this change fixed things for me.
The solution might be some better error handling.


GPU Usage Keeps High Even Without Inference Load

Configuration:
AMD W7900 + Rocm5.6

Running the model on oobabooga/text-generation-webui, GPU Usage keeps even unload the model.
Model: TheBloke/Llama-2-70B-GPTQ:gptq-4bit-32g-actorder_True
Running meta-llama/Llama-2-7b-chat-hf  without quantiziation would not have this issue.
Is it an expected behavior?

It's not expected, no. I have no explanation for it. Are you able to generate anything while the GPU is in this state?

After I unload the model, there is still 1% in the VRAM, in this state I am able to load another model and do inference, but the GPU usage will always be high. Only kill the WebUI process fix the issue.

It must be a ROCm issue of some sort, because there's nothing running in the background, no threads or anything. There's the asynchronous device queue, but the host code synchronizes at multiple points and shouldn't be able to run at all while there are kernels still running.
Does that management interface provide any sort of additional insight into what might be running on the GPU? I.e. is it a rogue kernel, the runtime stuck in a loop trying to clean up corrupted memory, or... idk. I would strongly suspect it's ROCm specific.

It must be a ROCm issue of some sort, because there's nothing running in the background, no threads or anything. There's the asynchronous device queue, but the host code synchronizes at multiple points and shouldn't be able to run at all while there are kernels still running.
Does that management interface provide any sort of additional insight into what might be running on the GPU? I.e. is it a rogue kernel, the runtime stuck in a loop trying to clean up corrupted memory, or... idk. I would strongly suspect it's ROCm specific.

![image](https://github.com/turboderp/exllama/assets/36061851/b977982f-0b49-4bc4-b8e7-1d4d8c344e62
It seems like someone keeps laucning kerenls in the loading process.

Well, it's a Torch kernel (elementwise_kernel) which unfortunately is called all the time for any sort of element-wise operation, so it's anyone's guess what it's doing.
But it's definitely a Torch operation that keeps firing in the background. And since ExLlama is single-threaded I can't imagine a way it could keep launching kernels like this unless it was stuck in a loop. But if it were stuck in a loop you wouldn't be able to load another model and use it.
So it sounds like this is an issue with TGW. Maybe @oobabooga has some idea what might be going on? Is ExLlama launched in a separate process or a separate thread?

In text-generation-webui the generation runs on a separate thread, yes. It is done using the Iteratorize class here: https://github.com/oobabooga/text-generation-webui/blob/main/modules/callbacks.py#L30
But I have never experienced any idle GPU usage.

Well, it's a Torch kernel (elementwise_kernel) which unfortunately is called all the time for any sort of element-wise operation, so it's anyone's guess what it's doing.
But it's definitely a Torch operation that keeps firing in the background. And since ExLlama is single-threaded I can't imagine a way it could keep launching kernels like this unless it was stuck in a loop. But if it were stuck in a loop you wouldn't be able to load another model and use it.
So it sounds like this is an issue with TGW. Maybe @oobabooga has some idea what might be going on? Is ExLlama launched in a separate process or a separate thread?

By adding log in model.py, I am able to narrow down the issue to "cuda_ext.exllama_ext.prepare_buffers" function.


No errors when creating a stream with wrong Size/FPS

Related to #78.
When creating a stream using the wrongly associated Size/FPS for YUYV (eg. 1920x1080@30FPS), no errors are returned, and neither new stream populates the Stream list, but when trying to create another stream, it returns two possible errors:

Stream name already in use
Device already in use

Thus, indicating a bug on the back-end side.

#172 partially fixes the problem, but the error returned isn't good enough:
"Failed to add Sink of type UDP to the Pipeline. Reason: Failed setting Pipeline 283ec88f-3c8d-40a2-8ac8-2e10aaca8246 to Null state. Reason: set state timed-out (2 seconds)"

So we should add a validator to check camera capabilities before creating the v4l pipeline.


Make it invisible

Only when user click on textbox, then it may show the calendar. I wonder the current ReactNativeCalendarAndroid can do so.

I think you can do so with normal React. Setting a boolean state when the textbox is focused, then in the render method, you only render the calendar when that boolean is true

I think you can do so with normal React. Setting a boolean state when the textbox is focused, then in the render method, you only render the calendar when that boolean is true


TypeError: add_import() takes from 2 to 3 positional arguments but 5 were given

I'm trying to run Auger on my code. I did exactly like in the README, but auger crashes on:
Traceback (most recent call last):
  File "/usr/lib64/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib64/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/run/media/djipey/50651dc3-df15-45e7-8e96-a50f832d261d/test/__main__.py", line 51, in <module>
    main()
  File "/run/media/djipey/50651dc3-df15-45e7-8e96-a50f832d261d/test/.venv/lib/python3.7/site-packages/auger/__init__.py", line 64, in __exit__
    sys.settrace(None)
  File "/run/media/djipey/50651dc3-df15-45e7-8e96-a50f832d261d/test/.venv/lib/python3.7/site-packages/auger/generator/default.py", line 34, in dump
    self.add_import(*(line.replace('from ', '').replace('import ','').split(' ')))
TypeError: add_import() takes from 2 to 3 positional arguments but 5 were given

Is it a known issue?

Do you have a test case that I can take a look at?

I do. Please keep in mind that it was originally confidential code and that I made it dumb and anonymous, but the issue is reproduced here:
This is test.py:
from upper import UpperObject

def main():

    to_up = "hello world"

    up = UpperObject()
    upped = up.parse(to_up)

if __name__ == "__main__":
    import auger

    print("coucou")

    with auger.magic([UpperObject], verbose=True):
        main()

And this is upper.py:
from typing import List, Dict

class UpperObject:

    def __init__(self) -> None:
        pass

    def parse(self, to_up: str) -> str:

        upped = to_up.upper()

        return upped

I can already tell you that line 1 in upper.py causes the issue. Auger doesn't like multiple imports on a single line. Separating them on several lines works.

Thanks for that JP. I have just opened a pull request to fix this issue. Please note however that auger is acting a bit strange with Python 3 at the moment. Please see issue #22.

Closing as #21 has been merged.


Duplicate definition

Use cocopods integration. I get two Warnings.
" Duplicate definition of category 'MASAdditions' on interface 'UIViewController' "
" Duplicate definition of category 'MASDebugAdditions' on interface 'NSLayoutConstraint' "

@FlyingNoob can you provide more info like:

Xcode Version
Cocoapods Version
Masonry Version in Podfile

Xcode: 7.3.1
Cocoapods：1.0.1
Masonry：1.0.1
The same problem，12 Warnings！

Xcode: 7.3.1
Cocoapods：1.0.1 use_framworks!
Masonry：1.0.1

@robertjpayne

@robertjpayne

Xcode: 7.3
cocoapods:1.0.1,    config with "use_framworks!"

@FlyingNoob ah yea, makes sense. We have a lot of warnings in the project but not a lot of time to try and address them while not breaking things.
It shouldn't actually break anything though.

Facing the same issue.
Xcode: 8.0
cocoapods: 1.0.1, config with "use_framworks!"
Masonry: 1.0.2

did someone find a solution for this?


please add choiceDataState method

i want do that, but the library is not support. can you implement this method? or provide other alternatives
fun main() {
    runBlocking {
        data class DoThingEvent(override val data: String) : DataEvent<String>

        val machine = createStateMachine(this, "Test") {
            val idleState = initialState("idleState")
            val doATaskState = dataState<String>("doATask")
            val doBTaskState = dataState<String>("doBTask")

            val doThingState = choiceDataState<String> {
                if (data == "doATask") {
                    doATaskState
                } else {
                    doBTaskState
                }
            }

            idleState {
                transition<DoThingEvent>(targetState = doThingState)
            }

        }
        machine.processEvent(DoThingEvent("doATask"))
    }
}

looks good, I dont see any blockers to implement it. I will try it out.

currently you should be able to use transitionConditionally function to archive such behaviour.

fixed in https://github.com/nsk90/kstatemachine/releases/tag/v0.24.0


Fix backup block deletion

We need to skip the backup to be deleted otherwise we would mark its
blocks as in use. Which would lead to no block deletion.
longhorn/longhorn#1431
Signed-off-by: Joshua Moody<EMAIL_ADDRESS>

LGTM.


[Ballerina/sql] : Getting error while upgrading from slbeta3 to slbetat6

Description:
I tried to upgrade the ballerina distribution from slbeta3 to slbeta6. While building the project I'm getting following error.

error: compilation failed: The compiler extension in package 'ballerina:sql:1.2.0' failed to complete. class io.ballerina.compiler.syntax.tree.FieldAccessExpressionNode cannot be cast to class io.ballerina.compiler.syntax.tree.UnaryExpressionNode (io.ballerina.compiler.syntax.tree.FieldAccessExpressionNode and io.ballerina.compiler.syntax.tree.UnaryExpressionNode are in unnamed module of loader 'app')

I tried to built by removing cache and dependencies.toml as well
Steps to reproduce:
Upgrade projects which uses ballerina/sql module from slbeta3 to slbeta6
Affected Versions:
slbeta6

This is already fixed for 2201.0.0 GA, tracked in https://github.com/ballerina-platform/ballerina-standard-library/issues/2536
If this cannot be migrated to 2201.0.0, you can use configurables to customize connection pool. https://lib.ballerina.io/ballerina/sql/1.2.0/records/ConnectionPool


limited overloading

[@gavinking] We could support a restricted form of function overloading where:

all overloaded declarations have the same return type, and
the overloaded declarations have disjoint parameter list types.

For this to be useful, we would be depending on #3962.
Then, given an example like this:
Float f() => 0.0;
Float f(Float x) => x;
Float f(Integer x, Integer y) => x.float/y;

The function f would have the type:
Callable<Float,[]|[Float]|[Integer,Integer]>

which is actually the same type as:
Float() & Float(Float) & Float(Integer,Integer)

That is, I think, very natural. Notice a couple of things about this:

Given the second restriction, the first restriction could probably be relaxed if we were to make the analysis of invocation expressions sufficiently clever. That is to say, the typechecker could unambiguously choose between the intersected function types by matching the argument tuple against the disjoint parameter tuple types.
We would absolutely need the second restriction, because that's the only way to unambiguously dispatch to the correct overloaded declaration.
The actual implementation would of course do a typeswitch under the covers, so this is really just a syntax sugar. But at the Java level, we could still map down to three overloaded methods, allowing us to do stuff like override overloaded methods.

[Migrated from ceylon/ceylon-spec#858]

Will this affect/include constructors in any way?

Well, sure, it could be made to work for constructors.

I'm not saying I want to, I like the named constructors concept. Clean and simple. I don't feel I particularly need overloaded functions either, I don't mind choosing different names for them either.. But I have only skimmed through this issue so I don't know all the potential benefits of overloading yet.

Maybe this proposal would come along well with pattern matching: see for enumerated objects (I agree it’s not the right use of that and of object subclass type names)
f(\Ilarger|\Ismaller a, Comparison b) => a;
f(\Iequal a, Comparison b) => b;

is somewhat not so far from pattern-matchingy
f(larger, Comparison b) => larger;
f(smaller, Comparison b) => smaller;
f(equal, Comparison b) => b;


Log SQL queries in development mode

It would be nice to see all the SQL queries sent to the server printed to standard Docker output (in development mode only).
More info:

http://stackoverflow.com/questions/722221/how-to-log-postgresql-queries
http://www.microhowto.info/howto/log_all_queries_to_a_postgresql_server.html
https://chartio.com/resources/tutorials/how-to-log-queries-in-postgresql/
https://docs.docker.com/engine/examples/postgresql_service/#installing-postgresql-on-docker
http://stackoverflow.com/questions/30848670/how-to-customize-the-configuration-file-of-the-official-postgresql-docker-image

Note: The config/postgres-initdb.sh file is being executed inside the db service only when data volume is missing while creating a new database from scratch.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

You can now enable logging by adding this line to .env:
PGDEBUG=true


bash: octave: command not found when running 'heroku run octave'

Followed your instructions exactly, except I'm using a python buildpack.
$ heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git
$ cat .buildpacks
https://github.com/heroku/heroku-buildpack-python.git
https://github.com/wclark3/heroku-buildpack-octave-cedar14.git
What is wrong?

This is not how heroku does buildpacks anymore. If you are having this problem, follow heroku's official guide for multiple buildpacks.


Upload on Packagist?

Do you intend to upload this on packagist for version better version control or not yet?
I'd like to start with implementing the interfaces to see what issues I'll find. I'm doing the same with the other interop (soon to be ) standards :) and it would be helpful to be able to update any approved PRs from composer since my packages will then depend on it.

Hi! This package is currently in a frozen state, we are working on a different solution that you can find here: https://github.com/container-interop/service-provider

@mnapoli Thanks. Not sure if I am missing something or if the plans have changed; will you be trying to have an interop compiler that will be able to retrieve cached bindings if the cache exist? I don't think this is related to the service provider proposed standards.

@moufmouf  Thanks for your reply :) I will get back to this later on this week and will reply in full then.

Closing the issue then! :)


Possible Feature: Retrieving Product Keys and possibly other Metadata

A few years back I dabbled with some R code to retrieve Metadata about my previously bought bundles...
One rather interesting aspect was that I could download a list of all steam keys I had not requested (or rather I could download a list of all possibly available steam keys, and then filter out those where the api actually returned a steam key)
Would it be interesting to implement a feature enabling this use case in humble-cli?
I could imagine a subcommand like humble-cli download-meta -f yaml <bundle_id> that would write humble-meta.yaml(json/csv) file into the same directory structure (per bundle and per download_item) that the downloads are written into today.
A lot of that information can be made available already using the humble-cli details command, though using a tree-like data structure like yaml/json would make it easier to be (much) more verbose.
If the format would be "defined" using json-schema, i.e. not only a copy of the current humble bundle REST responses but maybe a little bit more thought out? (Aspects to maybe thing about could be for example how to handle metadata for file versions that change? Would it make sense to update such a metadata file and keep a "previous-versions" data structure?)
Anyways, I would be interested to gage interest in and the relevance/realism of such a feature?

I actually had a similar idea in mind for the list subcommand, to have a flag to specify if a json / yaml output is desired.
For example:
humble-cli list --format yaml

But since I didn't have any actual use for it and nobody asked for it, I didn't work on it.
It should be rather easy to implement. The only thing that comes to my mind is that the models defined here are not exact 1-to-1 mapping to HB JSON responses. So some fields might be missing.
Other than that, I think serde can easily handle serializing data to json or yaml.


All font settings are lost when you press Enter twice

Is there an existing issue for this?

[x] I have searched the existing issues

Flutter Quill version
9.5.3
Steps to reproduce

Related issue: #1951
Expected results
Keep font family and font size after pressing Enter twice
Actual results
Font family and font size settings are lost pressing Enter twice
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration

Logs
Logs
[Paste your logs here]

This is being worked on, but it is more complex than simply pressing enter twice.
To give you an example:

Type text with bold, press enter twice and enter more text - more text is correctly entered as bold.
Next, type text with bold, press enter twice then press the Up-arrow key and enter more text - more text is NOT entered as bold.

Font and size are treated as inline styles but were not listed in Attribute.inlineKeys. This needs review of Attributes in general.
The problem is in PreserveInlineStylesRule which has a complex interaction between inline and block styles. (see issue 1940)

#1119 could be related.

Yes, it is related.
The whole business of preserving inline styles is much more complex than I thought it would be.
I have resolved the business of inline styles being maintained when pressing enter (1-many times) but found the styles were lost when you pressed the up-arrow key.
For this issue, I found that font and size were not listed as inline styles. I have fixed this and added tests to ensure the Attribute class collections of keys is updated if new attributes are added in the future (current proposal to add an attribute for linespacing?)
#1940 has reported a problem with maintaining inline styles while entering lists or codeblocks. I think I have fixed this as well.
The problem that is still open is editing links. If you click within a link and enter text, the inserted text is inserted as plain text flanked by underscored links. I would think the intent is to edit the visible text for the link rather than splitting the link into 2 parts with plain text?
@ellet0 do you recommend submitting what is done ASAP and worry about what is not fixed later?

@ellet0 do you recommend submitting what is done ASAP and worry about what is not fixed later?

I recommend releasing changes that fix a bug and cause another as an alpha or experimental version (pub.dev pre-release). Though we no longer maintain the dev branch, you also mentioned it's a partial fix for a more complex bug, so I would suggest submitting what has been fixed for now and taking care of the rest later.

Thanks for your advice.
Have submitted the PR.

Thanks for your advice.
Have submitted the PR.

Thank you for your contributions.

Thanks for fixing this!


Fix stale support reference on Community page

Signed-off-by: Julius Volz<EMAIL_ADDRESS>

:+1:


Various CMake fixes.

Fixes a few issues with the CMake setup.
These were found during the spack smoke test/test addition. Here is a short summary:

Add a FindNUMA.cmake and use it where appropriate.
Export our CMake modules such that they can be used by dependent packages.
Review the RPATH management of test_install.
Fix finding libamdhip64.
Fix the handling of CMAKE_CUDA_HOST_COMPILER in our GinkgoConfig.cmake.in.

It done and works, but I still need to make sure the FindNUMA setup works through spack.

I'm trying to understand the background for the NUMA dependency. Is there some way we can integrate this into the dependency chain ginkgo -> ginkgo_device -> hwloc -> NUMA?

NUMA is not part of the main Ginkgo dependency chain. It's only in the hwloc tests to check what hwloc does against some values extracted using the system library.


K8SPXC-1003 fix self-healing and self-healing-chaos tests

Test name
Status

upgrade-haproxy
passed

big-data
passed

scheduled-backup
failed

haproxy
passed

recreate
passed

storage
passed

scaling
passed

cross-site
passed

self-healing
passed

self-healing-chaos
passed

scaling-proxysql
passed

init-deploy
passed

restore-to-encrypted-cluster
passed

security-context
passed

self-healing-advanced
passed

self-healing-advanced-chaos
passed

limits
passed

demand-backup
passed

monitoring-2-0
passed

operator-self-healing
passed

operator-self-healing-chaos
passed

affinity
passed

upgrade-proxysql
passed

one-pod
passed

auto-tuning
passed

pitr
passed

smart-update
passed

proxysql-sidecar-res-limits
passed

users
passed

demand-backup-encrypted-with-tls
failed

upgrade-consistency
failed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

We run 35 out of 35

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1134/commits/8c660989a7c98933c8f30e72718e135bb79b7697
image: perconalab/percona-xtradb-cluster-operator:PR-1134-8c660989

Test name
Status

upgrade-haproxy
passed

big-data
passed

scaling
passed

scheduled-backup
passed

storage
passed

recreate
passed

cross-site
passed

haproxy
passed

scaling-proxysql
passed

init-deploy
passed

self-healing
passed

restore-to-encrypted-cluster
passed

security-context
passed

limits
passed

self-healing-chaos
passed

demand-backup
passed

monitoring-2-0
passed

self-healing-advanced
passed

pitr
passed

affinity
passed

demand-backup-encrypted-with-tls
passed

self-healing-advanced-chaos
passed

one-pod
passed

operator-self-healing
passed

operator-self-healing-chaos
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

users
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

upgrade-proxysql
passed

smart-update
passed

upgrade-consistency
passed

We run 35 out of 35

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1134/commits/8c660989a7c98933c8f30e72718e135bb79b7697
image: perconalab/percona-xtradb-cluster-operator:PR-1134-8c660989


Remove "-sortmem" from tools that don't sort

When looking at https://github.com/brimsec/zq/pull/1249, I saw how -sortmem is now present in the help text of tools like pcap and zapi that I don't think of as doing sorting. I asked @mccanne if this was intentional and he said it was not and could be fixed in a planned refactor. We also agreed this is a low priority, but I've opened this issue as a reminder to circle back to it.

Verified in zq commit
As for commit 2fe0e93 that came right before, -sortmem was listed as a top level option in all the CLI tools, including some that did not require it.
$ zq -version
Version: v0.21.0-40-g2fe0e93

$ for tool in microindex pcap zapi zar zq zqd; do echo "$tool:"; $tool help 2>&1 | grep -i sortmem; echo; done
microindex:
    -sortmem maximum memory used by sort, in MiB (default "128")

pcap:
    -sortmem maximum memory used by sort, in MiB (default "128")

zapi:
    -sortmem maximum memory used by sort, in MiB (default "128")

zar:
    -sortmem maximum memory used by sort, in MiB (default "128")

zq:
    -sortmem maximum memory used by sort, in MiB (default "128")

zqd:
    -sortmem maximum memory used by sort, in MiB (default "128")

Now at commit 7f00817, zq is the only one that mentions it as a top-level option.
$ for tool in microindex pcap zapi zar zq zqd; do echo "$tool:"; $tool help 2>&1 | grep -i sortmem; echo; done
microindex:

pcap:

zapi:

zar:

zq:
    -sortmem maximum memory used by sort in MiB, MB, etc (default "128MiB")

zqd:

zar now has it mentioned only within the context of zar import, which seems appropriate.
$ zar help import 2>&1 | grep -i sortmem
    -sortmem maximum memory used by sort in MiB, MB, etc (default "128MiB")

I noticed it seems to be absent from the help text for zqd, which is unexpected. I'll follow up about this separately.
Thanks @mccanne!

Following up on the previous comment, I can now confirm that as of zqd commit 85c80a4, the -sortmem option is back there as well.
$ zqd help 2>&1 | grep -i sort
    -sortmem maximum memory used by sort in MiB, MB, etc (default "128MiB")


Rise of the Tomb Raider support

It has lighting effects for Razer devices, would it be possible to make them work on logitech devices as well?

Maybe try the Razer Wrapper Patch :wink:

I tried this, It didn't work :-(

How do you download the razer patch? I'm really wanting to use the H1Z1 and RotTR effects

It doesn't work with H1Z1 due to their anti-cheat. The game simply doesn't load the wrapper.

Damn. Well then how do I install it anyways for the RotTR?

Go into settings, then open the "Devices & Wrappers" tab, in there you will find "Install Aurora Patch for Razer", and all other ones. Like so:

I installed the patch and tried to enable it from the settings ingame but nothing happens.

it worked for me

@Dagda52 how did you get it to work? Are you on the dev version?

nope, i'm currently using the official 0.6.0b, i just installed the wrappers dll's near the executable, other thing you can try i founf this dll's works if you put them in windows/system32 and windows/syswow64, doing that you can patch them globally, and no need to put them in every game.

dont forget to enable effects in game http://steamcommunity.com/sharedfiles/filedetails/?id=1093395217

I just solved the problem. I added a profile for the .exe and that made it not work, once I deleted it it started working as it should.

I tested this again with v0.6.1-dev3 and the game crashes right before the main screen if I leave the dlls on the folder. If I remove them it works fine.
The game seems to recognize the devices but crashes right after.
Aurora logs: https://pastebin.com/Cn0UDnmu
RotTR log: https://pastebin.com/EFVn81SD
I have not created a profile for the game and am using the g810 and  g502.

Same as diogotr7, the dev3 breaks ROTTR & lighting effects for said game, mine totally locks up & I have to restart my pc in order to get back to desktop.
I once got the game to load but the keyboard animation was stuck with just a column of keys lit.

I don't have to restart my PC, I can call task manager but the keyboard stuck with one colunn of keys lit happens here too

Could you try the recent developer version and see which is the first version that introduces the issue?

I tried and the first version that seems to introduce the game crash/hang  is 0.6.1-dev. Earlier versions didn't display lightning at all and the game worked. This version Makes the screen go black.
Log: https://pastebin.com/h9pFy8yL

@diogotr7 Could you try [this build] and tell me how it goes? I've made it so it'll log the gamestate it received which caused it to error out in your previous dev3 build so make sure to include the log file as well.

I deleted the %appdata% Aurora folder and ran the exe. The Logitech first time intro appears and then I get this
http://i.imgur.com/6xeuIBx.jpg
I ran it from my desktop, is that a problem?

@diogotr7 Try this build (it should be uploaded in a few mins)

@simon-wh  I jkust tried it and

@simon-wh I just tried it and it seemed to work without any problems, as long as I don't create a profile for it. Orange wave across keyboard while loading, movement keys orange and turn white while pressed, whole keyboard flashes red when low hp and damage taken.
Log without profile: https://pastebin.com/wXvXjrQp
Log with profile: https://pastebin.com/JC2BxGTk  (that error keeps appearing for ~2500 lines across 15 seconds)

@diogotr7 Is there nothing after the Pipe Created line on the log without the profile? Before the log you had with v0.6.1-dev3 showed an error which caused it to stop working and I was hoping to be able to catch to try and narrow it down.

I just did it again and the log looks just like that one :
v0.6.1-dev3 tr test2 : https://pastebin.com/4NBpjKwi
I tested again with the most recent version and I found that it doesn't make the game crash every time. Sometimes it just stops updating the lightning and just lights up the G logo on both the keyboard and mouse.
Here's a Log (I opened and closed the game twice and it didn't crash.) https://pastebin.com/a0AayKUL

Can you try and get the error from dev3 to occur when using dev3 tr test2?

@simon-wh I tried running the game as admin, without the launcher, restarted my computer and unfortunately i wasn't able to get the error using the test2 version. It always just worked straight away.
The one thing I noticed is that the older version crashes/freezes/stops updating lightning when it gets to the main menu. In the working version, this is when the game displays the following keys as orange:
WASD, ESC, LSHIFT, Space, Enter, PGUP and PGDOWN, and the arrow keys. The G logos both turn off at this point.
Once the gameplay starts it lights up a couple more keys like QERFV, and turns off the arrow and pgup and pgdown keys. Again, I don't think this makes a difference, but might as well say it.

With the log from dev3 it seems like it errors due to it erroring out on a malformed payload and it doesn't close the connection with the game causing it to freeze. Maybe there was a change since dev3 that stopped that issue from happening.

@diogotr7 What's the name of the rotr exe? I'm planning to add a profile for it so you can customize it better.

@simon-wh I just tried it and it worked very well  I can apply new layers and the display as they should, without affecting the game's lightning.
I applied the razer patch( both dll's) from the aurora settings to the same directory as ROTTR.exe is in, and I didn't delete/replace/reapply the patch at any point.
Also, I do not have the files in system32 or syswow64, as was referred earlier in the issue.
Other thing I noticed is that the Overview tab says "Worms W.M.D." where it should say rottr.
The color enhancing didn't seem to have any effect, but I believe it's not needed anyways,

@diogotr7 I've corrected the Overview text to have the right game title (I just copy paste similar applications). Seeing as you've got it working by putting it in the standard location for wrappers for a game then I don't need to make any changes. I'll close this issue as it seems like it has been sorted. Thanks for all the help! Could you see if your log has the error that was coming up in a few of them? I made some changes that hopefully fixed it.

@simon-wh The log does not have that error. Glad to help!


Static WebApp deployment Action gets stuck Polling Deployment but works fine locally on swa CLI

Describe the bug
I have a repository (https://github.com/osobeso/TaskifySWA) that I'm trying to deploy to an Azure Static Webapp.
It works fine locally, but when I try to deploy it the Github Action gets stuck on 'Polling Deployment'
Uploading build artifacts.
Finished Upload. Polling on deployment.
Status: InProgress. Time: 0.1350726(s)
Status: InProgress. Time: 15.2716099(s)
Status: InProgress. Time: 30.40201(s)
Status: InProgress. Time: 45.5830464(s)
Status: InProgress. Time: 60.7690477(s)
Status: InProgress. Time: 76.1861414(s)
Status: InProgress. Time: 91.287543(s)
Status: InProgress. Time: 106.414874(s)
Status: InProgress. Time:<PHONE_NUMBER>(s)
Status: InProgress. Time:<PHONE_NUMBER>(s)
Status: InProgress. Time: 151.8[257](https://github.com/osobeso/TaskifySWA/actions/runs/3230664788/jobs/5289372895#step:6:258)152(s)
Status: InProgress. Time:<PHONE_NUMBER>(s)
Status: InProgress. Time:<PHONE_NUMBER>(s)
Status: InProgress. Time:<PHONE_NUMBER>(s)
Status: InProgress. Time:<PHONE_NUMBER>(s)
Status: InProgress. Time:<PHONE_NUMBER>(s)
Upload Timed Out. Unsure if deployment was successful or not.

A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to https://github.com/osobeso/TaskifySWA and fork the repository.
Add a deployment token secret from your own Azure static web app into your github action secrets.
Run the workflow
See error

Looks like duplicate of #949

Related to #949

Related to #942

Hi @osobeso this should be resolved now. Please try again and reopen the issue if not resolved. Sorry for the inconvenience.


Refactoring VectorStores default components

Fixes and Tests for VectorStore Default Components
Fixed VectorStore Components:
We have addressed and resolved issues in the following VectorStore default components:
- CassandraVectorStoreComponent;
- CouchbaseVectorStoreComponent;
- FaissVectorStoreComponent;
- MongoVectorStoreComponent;
- PGVectorStoreComponent;
- PineconeVectorStoreComponent;
- QdrantVectorStoreComponent;
- SupabaseVectorStoreComponent;
- UpstashVectorStoreComponent;
- VectaraVectorStoreComponent;
- WeaviateVectorStoreComponent;

Tested VectorStores:
We have successfully tested the following VectorStores:
- Chroma DB
- Pinecone
- Qdrant
- FAISS
- AstraDB
- Redis

Hey @berrytern
Thank you for the PR!
As soon as the conflicts are good we'll merge it.

Hey all.
Please, recreate the PR to dev


Don't open new page for ext wiki on same repository (#20725)

Backport of #20725

When the external wiki has been set to a file on the repository, don't open the page on a tab.
Resolves #20657

Looks like the CI failure is related:
panic: template: repo/header:209: function "HasPrefix" not defined


Can't call createSyncDescriptor for service with more than 8 dependencies

I added a service injection dependency to some class and ended up with a very confusing TS error from a line that called createSyncDescriptor. It turns out that you can't call it for a service with more than 8 dependencies because of how CreateSyncFunc is defined. It's not a problem for me anymore because that function is barely used anywhere and I just changed to using the SyncDescriptor constructor directly. I wonder whether we should delete it or fix the definition of CreateSyncFunc to have a definition that takes arbitrary #s of arguments, but I don't know what the intent of this code is. You touched this at some point @jrieken maybe you know something about it.
https://github.com/microsoft/vscode/blob/4bd295b6e47bef7b2dc163f8dd6ef0cb33852bf6/src/vs/platform/instantiation/common/descriptors.ts#L77-L77

This should be more or less adding one more of those. Tho, maybe there is newer, fancier ways in TS nowadays
https://github.com/microsoft/vscode/blob/4bd295b6e47bef7b2dc163f8dd6ef0cb33852bf6/src/vs/platform/instantiation/common/descriptors.ts#L134

That helper is only used in 1 place though. And we call new SyncDescriptor directly in 200+ places. Just pointing that out too.

That helper is only used in 1 place though.

Assigning to @bpasero who is that one user of createSyncDescriptor

What am I supposed to do?

tldr; you are the only user of createSyncDescriptor, either remove your usage or take ownership, e.g keep in line with its base class

I do not recall adding this method and it is outside of the history of GH, but it seems @alexdima introduced it so I let him decide to "either remove your usage or take ownership".
The easiest is probably to inline it.


Add handling for introspection query schema.

Adds support for handling json schema files with the introspection query result format.
fwiw : My .json file was generated /w https://github.com/Shopify/graphql-js-schema-fetch for github's graphql endpoint.

@tazsingh Can you take a look ? Thanks!

Thanks @lightsofapollo! Apologies for the delay in getting around to this.
This really replicates relay-compiler's logic from here: https://github.com/facebook/relay/blob/b869d96d2cbd79f0905c02a410a9a658ec279568/packages/relay-compiler/bin/RelayCompilerBin.js#L135-L157
It looks like they're printing the JSON config back to GraphQL to add those extra directives. Would you mind making this change?
The end goal here is to work with the Relay Compiler itself to make these methods more modular so we can just reuse the same logic instead of replicating it.

@tazsingh Sorry for the delay- After looking at the link I just copy/pasted (and it works!).

@lightsofapollo All good! Thanks it looks great.
Minor stylistic change however, can you remove the semicolons to fit in with the rest of the code?
I'll be dropping in prettier in the future to avoid these types of issues entirely. But for now will have to make the change manually 😅

@tazsingh ^ there you go

Amazing. Thanks @lightsofapollo !


'unable to parse...' error on large JSON writes and empty string field values

I read several discussions in the Issues tracker and on Stack Overflow on why InfluxDB doesn't support vanilla SQL NULLs and I'm perfectly alright with that. However, inserting empty strings (""), the accepted equivalent of NULLs, fails on large datapoint batches. Example:

extract some 400-500 datapoints into individual Python dicts with the mandatory "time", "measurement", "fields" and "tags" keys each
batch everything into a JSON and call InfluxDBClient.write_points(that_json)
get influxdb.exceptions.InfluxDBClientError: 400: {"error":"partial write: unable to parse 'measurement,id=12,interval=300,type=meteostation<PHONE_NUMBER>000000000': invalid field format dropped=0"} on large, but not small JSON batches.

I looked very closely at the JSON and individual dicts and they are perfectly fine.
EDIT: I use InfluxDB 1.4.2 and the influxdb Python module 4.1.1 (updating to 5.0.0 did not solve the problem).
EDIT2: After additional tests it turned out that this is equivalent to issue #369, which didn't provide the related error output originally. The reason seems to be an extra space (" ") in the line generated by line_protocol.make_lines instead of the empty "fields" dict.
EDIT3: Checking whether "fields" is empty doesn't actually help, because apparently the InfluxDB Line Protocol requires at least one "fields" entry. This again argues in favor of retaining NULL values when a NULL is a sign of a device not logging data, yet actually trying to send it.

Fixed in #766


[sc74032] Use Corretto in GHA

Use Corretto in GHA to align with the runtime Java vendor

no longer needed


[ci] cleanup

This is a cleanup of the bash scripts used in the 'Processor' CI workflow.

.ci/install.sh is removed because it can be a two-liner written in the workflow.
.ci/hw_check.sh is removed because it's just a wrapper around sim/ghdl/ghdl_sim.sh.
.ci/sw_check.sh is moved to sw/check.sh.
The content of .ci/README.md is split to sw/check.sh and sim/ghdl/ghdl_sim.sh.
Shell scripts are made executable, so that chmod is not required.
In sim/ghdl/ghdl_sim.sh, GHDL's import and make commands are used, instead of analyse and elaborate. That allows not to specify the sources one by one. GHDL resolves the compilation order internally.

NOTE: @stnolting, on windows, you can use git update-index --chmod=+x path/to/script for marking an script as executable in git. Then commit and push. Anyone who clones the repo will have permissions properly set.

Nice clean-up! 👍 I really like this, but there is just one remark:

.ci/sw_check.sh is moved to sw/check.sh.

I think this should stay in .ci because it is only relevant for the workflow-based "verification". Or maybe this could also be directly in the according application folder sw/example/processor_check. I think it might be confusing having it in the sw folder. What do you think?

In sim/ghdl/ghdl_sim.sh, GHDL's import and make commands are used, instead of analyse and elaborate. That allows not to specify the sources one by one. GHDL resolves the compilation order internally.

Awesome! I did not know that. I always had problems with the compile order when the packages were not compiled first.

NOTE: @stnolting, on windows, you can use git update-index --chmod=+x path/to/script for marking an script as executable in git. Then commit and push. Anyone who clones the repo will have permissions properly set.

Thank for the hint! 😉

By the way, what do you think about having the pre-build GCC toolchain as submodule inside this repository? Maybe in sw/gcc?
Tha scripts (makefiles) could use that as default so new-user could do a simple recursive git clone and they would get everything as a bundle 🤔

.ci/sw_check.sh is moved to sw/check.sh.

I think this should stay in .ci because it is only relevant for the workflow-based "verification". Or maybe this could also be directly in the according application folder sw/example/processor_check. I think it might be confusing having it in the sw folder. What do you think?

Honestly, I was not sure about it...
On the one hand, I don't think that subdir .ci makes "whole sense" because now it contains a single file. That is, these scripts are either for testing in general, or specific for GitHub Actions; they were not really written for any CI service. That's why I feel they belong in either .github, .github/sh, or close to the sources they are testing. Since the hardware test is already located un subdir sim, I thought it'd be coherent to have this check in the sw subdir.
On the other hand, even though a single check is done at the moment, I guess you might want to add further checks in the future.
Anyway, I now moved it to sw/example/processor_check, as you suggested. I, the future, I think that we might merge it into sw/example/processor_check/Makefile.

Awesome! I did not know that. I always had problems with the compile order when the packages were not compiled first.

IIRC there are specific combinations which are poorly defined in the language. Hence, sometimes, GHDL might still have issues for guessing the whole compilation order. However, I found it to be quite reliable, since the default synthesis command relies on that when all sources are provided at once. Moreover:

ghdl/ghdl#1763
You can use elab-order after you are done, for getting the order of the dependencies for synthesis (say vendor tools). See ghdl/ghdl#1736.

Thank for the hint! 😉

When I started contributing to GHDL, Tristan had to fix all the executables for me 😆, until I learnt that trick 😄.

By the way, what do you think about having the pre-build GCC toolchain as submodule inside this repository? Maybe in sw/gcc?
Tha scripts (makefiles) could use that as default so new-user could do a simple recursive git clone and they would get everything as a bundle 🤔

That's something I wanted to bring in a different issue 🤣. So, why are you using your pre-built GCC toolchain? Do you need to customise it so that it understands NEORV32 as the target architecture? Or is it because of convenience? That is, could you use an "upstream" GCC? May NEORV32 be upstreamed?
This is a tool which your project depends on. It should not be a submodule inside the repository. Furthermore, most users should not install it through a custom script in this repo. Similarly to GHDL, Yosys, nextpnr, VUnit, etc. those should be installed independently. We want this project (and potentially any open source project) to be usable very regardless of the preferred environment of the user. Some will install system packages, others will use containers, MSYS2, Conda, Homebrew... They don't want to install those tools each time, but (very) infrequently. In that context, you are currently providing a single build for a very specific subset of environments.
Please, don't take me wrong. This is absolutely normal. Most open source EDA tooling projects are not properly packaged yet. Some (a few) are available on some (a few) popular distributions. There are efforts such as HDL's bazel and conda repos, or YosysHQ's oss-cad-toolchain. Yet, each of them is an ecosystem for the domain the maintainers/supporters are interested in.
So, you need to distribute a custom GCC because you need it customised, I would recommend that we add the generation of a container image and an MSYS2 package to  you other repo. Then, consume those as any user will do. In fact, this is one of the main purposes of CI: to reproduce the experience you expect users to have on different platforms.

On the other hand, even though a single check is done at the moment, I guess you might want to add further checks in the future.

Good point. But let's just leave it in sw/example/processor_check for now.

IIRC there are specific combinations which are poorly defined in the language. Hence, sometimes, GHDL might still have issues for guessing the whole compilation order. However, I found it to be quite reliable, since the default synthesis command relies on that when all sources are provided at once. Moreover:

ghdl/ghdl#1763
You can use elab-order after you are done, for getting the order of the dependencies for synthesis (say vendor tools). See ghdl/ghdl#1736.

👍

That's something I wanted to bring in a different issue 🤣. So, why are you using your pre-built GCC toolchain? Do you need to customise it so that it understands NEORV32 as the target architecture? Or is it because of convenience? That is, could you use an "upstream" GCC? May NEORV32 be upstreamed?

Then let's discuss that in a new issue. 😄

This is a tool which your project depends on. It should not be a submodule inside the repository.

Yeah right. You convinced me. 😉

Good point. But let's just leave it in sw/example/processor_check for now.

Agree! Then, this is ready to merge :wink:

Then let's discuss that in a new issue. 😄

👌🏼 #55


API phase 6: Finish NodeService

Motivation
See #1764
Changes

Implements each previously unimplemented NodeService endpoint

Test Plan

Adds tests for every implemented endpoint in NodeService
These are implemented as an array of test data and subtests

bors try

bors try

bors merge


Performance-focused rewrite of the ConvexPolyhedron class

Prior to this PR, the ConvexPolyhedron class used Scipy's (Qhull) convex hull to compute faces of the solid. The shape was then initialized in the same manner as a standard Polyhedron. This rewrite stores simplices and other data from the convex hull, which can be used to accelerate many of the classes methods. Slow and commonly run functions have been rewritten for performance, and new and/or improved pytests have been written.
Description
The new class builds a convex hull, then stores most of the data from that object. This data, especially the list of simplices, allow for numpy vectorization of many functions that required a for loop in the previous code. These simplices can be sorted to ensure math involving the curl/divergence theorems works properly, and can be merged based on common normals to build faces similar to the current merge_faces function.
The following feature has been added:

A fast flag, set on ConvexPolyhedron creation. Defaults to false, but if manually set to true it will skip the slow sort_faces method and will not precompute coplanar simplices. These methods are called when needed, and checks are performed to ensure they are only run where required.

The following methods have been reimplemented, and a brief description is given:

find_equations: vectorized using numpy
_surface_triangulation: updated to use precalculated simplices, so polytri is not required
volume, surface_area: reimplemented to use stored volume data for the calculations.
centroid: rewritten to calculate from a list of simplices. Vectorized using numpy, and computes solutions using (_centroid_from_triangulated_surface)
_compute_inertia_tensor: fully rewritten for performance, using an algorithm that works with tetrahedral decompositions that include negative-volume tetrahedra. It is also significantly faster.
_rescale: updated to properly scale all stored properties. Also recalculates the centroid to ensure proper behavior.
get_face_area: vectorized with numpy

The following new methods have been added:

_combine simplices: faster alternative to merge faces, but only works on simplices
_find_simplex_equations: similar to _find_equations, but works on every simplex rather than every face
_find_coplanar_simplices: helper function that finds simplices with the same plane equation (within a tolerance).
_calculate_signed_volume: faster method of computing volume via a tetrahedral decomposition. Used as an internal check that volume is stable when modifying the shape
_find_face_centroids: used with the new face_centroids property. Quickly finds the center of mass for each of the polygonal faces

The following properties have been added:

simplices
equations
face_centroids

Motivation and Context
Creation of a ConvexPolyhedron object takes on the order of 1e-2s - this is fine when generating small numbers of shapes, but can become a significant hindrance when generating tens or hundreds of thousands of shapes. In addition, many commonly used methods (especially volume, centroid, and inertia tensor) took on the order of 1e-3s and did not cache their data. These changes address these performance issues, and add a wide range of private variables which can be used to more quickly calculate geometric properties that have not yet been implemented. Benchmarks are included below, but in general this rewrite provides a 10x-100x performance improvement on improved methods. For properties with caching, values are only recalculated when the shape is modified and access the data takes on the order of 1e-8s
Benchmarks
Note that tests were performed in much more depth than shown below - these are simply a subset of the total
With optimization
Cube (V=8, F=6, E=12)
cube = PlatonicFamily.get_shape("Cube")

%timeit -r 10 -n 10_000 ConvexPolyhedron(cube.vertices)
> 301 us ± 34.2 us per shape

%timeit -r 10 -n 10_000 ConvexPolyhedron(cube.vertices,fast=True)
> 287 us ± 17.3 us per shape

%timeit -r 10 -n 100_000 cube._calculate_signed_volume()
> 7.69 us ± 239 ns per shape

%timeit -r 10 -n 100_000 cube._centroid_from_triangulated_surface()
> 25.7 us ± 676 ns per shape

%timeit -r 10 -n 100_000 cube.inertia_tensor
> 111 us ± 2.74 us per shape

Metabidiminished rhombicosidodecahedron (V=50, F=42, E=90)
mbri = JohnsonFamily.get_shape("Metabidiminished Rhombicosidodecahedron")

%timeit -r 10 -n 10_000 ConvexPolyhedron(mbri.vertices)
> 1.81 ms ± 315 us per shape

%timeit -r 10 -n 10_000 ConvexPolyhedron(mbri.vertices,fast=True)
> 1.67 ms ± 174 us per shape

%timeit -r 10 -n 100_000 mbri._calculate_signed_volume()
> 20.6 us ± 2.38 us per shape

%timeit -r 10 -n 100_000 mbri._centroid_from_triangulated_surface()
> 32.2 us ± 1.96 us per shape

%timeit -r 10 -n 100_000 mbri.inertia_tensor
> 194 us ± 9.65 us per shape

Without optimization (previous versions of coxeter)
Cube (V=8, F=6, E=12)
cube = PlatonicFamily.get_shape("Cube")

%timeit -r 10 -n 10_000 ConvexPolyhedron(cube.vertices)
> 5.22 ms ± 169 us per shape

%timeit -r 10 -n 100_000 cube.volume
> 1.38 ms ± 22.8 us per shape

%timeit -r 10 -n 100_000 cube.centroid
> 946 us ± 37.4 us per shape

%timeit -r 10 -n 100_000 cube.inertia_tensor
> 5.32 ms ± 478 us per shape

Metabidiminished rhombicosidodecahedron (V=50, F=42, E=90)
mbri = JohnsonFamily.get_shape("Metabidiminished Rhombicosidodecahedron")

%timeit -r 10 -n 1_0000 ConvexPolyhedron(mbri.vertices)
> 38.1 ms ± 1.05 ms per shape

%timeit -r 10 -n 10_000 mbri.volume
> 10.2 ms ± 328 us per shape

%timeit -r 10 -n 10_000 mbri.centroid
> 8.34 ms ± 829 us per shape

%timeit -r 10 -n 10_000 mbri.inertia_tensor
> 34.5 ms ± 1 ms per shape

Types of Changes

[ ] Documentation update
[ ] Bug fix
[x] New feature
[ ] Breaking change1

1The change breaks (or has the potential to break) existing functionality.
Checklist:

[x] I am familiar with the Contributing Guidelines.
[x] I agree with the terms of the Contributor Agreement.
[x] The changes introduced by this pull request are covered by existing or newly introduced tests.
[x] I have updated the changelog and the credits.

0cf79cb is failing because it is dependent on #171 . Once that PR is merged, tests will pass

there are a lot of design questions here (such as whether it is a good idea to add a flag like fast=True to the constructor, which makes this class behave quite differently than  the rest of coxeter). Generally, coxeter was designed to provide a common framework for  representing geometry classes (which we previously lacked in the Glotzer group), and speed was not the central goal. This design choice is reflected in its implementation (aiming for readability and simplicity of implementation over speed in most cases).

Totally valid to not have the bandwidth this week - I looped in @DomFijan for this.
In terms of the scope of coxeter and the differences in mindset between this code (and a few other recent PRs) as compared to the state of the package a year ago: coxeter was created as a common geometry framework, but it was not initially intended to be used beyond creating a few dozens of shapes at a time. However, the tools here are widely applicable and many glotzergroup members (and presumably a few other researchers) are using the package as a comprehensive computational geometry package. This includes use creating hundreds or thousands of shapes at a time, as well as using coxeter inside molecular dynamics scripts to easily compute shape properties. There is definitely a use case for faster algorithms, and I would argue that although simple iteration based code may be easier to read, the barrier to understanding reasonably optimized numpy code is not significantly higher than the alternative. Speed is not the primary purpose of coxeter, and I do not think it should be - but orders-of-magnitude performance improvements with no loss in accuracy are well worth the slight increase in complexity.
In terms of the fast flag in particular: although its effectiveness is somewhat limited in the current implementation, there are plans to support convex decompositions in the future which would benefit from being able to use some or all of the ConvexPolyhedron code without a large number of extra calculations being performed on each segment. That being said, I am fine removing the feature in this PR, as it is not particularly difficult to implement.

I have marked this PR as a draft temporarily, as there is a significant bug when creating a ConvexPolyhedron with a non-convex input set. A failure in this case is fairly reasonable, but the error should be (a) more predictable and (b) well-documented.
Current behavior:
>>> verts
array([[-0.5,  0.5, -0.5],
       [-0.5,  0.5,  0.5],
       [ 0.5, -0.5, -0.5],
       [-0.5, -0.5, -0.5],
       [ 0.5,  0.5,  0.5],
       [-0.5, -0.5,  0.5],
       [ 0.5,  0.5, -0.5],
       [ 0. ,  0. ,  0. ],
       [ 0.5, -0.5,  0.5]])
>>> coxeter.shapes.ConvexPolyhedron(verts)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/$USER/coxeter/coxeter/shapes/convex_polyhedron.py", line 114, in __init__
    self._sort_simplices()
  File "/Users/$USER/coxeter/coxeter/shapes/convex_polyhedron.py", line 205, in _sort_simplices
    vertices = self._vertices[self._simplices]
               ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
IndexError: index 8 is out of bounds for axis 0 with size 8

When a non convex set is used as an input, vertices that don't contribute to the hull are removed from self._vertices. However - the indices to those vertices stored in self._simplices are not updated, raising this error.

The class has been updated to raise a ValueError when a nonconvex set is provided. This error will also return a list of internal (or coplanar, degenerate, etc) points for easier debugging.

@tcmoore3 Any other feedback? If not I will merge in the morning and start working on a release


[todo-mvp]Doubt with a Android Unit Test

Hello, I just start to learn this project, and I have a small doubt with the Android Unit Test part.
The class TasksLocalDataSourceTest has a method activateTask_retrievedTaskIsActive:
@Test
public void activateTask_retrievedTaskIsActive() {
    // Initialize mock for the callback.
    TasksDataSource.GetTaskCallback callback = mock(TasksDataSource.GetTaskCallback.class);

    // Given a new completed task in the persistent repository
    final Task newTask = new Task(TITLE, "");
    mLocalDataSource.saveTask(newTask);
    mLocalDataSource.completeTask(newTask);

    // When activated in the persistent repository
    mLocalDataSource.activateTask(newTask);

    // Then the task can be retrieved from the persistent repository and is active
    mLocalDataSource.getTask(newTask.getId(), callback);

    verify(callback, never()).onDataNotAvailable();
    verify(callback).onTaskLoaded(newTask);

    assertThat(newTask.isCompleted(), is(false));
}

I think this method doesn't really fulfil it's intention, right? Because the object newTask is never changed, when I remove mLocalDataSource.activateTask(newTask), this test can still pass.

Activated is the default, that's why it still passes. There's another one that tests the opposite.