Error installing scanner script, put.io

I've setup seedsync on an ARM processor in a docker container with the intent of syncing files from a put.io account.  I have the container running as a systemd service.  I'm having issues authenticating with the remote put.io server.  Apparently the put.io API allows for client connections via ftp (including TLS/SSL) and webdav.
Using Filezilla, I'm able to connect to the remove server via ftp over tls on port 21.  When I enter the same credentials in the seedsync settings.cfg the web ui displays the following error (with debugging enabled):
An error occurred while installing scanner script to remote server.
I suspect there might be an issue accepting the TLS certificate.
A few questions:

Is my suspicion about TLS certificate correct?
If so, how can I enforce acceptance of the TLS certificate?  Or can it be copied to the docker image?
Is this the correct protocol to connect seedsync to put.io?
Can seedsync connect make connection via webdav? How?

journalctl log below:
osmc@osmc-turtle:~/seedsync$ journalctl -xe | grep seedsync

Feb 06 20:37:54 osmc-turtle sudo[32533]:     osmc : TTY=pts/0 ; PWD=/home/osmc ; USER=root ; COMMAND=/bin/systemctl stop docker.seedsync.service
-- Subject: Unit docker.seedsync.service has begun shutting down
-- Unit docker.seedsync.service has begun shutting down.
Feb 06 20:37:54 osmc-turtle docker[32087]: 2019-02-07 01:37:54,388 - INFO - seedsync (MainProcess/MainThread) - Caught signal SIGTERM
Feb 06 20:37:54 osmc-turtle docker[32087]: 2019-02-07 01:37:54,389 - INFO - seedsync (MainProcess/MainThread) - Exiting Seedsync
Feb 06 20:37:55 osmc-turtle docker[32087]: 2019-02-07 01:37:55,030 - DEBUG - seedsync.WebAppJob (MainProcess/WebAppJob) - Calling cleanup for WebAppJob
Feb 06 20:37:55 osmc-turtle docker[32087]: 2019-02-07 01:37:55,117 - DEBUG - seedsync.WebApp (MainProcess/worker 1) - Stream connection stopped by server
Feb 06 20:37:55 osmc-turtle docker[32087]: 2019-02-07 01:37:55,118 - DEBUG - seedsync.Controller.Model (MainProcess/worker 1) - LftpModel: Removing a listener
Feb 06 20:37:55 osmc-turtle docker[32087]: 2019-02-07 01:37:55,562 - DEBUG - seedsync.WebAppJob (MainProcess/WebAppJob) - Finished cleanup for WebAppJob
Feb 06 20:37:55 osmc-turtle docker[32087]: 2019-02-07 01:37:55,562 - DEBUG - seedsync.WebAppJob (MainProcess/WebAppJob) - Thread WebAppJob stopped
Feb 06 20:37:55 osmc-turtle docker[32087]: 2019-02-07 01:37:55,563 - DEBUG - seedsync (MainProcess/MainThread) - Persisting states to file
Feb 06 20:37:56 osmc-turtle docker[32542]: systemd_seedsync
-- Subject: Unit docker.seedsync.service has finished shutting down
-- Unit docker.seedsync.service has finished shutting down.
Feb 06 20:39:14 osmc-turtle sudo[32678]:     osmc : TTY=pts/0 ; PWD=/home/osmc ; USER=root ; COMMAND=/bin/systemctl restart docker.seedsync.service
-- Subject: Unit docker.seedsync.service has begun start-up
-- Unit docker.seedsync.service has begun starting up.

Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,273 - INFO - seedsync (MainProcess/MainThread) - Debug mode is enabled.
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,274 - DEBUG - seedsync (MainProcess/MainThread) - Config:
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,278 - DEBUG - seedsync (MainProcess/MainThread) -   General.debug: True
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,279 - DEBUG - seedsync (MainProcess/MainThread) -   General.verbose: False
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,281 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.remote_address: ftp.put.io
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,281 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.remote_username: roserabbit
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,284 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.remote_password: njTgr1CtVxp2
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,284 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.remote_port: 21
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,286 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.remote_path: /
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,288 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.local_path: /downloads
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,289 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.remote_path_to_scan_script: /tmp
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,291 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.use_ssh_key: False
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,293 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.num_max_parallel_downloads: 2
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,294 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.num_max_parallel_files_per_download: 4
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,295 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.num_max_connections_per_root_file: 4
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,296 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.num_max_connections_per_dir_file: 4
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,296 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.num_max_total_connections: 16
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,297 - DEBUG - seedsync (MainProcess/MainThread) -   Lftp.use_temp_file: False
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,297 - DEBUG - seedsync (MainProcess/MainThread) -   Controller.interval_ms_remote_scan: 30000
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,298 - DEBUG - seedsync (MainProcess/MainThread) -   Controller.interval_ms_local_scan: 10000
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,298 - DEBUG - seedsync (MainProcess/MainThread) -   Controller.interval_ms_downloading_scan: 1000
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,299 - DEBUG - seedsync (MainProcess/MainThread) -   Controller.extract_path: /tmp
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,300 - DEBUG - seedsync (MainProcess/MainThread) -   Controller.use_local_path_as_extract_path: True
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,300 - DEBUG - seedsync (MainProcess/MainThread) -   Web.port: 8800
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,301 - DEBUG - seedsync (MainProcess/MainThread) -   AutoQueue.enabled: True
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,302 - DEBUG - seedsync (MainProcess/MainThread) -   AutoQueue.patterns_only: False
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,302 - DEBUG - seedsync (MainProcess/MainThread) -   AutoQueue.auto_extract: True
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,303 - DEBUG - seedsync (MainProcess/MainThread) - Args:
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,304 - DEBUG - seedsync (MainProcess/MainThread) -   local_path_to_scanfs: /app/scanfs
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,304 - DEBUG - seedsync (MainProcess/MainThread) -   html_path: /app/html
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,305 - DEBUG - seedsync (MainProcess/MainThread) -   debug: True
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,306 - DEBUG - seedsync (MainProcess/MainThread) -   exit: False
Feb 06 20:39:17 osmc-turtle docker[32703]: 2019-02-07 01:39:17,308 - INFO - seedsync (MainProcess/MainThread) - Starting seedsync
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,124 - DEBUG - seedsync.Controller.Model (MainProcess/MainThread) - LftpModel: Adding a listener
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,124 - DEBUG - seedsync.AutoQueue (MainProcess/MainThread) - Auto-Queue Patterns:
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,126 - INFO - seedsync.WebApp (MainProcess/MainThread) - Html path set to: /app/html
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,186 - DEBUG - seedsync.ControllerJob (MainProcess/ControllerJob) - Thread ControllerJob started
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,187 - DEBUG - seedsync.ControllerJob (MainProcess/ControllerJob) - Calling setup for ControllerJob
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,187 - DEBUG - seedsync.Controller (MainProcess/ControllerJob) - Starting controller
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,189 - DEBUG - seedsync.WebAppJob (MainProcess/WebAppJob) - Thread WebAppJob started
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,192 - DEBUG - seedsync.WebAppJob (MainProcess/WebAppJob) - Calling setup for WebAppJob
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,199 - DEBUG - seedsync.WebAppJob (MainProcess/WebAppJob) - Finished setup for WebAppJob
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,230 - DEBUG - seedsync.Controller.MPLogger (MainProcess/MPLoggerListener) - Started listener thread
Feb 06 20:39:18 osmc-turtle docker[32703]: 2019-02-07 01:39:18,232 - DEBUG - seedsync.ControllerJob (MainProcess/ControllerJob) - Finished setup for ControllerJob
Feb 06 20:39:19 osmc-turtle docker[32703]: 2019-02-07 01:39:19,630 - DEBUG - seedsync.Controller.Model (MainProcess/worker 0) - LftpModel: Adding a listener
Feb 06 20:39:48 osmc-turtle docker[32703]: 2019-02-07 01:39:48,243 - DEBUG - seedsync (MainProcess/MainThread) - Persisting states to file
Feb 06 20:39:48 osmc-turtle docker[32703]: buffer (last 100 chars): b"Could not create directory '/home/seedsync/.ssh'.\r\r\n"
Feb 06 20:39:48 osmc-turtle docker[32703]: before (last 100 chars): b"Could not create directory '/home/seedsync/.ssh'.\r\r\n"
Feb 06 20:39:48 osmc-turtle docker[32703]: b"Could not create directory '/home/seedsync/.ssh'.\r\r\n"
Feb 06 20:40:18 osmc-turtle docker[32703]: 2019-02-07 01:40:18,306 - DEBUG - seedsync (MainProcess/MainThread) - Persisting states to file
Feb 06 20:40:19 osmc-turtle docker[32703]: 2019-02-07 01:40:19,297 - ERROR - seedsync.ControllerJob (MainProcess/ControllerJob) - Caught exception in job ControllerJob
Feb 06 20:40:19 osmc-turtle docker[32703]: 2019-02-07 01:40:19,304 - DEBUG - seedsync.ControllerJob (MainProcess/ControllerJob) - Calling cleanup for ControllerJob
Feb 06 20:40:19 osmc-turtle docker[32703]: 2019-02-07 01:40:19,304 - DEBUG - seedsync.Controller (MainProcess/ControllerJob) - Exiting controller
Feb 06 20:40:19 osmc-turtle docker[32703]: 2019-02-07 01:40:19,330 - ERROR - seedsync (MainProcess/MainThread) - Caught exception
Feb 06 20:40:19 osmc-turtle docker[32703]:   File "/app/python/seedsync.py", line 162, in run
Feb 06 20:40:22 osmc-turtle docker[32703]: 2019-02-07 01:40:22,418 - DEBUG - seedsync.Controller.MPLogger (MainProcess/MPLoggerListener) - Stopped listener thread
Feb 06 20:40:22 osmc-turtle docker[32703]: 2019-02-07 01:40:22,419 - INFO - seedsync.Controller (MainProcess/ControllerJob) - Exited controller
Feb 06 20:40:22 osmc-turtle docker[32703]: 2019-02-07 01:40:22,420 - DEBUG - seedsync.ControllerJob (MainProcess/ControllerJob) - Finished cleanup for ControllerJob
Feb 06 20:40:22 osmc-turtle docker[32703]: 2019-02-07 01:40:22,421 - DEBUG - seedsync.ControllerJob (MainProcess/ControllerJob) - Thread ControllerJob stopped

Seedsync uses SCP and SSH, not FTP. It may not do what you need it to do to connect to put.io.

Yes, I've learned put.io isn't the proper solution, for a few other reasons.  I've since switched to a server hosted at https://www.feralhosting.com.  Thanks for your reply.


[FLINK-30479][doc] Document flink-connector-files for local execution

What is the purpose of the change
The file system SQL connector itself is included in Flink and does not require an additional dependency. However, if a user uses the filesystem connector for local execution, for e.g. running Flink job in the IDE, she will need to add dependency. Otherwise, the user will get validation exception: Cannot discover a connector using option: 'connector'='filesystem'. This is confusing and can be documented.
Brief change log
The scope of the files connector dependency should be provided, because they should not be packaged into the job JAR file. So we do not use the sql_download_table shortcodes like {{< sql_download_table "files" >}}. Also that shortcodes has texts saying the dependencies are required for SQL Client with SQL JAR bundles. That is not applicable to files connector as it's already shipped int he /lib directlory.
Verifying this change
This is a doc change, and I have tested it rendered locally.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

CC: @twalthr @fapaul

Yeah, documenting centrally sounds good.
Maybe I'm limited by how I build the jobs with connectors - I shade all connectors (and dependencies) into the uber job jar. For other connectors (e.g. Kafka), I add the dependency to the Flink job following the Maven snippet in each connector's doc page. That works for both local execution (IDE) and remote deployment. Filesystem connector is a bit special because it's in the Flink deploy (so no need to shade) but not ready for local execution. Adding "provided" scope dependency for this connector solves my problem. I don't find other connectors dependency needs to change for local execution.
I'm thinking where it would be a good central place. There is a short guide for setting Hadoop dependencies for local execution. Do you think it's a good idea to write a new section in the Connectors and Formats page or Advanced Configuration Topics page?


[dv/cdc] Enable cdc instrumentation in three IPs and top_earlgrey

Add cdc instrumentation to aon_timer, flash_ctrl, and alert_handler. Increase wait times by one cycle in two assertions due to CDC delay.
Partially addresses #16689

thanks @matutem, you probably need to do a make under hw directory to update auto-generated alert_handler code.

Thanks Cindy: I just updated the PR after make -C hw.

And nice to work with you again.

@cindychip I will remove this PR and replace it by https://github.com/lowRISC/opentpitan/pull/17952 in hope it will fix the metadata check CI failure. They are identical otherwise: could you approve that instead?


No color distinction in tsx files

First of all I wanted to say thank you for creating this theme! It's really nice!
I was wondering about the lack of color distinction for tags in tsx files, see here:

Is that on purpose that all tags are white? It makes it a bit hard to distinct between them.
A screenshot from Catppuccin for comparison:

Thanks!

Hey I'm glad you are enjoying the theme!
Seems like we are missing some colors here for the tsx tags. Thanks for bringing this up, will add this for the next update!


Error CheckMe

PolyMath: PMArbitraryPrecisionFloatTest

It happens in SAMainLoop>>#discardFailingTests
[ testClass suite run ]
		valueWithin: config testRunTimeOut milliSeconds
		onTimeout: [ self error: 'Check Me' ]

when config testRunTimeOut is 10 seconds.

the best solution is run the test without a time limit, then capture execution time for next uses (assert amp or other).

#TODOs:

Increase the default time limit to 5 min (I'm sure if a test takes 5 min to complete it has a problem!).
The method #discardFailingTests is the first point that we run the test suite to become sure that it's green. Capture the runtime duration and use it X5 in the next places.


[Челендж] Using Invalid language in "Челендж" creating

Environment: Windows 10 Pro 21H1,OS build19043.1586, Google Chrome, version 99.0.4844.84.
Reproducible: always.
Build found:last commit
Preconditions
Log in as an administrator on https://speak-ukrainian.org.ua/dev/
Steps to reproduce"

Click on 'Aдміністрування'
Click on 'Додати Челендж'
Fill in all required fields
Fill in with languages which are not required according to the US
Created challegne with Japanesse and German languages
Click on "Зберегти" button
Actual result
Challenge will be saved

Expected result
Challegne would'nt save
https://user-images.githubusercontent.com/57858834/162674623-d0600448-97c6-44ae-b256-928432782563.mp4
https://user-images.githubusercontent.com/57858834/162674643-d07f6e1b-6c9f-45cb-936f-b952224c3580.mp4
User story and test case links
E.g.: "User story #100
Test case"
Labels to be added
"Bug", Priority ("pri: "), Severity ("severity:"), Type ("UI, "Functional"), "API" (for back-end bugs).

@IvanKuzmuk, it would be great if you attached example of expected text with all possible symbols

@bakaydmytro According to User Page 1334, it was stated that only English and Ukrainian characters could be used to create a challenge. And what do mean exactly, when you are talking about  text with all possible symbols?

@IvanKuzmuk ,e.g. !@#$%^&*()_+{}<>?/"'`|\

Tested. Fields accept characters in Ukrainian and English language, numbers, with symbols.


fix bug in paddle 1.6.

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


A Question?

Are gifs or at least animated pngs able to be used as a background in CMM?
Can close this after answer.

In theory yes, you can use animated png files wherever you use normal images. However it would have to have a pretty low resolution to still be performant.


Revert "Merge branch 'main' of https://github.com/GsnailG/GsnailG.git…

…hub.io"
This reverts commit 187e0fd3228ba832ce56675e3d287fe9c51f2d31, reversing
changes made to 5e5887ee4f2dc342afe7f916d723a0e3ef4b9db4.
This partially fixes #24, however, b2b227e67d784de480b1cdf1b1e1af1c1cdd5ac0 will still have to be reimplemented on top of this PR

I used git revert -m 2 187e0fd3228ba832ce56675e3d287fe9c51f2d31 to get this result


CVE 2022 2879

What this PR does / why we need it:
Bump golang to fix CVE-2022-2879
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #8782
Special notes for your reviewer:
Release note:

Fix CVE-2022-2879

/close
wrong branch. Main already uses 1.19.2.


How to open dialog or bottomsheet?

Hey @rayliverified
Is there a possibility to open dialog and bottomsheet? If yes, can you share some example of it.
Bottomsheet: https://api.flutter.dev/flutter/material/ModalBottomSheetRoute-class.html
Dialog: https://api.flutter.dev/flutter/material/DialogRoute-class.html

Those are anonymous routes and managed by Flutter's Navigator itself.
Use Flutter Navigator 1 APIs.


Difficult to debug when missing field breaks the index

Describe the issue that you're seeing. Any Loom videos or screenshots usually help a lot!
Reported in Discord: https://discord.com/channels/835168149439643678/1150099809924038799/1150099809924038799
When adding a search index, build failed with:
Building search index ⠹Error occured during tinacms dev
TypeError: data[f.name].map is not a function
    at processDocumentForIndexing (/Users/ollebergkvist/Documents/dev/projects/godsent.gg/node_modules/@tinacms/search/dist/index.js:113:39)
    at /Users/ollebergkvist/Documents/dev/projects/godsent.gg/node_modules/@tinacms/search/dist/index.js:114:22
    at Array.map (<anonymous>)
    at processDocumentForIndexing (/Users/ollebergkvist/Documents/dev/projects/godsent.gg/node_modules/@tinacms/search/dist/index.js:113:39)
    at /Users/ollebergkvist/Documents/dev/projects/godsent.gg/node_modules/@tinacms/search/dist/index.js:192:11
    at async sequential (/Users/ollebergkvist/Documents/dev/projects/godsent.gg/node_modules/@tinacms/graphql/dist/index.js:78:18)
    at async /Users/ollebergkvist/Documents/dev/projects/godsent.gg/node_modules/@tinacms/search/dist/index.js:176:7
    at async /Users/ollebergkvist/Documents/dev/projects/godsent.gg/node_modules/@tinacms/graphql/dist/index.js:3402:5
    at async reducePromises (/Users/ollebergkvist/Documents/dev/projects/godsent.gg/node_modules/@tinacms/graphql/dist/index.js:72:18)
    at async reducePromises (/Users/ollebergkvist/Documents/dev/projects/godsent.gg/node_modules/@tinacms/graphql/dist/index.js:72:18)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Looks like this is due to a missing field in a document. We should log out the field that's missing, and the document
Reproduction
.
Steps to reproduce

Add search index
Remove required fields from a document?
run build

System Info
?

Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug.

See #4201 for the actual issue

This shouldn't occur with #4201 fixed - not sure how to reproduce otherwise so closing for now.


Dynamic Vtable Index Recover

Hey, your vtable hooks have hardcoded indices, you can recover these dynamically using this:
https://gist.github.com/stevemk14ebr/12d70ae90175e71194520e9bb0c5e1e5
Example of what I mean:
https://github.com/bruhmoment21/UniversalHookX/blob/1e5496720c0493a9b79360fb82f8cca512eff956/UniversalHookX/src/hooks/backend/dx12/hook_directx12.cpp#L214-L226

i don't think windows will ever change the indexes but this is a good addition

I agree with you, you could use it to unify parts of the directx hooks across versions though.


Fix crash on negative tab stop width

Fixes #851

Coverage decreased (-0.05%) to 71.253% when pulling 26977b370ecd77e44503c8de1a4e2fb92d547adb on Tyriar:851_negative_tab_stop_width into 687a5e2efb808977ecebb78eb526cb01838c5ac4 on sourcelair:v3.


Potential Security Risk

Hi I just wanted to note this as this project is using event-stream
https://github.com/dominictarr/event-stream/issues/116

Thank you. I will have a look this evening.

Sorry, I could not do it yesterday... I would appreciate any help in this matter.
Could anybody look where event-streams is actually uses in the dependency tree? And where it is actually called?
Is it an affected version?
And if this is a security risk, could anyone file a report for the node security database?

I have researched a bit, but I think this problem is resolved: event-stream is now owned by npm itself. There are no dependencies to the mentioned malicious packages anymore, not even in the latest version, so I think we can safely keep the dependencies.
Just a note to myself: Never give away package ownership of popular packages easily, unless you know the people. I have done this myself, but I have been lucky so far.


ERROR: Unable to extract title - Mixcloud Streams/Uploads

youtube-dl https://www.mixcloud.com/FirstEar/stream/ --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'https://www.mixcloud.com/FirstEar/stream/', u'--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.11.24
[debug] Python version 2.7.10 - Darwin-15.0.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[mixcloud] FirstEar-stream: Downloading webpage
[mixcloud] FirstEar-stream: Trying mp3 URL
ERROR: Unable to extract title; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 663, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 290, in extract
return self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/mixcloud.py", line 77, in _real_extract
PREFIX + r'm-title="([^"]+)"', webpage, 'title')
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 593, in _html_search_regex
res = self._search_regex(pattern, string, name, default, fatal, flags, group)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 584, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract title; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Same thing here:
youtube-dl -t --verbose https://www.mixcloud.com/jhsounds/playlists/the-duosis-mixtapes/
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-t', '--verbose', 'https://www.mixcloud.com/jhsounds/playlists/the-duosis-mixtapes/']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.01.09
[debug] Python version 3.5.1 - Linux-4.3.3-2-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 2.8.5, ffprobe 2.8.5, rtmpdump 2.4
[debug] Proxy map: {}
[mixcloud] jhsounds-playlists: Downloading webpage
[mixcloud] jhsounds-playlists: Trying mp3 URL
[mixcloud] jhsounds-playlists: Trying m4a URL
ERROR: Unable to extract title; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/youtube_dl/YoutubeDL.py", line 665, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.5/site-packages/youtube_dl/extractor/common.py", line 312, in extract
    return self._real_extract(url)
  File "/usr/lib/python3.5/site-packages/youtube_dl/extractor/mixcloud.py", line 78, in _real_extract
    PREFIX + r'm-title="([^"]+)"', webpage, 'title')
  File "/usr/lib/python3.5/site-packages/youtube_dl/extractor/common.py", line 616, in _html_search_regex
    res = self._search_regex(pattern, string, name, default, fatal, flags, group)
  File "/usr/lib/python3.5/site-packages/youtube_dl/extractor/common.py", line 607, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract title; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Mixcloud streams and playlists will be supported in the next version.


Cross compile armv7 fails to link: Bad value

Steps done:

Install the toolchain arm-linux-gnueabihf, all binaries are accessible through the $PATH
Try to build libtcmalloc.so

./autogen.sh
./configure --host=arm-linux-gnueabihf
make

Error thrown:
/usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/bin/ld: .libs/malloc_bench_shared: hidden symbol `pthread_atfork' in /usr/arm-linux-gnueabihf/lib/libpthread_nonshared.a(pthread_atfork.oS) is referenced by DSO
/usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/bin/ld: final link failed: Bad value

It seems to build libtcmalloc.a. I can see it under .lib. Can I just ignore the failure?

Using
arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

Maybe 7.5.0 is too old.
config.log

This is really odd. I am able to reproduce in docker with ubuntu 18.04. Indeed, libtcmalloc_minimal.so is unusable (but static one works, somehow). For some reason our usage of pthread_atfork from inside .so fails to link.
It does appear to be something broken with how we (or libtool we have) produced .so, since the logic of this atfork business is each .so module needs to get it's own copy from libc_nonshared thingy.

BTW you can work around for now by adding -DTCMALLOC_NO_ATFORK to CPPFLAGS

Well, it does look like whatever libtool chooses to do when linking .so isn't working specifically in this specific case. It does plenty of "magic" -L flags, -nostdlib, passes startup .o manually etc. I see it doing ~same stuff on my box without cross compiling, so probably "normal" behavior for libtool.
For this simple test:
#include <pthread.h>

int my_atfork(void (*fn)(void), void (*fn2)(void)) {
    return pthread_atfork(fn, fn2, fn2);
}

When I produce .so manually (all of that on ubuntu 18.04 as noted above):
# arm-linux-gnueabihf-gcc -fPIC -DPIC -shared -o test-atfork.so -pthread -Wall -O2 -ggdb3 test-atfork.c

It does the right thing. I.e. objdumping test-atfork.so has __register_atfork dependency (right one and intended by glibc).
And repeating what libtool does
# arm-linux-gnueabihf-gcc  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/lib/../lib/crti.o /usr/lib/gcc-cross/arm-linux-gnueabihf/7/crtbeginS.o test-atfork.c  -L/usr/lib/gcc-cross/arm-linux-gnueabihf/7 -L/usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/lib/../lib -L/lib/../lib -L/usr/lib/arm-linux-gnueabihf -L/usr/lib/../lib -L/usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/lib -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc-cross/arm-linux-gnueabihf/7/crtendS.o /usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/lib/../lib/crtn.o  -g -O2   -pthread -o test-atfork.so

produces "broken" .so. I.e. that broken .so wants pthread_atfork instead of register atfork thingy.
I am not sure why specifically it fails on this specific version(s) of stuff.
But I cannot be in the business of debugging basic tooling. Either do workaround as noted above, or use newer tools (at least debian sid doesn't have same bug), or file bug(s) to our OS vendor.
Closing as "it is not our bug", as noted above. Do reopen if you disagree or something.


Group name edition

Fixes #165
I tried to make the layout responsive (so that the fields adapt to the width of the page) but I don't know if this is the right way to do it.

Codecov Report

Merging #181 into master will decrease coverage by 0.31%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #181      +/-   ##
==========================================
- Coverage   40.81%   40.50%   -0.32%
==========================================
  Files          98       98
  Lines        1274     1274
  Branches      230      230
==========================================
- Hits          520      516       -4
- Misses        723      728       +5
+ Partials       31       30       -1

Impacted Files
Coverage Δ

src/app/shared/auth/auth.service.ts
22.72% <0.00%> (-6.07%)
:arrow_down:

Continue to review full report at Codecov.

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


GDPR Compilance

Good day, I have just set up status with me on the server and found that third-party queries are implemented.
Would it perhaps be possible within the meaning of the GDPR to remove them in order to get your data protection law clean substructure?

Well which third-party queries are happening? Which one do you think could be violate the GDPR?

Definitely, every third party Request GDPR is relevant, because every operator in Europe has to give more or less account.
Enclosed but like a photo of the third-party requests

Just out of curiosity since I am not that much into GPDR. Isn't it just about personal data is handled/shared/ processed internally and by third parties?
These requests are just loading fonts, would be the same like just pulling the latest jQuery from a cdn.  In case of loading third party stuff people just have to make sure that the other end is GDPR compliant. Which is obviously the case for google.
Or am I missing something?

In the first place, you're completely right. However, the question is just how well I can guarantee as a site operator that Google also makes no mischief with the data transmitted when querying the fonts or the like. Google is not necessarily a company known for privacy. So who guarantees me and my visitors which data Google collects and which will be processed.
Especially since the queries to third-party providers as well as, for example, the jquery CDN usually increases the load times rather than speeding them up.
Of course it's up to you if you remove the requets, but it would also be another unique feature that you value privacy. Other status pages Scripts or systems unfortunately have the same problem. : /

I also like to hang two tools for you to download Google Fonts or their integration. If you decide to change it.
https://google-webfonts-helper.herokuapp.com/fonts
https://github.com/neverpanic/google-font-download
And a smal Image with a short statement to this topic


Addressing dplyr deprecation warnings

Hello @agoldst,
Thank you for this useful package. I did a system upgrade recently and began getting several deprecation warnings from dplyr which I address in this PR. There were several changes introduced in tibble version 1.1.0 and dplyr versions 0.7.0 and 1.0.0 that required attention here.

Functions using standard evaluation (dplyr::*_()) were deprecated. I am now using the rlang::.data pronoun to access variables.
data_frame and tbl_df are also deprecated in favor of tibble::as_tibble and tibble::tibble.

I noticed that dplyr alphabetizes data either in group_by or summarise or both, so output data will have a different column order in spread_ris than in previous version. I have updated the tests to reflect that. However, this appears to be a change in behavior that could affect legacy code. I would look carefully at how the output has changed.

Thanks very much for all this work, @pegeler ! As soon as I have time I will check out your PR and merge it in if possible. dplyr is so useful but keeping up with its ever-changing API for package development takes more time than I have for that sort of thing...

Thanks for taking a look. I look forward to your remarks.

Hi @agoldst ,
I noticed there has been a new round of deprecation warnings when I ran the package recently. This time it was the following warning, which applied to a dplyr::select line.
Warning: Use of .data in tidyselect expressions was deprecated in tidyselect 1.2.0.

The two most recent commits address that as well as some other R CMD check notes. I also upgraded from magrittr::%>% pipes to native |> pipes.


Connect new channel to current channel when completing contextual add

I think this should have it's own mutation


源码编译报错

-- [hunter] Building bcos-boostssl
loading initial cache file /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/cache.cmake
loading initial cache file /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/args.cmake
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Build
Scanning dependencies of target bcos-boostssl-Debug
[ 12%] Creating directories for 'bcos-boostssl-Debug'
[ 25%] Performing download step (download, verify and extract) for 'bcos-boostssl-Debug'
-- verifying file...
file='/root/.hunter/_Base/Download/bcos-boostssl/1.0.0-rc4-local/9f071f4/ffcdeeb3be7a91194fd8c4117936a1c5e4fd7aad.tar.gz'
-- File already exists and hash match (skip download):
file='/root/.hunter/_Base/Download/bcos-boostssl/1.0.0-rc4-local/9f071f4/ffcdeeb3be7a91194fd8c4117936a1c5e4fd7aad.tar.gz'
SHA1='9f071f42c9d6f3b8940a8faf5dab248976703317'
-- extracting...
src='/root/.hunter/_Base/Download/bcos-boostssl/1.0.0-rc4-local/9f071f4/ffcdeeb3be7a91194fd8c4117936a1c5e4fd7aad.tar.gz'
dst='/root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Source'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 37%] No update step for 'bcos-boostssl-Debug'
[ 50%] No patch step for 'bcos-boostssl-Debug'
[ 62%] Performing configure step for 'bcos-boostssl-Debug'
loading initial cache file /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/cache.cmake
loading initial cache file /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/args.cmake
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done

-- Configuring bcos-boostssl 1.0.0-rc4
-- CMake              Cmake version and location   3.18.4 (/usr/bin/cmake)
-- Compiler           C++ compiler version         GNU 11.2.0
-- CMAKE_BUILD_TYPE   Build type                   Debug
-- TARGET_PLATFORM    Target platform              Linux x86_64
-- BUILD_STATIC       Build static                 OFF
-- COVERAGE           Build code coverage          OFF
-- TESTS              Build tests                  OFF
-- ARCH_NATIVE        Enable native code           OFF
-- DEBUG                                           OFF
-- [hunter] HUNTER_ROOT: /root/.hunter
-- [hunter] [ Hunter-ID: 0ba8099 | Toolchain-ID: 1ad342a | Config-ID: 36ffaae ]
-- [hunter] BOOST_ROOT: /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install (ver.: 1.76.0-local)
-- [hunter] BOOST_ROOT: /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install (ver.: 1.76.0-local)
-- Boost version: 1.76.0
-- Found the following Boost libraries:
--   log
--   chrono
--   system
--   filesystem
--   thread
--   iostreams
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- [hunter] OPENSSL_ROOT: /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install (ver.: tassl_1.1.1b_v1.4-local)
-- Found OpenSSL: /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install/lib/libssl.a;/root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install/lib/libcrypto.a;dl (found version "1.1.1b")
-- [hunter] JSONCPP_ROOT: /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install (ver.: 1.8.0-local)
-- [hunter] BCOS-UTILITIES_ROOT: /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install (ver.: 1.0.0-rc3-local)
-- Configuring done
-- Generating done
-- Build files have been written to: /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Build/bcos-boostssl-Debug-prefix/src/bcos-boostssl-Debug-build
[ 75%] Performing build step for 'bcos-boostssl-Debug'
Scanning dependencies of target bcos-boostssl
[  9%] Building CXX object bcos-boostssl/CMakeFiles/bcos-boostssl.dir/context/ContextBuilder.cpp.o
[ 18%] Building CXX object bcos-boostssl/CMakeFiles/bcos-boostssl.dir/context/ContextConfig.cpp.o
[ 27%] Building CXX object bcos-boostssl/CMakeFiles/bcos-boostssl.dir/context/NodeInfoTools.cpp.o
[ 36%] Building CXX object bcos-boostssl/CMakeFiles/bcos-boostssl.dir/httpserver/HttpServer.cpp.o
In file included from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Source/bcos-boostssl/httpserver/HttpServer.h:23,
from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Source/bcos-boostssl/httpserver/HttpServer.cpp:22:
/root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install/include/bcos-utilities/IOServicePool.h: In member function 'void bcos::IOServicePool::stop()':
/root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install/include/bcos-utilities/IOServicePool.h:93:33: error: no match for 'operator!=' (operand types are 'std::thread::id' and 'std::thread::id')
93 |             if (thread.get_id() != std::this_thread::get_id())
|                 ~~~~~~~~~~~~~~~ ^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
|                              |                             |
|                              std::thread::id               std::thread::id
In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
from /usr/include/c++/11/bits/char_traits.h:39,
from /usr/include/c++/11/string:40,
from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install/include/boost/asio/ssl/context.hpp:20,
from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install/include/boost/asio/ssl.hpp:18,
from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Source/bcos-boostssl/context/NodeInfoTools.h:22,
from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Source/bcos-boostssl/httpserver/HttpServer.cpp:21:
/usr/include/c++/11/bits/stl_pair.h:496:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)'
496 |     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
|     ^~~~~~~~
/usr/include/c++/11/bits/stl_pair.h:496:5: note:   template argument deduction/substitution failed:
In file included from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Source/bcos-boostssl/httpserver/HttpServer.h:23,
from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Source/bcos-boostssl/httpserver/HttpServer.cpp:22:
/root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install/include/bcos-utilities/IOServicePool.h:93:61: note:   'std::thread::id' is not derived from 'const std::pair<_T1, _T2>'
93 |             if (thread.get_id() != std::this_thread::get_id())
|                                                             ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
from /usr/include/c++/11/bits/char_traits.h:39,
from /usr/include/c++/11/string:40,
from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install/include/boost/asio/ssl/context.hpp:20,
from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Install/include/boost/asio/ssl.hpp:18,
from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Source/bcos-boostssl/context/NodeInfoTools.h:22,
from /root/.hunter/_Base/0ba8099/1ad342a/36ffaae/Build/bcos-boostssl/Source/bcos-boostssl/httpserver/HttpServer.cpp:21:

bcos-utilities/IOServicePool.h   中引用了 std::thread,   却没有 #include ,   你们的代码都能编译过吗？

ubuntu18.04 编译没问题


swashbuckle.Aspnetcore cli not able to recognize private nuget feed reference and failed to resolve, not generating swagger.json file

swashbuckle.Aspnetcore cli not able to recognize private nuget feed reference and failed to resolve, not generating swagger.json file
CLI Command:
dotnet swagger _tofile projfolder\bin\Debug\netcoreapp3.1\myassembly.dll "v1 1.0.xml"
Following error occurs on above command:
Unhandled exception. System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load file or assembly 'mycommon, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

The mycommon assembly is referred using private feed Nuget.
Also placed the Nuget.config file in the project folder.
Is there any way to pass Nuget.config file to this tool?
Version used command for info on version:
dotnet tool install --version 5.5.0 Swashbuckle.AspNetCore.Cli

+1 , can't use it as of now because of the private feed issue

+1

Any news on this?

I'm not familiar with this scenario and so could do with some help troubleshooting. Would someone on this thread be willing to dig a bit deeper with their own investigation?

I'm not familiar with this scenario and so could do with some help troubleshooting. Would someone on this thread be willing to dig a bit deeper with their own investigation?

Yes, I'd be happy to help.
A short description: I have a project with two nuget feeds, one of them is a private one which hold company internal artifacts. The private feed also needs authentication.
When running the cli tool, I get the error described above.

Yes, I'd be happy to help.
A short description: I have a project with two nuget feeds, one of them is a private one which hold company internal artifacts. The private feed also needs authentication.
When running the cli tool, I get the error described above.

I had the same issue with my private NuGet feed. The following command fixed it for me:
dotnet tool restore --ignore-failed-sources

Just make sure that there is one package source that does work (the regular NuGet.org feed for example)

I'm not sure how this can be a Swashbuckle issue as it runs your code, which you own the build for, so your binaries should be in your build output.


Changing children types will cause React Error

Summary
When changing children of a PIXI.Stage into different types, React will attempt to remove a DOM node, causing an error.
Reproduction
Minimal example:
(ns example.core
  (:require [om.core :as om :include-macros true]
            [omreactpixi.abbrev :as pixi]))

(defmulti game :state :default :loading)

(defmethod game :loading [app owner]
  (reify
    om/IRender
    (render [_]
      (pixi/displayobjectcontainer
       {:interactive true
        :buttonMode true
        :click #(om/transact! app (fn [c] (assoc c :state :loaded)))}
       (pixi/text {:text "Click here to load"
                   :x 30
                   :y 30})))))

(defmethod game :loaded [app owner]
  (reify
    om/IRender
    (render [_]
      (pixi/text {:text "Loaded!"}))))

(defn main []
  (om/root
   (fn [app owner]
     (om/component
      (pixi/stage {:width 640
                   :height 480
                   :backgroundcolor 0x888888}
                  (om/build game app))))
   {}
   {:target (. js/document (getElementById "app"))}))

Expected
When the text is clicked the PIXI.DisplayObjectContainer should be removed and a PIXI.Text should be added.
Current Output
Console Error:

Uncaught Error: Invariant Violation: findComponentRoot(..., .0.0): Unable to find element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a <tbody> when using tables, nesting tags like <form>, <p>, or <a>, or using non-SVG elements in an <svg> parent. Try inspecting the child nodes of the element with React ID ``.

Additional notes
This will happen when changing the type of the children.  I originally hit this going from PIXI.Text to PIXI.Sprite, but figured this example was more minimal. reactpixi.js#L6630 calls  shouldUpdateReactComponent to check if it should attempt DOM node removal, and this functions seems to allow inplace changes when they are the same type.
The error happens when reactpixi.js#L6646 calls ReactComponent.BackendIDOperations.dangerouslyReplaceNodeWithMarkupByID. Since this attempts to search the DOM for the nodes I have a feeling this shouldn't be happening. I don't understand React's internal mixins enough to propose a solution.
This might have been better placed in react-pixi, but I don't have the build tools to create a reproduction case.

Wow, that is an awesome bug report!
I've not tried to generate components via multimethods which is why I haven't this before.
The presence of dangerouslyReplaceNodeWithMarkupByID makes me think this is probably something similar to the behavior referred to in one of the react-pixi tests.
Hopefully this is the same kind of bug. Fixing it without modifying Om means I'll probably have to monkey-patch React though.

It is unrelated to the multimethod.  The error happens when that code is replaced with:
(defn game [app owner]
  (if (:winner app)
    (reify
      om/IRender
      (render [_]
        (pixi/text {:text "Winner!"})))
    (reify
      om/IRender
      (render [_]
        (pixi/displayobjectcontainer
         {:interactive true
          :buttonMode true
          :click #(om/transact! app (fn [c] (assoc c :winner true)))}
         (pixi/text {:text "Click here to win"
                     :x 30
                     :y 30}))))))

However, removing the om/build and reifys and instead using a straight conditional and pixi/... seems to work.  Example:
(defn game [app owner]
  (if (:winner app)
    (reify
      om/IRender
      (render [_]
        (pixi/text {:text "Winner!"})))
    (reify
      om/IRender
      (render [_]
        (pixi/displayobjectcontainer
         {:interactive true
          :buttonMode true
          :click #(om/transact! app (fn [c] (assoc c :winner true)))}
         (pixi/text {:text "Click here to win"
                     :x 30
                     :y 30}))))))

This leads me to believe it is Om's wrapping components getting in the way, though I haven't had time to trace through om/build* without getting lost.

updated copy/paste errors above.

It looks like this is the same issue the react-pixi test was setting up and checking. Messing with the "metadata" Om uses to make it use ReactPixi/createClass will work correctly. Example:
(defn game [app owner]
  (if (:winner app)
    (reify
      om/IRender
      (render [_]
        (pixi/text {:text "Winner!"})))
    (reify
      om/IRender
      (render [_]
        (pixi/displayobjectcontainer
         {:interactive true
          :buttonMode true
          :click #(om/transact! app (fn [c] (assoc c :winner true)))}
         (pixi/text {:text "Click here to win"
                     :x 30
                     :y 30}))))))

(aset game "om$descriptor"
       (js/React.createFactory
        (js/ReactPIXI.createClass om/pure-descriptor)))

(defn main []
  (om/root
   (fn [app owner]
     (om/component
      (pixi/stage {:width 640
                   :height 480
                   :backgroundcolor 0x888888}
                  (om/build game app))))
   {}
   {:target (. js/document (getElementById "app"))}))

This is good enough for a work around on my end.  Hopefully this disappears in the future, as it looks like the next version of React has removed the DOM manipulation from ReactCompositeComponent. https://github.com/facebook/react/commit/5951a131db0d4c56cb435f78d3ae53dda0834441

Thanks for the info. Hopefully that commit to remove DOM-specifics from ReactCompositeComponent will get into 0.13.
Until then it looks like react-pixi should just replace React.createClass with a patched version that handles both DOM and pixi nodes. I'll add an issue in react-pixi.

@xeqi  can I use some of this code as an automated test? Once I've navigated the lein-cljsbuild that is.

Sure, though I'd suggest adapting it to use a global atom, render once, use `swap!, and then render + diff/test.
Is there particular formal language you would like me state? Something like: I authorize this code to be licensed under the same license as the project, currently Apache v2; as would be normal under a pull request.

Nah no formal language, just thought I should check with you before I dumped that code into a test file.

Unfortunately I've run into further issues around om/build, and setting the descriptor is not sufficient. I'm going to add on to this issue as it's related to the underlying cause.
Summary
Removed PIXI display objects may return on screen
Reproduction
(ns example.core
(:require [om.core :as om :include-macros true]
[om.dom :as dom]
[omreactpixi.abbrev :as pixi]))
(defonce app-state (atom {:hello "hello"}))
(defn game [app owner]
(om/component
(if (:loaded app)
(pixi/text {:text (:hello app)})
(pixi/displayobjectcontainer
{}
(pixi/text {:text "loading"})))))
(aset game "om$descriptor"
(js/React.createFactory
(js/ReactPIXI.createClass om/pure-descriptor)))
(defn main []
(om/root
(fn [app owner]
(reify
om/IRender
(render [_]
(pixi/stage {:width 640
:height 480
:backgroundcolor 0x888888}
(om/build game app)))))
app-state
{:target (. js/document (getElementById "app"))}))
(comment
;; Run these at a repl, possibly in a chestnut setup
(swap! app-state assoc :loaded true)
(swap! app-state assoc :hello "huh?"))
Expected
A PIXI.Stage with a PIXI.text saying "huh?"
Output
A PIXI.Stage with a PIXI.text saying "huh?", but on top of a PIXI.DisplayObjectContainer holding a PIXI.Text saying "loading".
Additional Notes
My tracing seems to indicate that the ReactPixiComponent for the Stage is holding onto a reference to the ReactCompositeComponent wrapped around the ReactPixiComponent for the DisplayObjectContainer under _renderedChildren.  Then on react-pixi.js#12072 it uses this as the basis for previous components during _updateChildren.  Then react-pixi#12089 calls moveChild on this old component, which results in re-adding the DisplayObjectContainer to the Stage.

I can't get the first example to raise an exception. Maybe you're using a different version of Om or React-Pixi?  the first example in your second post does error out though, so I'll work from that for now.
Also it's evident that I didn't mention in the README that you can use :include-macros but that doesn't appear to effect this bug (and it shouldn't)
            [omreactpixi.abbrev :as pixi :include-macros true]

So react-pixi 0.2.2 patches React.createClass which fixes the invariant violation but not the element duplication.

I'm going to (try and) reproduce that second example in javascript since it'll be easier to debug/test.

Looks like de3db64c2bc6a8e74f5289cd19ac3cd6c8e57e40 fixes this problem. So upgrading to react-pixi 0.2.3 should fix all these issues.


how to build custom component to esm

What problem does this feature solve?
https://echarts.apache.org/zh/builder.html
the current build library is umd format .
how to build it to esm .
What does the proposed API look like?
build it to esm

The online builder doesn't support bunding as ESM. You can only use the bundler like webpack or rollup to build the esm script.


Add QUEVEDO BZRP by bizarrap

Song Name
QUEVEDO BZRP
Artist Name
bizarrap
Source
Youtube
Youtube Link
A_g3lMcWVy0
Direct File Link
https://www.youtube.com/watch?v=A_g3lMcWVy0
Song ID
10
Start Offset [ms]
1
Extra
Created from Auto Nong.
Created for level: 81880250

reject
popular songs like "Clutterfunk" are too inconvenient to be replaced by smth unrelated and are therefore usually rejected.
Note that you can still use the song yourself, but it won't be public


k8s database not created in InfluxDB

I followed the InfluxDB guide, the pods were correctly created (except for the heapster one that already existed).
In Grafana, the datasource source for InfluxDB is already set, but the k8s database does not exist.
Am I supposed to create it ?
GET /query?q=SHOW+DATABASES
Gives me:
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"]]}]}]}
Thanks in advance

Same issue here, it doesn't create k8s database.

I was able to fix my issue manually adding –sink=influxdb:http://monitoring-influxdb.kube-system.svc:8086 in the heapster deploy.
So it was an Azure issue I guess.

closing as per comments


Encryption rolling

Is your feature request related to a problem? Please describe.
Please add some kind of rolling key mechanism.
Eg. when sending an event or the same value repeatedly via BTHome, will the ecryption result in the same data? If yes, then it needs some extra random stuff added else it can be spoofed...
Describe the solution you'd like
When the raw data is being sniffed from the air, and re-transmitted from a different device, with the same mac address, is there a way to determine that some manipulation has been done?
Additional context
Presence detection can suffer from this. A legitimate token could be spoofed by re-transmitting the same data from a different device. The data inside the packet is encrypted, that's fine, and the contents can't be seen by the different device, however, the HA system will think that the original device transmitted it...
Follow up from https://github.com/stumpylog/bthome-weather-station/issues/1

Isn't the 4 byte counter taking care of that? The counter should be a changing number (4 bytes) in each advertisement. We have added some more info about the encryption in the V2 docs (will be released this week, so I only have a github link to the docs for now)
https://github.com/home-assistant/bthome.io/blob/7f30b11e5f4c66f9022744cd2d671932e2489314/encryption.html#L144
I'm not totally familiar with encryption, so please correct me if I'm wrong, but I thought the counter should be a changing value in each message. However, I'm not sure what happens if a BTHome receiver receives two exactly the same messages (encrypted with the same counter value)

And what happens if the sender is outside the range of the receiver, while sending data packages?
Counter increases on senders side, but not on receivers side...?

And what happens if the sender is outside the range of the receiver, while sending data packages?
It will just not be received, but a following message will still have a different counter, so it can be parsed.

Counter increases on senders side, but not on receivers side...?
I think the receiver should check that the counter has changed compared to the previous counter. However, I'm not sure if this is already checked in the decryption process, or if this should be added to the BTHome code.

With the same data and the same counters, the code in the packed will be equal.
A packet with broken data or a counter is not decrypted - unpacking return error.
BLE advertising transmission interval with counter change for new data in a typical minimum of 2.5 sec. Usually from 2.5*4  = 10 sec, i.e. equal to the set measurement interval at default settings.
As a result, before repeating the counter value, it will pass:
10 seconds *<PHONE_NUMBER> (32-bit counter) = 1362 years.
Additionally, the transmitted values (temperature, humidity, ...) change, which introduces additional uncertainty for decrypting the key.

Presence detection can suffer from this. A legitimate token could be spoofed by re-transmitting the same data from a different device. The data inside the packet is encrypted, that's fine, and the contents can't be seen by the different device, however, the HA system will think that the original device transmitted it...

BLE in advertising mode lacks the two-way communication and acknowledgment needed to implement more complex algorithms. SoCs for BLE have small software and hardware resources for encryption, and the basis of BLE is Low Energy.
The end result is a compromise...

With HomeKit encryption, which also has a counter, we try to decrypt with value we expect the counter to be, then we try one back, and then we try the next 30 increments before declaring desync and connecting back to the accessory to ask it to regenerate the key.

https://github.com/Jc2k/aiohomekit/blob/065994eb754f168139a91f5b1ce258c4cbc36345/aiohomekit/controller/ble/pairing.py#L571

The amount of code for HomeKit in the chip is more than twice that of BLE. The consumption of a device with HomeKit firmware is much higher. The cost of assembly increases. These are serious limitations for DIY.

I'm not thinking it would be a good idea to implement the HomeKit stack. I'm only trying to offer a solution to when the counter is out of sync.

Not suitable for wearable sensors  = "Failed to set broadcast key, try un-paring and re-pairing the accessory."

yes, for wearables, that will be a problem. If you are out for 5 minutes, you will have to repair. But checking on an increasing number should be workable.

I was thinking for a use case like a garage door opener, when broadcast (and a code roll) would only occur on a button press...

Should still work if we only check on an increase of the counter. As long as it is higher, it is ok. Question can be if this adds much security

I'd be a little concerned about using it as a garage door remote, because you could interfere, capture the  ble packet, then replay it later.
but probably unlikely .. https://xkcd.com/538/

How do simple 433MHz rolling code garage door openers work?

@pvvx Do you know why we have this cipher.update(b"\x11") in the decryption code? This requires everyone to implement this in their sensor firmware as well, in the encryption process, but I don't see the benefit?
From the docs, I understand that this is just some header, that is not encrypted at all.
I'm thinking about removing it in BTHome V2, as it is probably not used yet in real life (HA support is planned for 2022.12).
I remember that MiBeacon also uses this.
Do you agree that this can be removed?

update(data)¶Authenticate those parts of the message that get delivered as is, without any encryption (like headers). It is similar to the update() method of a MAC object. Note that all data passed to encrypt() and decrypt() get automatically authenticated already.

Parameters:
data (bytes) – the extra data to authenticate

update(data)[¶](https://pycryptodome.readthedocs.io/en/latest/src/cipher/modern.html#update)
Authenticate those parts of the message that get delivered as is, without any encryption (like headers). It is similar to the update() method of a MAC object. Note that all data passed to encrypt() and decrypt() get automatically authenticated already.
Parameters:	data (bytes) – the extra data to authenticate

Removing cipher.update(b"\x11") will cause the decryption function to respond: Decryption failed: MAC check failed

But if you remove it both in the encryption and decryption function, it works ok.
In the fix-remove-cipher-update branch, I've updated the example in which the cipher.update(b"\x11") is removed both in the encryption and decryption code.
https://github.com/Bluetooth-Devices/bthome-ble/blob/fix-remove-cipher-update/src/bthome_ble/bthome_v2_encryption.py

This means that all users will have to flash new firmware on already flashed devices? :)

I think the receiver should check that the counter has changed compared to the previous counter. However, I'm not sure if this is already checked in the decryption process, or if this should be added to the BTHome code.

In mijia, the counter is stored in Flash approximately every 512 steps.
When the battery is replaced, it transmits the previous multiple of 512.
Replacing the counter in some sensors is equal to the step of transferring new data. For some, it's 15 minutes. It will take several days until the counter crosses the threshold of the old value.
In some firmwares (and sources found) with a cold start, it seems that there is an addition to the counter at once 512 steps.

Users will need to flash new firmware with BTHome v2 support anyway, it adds a leading byte with flags/version and a new data format. So dropping the 0x11 "authenticated data" byte from the CCM cypher, while a breaking change from v1, is not the only one. Crypto will work with or without it, it just needs to be settled. @pvvx , what was the rationale for having this byte in the first place?
As for the counter, we intend to use the 4 bytes as a timestamp in seconds (2.5s increments were suggested here but seconds seem simpler). This will be used for the "garage door opener" scenario  -- observers will limit the validity of the event packet in time.

This means that all users will have to flash new firmware on already flashed devices? :)

Only for BTHome V2. I will leave it in V1 as it is now.
        if sw_version == 1:
            cipher.update(b"\x11")

In order to use the same encoding procedures as the mijia version -> to reduce the size of the code.

I still propose to remove it than (in V2) as there is no real need to add this byte. Codewise, this should not be a big change on the pvvx/atc firmware code, I assume.
if advertising_format != BTHome_V2:
    cipher.update(b"\x11")

V2 will consume more battery power due to the additional version flag. :)

When will LE Coded PHY (Long Range) advertising be accepted on the main channels? BT5.0

V2 will consume more battery power due to the additional version flag. :)

Why, we add one byte for the version flag, but the first byte of each measurement is removed (the byte indicating the length and format). In the end, the length of the advertisement will be shorter or equal.

But we add 3 more bytes of flags to the general message...

Ah, yes, but that isn't related to V1 vs V2. Both will have the same issue.
I will ask @bdraco on discord if he has an idea, as that looks more like something that is defined in the core HA bluetooth integration. I think ble_monitor will just work fine without 020106 in active mode. But lets discuss that in the other topic.

cipher.update(b"\x11") method has been removed for encryption/decryption in V2 in release V2.3.0.
V1 will remain as it is now, no changes there.

A year later, Bluetooth SIG standardized similar data encryption in advertising in the "Bluetooth Basic Specification version 5.4".
CCM is the Counter with CBC-MAC block cipher mode. It is used with a 128-bit block cipher such
as AES to encrypt and authenticate messages. Authentication is achieved by including a calculated
message authentication code (MAC) which the Bluetooth Core Specification calls a MIC (Message
Integrity Check).

PS: I wonder how much longer everyone will have to wait for "Periodic Advertising with Responses (PAwR)" to work on Linux, if the Bluetooth 5.0 version released in 2016 is not supported today?

Would it be possible for the documentation to be updated to reflect that the counter is currently not being validated? Being familiar with CCM, I was using this implementation with the expectation that the counter was being validated. It was surprising/unexpected to see this issue.

Yes, will do that. I’m not so familiar with CCM encryption, we basically copied the encryption from xiaomi MiBeacon, Xiaomi’s BLE format.
Are you willing to add this validation to BTHome? Or can you explain to me how this validation should work?, such that I can implement it.

To begin with, it is advisable to enter something like this: If the counter value is less than the previous one, then print a "Warning".

Context: I came across this issue while looking into details of how the Shelly BLU Button1 works with Home Assistant. I found that despite the Button sending increasing counter values, nothing seems to be implementing the replay protection  feature supported by AES-CCM.
To implement the replay protection features of AES-CCM, the counter values need to be checked to ensure they aren't being reused. Typically the counter is an ever increasing integer. Only accepting messages with counter values that are greater than the previous value is sufficient.
However, this library doesn't have any persistence logic, it currently doesn't store values across reboots for example. So I'm not sure if this is the correct place to implement the feature. That's why I suggested a documentation update, so clients using the library know that this needs to be implemented on their end.
For my specific use-case, I just want to know that the button has been pressed. Using a change to the 'Packed Id' sensor as a trigger, and verifying it was greater than the previous value, worked for me. https://gist.github.com/esev/49b0ced41ac32906b7de796c0b81e1f7#file-garaage_remote-py-L83
It would be great if this feature was included at a lower level. As I mentioned, I don't know if this logic belongs in this library, or in the client of the library. But from a Home Assistant user perspective, I'd like to have:

An option to enable replay protection for the V2 encrypted beacons - enabled by default if possible (if it doesn't break already implemented devices).
The ability to see the most recent counter (packet id) received from the device
The ability to see the 'replay counter value' - the max counter value received, used for replay protection.
The ability to reset the 'replay counter value' to the most recent counter value received from the device.
A 'repair' suggestion/notification in Home Assistant that helps the user reset the 'replay counter value' if it has gotten out-of-sync with the device. This calls attention to the potential security issue as well as providing a quick/actionable way to reset the counter.

Clear, not sure if I'm able to implement it all, but let's start with the docs.

[x] Describe that the counter should be increasing in value. That ensures the counter is easy to verify. The current specification only says they must be unique. It is described as a "counter" though, so it may already be clear how it should be implemented. So I don't feel too strongly that this needs to be clarified.
[x] It looks like the counter is currently meant to be an unsigned 32-bit little-endian integer. The specification doesn't mention the least significant byte should come first. Add this info to the specification.

These are done

Created a first step based on @pvvx his suggestion to add a warning in PR #92
This should log warning if the encryption counter is equal or decreased.

[ ] However, thinking of this, I think I should not raise a warning if the counter is equal, as someone might be sending multiple exactly the same messages to improve reliability/reception.

[ ] I also think we need to not raise a message if the counter decreases, if the previous value is above 0xFFFFFFFF (or slightly lower, to have some margin). Lets say 0xF0FFFFFF.

It looks like the counter is currently meant to be an unsigned 32-bit little-endian integer.

I'm kind of confused on this now. I had seen this logic, and that lead me to believe the value was little-endian. Please correct me if I've gotten this wrong.
https://github.com/Bluetooth-Devices/bthome-ble/blob/4cb68589dabe995df04bb6abf2cbc9a1e62d9687/src/bthome_ble/parser.py#L260

Ok. I think count_id is in little-endian. I added a log message after this line to confirm. Sorry for my confusion above. I just didn't want to lead anyone astray if I had misinterpreted the code.
https://github.com/Bluetooth-Devices/bthome-ble/blob/4cb68589dabe995df04bb6abf2cbc9a1e62d9687/src/bthome_ble/parser.py#L558
_LOGGER.error("count_id=%s", repr(count_id))

For my LYWSD03MMC sensors, these are counter values.
[bthome_ble.parser] count_id=b'\xa0\x19\x00\x00'
[bthome_ble.parser] count_id=b'\xa1\x19\x00\x00'

For my Shelly BLU Button1 sensors, these are timestamp values.
[bthome_ble.parser] count_id=b'\xce\xe5%e'
[bthome_ble.parser] count_id=b'A\xe6%e'

Parsed as a little-endian unsigned int, these are:
>>> int.from_bytes(b'\xce\xe5%e', "little")
1696982478
>>> import time
>>> time.time()
1696982567.8120687
>>> int.from_bytes(b'A\xe6%e', "little", signed=False)
1696982593


Adding reference to typing library

Resolves #11.

I will push the new package to pypi tomorrow. Thanks for the bugfix for python<=3.8 I missed this one.


 It's a very special case, where the ticker never stops and the channel cannot be recovered by the garbage collector. The name time.Tick() does not reflect it and if you really want that same functionality, it's just time.NewTicker(d).C, with the exception when d <= 0.
Would you consider yourself a novice, intermediate, or experienced Go programmer?
Intermediate
What other languages do you have experience with?
Comfortable with C, Python, JavaScript, PHP, C#, Lua.
Would this change make Go easier or harder to learn, and why?
Easier, by applying the principle of least astonishment. We can see that this function is already abused in some public repositories.
Has this idea, or one like it, been proposed before?
To my knowledge, no.
Who does this proposal help, and why?
The newcomers to Go as it will decrease ambiguity. We can see that there were issues in the past (#11662, #17757) and you can find public repositories (in GitHub, for instance), where this function is used improperly.
What is the proposed change?
Mark the function time.Tick() as deprecated in the standard library documentation and remove it in a later version. It won't introduce changes to the language specification.
Is this change backward compatible?
It is breaking the Go 1 compatibility guarantee. Thus, this proposal is labeled Go2.
Show example code before and after the change.
Before
for t := range time.Tick(d) {
  // loop body
}

After
for t := range time.NewTicker(d).C {
  // loop body
}

What is the cost of this proposal?
It probably breaks more than a few packages and binaries, which use that function. No compile time or runtime cost.
I've based the proposal on the language change template, but I have removed the last few points I found to be irrelevant.

@gopherbot, add labels Go2

I personally believe that time.Tick is fine, especially because it is clear (at least in my eyes) that the ticker never stops. The documentation also clearly points out the leak.
However I can understand it being deprecated, especially since there is a concise alternative.

Well, despite its shortcomings which are clearly described in the documentation, time.Tick has always been intended as a convenience function for time.NewTicker as both have been in the standard library from the start.
That being so I can't really see the point in deprecating it now as it will mean that a vast amount of code which currently works fine will eventually need to be changed.

To be clear: deprecating the function does not necessarily require that we remove it entirely. (We could leave it deprecated forever, or only disallow references to it from within modules that specify go 1.N.) See #30639.

Thanks for that link as I'd always thought that deprecating something meant that you shouldn't use it as it's eventually going to be removed.
Having said that, there's stuff in Java which has been deprecated for years and there's still no sign of it being removed.
Whatever deprecation means, I'm still not really in favor of the proposal as time.Tick is occasionally useful.

I will elaborate on the reason I opened that issue. I've used go doc time and picked time.Tick() for a client connection handler that should free the timer after the client is disconnected and I assumed that it will free it automatically. It was a rookie mistake and from now on I use go doc -all <pkg> | less, instead. If the function name was ForeverTick(), I might have given it more thought.
I was convinced that I am not the only one that did that mistake or just read convenience wrapper and did not read further. So I have searched GitHub and googled for code that uses time.Tick() and sure enough I found some cases.
Here is a list of examples, which I believe are problematic, since there is an option to stop or break the loop, yet the ticker cannot be freed:

https://github.com/golang/sys/blob/master/windows/svc/example/service.go#L23
https://github.com/Netflix/hal-9001/blob/master/hal/periodic.go#L134
https://github.com/gocraft/health/blob/master/aggregator.go#L22
https://github.com/pydio/cells/blob/master/common/service/utils.go#L28

Cases there it's not really problematic, since the executable will exit and the runtime will stop the timer eventually:

https://github.com/cockroachdb/cockroach/blob/master/pkg/storage/client_raft_test.go#L1390 (do their leaktest even work?)
https://github.com/solo-io/go-utils/blob/master/testutils/helper/curl.go#L61
https://github.com/odeke-em/youtube-popular-bot/blob/master/cmd/youtube-popular-bot/main.go#L110
https://github.com/influxdata/influx-stress/blob/master/cmd/insert.go#L119

Found those examples using Google search string: intext:"time.Tick(" ext:go site:github.com

This is closely related to #19702 (see https://github.com/golang/go/issues/19702#issuecomment-290855582 and its reply), in that it addresses an empirical mismatch between users' assumptions about garbage collection for time.Ticker and the actual GC behavior as implemented.

Perhaps not exactly what this issue is about, but I want to mention https://golang.org/cl/214999, which is an attempt to garbage collect unreferenced tickers.  It may be possible to get that CL into 1.15.

That changeset is nice, but it just removes the symptoms and it also bloats the runtime, just like if we add garbage collection of goroutines.
Now that I am thinking that it's not just an issue about time.Tick(), it may be better if we use static analysis to check if the goroutine can exit without stopping a Ticker.

Bloating the runtime is a valid complaint, but you write "removes the symptoms" as though that is a bad thing.  It seems to that removing the symptoms is equivalent to removing the problem.

Ok, you are right.

Proposal withdrawn.


fail2ban for mailserver

Classification

[X] Question

Reproducibility

[X] Always

Description
Can you insert the fail2ban to the mailserver?
I think it would be nice to block the fault logins/hacking from other destinations.

fail2ban is outside the scope of this project, I need to keep it easy to maintain. Personally, I prefer Ossec to protect my mailserver. I use it for years outside of my container, in host level.
Ossec : https://github.com/ossec/ossec-hids
Ossec fork (Wazuh) : https://github.com/wazuh/wazuh

I would not like to see fail2ban as a base supply if any other fail2ban alternative is possible.

@hardware Is there any general guidelines that you can share? Like the rules?
I would like to test it...
[]'s

I have done it now outside the docker container on the docker-host.
The changed rules and filters are attched.
docker-action.conf.txt
dovecot-docker.conf.txt
jails.conf-rules.txt
postfix-docker.conf.txt
postfix-sasl-docker.conf.txt
Remark: After start/restart the docker container, you should restart the fail2ban. This is needed, because the docker can get a new container storage and then the logfiles are located on another position.

Remark: After start/restart the docker container, you should restart the fail2ban. This is needed, because the docker can get a new container storage and then the logfiles are located on another position.

Probably is easy to bind mount the logs from the container to the host and make it use a fixed path.
I'll take a closer look later, I let you know if I found something useful ;)
Anyhow, thanks.
[]'s


Make redshift grid consistent

Bug report
lephare defines the redshift grid in the config para file. RAIL additionally specifies the grid via stage params. Shall I overwrite the config values so that the grid can be set through RAIL params? Presently rail_lephare is using the values in the config file which could be inconsistent.
@aimalz What do you think?
Before submitting
Please check the following:

[x] I have described the situation in which the bug arose, including what code was executed, information about my environment, and any applicable data others will need to reproduce the problem.
[x] I have included available evidence of the unexpected behavior (including error messages, screenshots, and/or plots) as well as a descriprion of what I expected instead.
[x] If I have a solution in mind, I have provided an explanation and/or pseudocode and/or task list.

Good catch! It would be best for users to specify this kind of thing when creating the stage. That's probably true for everything in the config file; ideally, the config file could be written by the stage to which its parameters are provided so RAIL users could run LePhare without a separate config outside of RAIL stage arguments. Does that make sense?

Yes definitely makes sense I will overwrite the lephare config and think about warning the user.


Fixed prototypes, added a missing header to the install rule, and removed an unused variable.

See commit log.  The applied changes were necessary to allow building on my M2 with Mac OS using the default toolchain.

Thank you !


Bugfixes, improvements and new symbols/nosymbols option for all styles

Bugfixes, improvements and new symbols/nosymbols option for all styles

fix Researcher ID (still) doesn't display Issue #29.
make options 'symbols' and 'nosymbols' available to all styles to toggle whether
symbols should be used or not. Include symbols in oldstyle by default.
migrate older newcommand syntax in moderncvcollection.sty to the xparse syntax.
Fix resumé typo in template. Is now résumé.
remove loading lmodern fonts in all styles as they can produce issues with
german characters, see https://tex.stackexchange.com/questions/496630/lualatex-problems-with-german-characters.
remove loading inputenc package by default. Only load the package when pdflatex is
used.

Btw you can close issues with PRs automatically if you write Close #29 in the description of the PR.
Will take a look at it tmw.

Btw you can close issues with PRs automatically if you write Close #29 in the description of the PR.
Will take a look at it tmw.

ah nice, thanks.

ah nice, thanks.


CharacterManager caches invalid responses

Currently the CharacterManager is caching invalid character responses.
Scenario:
Brand new player is requested from Census, world ID is missing (BR 0). CharacterManager considers this a valid response (it currently isn't able to detect if a response is invalid in that manner) and continues to serve an invalid response.

I don't think it is possible to verify this, as it depends on the request object. It also means that whatever you do it requires more logic, which is not necessarily a good thing.


Vitest failing with "Error: require() of ES Module" with @visx/scale -package, even when package is inlined

Describe the bug
Running vitest for file including import from @visx/scale -package fail with:
Error: require() of ES Module<EMAIL_ADDRESS>from /.../node_modules/.pnpm/@visx+scale<EMAIL_ADDRESS>not supported.
Instead change the require of index.js in /.../node_modules/.pnpm/@visx+scale<EMAIL_ADDRESS>to a dynamic import() which is available in all CommonJS modules.

I added @visx/scale to deps.inline config, but error still occurs. I have not been able to figure out config which would let me run the tests. Actual building and running of the specified code with vite is working fine.
Perhaps the @visx -packages are somehow wrongly configured, but if those are working fine in dev and production, perhaps there should be way to configure vitest to work with them also?
Reproduction
https://github.com/diginikkari/visx-scale-esm-issue
System Info
System:
    OS: macOS 13.1
    CPU: (16) x64 Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
    Memory: 3.54 GB / 32.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.19.0 - ~/.volta/tools/image/node/16.19.0/bin/node
    Yarn: 3.3.0 - ~/.volta/tools/image/yarn/4.0.0-rc.35/bin/yarn
    npm: 8.19.3 - ~/.volta/tools/image/node/16.19.0/bin/npm
    Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 109.0.5414.87
    Firefox: 108.0.2
    Safari: 16.2
  npmPackages:
    @vitejs/plugin-react: ^3.0.1 => 3.0.1
    @vitest/coverage-c8: ~0.28.1 => 0.28.1
    @vitest/ui: ^0.28.1 => 0.28.1
    vite: ^4.0.4 => 4.0.4
    vitest: ^0.28.1 => 0.28.1

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

@visx/scale has an incorrect package.json that resolved package entry always to cjs file. Try adding an alias to esm:
// vitest.config.ts
export default {
  test: {
    alias: [{ find: /^@visx/scale$/, replacement<EMAIL_ADDRESS>}]
  }
}

@visx/scale has an incorrect package.json that resolved package entry always to cjs file. Try adding an alias to esm:
// vitest.config.ts
export default {
  test: {
    alias: [{ find: /^@visx/scale$/, replacement<EMAIL_ADDRESS>}]
  }
}

Or you can also add "module" field to "resolve.mainFields".

I'm having the same issue on<EMAIL_ADDRESS>However adding this alias results in the following error:
$ vitest Analytics.test.tsx
✘ [ERROR] Syntax error "c"

    vite.config.ts:37:23:
      37 │       { find: /^@visx/scale$/, replacement<EMAIL_ADDRESS>}

vite.config.ts:37:23:
  37 │       { find: /^@visx/scale$/, replacement<EMAIL_ADDRESS>}

It doesn't seem to parse the regex.

 /^@visx/scale$/ is not a valid regex right? can you see it ..., looks like github possibly removed the escape of /, so you want
 /^@visx\/scale$/


cdk multicloud blog

Issue #, if available:
Description of changes:
Adding a CDK blog to the Community Blog posts
Using AWS CloudFormation and AWS Cloud Development Kit to provision multicloud resources
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thank you. All requested changes made.
From: Matthew Bonig @.>
Reply to: cdk-dev/website @.>
Date: Monday, 18 September 2023 at 11:28 am
To: cdk-dev/website @.>
Cc: "Sempf, Aaron" @.>, Author @.***>
Subject: Re: [cdk-dev/website] cdk multicloud blog (PR #153)
@mbonig requested changes on this pull request.

In frontend/content/posts/aws-cdk-multicloud-solutions/index.ymlhttps://github.com/cdk-dev/website/pull/153#discussion_r1328186160:

@@ -0,0 +1,12 @@

+title: "Using AWS CloudFormation and AWS Cloud Development Kit to provision multicloud resources"
+excerpt: "Customers often need to architect solutions to support components across multiple cloud service providers. In this post, you will learn how to use the AWS CDK to create a single pane of glass for managing your multicloud resources."
+authorIds:

aaron-sempf

+url: https://aws.amazon.com/blogs/devops/using-aws-cloudformation-and-aws-cloud-development-kit-to-provision-multicloud-resources/
+createdAt: "2022-05-07 14:00"
⬇ Suggested change
-createdAt: "2022-05-07 14:00"
+createdAt: "2023-09-08 00:00"
to match the source timestamp
—
Reply to this email directly, view it on GitHubhttps://github.com/cdk-dev/website/pull/153#pullrequestreview-1630185339, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUTSRBGBIWX35UUKNAKOHWDX26PTLANCNFSM6AAAAAA4377TG4.
You are receiving this because you authored the thread.Message ID: @.***>

Thank you for submitting!


fix(options-menu): added support for groups and titles

fixes https://github.com/patternfly/patternfly-next/issues/2361

PatternFly-Next preview: https://patternfly-next-pr-2403.surge.sh

Very nice, LGTM!

@mattnolting updated

@mattnolting I think you can merge this one if you're OK with it.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


refactor(checks): migrate of some AWS services to Rego

Services: accessanalyzer, anthena, cloudfront, codebuild, config, documentdb, dynamodb
Related PRs:

https://github.com/aquasecurity/trivy-checks/pull/191
https://github.com/aquasecurity/trivy-checks/pull/192

Closed if favour of  https://github.com/aquasecurity/trivy-checks/pull/197


Add translation links to all README's

Issue #70

Thanks for the PR. I want to keep the translation links just on the main README file as that's the most likely entry point where a reader can select a different language.


Disable samza counters

Samza started failing after we started checking post job counters, so, filtering out those and other failing tests as Portable Samza continues development.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.


trino: Advisory for CVE-2023-34062

Package PR: https://github.com/wolfi-dev/os/pull/9096

Hm, I wonder how CI validation passed. Looks like merge queue validation caught that the package didn't exist yet

The package is in the index now, so retrying... 🤞


Fix NPE in GradebookService. Sort order may be null if not previously set.

NOJIRA for this, minor fix.

Might this want to get merged back to 10.x or does it only affect trunk?

It's only trunk, I added this method a few weeks ago so you can change the sort order of a GB item through the API.


To create directory

Do we need to create the directory ".github/workflows/filename.yml" to the main repository or to own repository?

We need to create the directory on our own repository after checking if it already exits or not?

it should be done in ur own repo, as I believe.

If it is true, how could we able to see the github actions for the issues created?

@tirthbha Did you create it on the main repo?

@poojashresthacode I did in my own repo and then sent a merge request to the main.

Okay.


ddl resolved ts not advance for 2 min

Bug Report

What version of TiKV are you using?
/ # /tikv-server -V
TiKV
Release Version:   6.5.6
Edition:           Community
Git Commit Hash:   08a6a0f6d6180c01a33b9b3973111d69533269eb
Git Commit Branch: heads/refs/tags/v6.5.6
UTC Build Time:    2023-12-05 04:00:45

What operating system and CPU are you using?
X86, K8S
Steps to reproduce

Deploy TiDB with CDC, with enable-resolved-ts-stuck-detection = true

bash-5.1# cat /etc/ticdc/ticdc.toml
log-file = "/var/lib/ticdc/log/ticdc.log"

[debug]
  [debug.puller]
    enable-resolved-ts-stuck-detection = true
    resolved-ts-stuck-interval = "2m"

Create changefeed and pause it.
run workload

sysbench --db-driver=mysql --mysql-host=xxx` --mysql-port=4000 --mysql-user=root --mysql-db=workload --tables=1 --table-size=500000000 --create_secondary=off --debug=true
 --threads=100 --mysql-ignore-errors=2013,1213,1105,1205,8022,8027,8028,9004,9007,1062 oltp_read_write prepare

resume changefeed
run workload

sysbench --db-driver=mysql --mysql-host=xxx  --mysql-port=4000 --mysql-user=root --mysql-db=workload --tables=1 --table-size=500000000 --create_secondary=off --time=18000
 --debug=true --threads=100 --mysql-ignore-errors=2013,1213,1105,1205,8022,8027,8028,9004,9007,1062 oltp_read_write run

What did you expect?
resolved ts should advances normally
What did happened?
ddl resolved ts not advance for 2min

Likely the duplicate with https://github.com/pingcap/tiflow/issues/11015. Closing


[Question] How to pass any attribute to the component

How can I pass any attribute to the component? Maybe something is wrong with my typescript configuratin, but I can't pass anything other then props that are provided by the component and a few common attributes like "style" as "key".

For example, if I try to pass the "src" value to a component, typescript gives the following error:
Type '{ class: string; src: string; }' is not assignable to type 'IntrinsicAttributes & { as?: AsTag | undefined; class?: unknown; readonly asChild?: boolean | undefined; key?: string | number | symbol | undefined; ref?: VNodeRef | undefined; ... 8 more ...; style?: unknown; }'.
  Property 'src' does not exist on type 'IntrinsicAttributes & { as?: AsTag | undefined; class?: unknown; readonly asChild?: boolean | undefined; key?: string | number | symbol | undefined; ref?: VNodeRef | undefined; ... 8 more

When I use sfc template I can pass anything to the component, but with jsx I can't do that.
Here is my tsconfig.
{
	"compilerOptions": {
		"target": "ES2020",
		"useDefineForClassFields": true,
		"module": "ESNext",
		"lib": ["ES2020", "DOM", "DOM.Iterable"],
		"skipLibCheck": true,

		/* Bundler mode */
		"moduleResolution": "bundler",
		"allowImportingTsExtensions": true,
		"resolveJsonModule": true,
		"isolatedModules": true,
		"noEmit": true,
		"jsx": "preserve",
		"jsxImportSource": "vue",

		/* Linting */
		"strict": true,
		"noUnusedLocals": true,
		"noUnusedParameters": true,
		"noImplicitReturns": true,
		"noFallthroughCasesInSwitch": true,
		"noUncheckedIndexedAccess": true,
		"allowUnreachableCode": false,
		"noImplicitThis": true,
		"forceConsistentCasingInFileNames": true,
		"noImplicitAny": true,
		"paths": {
			"#/*": ["./src/*"],
			"#generated/*": ["./generated/*"]
		}
	},
	"include": [
		"src/**/*.ts",
		"src/**/*.d.ts",
		"src/**/*.tsx",
		"src/**/*.vue",
		"generated/**/*.ts",
		"generated/**/*.d.ts"
	],
	"references": [{ "path": "./tsconfig.node.json" }]
}

Would appreciate any help 😄!

@MellKam
Code example to pass attrs to component:
https://github.com/funny-family/vue3-ts-playground/blob/master/src/app/shared/components/text-field/text-field.component.ts#L24
https://github.com/funny-family/vue3-ts-playground/blob/master/src/app/components/not-found/not-found.component.tsx#L190


A bug in the second model?

The codes in the article  Advanced dynamic seq2seq with TensorFlow (In [13])
encoder_outputs = tf.concat((encoder_fw_outputs, encoder_fw_outputs), 2)
should be
encoder_outputs = tf.concat((encoder_fw_outputs, encoder_bw_outputs), 2)
isn't it?

Yes, fixed it, thanks. It didn't affect anything, concatenated encoder_outputs are not used anywhere. It would if you implement attention.


Remove the need for  for form inputs

Label's are pretty much the devil on mobile. Let's remove them so we can take more control over the web view scroll and focus that happens with labels.
We do this well in v2 but should backport for 1.2
Follow here: https://github.com/driftyco/ionic/tree/wip-no-labels

Working.


Bug fixes and Javadoc

I'm just going through every file and am adding javadoc comments.
Also, some bugs have been fixed :) - see the individual commits for info...

Javadoc generated XD

@GamerJoep can you setup GitHub pages for Javadoc when this is merged?


Add support for arbitrary data mapping

add a data-map attribute that accepts json? Could also just see it accepting an array of key-value pairs. Could also allow selectors with the element as a scope.
something like:
OnUpdate(el){
For (map [key, pvname ])
El.querySelector(item) = machine.value(pvname)
}
or the simple version would just set like this:

I might also propose a more complex mapping, to accommodate all the other possibilities.
"[target attr]":{
"Data-var-name":"[pvname]",
"SourceUnits":"[unit type]",
"DisplayUnits": "[unit type]",
..
}

To clarify in the default case you are asking for data-map to map value (pv) to key (attribute) on the same element. So...
<ob-rudder-medium rudderAngle="0"
   rudderSetPointAngle="0"
   showPortStarboard="false"
   showSetPoint="false"
   data-map="{ 'rudderAngle' : 'tmplitTest:tmplit.Slider' , ' rudderSetPointAngle' : 'tmp1itTest:tmplit.Numericlnput' }"/>

Assuming variables tmplitTest:tmplit.Slider = 100 and tmp1itTest:tmplit.Numericlnput  = 200 Then
<ob-rudder-medium rudderAngle="100"
   rudderSetPointAngle="200"
   showPortStarboard="false"
   showSetPoint="false"
   data-map="{ 'rudderAngle' : 'tmplitTest:tmplit.Slider' , ' rudderSetPointAngle' : 'tmp1itTest:tmplit.Numericlnput' }"/>

Then if  'rudderAngle' : started with a {, you would parse it for additional information?

Yes, but actually.. I would parse it and check if the parsed value was a string or object. If it's a string we assume it's a PV, we f it's an object we get the parameters from the object


Win 11h2 KB5046633 22631.4460 1000.22700.1047.0 no not supported

No RDPConf screenshot, no termsrv.dll attached => no evidence, closing as invalid.


[HUDI-6138] Handled empty option for Hoodie Avro Record

Change Logs
Updated isDelete method in HoodieAvroRecord to handle deletes in DMS payload
Github Issue for Reference - https://github.com/apache/hudi/issues/8278
JIRA - https://issues.apache.org/jira/browse/HUDI-6138
Impact
No Major impact. It will avoid the Null Options error for DMS payload when empty record is coming for deletes.
Risk level
low
Documentation Update
N/A
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Azure CI has irrelevant failure.

@nsivabalan do you still have any concern?

is it not possible to write tests for this?

Working on a test now.

The root cause is that the code assumes that delete records are marked by "_hoodie_is_deleted"; however, custom CDC payloads uses op field to mark deletes, so the CDC delete payloads are not properly identified.

close in favor of https://github.com/apache/hudi/pull/8690


add novncproxy_host [WIP]

Not verified yet..

Depends on https://github.com/Mirantis/reclass-system-salt-model/pull/132

This is not backward compatible. This will break all our environments deployed without shared system reclass.


Input lost on back in browser

This is a general issue so the standard fiddle is enough since it happens all over.
When submitting a form with multiple inputs where one is a flatpicker with altInput and continuing to the next page, if the user then clicks back in the browser all other fields are pre-filled with their previous values but the flatpickr is empty at it's initial state.
Can anything be done to help this?
Also thanks for your excellent work!
https://jsfiddle.net/tj2Lo4z7/
Your Environment

flatpickr version used: 4.5.1
Browser name and version: Chrome 66
OS and version: macOS 10.13.4

Thanks for reporting! looks like it has issue with altInput. Will look into it.

@thepauljones I am using v. 4.6.3 on chrome 83 and what I see is the opposite: if altInput is enabled, the date field has "memory" of its value if I click "back" on the browser; if altinput is disabled, the date field is empty. Did I misinterpret your words or we are talking about two different issues?


SP5: Ellipse

Closes #3277

This is so great @hockerschwan, thanks so much! 🚀 I'll merge shortly 😄


Fiverr not loading correctly

Pack Name: Unified

Domain(s):
assetsv2.fiverrcdn.com
npm-assets.fiverrcdn.com

Your Config:

Client: Pi-hole
Version: 21.02.040

Details:
I don't see any reason for it to be blocked. Website is broken as well without a connection to these 2 domains.

Fixed