mismatch between IPs from CrowdSec servers and those seen in nftables, reverse octet order (endianness)

What happened?
2024-05-13

Problem:
--------

These symptoms seem to hint at one or more bugs.

There's a mismatch between the octet order in both the IPv4 and IPv6 addresses
added to nftables and the IP addresses returned by the CrowdSec servers and those
shown in the crowdsec-firewall-bouncer.log file (when log_level is set to debug).

At the very least, this can be a source of confusion.
At worst, it means CrowdSec is banning the wrong IP addresses.

And because there's a mismatch between what the CrowdSec servers return and
the IP addresses that get added to nftables, it might actually be
that CrowdSec is banning the wrong IPs. I surely hope this is not the case?

Also, you can't easily 'grep' your nftables for an IP address from
a CrowdSec log file, and instead you have to reverse the octets before
looking for that address in your firewall.

Questions:
----------

  - It seems to be an endianness bug, but which of the following, if any, is true?

  - Does CrowdSec ban the wrong IP addresses (reverse octet order)?

  - Do the CrowdSec servers return the wrong IP addresses (reverse octet order) through their HTTP API?

  - Does the crowdsec-firewall-bouncer.log file show IP addresses in the wrong octet order?

  - Are IP addresses added in the wrong octet order to nftables?

Troubleshooting details:
------------------------

1. Stop the crowdsec services.
2. Set crowdsec-firewall-bouncer's log_level to 'debug'.
3. Start the crowdsec service.
4. Start the crowdsec-firewall-bouncer service.
5. Observe the following:

The CrowdSec servers return something like this (output shown only partially here):

/var/log/crowdsec-firewall-bouncer.log contains a line like this (contains our example: <IP_ADDRESS>):

time="13-05-2024 22:31:12" level=debug msg="Response: HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\n
Content-Type: application/json; charset=utf-8\r\nDate: Mon, 13 May 2024 20:31:12 GMT\r\n\r\n231e5a\r\n{\"deleted\":null,
"new\":[{\"duration\":\"155h56m43.973575713s\",\"id\":14973,\"origin\":\"CAPI\",\"scenario\":\"crowdsecurity/http-bad-user-
agent\",\"scope\":\"Ip\",\"type\":\"ban\",\"value\":\"<IP_ADDRESS>\"},{\"duration\":\"155h56m43.973571691s\",\"id\":
14974,\"origin\":\"CAPI\",\"scenario\":\"crowdsecurity/http-probing\",\"scope\":\"Ip\",\"type\":\"ban\",\"value\":
\"<IP_ADDRESS>\"},{\"duration\":\"155h56m43.97356988s\",\"id\":14975,\"origin\":\"CAPI\",\"scenario\"...
...
...
r-agent\",\"scope\":\"Ip\",\"type\":\"ban\",\"value\":\"<IP_ADDRESS>\"},{\"duration\":\"155h56m43.97353777s\",\"id\":
14995,\"origin\":\"CAPI\",\"scenario\":\"crowdsecurity/ssh-slow-bf\",\"scope\":\"Ip\",\"type\":\"ban\",\"value\":
\"<IP_ADDRESS>\"},{\"duration\":\"155h56m43.973536851s\",\"id\":14996,\"origin\":\"CAPI\",\"scenario\":\"crowdsecurity/
http-bad-user-agent\",\"scope\":\"Ip\",\"type\":\"ban\",\"value\":\"<IP_ADDRESS>\"},{\"duration\":
\"155h56m43.973535581s\",\"id\":14997,\"origin\":\"CAPI\",\"scenario\":\"crowdsecurity/http-bad-user-agent\",\"...
...

/var/log/crowdsec-firewall-bouncer.log contains a line like this:

time="13-05-2024 22:31:12" level=debug msg="Adding '<IP_ADDRESS>' for '155h56m43.97353777s'"

... but the 'nft list ruleset' output does NOT contain IPv4 address <IP_ADDRESS>.
However, it does contain the IPv4 address <IP_ADDRESS> ...:

# nft list ruleset | grep -in "<IP_ADDRESS>" # <== No matches.
# nft list ruleset | grep -in "<IP_ADDRESS>" # <== Does match:

3173:			     <IP_ADDRESS> timeout 6d11h56m43s972ms expires 6d11h55m29s16ms, <IP_ADDRESS> timeout 6d18h56m43s968ms expires 6d18h55m31s604ms,

The same happens with IPv6 addresses:
-------------------------------------

/var/log/crowdsec-firewall-bouncer.log contains a line like this:

time="13-05-2024 22:31:19" level=debug msg="adding 2a03:4000:0:39c:e40c:92ff:fe2d:8e38 to buffer "

While 'nft list ruleset' contains:

# nft list ruleset | grep -in "ff92"

7596:			     388e:2dfe:ff92:ce4:9c03:0:40:32a timeout 6d18h56m43s968ms expires 6d18h55m35s444ms,

So which is correct?
  - 2a03:4000:0:39c:e40c:92ff:fe2d:8e38 # Returned by CrowdSec servers and shown in crowdsec-firewall-bouncer.log
  - 388e:2dfe:ff92:ce4:9c03:0:40:32a    # Shown in nft list ruleset.

Again, we can see that the octet order is reversed:

It seems to be "double reversed", in the sense that within each octet, the order is reversed as well.
For example, the beginning was 2a03, but it moves to the end and becomes 32a.

2a03 => 32a
4000 => 40
0    => 0
39c  => 9c03
e40c => ce4
92ff => ff92
fe2d => 2dfe
8e38 => 388e

What did you expect to happen?
That there's no mismatch between the IPv4 and IPv6 addresses returned by the CrowdSec servers, what the crowdsec-firewall-bouncer.log file shows, and what nftables shows (nft list ruleset). They should all be in agreement.
How can we reproduce it (as minimally and precisely as possible)?
See above.
Anything else we need to know?
No response
Crowdsec version

$ cscli version
2024/05/14 00:33:26 version: v1.4.6-6~deb12u1-debian
2024/05/14 00:33:26 Codename: alphaga
2024/05/14 00:33:26 BuildDate: 2023-07-15_09:29:33
2024/05/14 00:33:26 GoVersion: 1.19.8
2024/05/14 00:33:26 Platform: linux
2024/05/14 00:33:26 Constraint_parser: >= 1.0, <= 2.0
2024/05/14 00:33:26 Constraint_scenario: >= 1.0, < 3.0
2024/05/14 00:33:26 Constraint_api: v1
2024/05/14 00:33:26 Constraint_acquis: >= 1.0, < 2.0

OS version

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

$ uname -a
6.1.0-20-amd64

Enabled collections and parsers

$ cscli hub list -o raw
crowdsecurity/apache2,enabled,0.1,apache2 support : parser and generic http scenarios ,collections
crowdsecurity/base-http-scenarios,enabled,0.6,http common : scanners detection,collections
crowdsecurity/http-cve,enabled,1.9,,collections
crowdsecurity/linux,enabled,0.2,core linux support : syslog+ssh,collections
crowdsecurity/nginx,enabled,0.2,nginx support : parser and generic http scenarios,collections
crowdsecurity/sshd,enabled,0.2,sshd support : parser and brute-force detection,collections
crowdsecurity/apache2-logs,enabled,1.3,Parse Apache2 access and error logs,parsers
crowdsecurity/dateparse-enrich,enabled,0.2,,parsers
crowdsecurity/http-logs,enabled,1.1,"Parse more Specifically HTTP logs, such as HTTP Code, HTTP path, HTTP args and if its a static ressource",parsers
crowdsecurity/nginx-logs,enabled,1.3,Parse nginx access and error logs,parsers
crowdsecurity/sshd-logs,enabled,2.0,Parse openSSH logs,parsers
crowdsecurity/syslog-logs,enabled,0.8,,parsers
crowdsecurity/whitelists,enabled,0.2,Whitelist events from private ipv4 addresses,parsers
crowdsecurity/CVE-2022-26134,enabled,0.1,Detect CVE-2022-26134 exploits,scenarios
crowdsecurity/CVE-2022-35914,enabled,0.1,Detect CVE-2022-35914 exploits,scenarios
crowdsecurity/CVE-2022-37042,enabled,0.1,Detect CVE-2022-37042 exploits,scenarios
crowdsecurity/CVE-2022-40684,enabled,0.2,Detect cve-2022-40684 exploitation attempts,scenarios
crowdsecurity/CVE-2022-41082,enabled,0.3,Detect CVE-2022-41082 exploits,scenarios
crowdsecurity/CVE-2022-41697,enabled,0.1,Detect CVE-2022-41697 enumeration,scenarios
crowdsecurity/CVE-2022-42889,enabled,0.2,Detect CVE-2022-42889 exploits (Text4Shell),scenarios
crowdsecurity/CVE-2022-44877,enabled,0.2,Detect CVE-2022-44877 exploits,scenarios
crowdsecurity/CVE-2022-46169,enabled,0.1,Detect CVE-2022-46169 brute forcing,scenarios
crowdsecurity/apache_log4j2_cve-2021-44228,enabled,0.4,Detect cve-2021-44228 exploitation attemps,scenarios
crowdsecurity/f5-big-ip-cve-2020-5902,enabled,0.1,Detect cve-2020-5902 exploitation attemps,scenarios
crowdsecurity/fortinet-cve-2018-13379,enabled,0.2,Detect cve-2018-13379 exploitation attemps,scenarios
crowdsecurity/grafana-cve-2021-43798,enabled,0.1,Detect cve-2021-43798 exploitation attemps,scenarios
crowdsecurity/http-backdoors-attempts,enabled,0.3,Detect attempt to common backdoors,scenarios
crowdsecurity/http-bad-user-agent,enabled,0.7,Detect bad user-agents,scenarios
crowdsecurity/http-crawl-non_statics,enabled,0.3,Detect aggressive crawl from single ip,scenarios
crowdsecurity/http-cve-2021-41773,enabled,0.1,cve-2021-41773,scenarios
crowdsecurity/http-cve-2021-42013,enabled,0.1,cve-2021-42013,scenarios
crowdsecurity/http-generic-bf,enabled,0.4,Detect generic http brute force,scenarios
crowdsecurity/http-open-proxy,enabled,0.3,Detect scan for open proxy,scenarios
crowdsecurity/http-path-traversal-probing,enabled,0.2,Detect path traversal attempt,scenarios
crowdsecurity/http-probing,enabled,0.2,Detect site scanning/probing from a single ip,scenarios
crowdsecurity/http-sensitive-files,enabled,0.2,"Detect attempt to access to sensitive files (.log, .db ..) or folders (.git)",scenarios
crowdsecurity/http-sqli-probing,enabled,0.2,A scenario that detects SQL injection probing with minimal false positives,scenarios
crowdsecurity/http-xss-probing,enabled,0.2,A scenario that detects XSS probing with minimal false positives,scenarios
crowdsecurity/jira_cve-2021-26086,enabled,0.1,Detect Atlassian Jira CVE-2021-26086 exploitation attemps,scenarios
crowdsecurity/nginx-req-limit-exceeded,enabled,0.1,Detects IPs which violate nginx's user set request limit.,scenarios
crowdsecurity/pulse-secure-sslvpn-cve-2019-11510,enabled,0.2,Detect cve-2019-11510 exploitation attemps,scenarios
crowdsecurity/spring4shell_cve-2022-22965,enabled,0.2,Detect cve-2022-22965 probing,scenarios
crowdsecurity/ssh-bf,enabled,0.1,Detect ssh bruteforce,scenarios
crowdsecurity/ssh-slow-bf,enabled,0.2,Detect slow ssh bruteforce,scenarios
crowdsecurity/thinkphp-cve-2018-20062,enabled,0.3,Detect ThinkPHP CVE-2018-20062 exploitation attemps,scenarios
crowdsecurity/vmware-cve-2022-22954,enabled,0.2,Detect Vmware CVE-2022-22954 exploitation attempts,scenarios
crowdsecurity/vmware-vcenter-vmsa-2021-0027,enabled,0.1,Detect VMSA-2021-0027 exploitation attemps,scenarios
ltsich/http-w00tw00t,enabled,0.1,detect w00tw00t,scenarios

Acquisition config

```console
# On Linux:
$ cat /etc/crowdsec/acquis.yaml /etc/crowdsec/acquis.d/*
# paste output here
On Windows:
C:> Get-Content C:\ProgramData\CrowdSec\config\acquis.yaml
paste output here

Config show

$ cscli config show
Global:
   - Configuration Folder   : /etc/crowdsec
   - Data Folder            : /var/lib/crowdsec/data
   - Hub Folder             : /var/lib/crowdsec/hub
   - Simulation File        : /etc/crowdsec/simulation.yaml
   - Log Folder             : /var/log/
   - Log level              : info
   - Log Media              : file
Crowdsec:
  - Acquisition File        : /etc/crowdsec/acquis.yaml
  - Parsers routines        : 1
  - Acquisition Folder      : /etc/crowdsec/acquis.d
cscli:
  - Output                  : human
  - Hub Branch              :
  - Hub Folder              : /var/lib/crowdsec/hub
Local API Server:
  - Listen URL              : <IP_ADDRESS>:8080
  - Profile File            : /etc/crowdsec/profiles.yaml
  - Trusted IPs:
      - <IP_ADDRESS>
      - ::1
  - Database:
      - Type                : sqlite
      - Path                : /var/lib/crowdsec/data/crowdsec.db
      - Flush age           : 7d
      - Flush size          : 5000

Prometheus metrics

$ cscli metrics
# paste output here

Related custom configs versions (if applicable) : notification plugins, custom scenarios, parsers etc.

Thanks for filing/forwarding the report, I'm able to reproduce this on my bookworm/amd64 system and I'm equally surprised and ashamed to have missed it until today…
That's likely an issue in the google/nftables module, and there's an issue + associated commit that looks promising:

https://github.com/google/nftables/issues/225
https://github.com/google/nftables/commit/d746ecb0e494e7200180c3886fde9664d9100729

I'll check what happens when I cherry-pick that in the Debian package, and rebuild the bouncer against it. If that helps, I'll upload the package to unstable and request a rebuild of the bouncer (or perform an upload if there are other changes to include along the way). Then I'll file a request to get that updated in stable as well (plus a rebuild).
Sorry about that…

I've just opened https://bugs.debian.org/1071247 for tracking purposes.
TL;DR: Applying the aforementioned patch and rebuilding the bouncer against it fixes the issue on LE systems, and doesn't regress on BE systems. I'll coordinate remediation with the security team (if that warrants a DSA) or with the release team (if it doesn't).

I haven't heard back from the security team yet, but I've just uploaded both packages (golang-github-google-nftables and crowdsec-firewall-bouncer) to unstable, which urgency=high. Hopefully they'll reach testing soon.
As for bookworm, I've published rebuilds of both packages with version numbers that match what would be used for bookworm-security or bookworm-proposed-updates in a custom repository, which can be configured with:
deb [trusted=yes] https://crowdsec.apt.debamax.com/debian bookworm main

(The signing key is available at that URL if you wish to configure it.)

The Debian security team decided this didn't warrant a security announcement, and that we should get this fixed via the upcoming point release instead: following a green light from the release team, I've just uploaded both packages. They should be available shortly in the bookworm-proposed-updates repository, and be merged into the bookworm one during the 12.6 point release, scheduled at the end of the month.

Packages have been accepted, built, and published in bookworm-proposed-updates:
kibi@tokyo:~$ apt-cache policy crowdsec-firewall-bouncer
crowdsec-firewall-bouncer:
  Installed: (none)
  Candidate: 0.0.25-4~deb12u1
  Version table:
→    0.0.25-4~deb12u1 500
→       500 http://deb.debian.org/debian bookworm-proposed-updates/main amd64 Packages
     0.0.25-3 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages

(The fixed version is highlighted with arrows.)

Thank you @CyrilBrulebois for all the updates on the matter, as this seems to be backported and fixed can we class the issue as resolved. Feel free @bughunter2 to unresolved the issue if this doesn't satisfy as a resolution.


Update Paraswap Solver Errors

We are seeing a lot of uncatalogued Paraswap errors (likely coming from the upgrade to v5). In this PR I went through all error alerts of last week and catalogued them.
I decided to make ServerBusy retryable (not sure if that's a good idea given that they are already encountering a lot of load in that case, but likely our single request won't make things worse).
Also, we should retry Send errors (as they may stem from timeouts or other intermittent network issues)
Test Plan
Existing unit tests

Codecov Report

Merging #1184 (f3c9f1c) into main (0bcce38) will decrease coverage by 0.01%.
The diff coverage is 40.00%.

@@            Coverage Diff             @@
##             main    #1184      +/-   ##
==========================================
- Coverage   66.71%   66.69%   -0.02%
==========================================
  Files         135      135
  Lines       27042    27032      -10
==========================================
- Hits        18042    18030      -12
- Misses       9000     9002       +2


.award command not working properly on self host

the .award command works fine on one of my servers but doesnt work on the other. bot the same version of Nadeko.
 here's a screenshot of the console error

update: .give and .take also dont work

Try restarting the bot. Not a bot issue, your bot's cached data is probably corrupt for some reason.

This is still an issue. I have added my instance, my instance doesn't work on that server, either. Same error. Move to another server, error gone, working well.

@spudts @MaybeGoogle mind add me on Discord and I'll take a look at what's happening?
My Discord ID is Willy_Sunny#1736 (Case Sensitive)

Seems like a lib issue. Try doing this:

tracking in #1535


take out unneccesary '/' after some path variables that causes double…

… '/' at times during compiling

Sorry, I either missed the email about this PR or just forgot about it...

Thanks Michael.
On Friday, April 15, 2016, Michael Crawford<EMAIL_ADDRESS>wrote:

Merged #13 https://github.com/mbcrawfo/GenericMakefile/pull/13.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/mbcrawfo/GenericMakefile/pull/13#event-629061234

--
Chin Ting (Patrick) CHAN, D.M.A.
<EMAIL_ADDRESS>www.chintingchan.com


Update grunt.md

what about grunt plugins? Steve's curriculum #43 https://github.com/nashville-software-school/front-end-curriculum/tree/master/43-compile-grunt


radare2: 3.3.0 -> 3.4.1

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build radare2 radare2-cutter

radare2-cutter seems to want to use curl during the build (so it fails)

I'm having the same result (but for radare2, not cutter) - wanting to download capstone-4.0.1.tar.gz, which it already has. Possibly the removal of the "curl nop" in postPatch was a bit over-optimistic

@GrahamcOfBorg build radare2

@GrahamcOfBorg build radare2-cutter


Switch from CLA to DCO

SAP open source projects now use the standard "Linux Developer
Certificate of Origin (DCO)" [1] instead of the formerly used
"SAP Contributor License Agreement (CLA)" [2].
[1] https://developercertificate.org/
[2] https://gist.github.com/CLAassistant/bd1ea8ec8aa0357414e8
What this PR does / why we need it:
SAP open source projects are supposed to move from CLA to DCO.
Release note:

Gardener contributors now need to sign the standard Linux Developer Certificate of Origin
instead of the formerly used SAP Contributor License Agreement.

waiting for review by OSPO

We just reviewed it in the OSPO Core team. Looks good to us.
Best regards, Sebastian


fix: change dataproc success message and test

Changed success message of dataproc cluster create, fixed test to match this, fixed region tag to include 'dataproc', changed dataproc imports to explicitly call v1

I think these lint errors are...fine?


fix: the excited state solvers tutorial - minimal required tutorial changes

Summary
Closes #1197
Details and comments
This is a more minimal variant of #1199. The idea is, that we can merge and backport this, release the docs from stable, before merging #1199 because that will couple the tutorial to a release which adds the new import location for EvaluationRule.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
9405

Relevant Lines:
10752

💛  - Coveralls


Fix bug: XMLError::what() returns invalid pointer.

XMLError::what() returns string.c_str(), which is valid until
the string is modified or destroyed.

I've committed another pull request and will cancel this one.


De-register spindrift

An old version of scissors called spindrift is still on npmjs.com: https://www.npmjs.com/package/spindrift
I think you should de-register the old package

@tcr

Sent the request out to NPM. Should be down in the next week or so.

Done.


Traffic light right turn unprotected scenario triggered safety mode

System information

OS Platform and Distribution: Linux Ubuntu 14.04:
Apollo installed from source**:
Apollo version: 3.5**:

Steps to reproduce the issue:

we are trying to implement the traffic light unprotected right turn scenario, when planning jump into stage_stop, the car will stop in front of the stop line and wait for 3 seconds, then it will jump into the next stage.

However, when our car stop in front of the stop line and wait for about 2 seconds, planning module triggered safety mode and break down.

##########################################
if (scenario_config_.enable_right_turn_on_red()) {
// check on wait-time
if (traffic_light_all_stop && !traffic_light_all_green) {
if (GetContext()->stop_start_time == 0.0) {
GetContext()->stop_start_time = Clock::NowInSeconds();
} else {
auto start_time = GetContext()->stop_start_time;
const double wait_time = Clock::NowInSeconds() - start_time;
ADEBUG << "stop_start_time[" << start_time << "] wait_time["
<< wait_time << "]";
if (wait_time >
scenario_config_.red_light_right_turn_stop_duration_sec()) {
return FinishStage(false);
}
}
}
#########################################################

We have already checked the planning log and mainborad log, there is no error. We have no idea why this scenario will trigger safety mode. Could you please tell us how can we find the error that triggered the safety mode?

Is Apollo3.5 supporting the traffic light unprotected right turn scenario or this scenario has fixed in Apollo5.0?

@bigwhite @aboarya PLEASE HELP US, APOLLO TEAM : ( @natashadsouza

@techoe  Please help us : )

@louis016 what's safety mode?

@louis016 what's safety mode?

@louis016  this happens where there's some error from planning.
code:
https://github.com/ApolloAuto/apollo/blob/master/modules/monitor/software/functional_safety_monitor.cc
line 34-42.
We don't have enough context on what's going on in your case. It would be much easier if you just debug by yourself.  Let us know if you need further support.

Hi @louis016 , hope our answer resolved your question. We will close the issue for now. If you have any additional question, please feel free to open a new issue. Our engineer team are more than happy to help that.
Thank you for supporting Apollo!


How to record current login ID of APP and show it on Pinpoint-web?

My APP has authentication, user need to login to access it. We want the login ID to be recorded.
It's even better if we can record data by login IDs.
Use pinpoint-user-plugin?
I didn't find any entry in pinpoint.config:

what should be added to enable user-plugin?
How to insert current login ID into it?
How to show the login ID in pinpoint-web page?

Or maybe I need to write a new plugin, then above questions also apply to my plugin.
Environment
OS: Windows 7.
Collector: Java 1.8.0_40-b26 + Pinpoint 1.7.1 + HBase 1.4.0
Agent: Java 1.6.0_34-b04 + Pinpoint 1.7.1

Hi
Yes If you develope plugin, you can record user id and view in pinpoint-web.
please ref plugin guide, example code

Hi, minwoo-jung,
I have read the guide and example code, but no clue how to record user id.
For example, I have class com.my.User which has field "public static int userId" (Legacy code), how can I record the value of userId when tracing method calls in class com.my.action.ReportAction?
I only found that current class' field can be recorded in example code here.
Is there anyway I can write something like below to record it:
    recorder.recordAttribute(SamplePluginConstants.ANNOTATION_KEY_MY_VALUE, "com.my.User.userId");

Your last answer is not helpful to me...

@seaward
Please see this code
You'are right. You shoud using api (recorder.recordAttribute)

Also This example code will be a great help to you.


Enhance from_db wrapper

to also be able to process keyword-arguments:
@from_db(models.Group, dest=models.Library)
def activate_group(group, src = (), dest = <Library: main>):
    ...

...  # all work as expected:
activate_group('group name', ['lib-1', 'lib-2'], 'lib-3')
activate_group('group name', dest='lib-X')
activate_group(group='group name')

With the current gui2 implementation, keywords are needed


Consider TTC instead of DCT?

With TTC, we can have a much more compact action frame that replaces the current 64bytes address value with an uint32_t relative offset.

DCT, fib30, 34928.1ms.

TTC, fibonacci[30], 35093.0ms. No significant improvement.


Will the topic name's length and layer impact the EMQ node's memory usage??

Hello EMQ team:
As I know, the max topic count depend on EMQ node's memory, right??
And I want to confirm with you:

the length of topic name will consume more memory??
the more layer of topic will consume more memory and impact publish message performance??

Thank you!!

Sure, longer topic name consumes more memory. And more topic layers consumes more CPU resources.

Thank you for your reply.


Rework layer::copy

curretly, layer copy is broken. We will need some policy and copy ctor rework.
Virtual copy constructor is fine (https://www.geeksforgeeks.org/advanced-c-virtual-copy-constructor/)

:octocat: cibot: Thank you for posting issue #1043. The person in charge will reply soon.

*::copy is broken. It needs verification at various scenarios (before compile, initialize, train etc). Make this issue generic and track all at once. You also might want to think about when this will be used, and its purpose.

Layer::copy() has been deprecated with LayerV2 design. One of the requirements of this function was in Reinforcement Learning where this function was used to copy weights from one model to another. This will now be supported separately with loadWeights(Model &) #1341.
@zhoonit Please update this issue if its still valid.

I think this will stale if we leave this open. let's close this for now and bring it up later :)


Binding Error: Expected null or instance of [Type X], got an instance of [Type X]

I'm getting the following errors, at random, when I hot-reload or hot-restart a Flutter web app.
Here's a sample of the first error and each unique error thereafter:
# first error
════════ Exception caught by rendering library ═════════════════════════════════
The following NativeJavaScriptObject object was thrown during paint():
  BindingError: Expected null or instance of Paragraph, got an instance of Paragraph

The relevant error-causing widget was
TextFormField
lib/…/forms/common.dart:19
When the exception was thrown, this was the stack
<EMAIL_ADDRESS>153:76          <fn>
<EMAIL_ADDRESS>152:335         new BindingError
<EMAIL_ADDRESS>155:250         X
<EMAIL_ADDRESS>161:38          zc
<EMAIL_ADDRESS>164:310         Ec
...
The following RenderObject was being processed when the exception was fired: RenderParagraph#e28d3 relayoutBoundary=up10
RenderObject: RenderParagraph#e28d3 relayoutBoundary=up10
    parentData: <none> (can use size)
    constraints: BoxConstraints(0.0<=w<=418.0, 0.0<=h<=Infinity)
    size: Size(40.0, 19.0)
    textAlign: start
    textDirection: ltr
    softWrap: wrapping at box width
    overflow: ellipsis
    locale: en_US
    maxLines: unlimited
    text: TextSpan
        debugLabel: ((englishLike subhead 2014).merge(whiteRedwoodCity subtitle1)).copyWith
        inherit: false
        color: Color(0x99ffffff)
        family: .AppleSystemUIFont
        size: 16.0
        weight: 400
        baseline: alphabetic
        decoration: TextDecoration.none
        "Email"

════════ Exception caught by rendering library ═════════════════════════════════
  BindingError: Expected null or instance of Paragraph, got an instance of Paragraph
The relevant error-causing widget was
Text
lib/…/signing/email_signing_forms.dart:49
The following RenderObject was being processed when the exception was fired: RenderParagraph#93fd3 relayoutBoundary=up14
RenderObject: RenderParagraph#93fd3 relayoutBoundary=up14
    parentData: offset=Offset(0.0, 15.0) (can use size)
    constraints: BoxConstraints(0.0<=w<=185.0, 0.0<=h<=46.0)
    size: Size(48.0, 16.0)
    textAlign: start
    textDirection: ltr
    softWrap: wrapping at box width
    overflow: clip
    locale: en_US
    maxLines: unlimited
    text: TextSpan
        debugLabel: (lerp(((englishLike body2 2014).merge(whiteRedwoodCity bodyText1)).copyWith ⎯0.0→ ((englishLike body2 2014).merge(whiteRedwoodCity bodyText1)).copyWith)).copyWith
        inherit: true
        color: Color(0xb2ffffff)
        family: .AppleSystemUIFont
        size: 14.0
        weight: 500
        baseline: alphabetic
        decoration: TextDecoration.none
        "Sign Up"

════════ Exception caught by rendering library ═════════════════════════════════
  BindingError: Expected null or instance of Typeface, got an instance of Typeface
The relevant error-causing widget was
Icon
lib/…/home/home.dart:150
The following RenderObject was being processed when the exception was fired: RenderParagraph#1652e relayoutBoundary=up1
RenderObject: RenderParagraph#1652e relayoutBoundary=up1
    parentData: offset=Offset(0.0, 0.0) (can use size)
    constraints: BoxConstraints(0.0<=w<=24.0, 0.0<=h<=24.0)
    size: MISSING
    textAlign: start
    textDirection: ltr
    softWrap: wrapping at box width
    overflow: visible
    locale: en_US
    maxLines: unlimited
    text: TextSpan
        inherit: false
        color: Color(0xff90a4ae)
        family: MaterialIcons
        size: 24.0
        ""

════════ Exception caught by rendering library ═════════════════════════════════
  BindingError: Expected null or instance of Paint, got an instance of Paint
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by scheduler library ═════════════════════════════════
  BindingError: Expected null or instance of Picture, got an instance of Picture
══════════════════════════════════════════════════════════════════
════════ Exception caught by scheduler library ═════════════════════════════════
  BindingError: Expected null or instance of Picture, got an instance of Picture
══════════════════════════════════════════════════════════════════
════════ Exception caught by scheduler library ═════════════════════════════════
  BindingError: Expected null or instance of Picture, got an instance of Picture
══════════════════════════════════════════════════════════════════
════════ Exception caught by scheduler library ═════════════════════════════════
  BindingError: Expected null or instance of Picture, got an instance of Picture
══════════════════════════════════════════════════════════════════

The error appears to be printed almost for every Text, TextFormField, TextField,  and Icon. The last error keeps printing infinitely.
Steps to Reproduce
I'm not able to reproduce. The error happens randomly after hot-restart or hot-reload, and the error doesn't appear in the subsequent runs.
Expected results:
No errors.
Actual results:
Errors that contradict themselves since they got the types that they were expecting.

Flutter Doctor
✓] Flutter (Channel master, 1.26.0-18.0.pre.213, on Mac OS X 10.15.6 19G2021 darwin-x64, locale en)
    • Flutter version 1.26.0-18.0.pre.213 at /Users/osaxma/fvm/versions/master
    • Framework revision 021311ed8a (5 days ago), 2021-02-08 09:21:46 -0800
    • Engine revision b04955656c
    • Dart version 2.13.0 (build 2.13.0-0.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/osaxma/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.53.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.19.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 88.0.4324.150

• No issues found!

@osaxma
I am assuming this is on web ?
Can you by any chance provide a minimal complete reproducible code sample that possibly can throw this exception ? or at least provide the steps you took that shows this error ?

Hi @darshankawar
The error shows up randomly during hot-reload or hot-restart. I'm not able to reproduce it. It definitely happens after the code has been edited, but not all the time and I'm not sure what causes it.
I thought I'd report it since I couldn't find a similar issue and the error message is self-contradicting. Unfortunately I'm unable to provide any additional information at the moment.  I'll report back if I recognize a pattern or if I become able to reproduce it.

@osaxma
Can you try to upgrade master to latest (1.27) and check if issue persists or not ?

Hi @darshankawar
I found one way to reproduce the error using the latest master. Simply, if you hot reload the app without saving the file, the error would show up.
Detailed Steps to Reproduce:

Create New Flutter Project for Web (ie counter app)
Run the App (Using VS Code in my case)
Modify the file without saving it.
Hot reload the app using the green circular arrow.
The error should appear at this point.

I'm not sure if this is the only way cause for the error since I can't recall if I had unsaved files in the previous instances when the error appeared.
latest flutter doctor -v
[✓] Flutter (Channel master, 1.27.0-2.0.pre.102, on Mac OS X 10.15.6 19G2021 darwin-x64, locale en)
    • Flutter version 1.27.0-2.0.pre.102 at /Users/osaxma/fvm/versions/master
    • Framework revision b2e05062b6 (7 hours ago), 2021-02-15 03:56:03 -0500
    • Engine revision 1d537824d6
    • Dart version 2.13.0 (build 2.13.0-30.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/osaxma/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.53.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.19.0

[✓] Connected device (1 available)

@osaxma
Thanks for these details. I am on Android Studio. On web, I believe the hot reload feature isn't supported yet, so we only have hot restart. Can you elaborate on how you Hot reload the app using the green circular arrow. ?

@darshankawar my apologies, that was a mistake -- I meant a hot restart.
The issue could be related to VS code only since VS code auto-saves files when doing a hot restart (ie by clicking the green button), and it also automatically does a hot restart when a file gets saved.

Hi @osaxma
This is not specific to VS Code, you can reproduce different but related errors when doing hot-reload and hot-restart from VS Code, Android Studio, Terminal due to https://github.com/flutter/flutter/issues/75630

logs

════════ Exception caught by rendering library ═════════════════════════════════
The following TypeErrorImpl was thrown during performLayout():
Unexpected null value.

The relevant error-causing widget was
Text
 lib/main.dart
When the exception was thrown, this was the stack
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49      throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 518:63  nullCheck
lib/_engine/engine/canvaskit/initialization.dart 109:65                           get skiaFontCollection
lib/_engine/engine/canvaskit/text.dart 869:42                                     _getEffectiveFontFamilies
lib/_engine/engine/canvaskit/text.dart 65:32                                      toSkTextStyleProperties
...
The following RenderObject was being processed when the exception was fired: RenderParagraph#bb575 relayoutBoundary=up14 NEEDS-LAYOUT NEEDS-PAINT
RenderObject: RenderParagraph#bb575 relayoutBoundary=up14 NEEDS-LAYOUT NEEDS-PAINT
    parentData: offset=Offset(0.0, 0.0) (can use size)
    constraints: BoxConstraints(0.0<=w<=1168.0, 0.0<=h<=Infinity)
    size: MISSING
    textAlign: start
    textDirection: ltr
    softWrap: no wrapping except at line break characters
    overflow: ellipsis
    locale: en_US
    maxLines: unlimited
    text: TextSpan
        debugLabel: (englishLike title 2014).merge(whiteRedwoodCity headline6)
        inherit: false
        color: Color(0xffffffff)
        family: .AppleSystemUIFont
        size: 20.0
        weight: 500
        baseline: alphabetic
        decoration: TextDecoration.none
        "Material App Bar"
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderParagraph#bb575 relayoutBoundary=up14 NEEDS-PAINT"

The relevant error-causing widget was
AppBar
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: _RenderAppBarTitleBox#f8399 relayoutBoundary=up13 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
AppBar
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderSemanticsAnnotations#f30b6 relayoutBoundary=up12 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
AppBar
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Unexpected null value.
The relevant error-causing widget was
TextFormField
 lib/main.dart
The following RenderObject was being processed when the exception was fired: RenderEditable#a1742 relayoutBoundary=up16 NEEDS-LAYOUT NEEDS-PAINT
RenderObject: RenderEditable#a1742 relayoutBoundary=up16 NEEDS-LAYOUT NEEDS-PAINT
    parentData: <none> (can use size)
    constraints: BoxConstraints(w=1200.0, 0.0<=h<=680.0)
    size: MISSING
    cursorColor: Color(0x002196f3)
    showCursor: ValueNotifier<bool>#b5932(true)
    maxLines: 1
    minLines: null
    selectionColor: Color(0x662196f3)
    textScaleFactor: 1.0
    locale: en_US
    selection: TextSelection(baseOffset: -1, extentOffset: -1, affinity: TextAffinity.downstream, isDirectional: false)
    offset: ScrollPositionWithSingleContext#18d5c(offset: 0.0, range: null..null, viewport: null, ScrollableState, BouncingScrollPhysics -> RangeMaintainingScrollPhysics, IdleScrollActivity#9ec36, ScrollDirection.idle)
    text: TextSpan
        debugLabel: (englishLike subhead 2014).merge(whiteRedwoodCity subtitle1)
        inherit: false
        color: Color(0xffffffff)
        family: .AppleSystemUIFont
        size: 16.0
        weight: 400
        baseline: alphabetic
        decoration: TextDecoration.none
        ""
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderEditable#a1742 relayoutBoundary=up16 NEEDS-PAINT"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderSemanticsAnnotations#a584b relayoutBoundary=up15 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderLeaderLayer#8120a relayoutBoundary=up14 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderIgnorePointer#24268 relayoutBoundary=up13 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderSemanticsAnnotations#f3c62 relayoutBoundary=up12 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderPointerListener#fbb28 relayoutBoundary=up11 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderPointerListener#48b32 relayoutBoundary=up10 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderMouseRegion#d66d7 relayoutBoundary=up9 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Unexpected null value.
The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: _RenderDecoration#decaa relayoutBoundary=up7 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderPointerListener#d8aa7 relayoutBoundary=up6 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderSemanticsAnnotations#7d455 relayoutBoundary=up5 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderIgnorePointer#910f1 relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderMouseRegion#1ff1f relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/shifted_box.dart
child!.hasSize
is not true

The relevant error-causing widget was
Center
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Unexpected null value.
The relevant error-causing widget was
Icon
 lib/main.dart
The following RenderObject was being processed when the exception was fired: RenderParagraph#7672d relayoutBoundary=up1 NEEDS-LAYOUT NEEDS-PAINT
RenderObject: RenderParagraph#7672d relayoutBoundary=up1 NEEDS-LAYOUT NEEDS-PAINT
    parentData: offset=Offset(0.0, 0.0) (can use size)
    constraints: BoxConstraints(0.0<=w<=24.0, 0.0<=h<=24.0)
    size: MISSING
    textAlign: start
    textDirection: ltr
    softWrap: wrapping at box width
    overflow: visible
    locale: en_US
    maxLines: unlimited
    text: TextSpan
        inherit: false
        color: Color(0xff000000)
        family: MaterialIcons
        size: 24.0
        ""
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/shifted_box.dart
child!.hasSize
is not true

The relevant error-causing widget was
Icon
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Assertion failed:
 ../…/rendering/box.dart
hasSize
"RenderBox was not laid out: RenderRepaintBoundary#6fc83 relayoutBoundary=up8 NEEDS-PAINT"

The relevant error-causing widget was
TextFormField
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Unexpected null value.
The relevant error-causing widget was
Text
 lib/main.dart
The following RenderObject was being processed when the exception was fired: RenderParagraph#bb575 relayoutBoundary=up14
RenderObject: RenderParagraph#bb575 relayoutBoundary=up14
    parentData: offset=Offset(0.0, 0.0) (can use size)
    constraints: BoxConstraints(0.0<=w<=1168.0, 0.0<=h<=Infinity)
    size: MISSING
    textAlign: start
    textDirection: ltr
    softWrap: no wrapping except at line break characters
    overflow: ellipsis
    locale: en_US
    maxLines: unlimited
    text: TextSpan
        debugLabel: (englishLike title 2014).merge(whiteRedwoodCity headline6)
        inherit: false
        color: Color(0xffffffff)
        family: .AppleSystemUIFont
        size: 20.0
        weight: 500
        baseline: alphabetic
        decoration: TextDecoration.none
        "Material App Bar"
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Unexpected null value.
The relevant error-causing widget was
Icon
 lib/main.dart
The following RenderObject was being processed when the exception was fired: RenderParagraph#7672d relayoutBoundary=up1
RenderObject: RenderParagraph#7672d relayoutBoundary=up1
    parentData: offset=Offset(0.0, 0.0) (can use size)
    constraints: BoxConstraints(0.0<=w<=24.0, 0.0<=h<=24.0)
    size: MISSING
    textAlign: start
    textDirection: ltr
    softWrap: wrapping at box width
    overflow: visible
    locale: en_US
    maxLines: unlimited
    text: TextSpan
        inherit: false
        color: Color(0xff000000)
        family: MaterialIcons
        size: 24.0
        ""
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Unexpected null value.
The relevant error-causing widget was
MaterialApp
 lib/main.dart
════════════════════════════════════════════════════════════════════════════════
Restarted application in 1,871ms.
Restarted application in 380ms.

════════ Exception caught by rendering library ═════════════════════════════════
The following NativeJavaScriptObject object was thrown during paint():
  BindingError: Expected null or instance of Paragraph, got an instance of Paragraph

The relevant error-causing widget was
Text
 lib/main.dart
When the exception was thrown, this was the stack
<EMAIL_ADDRESS>153:76          <fn>
<EMAIL_ADDRESS>152:335         new BindingError
<EMAIL_ADDRESS>155:250         X
<EMAIL_ADDRESS>161:38          zc
<EMAIL_ADDRESS>164:310         Ec
...
The following RenderObject was being processed when the exception was fired: RenderParagraph#439e5 relayoutBoundary=up14
RenderObject: RenderParagraph#439e5 relayoutBoundary=up14
    parentData: offset=Offset(0.0, 0.0) (can use size)
    constraints: BoxConstraints(0.0<=w<=1168.0, 0.0<=h<=Infinity)
    size: Size(149.0, 23.0)
    textAlign: start
    textDirection: ltr
    softWrap: no wrapping except at line break characters
    overflow: ellipsis
    locale: en_US
    maxLines: unlimited
    text: TextSpan
        debugLabel: (englishLike title 2014).merge(whiteRedwoodCity headline6)
        inherit: false
        color: Color(0xffffffff)
        family: .AppleSystemUIFont
        size: 20.0
        weight: 500
        baseline: alphabetic
        decoration: TextDecoration.none
        "Material App Bar"
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
  BindingError: Expected null or instance of Paragraph, got an instance of Paragraph
The relevant error-causing widget was
Icon
 lib/main.dart
The following RenderObject was being processed when the exception was fired: RenderParagraph#60abf relayoutBoundary=up1
RenderObject: RenderParagraph#60abf relayoutBoundary=up1
    parentData: offset=Offset(0.0, 0.0) (can use size)
    constraints: BoxConstraints(0.0<=w<=24.0, 0.0<=h<=24.0)
    size: Size(24.0, 24.0)
    textAlign: start
    textDirection: ltr
    softWrap: wrapping at box width
    overflow: visible
    locale: en_US
    maxLines: unlimited
    text: TextSpan
        inherit: false
        color: Color(0xff000000)
        family: MaterialIcons
        size: 24.0
        ""
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by scheduler library ═════════════════════════════════
  BindingError: Expected null or instance of Path, got an instance of Path
════════════════════════════════════════════════════════════════════════════════

flutter doctor -v
[✓] Flutter (Channel beta, 1.26.0-17.5.pre, on macOS 11.2.1 20D74 darwin-x64, locale en-GB)
    • Flutter version 1.26.0-17.5.pre at /Users/tahatesser/Code/flutter_beta
    • Framework revision 1fe38dcb5f (5 days ago), 2021-02-10 16:25:47 -0800
    • Engine revision d4453f6018
    • Dart version 2.12.0 (build 2.12.0-259.9.beta)
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.
[!] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.53.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.19.0
[✓] Connected device (2 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS 14.4
    • Chrome (web)           • chrome                    • web-javascript • Google Chrome 88.0.4324.150
! Doctor found issues in 2 categories.

[✓] Flutter (Channel dev, 1.27.0-1.0.pre, on macOS 11.2.1 20D74 darwin-x64, locale en-GB)
    • Flutter version 1.27.0-1.0.pre at /Users/tahatesser/Code/flutter_dev
    • Framework revision 68c96f100e (7 days ago), 2021-02-08 16:14:15 -0800
    • Engine revision b04955656c
    • Dart version 2.13.0 (build 2.13.0-0.0.dev)
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.
[!] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.53.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.19.0
[✓] Connected device (3 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS 14.4
    • macOS (desktop)        • macos                     • darwin-x64     • macOS 11.2.1 20D74 darwin-x64
    • Chrome (web)           • chrome                    • web-javascript • Google Chrome 88.0.4324.150
! Doctor found issues in 2 categories.

[✓] Flutter (Channel master, 1.27.0-2.0.pre.103, on macOS 11.2.1 20D74 darwin-x64, locale en-GB)
    • Flutter version 1.27.0-2.0.pre.103 at /Users/tahatesser/Code/flutter_master
    • Framework revision f49956598b (4 hours ago), 2021-02-16 00:56:06 -0500
    • Engine revision 1d537824d6
    • Dart version 2.13.0 (build 2.13.0-30.0.dev)
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.
[!] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.53.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.19.0
[✓] Connected device (3 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS 14.4
    • macOS (desktop)        • macos                     • darwin-x64     • macOS 11.2.1 20D74 darwin-x64
    • Chrome (web)           • chrome                    • web-javascript • Google Chrome 88.0.4324.150
! Doctor found issues in 2 categories.

Please follow up on that issue, I'm closing the current one as a duplicate.
If you disagree, please write in the comments and I will reopen it.
Thank you


doc version looks not right

When creating the document from https://github.com/CalConnect/VCARD/tree/master/csd/datetime-explicit, all files are created.
As the *.doc document still can be opened using MS Word, it looks like a multipart mixed format which prevents it from being opened in other programms
`MIME-Version: 1.0
Content-Type: multipart/related; boundary="----=_NextPart_8d0d8439.2aa7.4856"
------=_NextPart_8d0d8439.2aa7.4856
Content-Location: file:///C:/Doc/csd-datetime-explicit.htm
Content-Type: text/html; charset="utf-8"

<!--[if gte mso 9]>

Print
100

`
...
`------=_NextPart_8d0d8439.2aa7.4856
Content-Location: file:///C:/Doc/csd-datetime-explicit_files/filelist.xml
Content-Transfer-Encoding: base64
Content-Type: application/xml
PHhtbCB4bWxuczpvPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiPgog
ICAgICAgIDxvOk1haW5GaWxlIEhSZWY9Ii4uL2NzZC1kYXRldGltZS1leHBsaWNpdC5odG0iLz4g
IDxvOkZpbGUgSFJlZj0iZmlsZWxpc3QueG1sIi8+CiAgPG86RmlsZSBIUmVmPSJoZWFkZXIuaHRt
bCIvPgo8L3htbD4K
------=_NextPart_8d0d8439.2aa7.4856
Content-Location: file:///C:/Doc/csd-datetime-explicit_files/header.html
Content-Transfer-Encoding: base64
Content-Type: text/html charset="utf-8"
PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiDQp4bWxuczpvPSJ1
cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiDQp4bWxuczp3PSJ1cm46c2No
ZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIg0KeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMu
bWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIg0KeG1sbnM6bXY9Imh0dHA6Ly9tYWNW
bWxTY2hlbWFVcmkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCg0K
PGhlYWQ+DQo8bWV0YSBuYW1lPVRpdGxlIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPUtleXdvcmRz`
...
`L3NwYW4+PC9wPg0KDQo8L2Rpdj4NCg0KPC9ib2R5Pg0KDQo8L2h0bWw+DQo=
------=_NextPart_8d0d8439.2aa7.4856--
`

We've discussed why we are using Doc (= MHT) rather than DOCX here: https://github.com/riboseinc/html2doc/wiki/Why-not-docx%3F

@wsdwl we're closing this ticket in favor of better documentation on Word output. Basically, if one needs Word output, one needs a real install of Microsoft Word.
Which I think is fair enough -- if you don't have Word, how do you verify that the output is proper?
The output we provide here is "real" Word, not OpenOffice XML ("fake Word") understood by Pages or LibreOffice.

Superceded by #220

The output we provide here is "real" Word, not OpenOffice XML ("fake Word") understood by Pages or LibreOffice.

Actually, the output we provide is both legacy Word (DOC = MHT). Real current Word output is (zipped) OOXML; but generating the OOXML to do what we need, with the full range  of functionality we need, is a massive undertaking we are not taking on for now.

Clarified the above comment. Thanks.


fix!: reuse existing handler rather than clobbering it

Hey! This is a great idea for a plugin! I was taking a look at the source code and noticed that you are essentially clobbering any previously set lsp handler for publishing diagnostics. This makes it so that it can be an addition.
I also did a bit of refactoring for performance and to simplify the code. Tables in lua are passed by reference so rather than making new tables and returning them it can all be done in place to save computation and space overhead!
Let me know what you think as this does change the API a bit which I added to the README to help users who are building it into their own lsp handler.
Oh lastly, I noticed that it is only replacing the message if parameters are found, I removed that check since a lot of the error messages don't have parameters (like 1002 for unclosed strings)
Also while I was here I added vtsls support (closes #16)

This is awesome! Thank you for the contribution - I'll take a look after work today.

Looks good to me! Thanks for the clean up and improvements


Issue #15 - Does groups need a pattern for their list of members?

In the v1.5 of the Target Model, Groups, like Persons, have a pattern for their group belonging, meaning that a group may be part of another groups. In other words, the model only has a "is member of" pattern and not a "has members" one. Therefore, the only way to have a list of actors within a group is to have a group belonging pattern for each actor within this group.
Some museums recording groups may have a field for the members of that groups, without necessarily those members documented elsewhere. Therefore, in order to be able to document those members, I see two possibilities:
Have a script that, for each member within this list, creates a record and a group belonging member to that group, and therefore keeping the model how it is in v1.5.
Add a "has member" pattern, where a group can have a way of documenting its member without necessarily creating new records for those actors. We should be careful that, with this solution, there is no duplicates created, if the membership is documented in the actor record as "is member of" and again in the group record as "has member".

To me, the script option seems to be the cleanest as well as the simplest but I might be missing something? What would be the benefits of using the "has member" option instead?

I think the cleanest is to extract the members and create individual nodes

I think we all agree.
If nobody wants to add something, I'll close the issue.

+1

In your second option (the rejected one), I don't understand why you would have to create new records? At least you will need to create a URI for the actor, no? If you were thinking of using something like chin:hasMember -> "Jean-Paul Riopelle", it's an absolute "no" for me. :p
That said, when possible, we should avoid creating new classes.
So, +1

I don't understand the problem. If we want to find the list of members of a group, we just have to switch the subject and object in the sparql query, something like :
SELECT ?member WHERE {
?member is_member_of chin:group1
}

We are not using the property is_member_of, but the joining and leaving events.
Therefore, the question was, when we encounter a dataset documenting a group and simply recording its member list, should we have another pattern, with something similaire to has_member or do we create joining and leaving events for each members.
In my opinion it is better to create joining and leaving events.

I see. In that case I agree with the drawn conclusion.

By vote, CHIN has decided, in accordance with everyone, to use scripts to generate the events joining and leaving instead of having a membership list.

@stephenhart8 but could you explain why CHIN rejected the use of current_or_former_member_of and its inverse?

@stephenhart8 @illip I still don't understand why you rejected P107 has current or former member. It's a shortcut of the long path P144i gained member by, E85 Joining, P143 joined, which has these benefits:

easier to query
don't need to create a Joining node unless and until you have extra info about the Joining (i.e. date joined)

If you use this PCA and appropriate reasoning, P107_has_current_or_former_member will be inferred automatically from the long path, or be stated explicitly for the simple case of no Joining info.
P107_has_current_or_former_member owl:propertyChainAxiom
  (P144i_gained_member_by P143_joined).

It's a win-win for querying.
(Note: it's incorrect to create Leaving unless you have clear evidence the group disbanded or the person left)


gaussian rng

Inlines https://www.hiveworkshop.com/threads/logarithm.247774/
Uses https://en.m.wikipedia.org/wiki/Box–Muller_transform
See also https://www.hiveworkshop.com/threads/standard-deviation-random-number.336870/

I think it's debatable whether the rng is stdlib material, but log seems useful.
I don't understand the redeclarations of tau and max_real.
How about unit test?

@Frotty I would be happy to inline TAU and MAX_REAL if you'd like. They seem broadly useful missing constants to me?
For unit test I can add one for log. I previously wrote one just to print RNG to console but I'm not sure what a good unit test looks like that won't flake. Do you have any suggestions?

They seem broadly useful missing constants to me?

They aren't missing though?


Overflowing a TextView vertically and deleting it all causes a crash

The issue can be reproduced by holding enter in a TextView until you overflow the TextView. Once the view has been overflown, hold down the backspace button
Version: 0.90.3

The current master version don't repro this.

Is there any estimate on when the current master will be published to nuget?

I have no idea. Sorry.

Within days... ;-)


Feat: Add message field to the contact form

Describe the feature
We can enhance the existing contact form by adding a message field
Add ScreenShots
right now we can only enter name and email
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Can you please assign it to me? I want to work on it.


Output text appeared garbled

Hello, I try to use the tool  as : gpg --export 0x41259773973A612A |  go run main.go,
The output text appeared garbled like this :
...
'T|i
 D)] #&:f]ϩ
Tqˇ
        *w۔(J&#':iV-;#k ؚG81b޷@sQ)IWX:-$hJw��3vin X1ת];ˮ3h3
T#n
   $\uMIg1}UZ*?#tɇ   N넨9hPj޻ZǍ"Yg$,7@N>@tv2<yF}\
                                                 o(ؤ7q4Fm       :fx!
-|ß{¼1Ypb.3.2-S;ʻEI%
                    |ОWI.)MpSƩ:dyN^x\Y[,@3|P$ߴ9'6EXU+&53P4p>; Rkv
QUkMTqˇS     ;wR%=U
                   כbըK/;aDiaHX.ZP[)T��O=iyk~wM$%9zЛV8~m
[Yya`_lJD
eZ2͙/~רSFa%7P
            F}9

z ^)]
Tqˇ
        ?yXu!="47:z.��rT{%*f@dR@zIn)ֹ2E5KEsP Gş*d9h3Y
                                                    Bmv/$/szQn?#pLsX
庿ƾTWVAyv;ã͵e5˖z1I|7Mbv
                       xl'tWR手Nvn9-vz!JVV~LS!2uK2ŅIblܺk0p4NL
                                                            ;">f
=AIR#0,5Aܨ)ʋ,AUsem2a      F#y8FrQfU}-yvT't좢*{9}4i2ZKf귺?6(Xm-śtVYLr
Ӆ;􊥊>E<y'&?,YoEN?𳔭]vhNK?[{n%NYʈtpÌnIӳH*91 Yx#lNpܽW
                                                 [A#`k.m:[g#

use gpg -k list the keys, nothing has changed, it's seems to not work.

You'll have to capture this output to a file and subsequently import it back to your keychain, something like:
gpg --export 0x41259773973A612A | ./sks-exploit > 0x41259773973A612A.gpg
gpg --import 0x41259773973A612A.gpg

You'll have to capture this output to a file and subsequently import it back to your keychain, something like:
gpg --export 0x41259773973A612A | ./sks-exploit > 0x41259773973A612A.gpg
gpg --import 0x41259773973A612A.gpg

You'll have to capture this output to a file and subsequently import it back to your keychain, something like:
gpg --export 0x41259773973A612A | ./sks-exploit > 0x41259773973A612A.gpg
gpg --import 0x41259773973A612A.gpg

Yes,I tried it,  and when I import it back :
gpg: key 501DEDC36BD409C8: 1 duplicate signature removed
gpg: key 501DEDC36BD409C8: 1 signature reordered
gpg: key 501DEDC36BD409C8: "test0<EMAIL_ADDRESS>not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

Still nothing has changed.  Did the gnupg client fix this problem?

You'll have to capture this output to a file and subsequently import it back to your keychain, something like:
gpg --export 0x41259773973A612A | ./sks-exploit > 0x41259773973A612A.gpg
gpg --import 0x41259773973A612A.gpg

Yes,I tried it,  and when I import it back :
gpg: key 501DEDC36BD409C8: 1 duplicate signature removed
gpg: key 501DEDC36BD409C8: 1 signature reordered
gpg: key 501DEDC36BD409C8: "test0<EMAIL_ADDRESS>not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

Still nothing has changed.  Did the gnupg client fix this problem?


Query at a specific WorkflowTaskStarted eventId

Is your feature request related to a problem? Please describe.
For debugging purposes, it is useful to know a query result at a specific point of workflow execution.
As a separate feature, It would be nice to be able to get a query result at each WorkflowTaskStarted event as a single API call. This would be very helpful in a certain troubleshooting scenarios.
Describe the solution you'd like
Add "WorkflowTaskStartedEventId" argument to query request. The workflow should be replayed up to that event id and a query should be executed against it.
Add a new API that returns a list of query results. One result per WorkflowTaskStarted eventId.
Additional context
This would allow querying terminated workflows safely.

Thank you for the feature request!
It's a great idea to have the ability to query a workflow at specific events for debugging purposes.
You can try to achieve this by using the tctl workflow show command, and specifying an event Id. This will allow you to retrieve information about a specific event in the workflow's history.
While this might not be exactly the solution you're looking for, it can be a useful workaround in many cases. We appreciate your feedback and will consider this feature for future releases.

Thank you for your feature request! This is a great idea and would be helpful for debugging workflows. Currently, there is no direct way to query a workflow at a specific event ID using tctl.
As a workaround, you can achieve a similar effect by using tctl workflow show --event_id <event_id> to view the event history of the workflow up to the specified event ID.
We will consider your feature request for future releases.


[arrow] update to 17.0

Library name
arrow
New version number
17.0
Other information that may be useful (release notes, etc...)
Please update arrow latest.

Remember to look for existing work before starting a PR: #39948


UI

can you change comment section color back to grey from that greenish! It just not easy recognizable with all other code
(PRETTIER EXTENSION)

@Prateek-web-boot Can you provide a screenshot of which color you're talking about?

darkgrey

Sorry, I meant, where in the UI does this color show up? Is this for code comments of a particular language? Or the comment gutter here?

Or something else?


Benchmark two possible cobs encoding algorithms

Make a demo application that cobs encodes some data and reports the time taken to get comfortable with embedded systems programming.
Two encoding algorithms exists:

search and write
skip and write back

Data can be generated beforehand. The mean and variance of 0's probably affect the results. The benchmark should be repeatable with data representative of what will be sent eventually.

Good idea but not a priority.


[Apple Reminders] Date argument for quick add reminder without AI

Extension
https://www.raycast.com/raycast/apple-reminders
Description
Since now is possible to quick add a reminder without AI, could it be possible to have a optional date argument only if the "Only use AI" option is unchecked?
Who will benefit from this feature?
Everyone
Anything else?
No response

Unfortunately, it's not possible to do so since arguments are defined in a static way, so I'll mark this issue as not planned 🙂


Adopt gulp-cssnano instead of gulp-minify-css

From running npm install:
npm WARN deprecated<EMAIL_ADDRESS>Please use gulp-cssnano instead.

IMHO, I believe the deprecation is ill-advised. Just look at this benchmark.


Allow zero marker supply

https://github.com/provenance-io/provwasm/blob/5ff4c8cd4d59ee0a380eae4d3c95aac1785cbafd/packages/bindings/src/msg.rs#L337

It is possible to create a marker with a supply of zero, as long as some address has 'mint' permissions.  Remove the validation check in create_marker that returns an error when the requested supply is zero.

Merged to main; will cut the v0.14.3 release before EOD Friday Jul 23.


HADOOP-17105: S3AFS - Do not attempt to resolve symlinks in globStatus

S3AFS does not support symlinks, so attempting to resolve
symlinks in globStatus causes wasted S3 calls and worse
performance. Removing it will speed up some calls to
globStatus.
JIRA link: https://issues.apache.org/jira/browse/HADOOP-17105

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 47s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
24m 34s
trunk passed

+1 :green_heart:
compile
0m 41s
trunk passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
compile
0m 36s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
checkstyle
0m 26s
trunk passed

+1 :green_heart:
mvnsite
0m 40s
trunk passed

+1 :green_heart:
shadedclient
17m 23s
branch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 34s
hadoop-aws in trunk failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
0m 29s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+0 :ok:
spotbugs
1m 10s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
1m  7s
trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 37s
the patch passed

+1 :green_heart:
compile
0m 38s
the patch passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
javac
0m 38s
the patch passed

+1 :green_heart:
compile
0m 30s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
javac
0m 30s
the patch passed

-0 :warning:
checkstyle
0m 21s
hadoop-tools/hadoop-aws: The patch generated 4 new + 11 unchanged - 0 fixed = 15 total (was 11)

+1 :green_heart:
mvnsite
0m 35s
the patch passed

+1 :green_heart:
whitespace
0m  1s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
16m 21s
patch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 26s
hadoop-aws in the patch failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
0m 24s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
findbugs
1m  9s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 17s
hadoop-aws in the patch passed.

+1 :green_heart:
asflicense
0m 29s
The patch does not generate ASF License warnings.

72m  8s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2113

JIRA Issue
HADOOP-17105

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux bc2062ad8935 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / e8dc862d385

Default Java
Private Build-1.8.0_252-8u252-b09-1~18.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_252-8u252-b09-1~18.04-b09

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/1/artifact/out/branch-javadoc-hadoop-tools_hadoop-aws-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

checkstyle
https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/1/artifact/out/diff-checkstyle-hadoop-tools_hadoop-aws.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/1/artifact/out/patch-javadoc-hadoop-tools_hadoop-aws-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/1/testReport/

Max. process+thread count
459 (vs. ulimit of 5500)

modules
C: hadoop-tools/hadoop-aws U: hadoop-tools/hadoop-aws

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/1/console

versions
git=2.17.1 maven=3.6.0 findbugs=3.1.0-RC1

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Looks like the javadoc failures would be fixed by -> https://github.com/apache/hadoop/pull/2094

Revision 2: Fixed checkstyle warnings on line length

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 33s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
20m 16s
trunk passed

+1 :green_heart:
compile
0m 40s
trunk passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
compile
0m 36s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
checkstyle
0m 27s
trunk passed

+1 :green_heart:
mvnsite
0m 41s
trunk passed

+1 :green_heart:
shadedclient
14m 50s
branch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 34s
hadoop-aws in trunk failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
0m 28s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+0 :ok:
spotbugs
0m 58s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
0m 57s
trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 36s
the patch passed

+1 :green_heart:
compile
0m 34s
the patch passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
javac
0m 34s
the patch passed

+1 :green_heart:
compile
0m 29s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
javac
0m 29s
the patch passed

+1 :green_heart:
checkstyle
0m 20s
the patch passed

+1 :green_heart:
mvnsite
0m 33s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
13m 48s
patch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 28s
hadoop-aws in the patch failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
0m 27s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
findbugs
1m  2s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 21s
hadoop-aws in the patch passed.

+1 :green_heart:
asflicense
0m 32s
The patch does not generate ASF License warnings.

61m 59s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2113

JIRA Issue
HADOOP-17105

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux d9dfb535b6b2 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 04abd0eb17b

Default Java
Private Build-1.8.0_252-8u252-b09-1~18.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_252-8u252-b09-1~18.04-b09

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/2/artifact/out/branch-javadoc-hadoop-tools_hadoop-aws-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/2/artifact/out/patch-javadoc-hadoop-tools_hadoop-aws-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/2/testReport/

Max. process+thread count
457 (vs. ulimit of 5500)

modules
C: hadoop-tools/hadoop-aws U: hadoop-tools/hadoop-aws

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-2113/2/console

versions
git=2.17.1 maven=3.6.0 findbugs=3.1.0-RC1

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

patch LGTM. Which endpoint (e.g us-west-2) and what build CLI options did you use?
we don't need that much detail, though if tests are failing that's good to call out so you can get some assistance debugging. e.g
https://github.com/apache/hadoop/pull/2076#issuecomment-649564035

oh, and +1 pending that s3 endpoint declaration.

patch LGTM. Which endpoint (e.g us-west-2) and what build CLI options did you use?
we don't need that much detail, though if tests are failing that's good to call out so you can get some assistance debugging. e.g
#2076 (comment)

I ran with the following test settings, no tests failed by the way:

Region: us-west-2
Commands

w/ S3Guard: mvn -T 1C verify -Dparallel-tests -DtestsThreadCount=6 -Ds3guard -Ddynamo -Dauth
without: mvn clean verify -Dparallel-tests

+1 -merged to trunk. nice catch


Yes you can create a pull request
On Fri, 2 Oct 2020, 10:26 Tirthankar Bhattacharya<EMAIL_ADDRESS>wrote:

@dubesar https://github.com/dubesar like do I push the commit and
create a pull request?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dubesar/Java-A-Z/issues/294#issuecomment-702524822,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJHVD5V2UWHDLULYQASJB23SIVMQBANCNFSM4SAJWTYQ
.

@dubesar i have created a pull request please check


Billing for reserved instances in AWS

Describe the issue
Conversations with PO and SM about how billing works.
Additional context

We will never let teams self-serve this utility because it's irreversible
Infrequent, not that hard for CPF team to manage
Doesn't prevent teams from doing work, they can start with pay-as-you-go, then work with us to get cheaper

Definition of done

Decide between 2 options: Pay up front and managed by CPF (say 2yrs up front), or Pay as we go commit for 2 years managed by CPF.  [PO says: let's do option 1, pay in advance]
Investigate minimum commitments in fee schedule in the contract in the framework agreement likely accessed through the GoC Brokerage Portal

Framework agreement is on the LAN

No longer relevant


Added separator format (default to dot)

I use the underscore separator for my templates and I think some people might find this usefull

@adyz So your output will not have nested objects, but instead just underscores separating folders?

Yes, this is what I use for my i18n setup at the moment and maybe this will help other developers


Remove trailing slash from NS URL

Remove trailing slash from Nightscout URL, if entered as such by the user, to prevent 404/"Not Found!" errors due to double slashes in the full URI/path.
This fixes #355. Thanks to @Jon-b-m :)

Wait, please clean out the other code. Only  NightscoutConfigStateModel.swift.  Test to do it from a new dev branch

Cleaned this one out due to mismatches after reset, resubmitting shortly


Build error: av_free_packet deprecated

I just pulled the current code of both this project and ffmpeg, finished building ffmpeg but now get the following error when trying to build FFmpegInterop:
C4996: "av_free_packet": was declared as deprecated

I could fix it by adding 4996 to Properties > Configuration Properties > C/C++ > Advanced > Disable Specific Warnings, but this shouldn't be the way to go, right?

Use av_packet_unref rather than suppressing the warning

I have building project on two of my PC.
This issues only accord on one of them.

Same error here but I have also :
C4996: 'AVStream::codec': was declared deprecated C4996: 'avcodec_decode_video2': was declared deprecated C4996: 'avcodec_decode_audio4': was declared deprecated

use the branch 3.0.2n version.

I've updated the FFmpegInterop projects for 3.0.1 in this branch
https://github.com/Microsoft/FFmpegInterop/tree/ffmpeg3.0.1
It should fix the av_free_packet issue. I haven't looked at the 3.0.2 release yet as it just came out.

@krishnan-unni Thank you very mush


🐛 [firebase_core_web] TrustedType violations in firebase_core_web.dart - TrustedScript needed

Bug report
Several Google Flutter web apps using Firebase plugins that rely on firebase_core_web are receiving browser error reports through the TrustedTypes browser APIs. Specifically, the script injection code in _injectSrcScript is not adhering to the standards and is causing errors to be logged.
We really want to get this fixed so that we can enable new security features which will protect our apps from certain types of vulnerability.
This was previously reported in https://github.com/firebase/flutterfire/issues/10311 and a fix attempted in https://github.com/firebase/flutterfire/pull/10312, however the fix didn't work (see below). It would be amazing if you could try to reproduce the issue with steps below and verify that using a TrustedScript fixes it.
Currently, we have code like:
    web.TrustedScriptURL? trustedUrl;
    final trustedTypePolicyName = _defaultTrustedPolicyName + windowVar;
    if (web.window.nullableTrustedTypes != null) {
      web.console.debug(
        'TrustedTypes available. Creating policy: $trustedTypePolicyName'.toJS,
      );
      try {
        final web.TrustedTypePolicy policy =
            web.window.trustedTypes.createPolicy(
          trustedTypePolicyName,
          web.TrustedTypePolicyOptions(
            createScriptURL: ((JSString url) => src).toJS,
          ),
        );
        trustedUrl = policy.createScriptURLNoArgs(src);
      } catch (e) {
        throw TrustedTypesException(e.toString());
      }
    }

    final web.HTMLScriptElement script =
        web.document.createElement('script') as web.HTMLScriptElement;
    script.type = 'text/javascript';
    script.crossOrigin = 'anonymous';
    final stringUrl = trustedUrl != null
        // Necessary for the JS interop to work correctly on Flutter Beta 3.19.
        // ignore: unnecessary_cast
        ? (trustedUrl as JSObject).callMethod('toString'.toJS)
        : src;
    script.text = '''
      window.ff_trigger_$windowVar = async (callback) => {
        console.debug("Initializing Firebase $windowVar");
        callback(await import("$stringUrl"));
      };
    ''';

The issue here is that although we do create a trusted types policy to create a TrustedScriptURL (added in the previous fix), we're still "unsafely" setting the text of the Script element (e.g. dynamically creating an inline script) rather than its URL. So even though we embed the DomTrustedScriptUrl in the inline script, overall the entire inner javascript is untrusted. It seems like we should actually use a TrustedScript policy here to create a trusted script to embed - see https://developer.mozilla.org/en-US/docs/Web/API/TrustedScript.
Also see related issue https://github.com/firebase/firebase-js-sdk/issues/7048 which was fixed.
Steps to reproduce the behavior:

Create an example Flutter web app using Firebase

Enable trusted types enforcement, e.g. by adding:
<meta
  http-equiv="Content-Security-Policy"
  content="require-trusted-types-for 'script'"
 />

Load page, and look for errors in the JS console

Expected behavior
Setting the text on the script tag should not produce a trusted types error.

I was able to replicate it by adding the said meta tag which resulted in below:

Removing the tag built the app properly without any errors.
I used firebase_core plugin example.

Thanks so much for replicating, @darshankawar ! I hope with TrustedScript, we can assign that script src in way that supports trusted types. I'm still not certain whether we also need to use the TrustedScriptURL that is already present, but perhaps you can test that part out.

Thank you for the quick fix on this!! We'll roll this into Google and give it a try!


While editing the markdown I cannot search for text in it

Issue Type: Bug
Repro steps:

Open a Notebook with a long markdown cell.
Double click on the markdown cell to edit it.
Try to search for some text to jump to it so that you can edit over there.

The notebook searches only in the markdown preview and scrolls to it. There is no way to search in the markdown while editing. This makes the editing experience unusable while working with lot's of markdown.
The work around is to copy the markdown to some other editor like Notepad, edit there and paste it back in ADS.
I would expect find to be within the raw markdown while editing.
Azure Data Studio version: azuredatastudio-insiders 1.16.0-insider (a7dbb68f7d4b862d76e91284a619ed022e8b4745, 2020-03-23T06:17:26.698Z)
OS version: Windows_NT x64 10.0.18363

@qifahs, @MaddyDev has a PR out for this: https://github.com/microsoft/azuredatastudio/pull/9685
I believe this is a dupe of #9196. Is that correct?


Fixing NPE and non-sensical behavior of the GHPRB

Fix NPEs where triggerSender is not available
Infer intent to merge based on comment trigger
If merge can only triggered by comment and there is no comment, there is no intent to merge, therefore do not fail or check other conditions
Do not post comments about commentors not being Admins etc if build is triggered by automation

connected to #158, fixes #158

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

retest this please

@DavidTanner
I have a bigger question - does isOnlyTriggerPhrase make sense at all? If it is set, then trigger phrase ONLY triggers an attempt to merge regardless of the cause for a build (e.g. commit hook).
But if it is not set, then EVERY build, regardless of trigger cause, becomes an attempt to merge, doesn't it?  And if "can't merge own code" is turned on, then all builds that are not triggered by a phrase will fail unless you commit the code that isn't yours.

@arcivanov The requirements that I had when adding the functionality were to follow some government rules.  The trigger phrase was so that not every pull request would be run, and I am not sure that it is necessary really.

Only certain people were to be allowed to merge code into master.
A person couldn't merge their own code.

@DavidTanner

The trigger phrase was so that not every pull request would be run,

But I think that's the point I'm trying to make if isOnlyTriggerPhrase is false then every build, no matter the trigger, will result in an attempt to merge. But the build will always fail if your commit has triggered a hook-based build and you're disallowed to merge your own code or only admins can merge and you're not an admin. Moreover, it can also cause unintentional merges on the first PR commit, which is hardly desirable.
Should we obsolete isOnlyTriggerPhrase and just assume that the trigger phrase is always needed to initiate a merge?

@DavidTanner bump?

I think that I thought of this step more like if the build succeeds to this point, it is expected to be run.

Here's the scenario I'm targeting:

Developer without commit privileges submits a PR.
Admin, without commit privileges reviews the PR.
Admin and developer go back and forth with developer submitting additional commits and PR being built multiple times by hooks, commands or cron check triggers without any intent to merge and admin posting review comments.
After all work is done and everyone is satisfied, the Admin issues a merge trigger comment, automation builds the PR one last time and merges it into its target branch on success.

@DavidTanner gentle bump


About the difference in Effective sample size between base model and rwMH

In the Sensitivity presentation we have these two slides (slides 31 and 32) which show the MCMC stats. They look similar except for the Effective Sample Size. The rwMH appears better, with many of its 2,000 posteriors having 212 effective parameters. The base model has only 110 effective parameters for 8,000 posteriors (I added option to show values above bars). What do we say about this difference?

Let's talk about this when we meet on Thursday as I have some related things to discuss (regarding our mcmc runs - just things to consider for next year, not this year).
Just quickly for now, some tests that I ran indicate that the effective sample sizes for our base model appear to be sufficient to capture the posterior distribution (i.e., >2000 for the least effN parameter; or in other words larger than the highest effN in our old rwMH approach).  We can make our effN figure look better (below is one of my test runs) but it all comes back to run time (this one was for 12,000 samples and ran in 5.5 hours on an 8 core machine). Ignore the near zero effN - this graph still has the "iter" and "obj fun" in there which is an error in creating the plot.


Disable the line-length check.

There are occasions where following this rule forces you to make the
code less readable. This is particularly the case for tests where method
names form the test descriptions. Keeping test descriptions under a
certain length can force them to become cryptic.
In line with the intro to the styleguide, this therefore isn't something
that's appropriate to enforce automatically.

I've opened PR 77 in the Styleguides repo to discuss making this same change in the Ruby styleguide.

:+1:


INSERT failed when using bind parameters.

I am getting a not supported error message when trying to insert data using the bind parameter.
IM001:[unixODBC][Driver Manager]Driver does not support this function

Parameter statement support has beem added to the driver recently (you won't be getting this same error anymore). However there is a missing support of parametrized INSERTs at server side right now.

However there is a missing support of parametrized INSERTs at server side right now.

Fixed in the meanwhile: https://github.com/ClickHouse/ClickHouse/issues/7174
Should work with ClickHouse v19.16 and newer.


Hotkeys is wrapping my components in a div that is breaking my styling

is there a way to remove the wrapped div ?
not to replace it with span .

Here ya go:
https://www.npmjs.com/package/react-hotkeys#withhotkeys-hoc-api


systemd plugin updates

Including the latest systemctl commands and making the systemd plugin easier to maintain.

I've just noticed there are several (months) old systemd plugin PRs implementing some or parts of these changes. I'm not entirely sure how to proceed now; guess I'll just upvote them and close this one.

+1. I was going to make my own PR to add the power management commands (reboot, suspend, etc.) but this PR already includes them.


Dynamics

Would be nice to be able to control dynamics. Eg a scaling of the velocity by using the keys 1-9.

If using the mouse or touchpad the position of the vertical position of the click/touch appears to do what you want, I'm not sure what the most natural keyboard equivalent would be

@jasononeil Yes, you're right - it does what I want. But it would be nice to be able to do this with the keyboard as well, as it makes for more rapid interaction (at least compared to a mouse).
Instead of pressing [any key], I'd press something between 1-9, and in addition to playing the current notes, it would also scale the velocity. Eg 5 being 50%.