fix: send piece result error not handled

Signed-off-by: Jim Ma<EMAIL_ADDRESS>
Description

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist:

[ ] Code compiles correctly.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

Merging #987 (ae4aa4a) into main (ed14688) will decrease coverage by 0.00%.
The diff coverage is 29.54%.

@@            Coverage Diff             @@
##             main     #987      +/-   ##
==========================================
- Coverage   45.65%   45.64%   -0.01%
==========================================
  Files         129      129
  Lines        9002     9010       +8
==========================================
+ Hits         4110     4113       +3
- Misses       4427     4437      +10
+ Partials      465      460       -5

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
45.64% <29.54%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

client/daemon/peer/peertask_conductor.go
53.21% <29.54%> (+0.08%)
:arrow_up:

cdn/supervisor/progress/progress.go
91.04% <0.00%> (-5.98%)
:arrow_down:

client/daemon/peer/piece_broker.go
81.48% <0.00%> (-3.71%)
:arrow_down:

pkg/sync/krwmutex.go
86.36% <0.00%> (+4.54%)
:arrow_up:

pkg/sync/kmutex.go
100.00% <0.00%> (+16.66%)
:arrow_up:


Support single-file outputs

It would be pretty cool if there was an option to output an HTML file with the JS shim and WASM embedded in the HTML (e.g. base64 encoded) rather than as separate files.
The same could potentially be done for images and CSS.

What advantages would this provide?
The discussion about separating html, css, images, videos and javascript or putting them all in one file have been discussed for ages. There's a reason this separation exists.
As far as I know RFC 7540 multiplexing in the nowaday de-facto standard version HTTP/2 removes the need for this.

That actually does make sense.
I wonder if there's an external tool that can do that combining step. It'd be preferable to use that compared to implementing it in trunk imo. Feature creep is quite the deamon.

I think it probably could for images and CSS, since they're pretty easy to embed as data: URLs or inline.
But the WASM requires base64 encoding (or similar) and it also requires changes to the the Javascript that loads it. I did hack it to work like that manually and it worked pretty well.
One little gotcha: the JS that Trunk uses allows you to load the WASM module synchronously, but that only works in Firefox. Chrome will refuse if the WASM is more than 16 kB or something like that.

Interesting restraint. Does it work on safari?

This feature would still be useful.

re: @github-actions
@thedodd Would it be possible to obtain an exemption from the automated housekeeping? Although the feature proposed here may currently be out-of-scope for the current roadmap, it's nevertheless desirable.

:hankey:


[Question] Administration how it works?

So i've installed the cms in debug mode, how it works the administration system to add my own animes

Adding an Anime:
https://www.youtube.com/watch?v=8zucsJ3nJPY
Crawling & Populating an anime:
https://www.youtube.com/watch?v=1ND9NB5C448

Okay then how i grab the language?

not sure what you mean by that! Language of titles ? episodes ? from the api i'm only grabbing the english titles, you would have to check if there is other titles in other languages or for the episodes you would need to implement your own crawler / parser for the website with episodes in other languages.

okay, then i will try to do it and thanks :)

now it's just not working anymore :( the parser it need's to be modified for the new tvdb

[Symfony\Component\Debug\Exception\ContextErrorException]
Warning: file_get_contents(http://thetvdb.com/api//series/289906/all/en.xml): failed to open stream: HTTP request f
ailed! HTTP/1.1 404 Not Found

it looks to me that you are missing your api key! you need to introduce it on your parameters.yml file. Create an account on thetvdb and grab an api key.


PROD instance seems to be completely down

I am getting a 500 error for any query I send to https://spokekp.transltr.io/api/v1.4/query

@maximusunc , can you try again? Maybe it was a temporary ITRB infrastructure issue? My test queries are behaving normally.

Okay thank you, I'll take a look.


Adding variables to partmesh and surfmesh

What you have is a reasonable starting point, but not quite what I had in mind. I imagined that it'd be better to have a routine that adds only a single variable, that's only given a variable name. It would also have to ensure that the previous names for already existing variables are untouched. It seems to me that, while a little less capable than what you have now, it'd be much safer since it'd prevent the user from ever deleting a variable that's assumed by a solver to exist.

Alright, two more comments:
1- I think the var name shouldn't be optional
2- You should use the somewhat more modern move_alloc concept for increasing the array sizes
allocate(tmp(size_new))
tmp(1:size_now)=data
tmp(size_now+1:)=new_stuff
call move_alloc(tmp, data)


How to get return from an async function

Inspired by your crate, I want to use Rust to provide completion list for the cargo add command so that user can easily get available version when they type @ and get available features when they input -F through the neovim command line.
I have wrote some simple code to get crate information from crates.io, but now I stuck at not knowing how to return result from async function.
Here is my current implementation: https://github.com/Avimitin/cargo-add-cmp.nvim/blob/master/src/lib.rs#L99. I don't know how to await it and return the list of result as Lua api.

Check out this example.

Sorry for bothering you, but I am still feeling confused about some details:

Is this thread keep running with the neovim(the example seems like it is running as a background daemon), if it is, is that mean that I need to handle the thread management?
The completion list need a function (fn (String, String, usize) -> Vec<String>) to return list of completions, I still can't find out a way to achieve this approach (unless I block the async code, but I don't know if it will block the command line)

the spawned thread will run until completion (in the example I linked it never completes because of the loop {..}). I'm not sure what you mean by "thread management". If you don't care about the return value of the spawned thread (() in the example), you can just drop the thread::JoinHandle,

I'm not really sure what you're trying to do tbh. Who's gonna call that function at runtime? If it gets called by Lua you have to block the UI thread. If you're provided a callback that you can use when you have the result you need (probably coming from some async IO if you're using tokio) then you can spawn a new thread, do your IO there, send the result to the main thread when you're done and trigger the function that you need to run via AsyncHandle::send.

Thanks for your patient guidance, I will try to implement this.

I'll close this issue, if you're still experiencing problems feel free to open a new discussion.


element.scrollIntoView({ behavior: 'smooth' }) does not work in perfect scrollbar

If you use just element.scrollIntoView() it will work. But you can't make it smooth using element.scrollIntoView({ behavior: 'smooth' }
perfect-scrollbar JSFiddle
This issue was noticed in https://github.com/mdbootstrap/perfect-scrollbar/issues/717#issuecomment-344232767 but was never handled

looks like it's caused by not being shown: a .trigger("mouseover") before scrollIntoView worked for me


Complete quoting for parameters of some CMake commands

Some parameters (like "${CMAKE_CFG_INTDIR}" and "${BOND_INCLUDE}/bond/core/bond.bond") are passed to CMake commands in your build scripts without enclosing them by quotation marks. I see that these places will result in build difficulties if the contents of the used variables will contain special characters like semicolons.
I would recommend to apply advices from a wiki article.

I'm not able to reproduce the issue, probably not because there isn't one, but because other components fails with paths that would lead to the problem.
On Windows git fails to clone repo with submodules into directory with a semicolon in it. Path with spaces are fine and the Bond project build w/o problems.
On Mac/Linux cmake completely doesn't work with paths that have semicolon or space. If binary directory has those characters cmake fails in Modules/CMakeDetermineCompilerId.cmake:90, before it even starts processing any Bond specified paths. If only source directory has those characters then cmake fails to include modules, even when path added to CMAKE_MODULE_PATH are quoted.
W/o a specific repro I'm going to close this issue. In theory could just proactively quote things but given that cmake has a lot of idiosyncrasies I don't want to be making "fixes" I can't verify.
If you encounter a specific problem please reopen with repo instructions. Thanks.


[feature request] - Hot Module Replacement

Hey,
was trying out Dioxus. looks excellet so far really well done 👍
was thinking is there any way dioxus support HMR? tools like tauri
rely on other dev server to provide updated code immediately
but not sure if same can be achieved with dioxus? since on every
change closing app and reopening is a bit tedious!

Would you be interested in HMR for Web only, or Desktop/Mobile too?

Currently I am working on Desktop application. not really sure how the requirement will be for others.

I am working on Desktop as well, and would love to have HMR. I wonder if it's more difficult to implement in Desktop than Web?

Just wanted to let you know that HMR is coming in the next release of Dioxus for both Desktop and Web!


Added Introduction section with pre-clip and post-clip sections

I still need to make it more educational I think but here's a draft.

Good for me


To include GENERIC_RESPONSE_PROFILE instance for the release "2.1.1"

For each entry in the release history list in the http-server-capability , there will be a GENERIC_RESPONSE_PROFILE for the API /v1/inform-about-release-history-in-generic-representation ,
In the current config file , for release "2.1.1" , the GENERIC_RESPONSE_PROFILE entry is missing.
Proposing to include the following GENERIC_RESPONSE_PROFILE instance(that points to the 2nd index of the release-history array)
[{
                   "uuid": "okm-2-1-0-response-p-009",
                   "profile-name": "response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE",
                   "response-profile-1-0:response-profile-pac": {
                       "response-profile-capability": {
                           "operation-name": "/v1/inform-about-release-history-in-generic-representation",
                           "field-name": {
                               "field-name-reference": "/core-model-1-4:control-construct/logical-termination-point=okm-2-1-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-list=2/release-number"
                           },
                           "description": "List of release numbers and changes",
                           "datatype": "string"
                       },
                       "response-profile-configuration": {
                           "value": {
                               "value-reference": "/core-model-1-4:control-construct/logical-termination-point=okm-2-1-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-list=2/changes"
                           }
                       }
                   }
               }]

Covered in pull-request #360


Add functionality to remove callbacks from CISAdapter

Currently there is no function to remove a callback from the CISAdapter.
The CISAdapter itself is implemented using the singleton pattern. Therefore it is difficult to reset the adapter to his original state. However this is problematic for my automatic tests.
I suggest to add a removeCallback(IAdapterCallback) function to the CISAdapter.
Is there a reason that encourages the using of the singleton pattern for the CISAdapter?

Hey @thoobr I run into this issue as well when writing integration tests for the java adapter.
There is no way to 'reset' the CISAdapter, and because it is a singleton pattern the state is maintained between consecutive tests with no way to start with a clean adapter.


fix race conditions when registering agents

There are two race conditions in the logic around registering agents that occurs if the host being registered has a different ID than what is already stored in ZooKeeper.
Combined, these can cause newly-reinstalled hosts (e.g. the host has been reformatted and had it's OS reinstalled) to get stuck in a loop where they will never be able to register if the reinstall process took less than the zkRegistrationTTL (which defaults to 10 minutes).
race condition one
This race condition occurs when an agent with a hostname collision (it has the hostname of an agent already registered in Zookeeper but it's id does not match) attempts to register itself.
If the automatic-deregistration logic does not kick in, AgentZooKeeperRegistrar attempts to shut down the AgentService and therefore the agent itself.
However the HostInfoReporter and AgentInfoReporter have already been started asynchronously by the AgentService. The HostInfoReporter in particular overwrites the existing data at /status/hosts/<hostname>/hostinfo with the HostInfo of the hostname with the collision (and which is about to be shut down).
Overwriting the /status/hosts/<hostname>/hostinfo path causes it's mtime to be updated. This is the same exact mtime that AgentZooKeeperRegistrar uses to decide if enough time has passed to do the automatic deregistration of the old node.
This can cause the new agent (for instance, after reinstalling the operating system) to get stuck in a loop where it tries to register, fails, shuts down, and is restarted by Upstart. This loop will never end because of the race condition that will bump the mtime of the Znode (which seems to win the race at least once every few iterations).
To fix this, introduce a new type of InterruptingScheduledService that awaits on a CountDownLatch before executing it's task. This class is then extended by HostInfoReporter, LabelReporter, etc. This avoids having to add code to each of these Reporters to block on the latch before executing their task. LabelReporter and EnvironmentReporter already have this behavior.
race condition two
If the AgentZooKeeperRegistrar cannot register the agent because of a hostname conflict, it attempts to shut down the AgentService and exits itself; however, the ZooKeeperRegistrarService counts down on the "registration signal" latch anyway, unblocking any reporters waiting on it.
This PR changes ZooKeeperRegistrar so that it has to return if it was able to register or not. When registration is not successful, ZooKeeperRegistrarService backs off and retries later (as it already does for Zookeeper exceptions). The registration signal is only counted-down on an actual successful registration, preventing possible race conditions with any threads that might be waiting on that signal to do work in Zookeeper that should only proceed when registration is successful.
This causes the agent registration to be retried after some delay, according to ZooKeeperRegistrarService's retry policy, so that it can eventually succeed (or at least keep trying). The AgentService (and the agent itself) is no longer terminated when registration collisions occur.

Current coverage is 47.26%

Merging #870 into master will decrease coverage by -0.33% as of 6e22c2e

@@            master    #870   diff @@
======================================
  Files          270     269     -1
  Stmts        12696   12597    -99
  Branches      1612    1599    -13
  Methods          0       0
======================================
- Hit           6043    5954    -89
+ Partial        456     453     -3
+ Missed        6197    6190     -7

Review entire Coverage Diff as of 6e22c2e

Powered by Codecov. Updated on successful CI builds.

I made sure the new behavior is tested in unit tests but I did not add any system tests as I am not really sure how to reliably reproduce the race condition or assert that they have been fixed.

This is what the log output from the agent looks like with this change when the ID has changed from what is already registered in ZooKeeper:
  ___ ___         .__  .__                  _____                         __
 /   |   \   ____ |  | |__| ____  ______   /  _  \    ____   ____   _____/  |_
/    ~    \_/ __ \|  | |  |/  _ \/  ___/  /  /_\  \  / ___\_/ __ \ /    \   __\
\    Y    /\  ___/|  |_|  (  <_> )___ \  /    |    \/ /_/  >  ___/|   |  \  |
 \___|_  /  \___  >____/__|\____/____  > \____|__  /\___  / \___  >___|  /__|
       \/       \/                   \/          \//_____/      \/     \/

13:04:02.519 helios[75898]: INFO  [AgentService STARTING] SetUIDListener: Opened application@1b957672{HTTP/1.1}{<IP_ADDRESS>:5803}
13:04:02.520 helios[75898]: INFO  [AgentService STARTING] SetUIDListener: Opened admin@20f0ff7a{HTTP/1.1}{<IP_ADDRESS>:5804}
13:04:02.526 helios[75898]: WARN [Reactor(zk-client-async-init)] AgentZooKeeperRegistrar: Another agent already registered as 'mattbrown-air.local' (local=22F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229 remote=92F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229). That agent's registration expires in 106 seconds
13:04:02.526 helios[75898]: INFO  [Reactor(zk-client-async-init)] ZooKeeperRegistrarService: registration not successful, sleeping for 1 seconds
13:04:02.530 helios[75898]: INFO  [AgentService STARTING] Server: jetty-9.0.z-SNAPSHOT
13:04:02.720 helios[75898]: INFO  [AgentService STARTING] WebApplicationImpl: Initiating Jersey application, version 'Jersey: 1.18.1 02/19/2014 03:28 AM'
13:04:02.864 helios[75898]: INFO  [AgentService STARTING] DropwizardResourceConfig: The following paths were found for the configured resources:

    GET     /helios/tasks (com.spotify.helios.agent.AgentModelTaskResource)
    GET     /helios/taskstatus (com.spotify.helios.agent.AgentModelTaskStatusResource)

13:04:03.354 helios[75898]: INFO  [AgentService STARTING] ContextHandler: Started i.d.j.MutableServletContextHandler@1c1841f9{/,null,AVAILABLE}
13:04:03.358 helios[75898]: INFO  [AgentService STARTING] AdminEnvironment: tasks =

    POST    /tasks/gc (io.dropwizard.servlets.tasks.GarbageCollectionTask)

13:04:03.371 helios[75898]: INFO  [AgentService STARTING] ContextHandler: Started i.d.j.MutableServletContextHandler@480a9a74{/,null,AVAILABLE}
13:04:03.377 helios[75898]: INFO  [AgentService STARTING] ServerConnector: Started application@1b957672{HTTP/1.1}{<IP_ADDRESS>:5803}
13:04:03.378 helios[75898]: INFO  [AgentService STARTING] ServerConnector: Started admin@20f0ff7a{HTTP/1.1}{<IP_ADDRESS>:5804}
13:04:03.620 helios[75898]: WARN [Reactor(zk-client-async-init)] AgentZooKeeperRegistrar: Another agent already registered as 'mattbrown-air.local' (local=22F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229 remote=92F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229). That agent's registration expires in 104 seconds
13:04:03.620 helios[75898]: WARN  [Reactor(zk-client-async-init)] ZooKeeperRegistrarService: registration not successful, sleeping for 1 seconds
13:04:05.519 helios[75898]: WARN [Reactor(zk-client-async-init)] AgentZooKeeperRegistrar: Another agent already registered as 'mattbrown-air.local' (local=22F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229 remote=92F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229). That agent's registration expires in 103 seconds
13:04:05.519 helios[75898]: WARN  [Reactor(zk-client-async-init)] ZooKeeperRegistrarService: registration not successful, sleeping for 3 seconds
13:04:09.228 helios[75898]: WARN [Reactor(zk-client-async-init)] AgentZooKeeperRegistrar: Another agent already registered as 'mattbrown-air.local' (local=22F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229 remote=92F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229). That agent's registration expires in 99 seconds
13:04:09.228 helios[75898]: WARN  [Reactor(zk-client-async-init)] ZooKeeperRegistrarService: registration not successful, sleeping for 7 seconds
13:04:16.371 helios[75898]: WARN [Reactor(zk-client-async-init)] AgentZooKeeperRegistrar: Another agent already registered as 'mattbrown-air.local' (local=22F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229 remote=92F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229). That agent's registration expires in 92 seconds
13:04:16.371 helios[75898]: WARN  [Reactor(zk-client-async-init)] ZooKeeperRegistrarService: registration not successful, sleeping for 17 seconds
13:04:33.743 helios[75898]: WARN [Reactor(zk-client-async-init)] AgentZooKeeperRegistrar: Another agent already registered as 'mattbrown-air.local' (local=22F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229 remote=92F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229). That agent's registration expires in 74 seconds
13:04:33.743 helios[75898]: WARN  [Reactor(zk-client-async-init)] ZooKeeperRegistrarService: registration not successful, sleeping for 30 seconds
13:05:03.751 helios[75898]: WARN [Reactor(zk-client-async-init)] AgentZooKeeperRegistrar: Another agent already registered as 'mattbrown-air.local' (local=22F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229 remote=92F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229). That agent's registration expires in 44 seconds
13:05:03.751 helios[75898]: WARN  [Reactor(zk-client-async-init)] ZooKeeperRegistrarService: registration not successful, sleeping for 30 seconds
13:05:33.767 helios[75898]: WARN [Reactor(zk-client-async-init)] AgentZooKeeperRegistrar: Another agent already registered as 'mattbrown-air.local' (local=22F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229 remote=92F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229). That agent's registration expires in 14 seconds
13:05:33.767 helios[75898]: WARN  [Reactor(zk-client-async-init)] ZooKeeperRegistrarService: registration not successful, sleeping for 30 seconds
13:06:03.777 helios[75898]: WARN  [Reactor(zk-client-async-init)] AgentZooKeeperRegistrar: Another agent has already registered as 'mattbrown-air.local', but its ID node was last updated more than 120000 milliseconds ago. I'm deregistering the agent with the old ID of 92F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229 and replacing it with this new agent with ID '22F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229'.
13:06:03.795 helios[75898]: INFO  [Reactor(zk-client-async-init)] ZooKeeperRegistrarUtil: re-registering host: mattbrown-air.local, new host id: 22F5FBA85B0BAB5FF6C6F2B435D5D0D3F05DF229

13:06:03.853 helios[75898]: INFO  [Reactor(zk-client-async-init)] AgentZooKeeperRegistrar: ZooKeeper registration complete
13:06:03.853 helios[75898]: INFO  [Reactor(zk-client-async-init)] ZooKeeperRegistrarService: Successfully registered host in zookeeper

@spotify/helios-team
it might be easier to review each commit at a time

To fix this, introduce a new type of InterruptingScheduledService that awaits on a CountDownLatch before executing it's task.

InterruptingScheduledService == SignalAwaitingService?

Oh never mind. Just me getting confused by the wording in that sentence.

:+1: nice detective work and fixes!

nice tests

:+1:

checkstyle womp womp

I hit rebuilt enough times to finally get Circle back to green


ColorPicker moves to the right and down when I change tabs and then back

Godot version
4 release candidate 3
System information
win 11
Issue description
When I make a colorpicker as root node and then change tab and then change back, it's moved down and to the right.
Steps to reproduce

Make scene with colorpicker as root node
make another scene
switch back to first scene
switch to second scene
repeat 3-4

Minimal reproduction project
N/A

This is still an issue on rc4 and rc5. Also, here is a video demonstrating the problem.
https://user-images.githubusercontent.com/69117768/221259603-073028ba-b1d4-4539-bc3c-344c944158ed.mp4

Also on r2. And on 3.5.1???

This has been a bug for a very long time, I reported it a while ago here: #62937

Whoops


Unhandled 'error' event with json-server --watch

I'm having an issue with --watch option, it ends up with an Unhandled 'error' event error and it stops. Any ideas?
json-server -w db.json

I got:

{^_^}/ hi!
Loading db.json
Done
Resources
http://localhost:3000/users
Home
http://localhost:3000
Type s + enter at any time to create a snapshot of the database
Watching...
events.js:160
throw er; // Unhandled 'error' event
^
Error: watch node_modules/custom-event/.travis.yml ENOSPC
at exports._errnoException (util.js:1036:11)
at FSWatcher.start (fs.js:1429:19)
at Object.fs.watch (fs.js:1456:11)
at createFsWatchInstance (/home/hashem/.nvm/versions/node/v6.6.0/lib/node_modules/json-server/node_modules/chokidar/lib/nodefs-handler.js:37:15)
at setFsWatchListener (/home/hashem/.nvm/versions/node/v6.6.0/lib/node_modules/json-server/node_modules/chokidar/lib/nodefs-handler.js:80:15)
at FSWatcher.NodeFsHandler._watchWithNodeFs (/home/hashem/.nvm/versions/node/v6.6.0/lib/node_modules/json-server/node_modules/chokidar/lib/nodefs-handler.js:228:14)
at FSWatcher.NodeFsHandler._handleFile (/home/hashem/.nvm/versions/node/v6.6.0/lib/node_modules/json-server/node_modules/chokidar/lib/nodefs-handler.js:255:21)
at FSWatcher. (/home/hashem/.nvm/versions/node/v6.6.0/lib/node_modules/json-server/node_modules/chokidar/lib/nodefs-handler.js:473:21)
at FSReqWrap.oncomplete (fs.js:123:15)

i have same problem here... =|

If you using UBUNTU or some Debian distribution, try this in terminal:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Thank you @zarathon :smile:

Other than the workaround proposed by @zarathon - I've found that creating a directory and storing db.json there rather than in the home directory for that user works.

Thanks @zarathon, @olivierthereaux
I'll see if it's possible to better configure chokidar or use another approach

Should be good in v0.9.0

killall node
execute this command first then start your server again.


DR6: FWHM not being computed

Currently compute fwhm with tractor MoG fit IFF have stars with 10 < SN < 100
Instead do,

10 < SN < 100, if number stars >= 10, then compute fwhm
elif number < 10, then 10 < SN, if number stars >= 10, then compute fwhm
elif number < 10, compute fwhm on whatever stars they are

fixed: d16c37e1114e15317b2b0a71b45f3eb536ad30e7


Make the keyboard shortcuts Ctrl + Up/Down behave as Home/End (issue 7852)

It seems that for normal web pages, at least in Firefox, the keyboard shortcuts Ctrl + Up/Down are functionally equivalent to Home/End. This is obviously an edge-case, but can be easily implemented by using the same logic as we do for Home/End.
Fixes #7852.
Please note: I'm finding it slightly difficult to interpret issue #7852, and bug 1285719, since among other things: the title includes the word "reverse" with no other mention of it, and the STR makes reference to print preview which doesn't seem applicable to the PDF viewer.
However, compared to regular web pages in Firefox, I think the behavior of this patch makes sense here.

/botio-linux preview

Looks good, thank you! For what it's worth, this is also how I interpreted the original issue.


Favicons not showing

I've recently installed linkding on fly.io, using the instructions at https://github.com/fspoettel/linkding-on-fly.
Everything is working fine except the display of favicons. When I look at my list of bookmarks, they all show the 'image not found' image, like this:

I've ssh'd into the server, and checked, and the favicons are all present in the folder:
/etc/linkding/data/favicons# ls
https_austinhenley_com.png    https_en_m_wikipedia_org.png		 https_monotropism_org.png  https_www_bbc_co_uk.png		https_www_youtube_com.png
https_bellmar_medium_com.png  https_github_com.png			 https_spicer_app.jpg	    https_www_fourmilab_ch.png
https_bridgewater_nhs_uk.png  https_integrationbyparts_substack_com.png  https_www_andrewt_net.png  https_www_theamblingpath_co_uk.jpg

But when I go to the URL that is used in the bookmarks view, I get a 404 error. The image tag looks like `
The only thing I can see in the logs is:
2023-09-06 11:28:02,570 WARNING Not Found: /static/https_monotropism_org.png

Other things from the static folder are loading ok - like the linkding favicon itself.
Any ideas how I can debug this further?

Apologies, this wasn't an issue with linkding, but with the linkding-on-fly repo. I've submitted a PR there to fix it (https://github.com/fspoettel/linkding-on-fly/pull/6).


Added Google Analytics to mkdocs configuration

Type
enhancement

Description

Added Google Analytics configuration to mkdocs.yml, enabling tracking with a specific property ID (G-9LJSZ77MJF).

Changes walkthrough
Relevant filesEnhancement

mkdocs.ymlAdd Google Analytics to mkdocs Configuration

docs/mkdocs.yml
Added Google Analytics configuration with provider and property ID.

+3/-0

✨ PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

/improve


Add Adaptive to Noise Control and Conversation Awareness toggle.

Description

Added option to switch between Adaptive under Noise Control
Added command to toggle Conversation Awareness

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Then we just awaits @chrahe 🙂

Hey,
so sorry, I've been very busy with personal matters so I haven't really been able to keep up with this issue & PR. It looks good to me, thanks for taking on the extension update :)

It's so fine @chrahe - life is more important after all 🙂


xcp ref implementation

Notation
Data is a matrix $X\in\mathbb{R}^{p\times n}$. Each column is a $p$-dimensional vector sampled independently. The matrix  $X$ is assumed to be stored in column-major fashion.
xcp
Matrix of cross products is a $p\times p$ matrix whose $(i,j)$th entry is given by
$$C_{ij} = \sum_{k=1}^n(x_{ik}-\mu_i)(x_{jk}-\mu_j).$$
Here $x_{ik}$ is the $i$th component of the $k$th random vector.
The implementation requires this to be computed in batches of $X$, where the raw sum is passed between the batch computations. This can be done using the following:
Let $\mu'$ be the mean of the data until the previous batch and let $\mu$ be the mean including the data from current batch. Let $n'$ be the total number of data points until the previous batch and $S'$ be their sum (i.e., $\mu' = S'/n'$ and $\mu = S/n$).
Then the $(i,j)$ entry of $C$ can be computed using
$$C_{ij}\leftarrow C_{ij}+(\mu_j'-\mu_j)S_i' + (\mu_i'-\mu_i)S_j' + (\mu_i\mu_j-\mu_i'\mu_j')n' + \sum_{k=n'+1}^n(x_{ik}-\mu_i)(x_{jk}-\mu_j).$$
This can be simplified to
$$C_{ij} \leftarrow C_{ij} + \frac{S_i' S_j'}{n'} - \frac{S_i S_j}{n} + \sum_{k=n'+1}^n x_{ik}x_{jk}$$
or
$$C \leftarrow C + \frac{S'S'^t}{n'} - \frac{SS^t}{n} + XX^t$$
The level3 BLAS routine GEMM is used to compute the matrix products.

/intelci: run

/intelci: run

@KulikovNikita, were your comments addressed?

/intelci: run

/intelci: run

Can you provide details of the check that is failing?

Can you provide details of the check that is failing?

I suppose they are sporadic failures.


Lock the .database file on Linux

Evan Laforge reported that Shake does not lock the .database file on Linux, which means that you can run two concurrent copies of Shake against the same database, and they damage each other. Evan says: you can lock with files, which has a nice '80s feel to it, but there is also fcntl().  It looks like the stdlib has a binding to fcntl, though poorly documented:
import qualified System.Environment as Environment
import qualified System.Posix.IO as IO
import qualified System.IO as IO

main :: IO ()
main = do
    [fn] <- Environment.getArgs
    fd <- IO.openFd fn IO.ReadWrite Nothing IO.defaultFileFlags
    IO.waitToSetLock fd (IO.WriteLock, IO.AbsoluteSeek, 0, 0)
    print "locked"
    getLine
    return ()

This one blocks, you can also call IO.setLock and catch the exception
(ick) if it fails. Historically you would use lock files because fcntl wasn't reliable
over NFS, but I hear that has been fixed at some point.  I'm hardly an
expert though.

This breaks on Windows now - I think they loosened the semantics of openFile on Windows (now shared rather than exclusive), so I should come up with a cross-platform fix.

Random thought: If you rename a file that is in use elsewhere, does the other process automatically switch to the new name? Or fail? If it has detectable behaviour, might provide some safety.

Added and implemented for both Windows and Linux. Based on Evan's original code for Linux.

It would be nice to have that configurable. That prevents you from starting any long running processes from shake in one tab (such as ghcid) and doing regular compilation in another.

You mean so two processes are both working on the Shake database at the same time? The lock is there because without it the database gets corrupted - removing the lock wouldn't make it work. Having multi-process simultaneously is way more complicated because the two processes need to communicate a lot.

Not technically at the same time. One process starts, installs missing packages, deals with TH related stuff then creates command line for ghcid and starts it. After that nothing is going on in this process and I can use second one to actually compile things. It's been working like that for more than a year so there might be cases when both processes actually worked at the same time. I've seen no issues.

@pacak - OK, that makes sense. It sounds like invoking ghcid waits until ghcid exits, but you don't do any further build actions after that. I'd instead suggest to spawn ghcid after Shake returns, and after the Shake database has been closed. While what you have probably works most of the time, there's always the chance Shake will flush the database on the ghcid spawning process after you have done something else, and then the database will corrupt itself.

I'd instead suggest to spawn ghcid after Shake returns, and after the Shake database has been closed

Do you have any advice how to do this? The only thing I can think of is to forkIO and then run ghcid from the forked thread. And before forking set some MVar or such to indicate to the main thread that when shakeArgs completes it should block. Is there a simpler way?

Ok, this is what I've come up with:
main :: IO ()
main = do
    postBuildAction <- newIORef (pure ())
    let addPostBuild = \newAction ->
            liftIO $ atomicModifyIORef postBuildAction $ \a -> (a >> newAction, ())
    shakeBuild addPostBuild
    id =<< readIORef postBuildAction

shakeBuild :: (IO () -> Action ()) -> IO ()
shakeBuild addPostBuild = shakeArgs shakeOptions{shakeFiles=buildDir ++ "/"} $ do
    phony "ghcid" $ do
        -- Do whatever shake stuff you want
        -- ...
        addPostBuild $
            callProcess "ghcid" ["arg1", "arg2"]

Have you seen runAfter :: IO () -> Action () ? It's basically your postBuildAction - and in fact even the implementation is basically the same as you've sketched above.

Looks like runAfter was  recently added. Works like a charm! :+1:


Minor fixes to run some of your codes

Hello,
First of all, thank you for sharing your code!
I tried to reproduce results in your paper, and found there are two different "data" folders (one at user home, one at the same level of src folder), which caused some errors like FileNotFoundError
With my minor fixes (including README.md) and the following scripts, there will be only one data folder (at the same level of src folder), and we can complete tasks for SQuAD-doc, TriviaQA-wiki, and TriviaQA-open.
# Python 3.6 and torch==1.1.0 were used
export DATA_DIR=data/squad
export BERT_DIR=bert-base-uncased

python -m bert.run_squad_document_full_e2e \
  --vocab_file $BERT_DIR/vocab.txt \
  --bert_config_file $BERT_DIR/bert_config.json \
  --init_checkpoint $BERT_DIR/pytorch_model.bin \
  --do_train \
  --do_predict \
  --data_dir $DATA_DIR \
  --train_file train-v1.1.json \
  --predict_file dev-v1.1.json \
  --train_batch_size 16 \
  --learning_rate 3e-5 \
  --num_train_epochs 2.0 \
  --output_dir out/squad_doc/01

python -m bert.run_squad_document_full_e2e \
  --vocab_file $BERT_DIR/vocab.txt \
  --bert_config_file $BERT_DIR/bert_config.json \
  --do_predict_open \
  --data_dir $DATA_DIR \
  --output_dir out/squad_doc/01

python -m triviaqa.evidence_corpus --n_processes 8 --max_tokens 200
python -m triviaqa.build_span_corpus wiki --n_processes 8
python -m triviaqa.build_span_corpus unfiltered --n_processes 8

python -m triviaqa.ablate_triviaqa_wiki --n_processes 8 --n_para_train 12 --n_para_dev 14 --n_para_test 14 --do_train --do_dev --do_test
python -m triviaqa.ablate_triviaqa_unfiltered --n_processes 8 --n_para_train 12 --n_para_dev 14 --n_para_test 14 --do_train --do_dev --do_test
cp data/triviaqa/qa/wikipedia-dev.json data/triviaqa/wiki/
cp data/triviaqa-unfiltered/unfiltered-web-dev.json data/triviaqa/unfiltered/

export DATA_DIR=data/triviaqa/wiki
export BERT_DIR=bert-base-uncased

python -m bert.run_triviaqa_wiki_full_e2e  \
  --vocab_file $BERT_DIR/vocab.txt \
  --bert_config_file $BERT_DIR/bert_config.json \
  --init_checkpoint $BERT_DIR/pytorch_model.bin \
  --do_train \
  --do_dev \
  --data_dir $DATA_DIR \
  --train_batch_size 16 \
  --learning_rate 3e-5 \
  --num_train_epochs 2.0 \
  --output_dir out/triviaqa_wiki/01

export DATA_DIR=data/triviaqa/unfiltered
export BERT_DIR=bert-base-uncased

python -m bert.run_triviaqa_wiki_full_e2e  \
  --vocab_file $BERT_DIR/vocab.txt \
  --bert_config_file $BERT_DIR/bert_config.json \
  --init_checkpoint $BERT_DIR/pytorch_model.bin \
  --do_train \
  --do_dev \
  --data_dir $DATA_DIR \
  --dev_file unfiltered-web-dev.json \
  --train_batch_size 16 \
  --learning_rate 3e-5 \
  --num_train_epochs 2.0 \
  --output_dir out/triviaqa_unfiltered/01

Note: At first I tried to set 32 at train_batch_size for both models as suggested, but faced CUDA out of memory error even with 4 GPUs (each of them has 16GB video memory), so used 16 as train_batch_size
Regardless of my minor fixes, I faced a different error for SQuAD-open, but couldn't fix it shortly.
I will submit issues with some additional questions, and put the links here later.
Thank you!

Hey there @yoshitomo-matsubara that's a great work! it would be very helpful if you could upload the trained models.

Hey there @yoshitomo-matsubara that's a great work! it would be very helpful if you could upload the trained models.

Hi @Arjunsankarlal
I don't have trained models to reproduce the reported results, sorry
Hi @huminghao16
#4 and #5 are my additional questions, thanks!


lxml.html.clean is now a separate project

See e.g. https://github.com/zytedata/clear-html/issues/3
Related to #30

We moved the project to https://github.com/zytedata/html-text , like we were doing with other TeamHG-Memex projects that need maintaining, and will release a fix there and on PyPI soon.

@lopuhin can you please check if we can archive this?

@wRAR sure let me reach out to the owner


[IDL Comm] Improve IDL for consistent naming

Conform to predominant IDL naming convention. Also pass service and method
names as separate strings. Minor fixups on empty string usage in C#.

:+1: LGTM
After CI builds pass, feel free to commit. Or, if you want, I can merge too.


[BETA] Fix default DYLD_FALLBACK_LIBRARY_PATH on MacOS.

r? @dwijnand
(rust_highfive has picked a reviewer for you, use r? to override)

:warning: Warning :warning:

Pull requests are usually filed against the master branch for this repo, but this one is against rust-1.33.0. Please double check that you specified the right target!

r=me for when CI turns green

@bors r=alexcrichton

:pushpin: Commit 819e7e2a62ae355b6753f1b68b0d86ffc182163e has been approved by alexcrichton

:hourglass: Testing commit 819e7e2a62ae355b6753f1b68b0d86ffc182163e with merge 735f49fc2d1665ef4e03e04d900cc461d5a9a1d6...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: alexcrichton
Pushing 735f49fc2d1665ef4e03e04d900cc461d5a9a1d6 to rust-1.33.0...


Add eclipse WTP support

Also fixes dependency scopes
maven-eclipse-plugin is added to allow running dashboard in eclipse server

please sort out spacing


Error with deploying teams communicator app

Hello together,
i tried to implemt the communicator app via powershell in a test tenant for a customer, who wants to use it.
I was successfull until the step "deploying app services, azure function, bot service and other supporting resources".
To show you the error, i uploaded both logs from the deployment log here:
activity_log.log
deployment_operation.log
I do not really understand for example, why it says bot name is already registered, when i never used the app before.
In the parameter.json i tried another bot name but the same error still appears.
Has anyone a suggestion for me what i can check?
Kind regards
Chris

Hi @ChristianHoffmannn,
Please check if you've deployed the app with the already registered client id, because the error states "The bot name is already registered to another bot application". If you still get the same error after verification, I would recommend creating new app registration for author, user and graph app and start with new deployment.

Hi @ChristianHoffmannn,
Please check if you've deployed the app with the already registered client id, because the error states "The bot name is already registered to another bot application". If you still get the same error after verification, I would recommend creating new app registration for author, user and graph app and start with new deployment.

Hi Porkai,
i checked it under app registration, but i did not find there any already deployed app from teams communicator.
Can you please tell me, where i can check this please?

Hey Chris,
make sure that the name you used in the baseResourceName section of the configuration is unique.
"baseResourceName": {
"Value": "<>",
"Description": "The base name to use for the resources that will be provisioned."
}
For example, don't use CompanyCommunicator or Contoso, because that already exists globally.
Instead try to your tenantName to make it unique (e.g. m365x23423423) as naming convention.

Issue is solved.
Did not know that the baseResourcename is globally, thought it just for the tenant. As i chose another one, which was free, it worked.
Got a new error ARM template deployment error but the resources got all created. Will check it, if i can work with that.
But that is not a topic for this issue anymore


Update request: gvisor 20221102.1 → 20231003.0

Package name: gvisor
Latest released version: 20231003.0
Current version on the unstable channel: 20221102.1
Current version on the stable/release channel: 20221102.1
[x] Checked the nixpkgs pull requests

Notify maintainers
@andrew-d @gpl
Also, @thoughtpolice tried to update gvisor in #235852 but it was reverted later due to some issues.
I've tried updating it myself but ran into some go mod issues. I'm not familiar with go and couldn't find a solution.

Note for maintainers: Please tag this issue in your PR.

Fixed by #268853


How to get mean requests/sec?

I have done a test,but I found my req/s is very large. For example, the total requests is 15136 then req/s is 125090.909. So I don't understantd the way of req/s
---- Global Information --------------------------------------------------------

request count                                       6000 (OK=6000   KO=0     )
min response time                                    122 (OK=122    KO=-     )
max response time                                   5316 (OK=5316   KO=-     )
mean response time                                  1264 (OK=1264   KO=-     )
std deviation                                        361 (OK=361    KO=-     )
response time 50th percentile                       1315 (OK=1315   KO=-     )
response time 75th percentile                       1531 (OK=1531   KO=-     )
mean requests/sec                                222222.222 (OK=222222.222 KO=-     )
---- Response Time Distribution ------------------------------------------------
t < 800 ms                                           605 ( 10%)
800 ms < t < 1200 ms                                1688 ( 28%)
t > 1200 ms                                         3707 ( 62%)
failed                                                 0 (  0%)

Which version do you use?
If you use an old version, can you reproduce with the latest one?
If you can still reproduce with the latest version, can you please provide a reproducer?

Closing for now.
Feel free to reopen if you can provide more information.


[Discussion] Unify code style

So, I've went ahead and ran all Python files through black. My motivation behind this is that black enforces a consistent style throughout the project, and with a community project, I think that that's useful.
I'd be very interested for opinions towards this. The only thing I dislike is the wrapping to multiple lines of lines with long comments - but it's easy to fix this by simply putting the comment above, and it's not too common either. Looking forward to your input.
One more thing, it's also possible to use black in CI with black --check which returns a status code depending on whether or not something would've been changed, useful for not having to check style on PRs ourselves.

I agree that some of the changes are fairly weird, and having an automated program mess with things like bot/constants.py or long imports with from x import (y, z, a, b, c) is kinda bound for terror. Regarding multi lining, it probably only operates based on line length, sometimes resulting in weird things like
my_long_function_call('does').some_stuff(
    True
)

which just looks weird. I also agree with the comments being super weird sometimes. I'll close it for now, maybe we can find a better way to get a more consistent code style throughout the project at some point.

the idea of unifying code style is a great one. and I wouldn't mind if we enforced it strictly - but if we're going to do that, we need to absolutely 100% agree on what that code style should be. if we could find a tool sort of like Black but which allowed us to customize it to our liking ... but I doubt such a tool exists.


Use an h5 file as example source_file

Note that s3://noaa-nexrad-level2/2016/09/01/KBGM/KBGM20160901_000212_V06 is an actual working file path, while the one with .h5 is not. It is also the file that was used for the other example values. It does indeed not indicate that it is a h5 file, but it does allow users to download it.
Would not update.


Help with making it work on Windows xp 32bit

Info: Open JDK 21.0.3+12-LTS 32bit

well that specific error is because it couldn't look up launcher.mojang.com. Is this computer connected to the internet (hopefully not thinking about it)? if not, the redistributable can't download the original launcher jar to patch it.

yes this computer is totally connected to internet, which can sound strange but isnt a real problem, i know what i download and my modem has a great firewall, so i got no problems til this day
on onecoreapi github page said that you could install liberica jre without needing nothing, just install it and it works, i tried and it... worked- at least as far as i know (https://bell-sw.com/pages/downloads/#jdk-21-lts if you want the link)

hmm the fact that it couldn't look up the domain is strange then. What happens when you visit https://launcher.mojang.com/ in a browser? (it should show an XML error page)
if your browser can't look up the domain, it might be your system's DNS setup. If it can, maybe it's a java issue.

My computer is turned off right now, but i tried doing this earlier and it showed the xml page

okay, was the launcher error a one-time thing or does it happen every time you run the launcher? if there's a temporary outage while the launcher is opening, there will be issues like that.
Debugging this is hard because the issue is quite possibly upstream of any olauncher code

every time, but yea its very hard, i thought of just copying the files that olauncher creates on .minecraft, but my other pc is x64 so i think the created data is different? i dont know even if this would work, if you want me to perform some test i can do it here

Nope, java bytecode is java bytecode. It doesn't matter what platform it is compiled on. It should work if you copy over the autool directory.

i copied the autool directory, and now it opens, but now i got this error on the launcher when i try to login with the options

alright, that is because your JVM's truststore is out of date

3 things i discovered

the java was opening on java 8u45 (as you see i didnt opened it from console this time so it didnt used java 21) that came with the toshiba recovery cd when i formatted this notebook last time

i get strange errors with different versions of java, check it (when i click ok on the microsoft failed authentication it does the unhandled thing on java 17 and 11 i think its hard to know cause my cursor didnt appeared for some reason), (i cutted some parts of the video cause this computer is not so fast when recording so i had to cut some things and make others straight to the point, but i didnt cutted any part of the log or something like that, i just cutted the loadings that were mostly freezed screens)

java detects my pc as windows 7, which i dont know if its cause i installed onecoreapi? i not so sure cause im not using compatibility mode on java.exe neither i used when i installed it (its impossible cause its a .msi installer not exe)

over all:
java 21 crashes when click login
java 17 & 11 fails when authenticating
video: https://www.mediafire.com/file/j0j4eparrl7n0n4/Meu_Filme%257E1.mp4/file

I see a lot of "Connection timed out" so maybe there is an issue there. Also, use the device code option for logging in. It is way more likely to work.

Try java 8, I’ve had connectivity errors with java 9+ on XP and Vista

here's a forum post that details the process of getting this working https://board.eclipse.cx/viewtopic.php?t=707


ABI Refactor

Motivation: The current ABI encoder and decoder implementation falls short in terms of usability, understandability, and performance. It relies on std::string with substr, causing performance issues and is plagued with bugs (e.g., Decoder constructor and function signature checking). A thorough refactor and upgrade are crucial to improve its functionality and performance.

Objectives: Enhance ABI encoding and decoding usage, boost performance, and address existing bugs.

Success Criteria: A user-friendly and thoroughly tested solution that employs std::string_view for byte handling, resulting in improved performance.

Dependencies: No external dependencies are required for this milestone.

Risks and Mitigations: The refactor must support all Solidity argument types and appropriately handle exceptions, such as malformed arguments during decoding or missing arguments during encoding. Ensuring robust safety checks will minimize potential risks.

Resource Allocation: This milestone will impact the ABI file and, consequently, all files using it. This means that all contracts and tests related to the ABI will need updating. Sufficient resources must be allocated to address potential issues and ensure a smooth transition to the improved implementation.

Commit 31fccd9 of new branch 23-abi-refactor contains the following changes:

Most uses of std::string on ABI::Encoder and ABI::Decoder were replaced with std::string_view for better performance
Some functions were created and/or had their logic revised for optimization/readability/ease of use purposes (e.g. Utils has new padding functions, Hash has a new constructor that uses std::string_view directly and a getRef() function)
JSONEncoder was deprecated (we're not using it for now, but it could be re-implemented in the future)
Tests and docs were updated accordingly

Let me know if there's anything else that can be done.

I've reviewed the code and everything seems to be working fine. Maybe it's a good idea to do a simple testbench to check the performance gain after the modifications?

Here's a simple test that iterates a loop with 10000 encodes and decodes of all ABI types at once (for some reason GitHub didn't want to upload the patch file even though it's supported):
#include <chrono>
#include <iostream>

#include "utils/utils.h"
#include "contract/abi.h"

int main() {
  auto tS = std::chrono::system_clock::now();

  std::cout << "Encoding 10000 ABIs" << std::endl;
  for (int i = 0; i < 10000; i++) {
    ABI::Encoder e({
      uint256_t("129831751235123"),
      Address(std::string("0xc4ea73d428ab6589c36905d0f0b01f3051740ff8"), false),
      true,
      Hex::toBytes("0xabcdef1234567890"),
      "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
      std::vector<uint256_t>{
        uint256_t("43946723907493"), uint256_t("98742893748932"),
        uint256_t("30473287892239"), uint256_t("63463294798382"),
        uint256_t("59328649246213"), uint256_t("24638427823721")
      },
      std::vector<Address>{
        Address(std::string("0xc4ea73d428ab6589c36905d0f0b01f3051740ff8"), false),
        Address(std::string("0xc4ea73d428ab6589c36905d0f0b01f3051740ff8"), false),
        Address(std::string("0xc4ea73d428ab6589c36905d0f0b01f3051740ff8"), false),
        Address(std::string("0xc4ea73d428ab6589c36905d0f0b01f3051740ff8"), false),
        Address(std::string("0xc4ea73d428ab6589c36905d0f0b01f3051740ff8"), false),
      },
      std::vector<bool>{true, false, false, true, true, false, true, false},
      std::vector<std::string>{
        Hex::toBytes("0xabcdef1234567890"), Hex::toBytes("0x1234567890abcdef"),
        Hex::toBytes("0xabcdef1234567890"), Hex::toBytes("0x1234567890abcdef"),
        Hex::toBytes("0xabcdef1234567890"), Hex::toBytes("0x1234567890abcdef")
      },
      std::vector<std::string>{
        "aaaaaaaaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbbbb", "cccccccccccccccccccc",
        "dddddddddddddddddddd", "eeeeeeeeeeeeeeeeeeee", "ffffffffffffffffffff"
      }
    }, "testFunc(uint256,address,bool,bytes,string,uint256[],address[],bool[],string[],bytes[])");
  }
  auto tEE = std::chrono::system_clock::now();

  std::cout << "Decoding 10000 ABIs" << std::endl;
  for (int i = 0; i < 10000; i++) {
    std::vector<ABI::Types> t{
      ABI::Types::uint256, ABI::Types::address,
      ABI::Types::boolean, ABI::Types::bytes,
      ABI::Types::string, ABI::Types::uint256Arr,
      ABI::Types::addressArr, ABI::Types::booleanArr,
      ABI::Types::bytesArr, ABI::Types::stringArr
    };
    ABI::Decoder d(t, Hex::toBytes("0x"
      "00000000000000000000000000000000000000000000000000007614cf69b633"
      "000000000000000000000000c4ea73d428ab6589c36905d0f0b01f3051740ff8"
      "0000000000000000000000000000000000000000000000000000000000000001"
      "0000000000000000000000000000000000000000000000000000000000000140"
      "0000000000000000000000000000000000000000000000000000000000000180"
      "00000000000000000000000000000000000000000000000000000000000001e0"
      "00000000000000000000000000000000000000000000000000000000000002c0"
      "0000000000000000000000000000000000000000000000000000000000000380"
      "00000000000000000000000000000000000000000000000000000000000004a0"
      "0000000000000000000000000000000000000000000000000000000000000700"
      "0000000000000000000000000000000000000000000000000000000000000008"
      "abcdef1234567890000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000038"
      "4c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e73"
      "656374657475722061646970697363696e6720656c69742e0000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000006"
      "000000000000000000000000000000000000000000000000000027f824de17a5"
      "000000000000000000000000000000000000000000000000000059ce5f1b22c4"
      "00000000000000000000000000000000000000000000000000001bb71d7ffd0f"
      "000000000000000000000000000000000000000000000000000039b833248a2e"
      "000000000000000000000000000000000000000000000000000035f587103605"
      "0000000000000000000000000000000000000000000000000000166894bcfe69"
      "0000000000000000000000000000000000000000000000000000000000000005"
      "000000000000000000000000c4ea73d428ab6589c36905d0f0b01f3051740ff8"
      "000000000000000000000000c4ea73d428ab6589c36905d0f0b01f3051740ff8"
      "000000000000000000000000c4ea73d428ab6589c36905d0f0b01f3051740ff8"
      "000000000000000000000000c4ea73d428ab6589c36905d0f0b01f3051740ff8"
      "000000000000000000000000c4ea73d428ab6589c36905d0f0b01f3051740ff8"
      "0000000000000000000000000000000000000000000000000000000000000008"
      "0000000000000000000000000000000000000000000000000000000000000001"
      "0000000000000000000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000001"
      "0000000000000000000000000000000000000000000000000000000000000001"
      "0000000000000000000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000001"
      "0000000000000000000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000006"
      "00000000000000000000000000000000000000000000000000000000000000c0"
      "0000000000000000000000000000000000000000000000000000000000000100"
      "0000000000000000000000000000000000000000000000000000000000000140"
      "0000000000000000000000000000000000000000000000000000000000000180"
      "00000000000000000000000000000000000000000000000000000000000001c0"
      "0000000000000000000000000000000000000000000000000000000000000200"
      "0000000000000000000000000000000000000000000000000000000000000008"
      "abcdef1234567890000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000008"
      "1234567890abcdef000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000008"
      "abcdef1234567890000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000008"
      "1234567890abcdef000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000008"
      "abcdef1234567890000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000008"
      "1234567890abcdef000000000000000000000000000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000006"
      "00000000000000000000000000000000000000000000000000000000000000c0"
      "0000000000000000000000000000000000000000000000000000000000000100"
      "0000000000000000000000000000000000000000000000000000000000000140"
      "0000000000000000000000000000000000000000000000000000000000000180"
      "00000000000000000000000000000000000000000000000000000000000001c0"
      "0000000000000000000000000000000000000000000000000000000000000200"
      "0000000000000000000000000000000000000000000000000000000000000014"
      "6161616161616161616161616161616161616161000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000014"
      "6262626262626262626262626262626262626262000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000014"
      "6363636363636363636363636363636363636363000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000014"
      "6464646464646464646464646464646464646464000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000014"
      "6565656565656565656565656565656565656565000000000000000000000000"
      "0000000000000000000000000000000000000000000000000000000000000014"
      "6666666666666666666666666666666666666666000000000000000000000000"
    ));
  }
  auto tDE = std::chrono::system_clock::now();

  auto tDiff1 = std::chrono::duration_cast<std::chrono::milliseconds>(tEE - tS).count();
  auto tDiff2 = std::chrono::duration_cast<std::chrono::milliseconds>(tDE - tEE).count();
  auto tDiff3 = std::chrono::duration_cast<std::chrono::milliseconds>(tDE - tS).count();
  std::cout << "Time to encode 10000 ABIs: " << tDiff1 << "ms" << std::endl;
  std::cout << "Time to decode 10000 ABIs: " << tDiff2 << "ms" << std::endl;
  std::cout << "Total test time: " << tDiff3 << "ms" << std::endl;

  return 0;
}

Results on my machine were:
Branch main - commit 65e9ec1

Time to encode 10000 ABIs: 5136ms
Time to decode 10000 ABIs: 2505ms
Total test time: 7641ms

Branch 23-abi-refactor - commit 31fccd9

Time to encode 10000 ABIs: 4213ms
Time to decode 10000 ABIs: 2407ms
Total test time: 6620ms

Going by number crunching alone we got a boost of around 18% on encoding and 4% on decoding - one encode theoretically went from 510us -> 420us which is a considerable leap, but one decode went from 250us to 240us (which is still a good thing, but virtually negligible compared to the former).
Suppose this is around as much as we can squeeze out of it? I don't see much else that could be done here.

I believe earnings are within the range we discussed earlier. I believe we can now merge into main and close the issue. @itamarcps , what do you think?

I believe we have finished this already, nevertheless, later on Reflections will affect ABI and will require modification.


Check MimeType while uploading file

Is your feature request related to a problem?
We want to check MimeType while uploading file. Bu we couldn't.
It would be great if we could also get the file name.
I'm not sure if this is the HC feature.
This issue was opened based on the conversation here (https://hotchocolategraphql.slack.com/archives/CD9TNKT8T/p1635029998100800.)
The solution you'd like
.
Product
Hot Chocolate

I have added the content-type as nullable prop to the interface for 13.
public interface IFile
{
    /// <summary>
    /// Gets the file name.
    /// </summary>
    string Name { get; }

    /// <summary>
    /// Gets the file length in bytes.
    /// </summary>
    long? Length { get; }

    /// <summary>
    /// Gets the content type of the file if it is available.
    /// </summary>
    string? ContentType { get; }

    /// <summary>
    /// Asynchronously copies the contents of the uploaded file to the target stream.
    /// </summary>
    /// <param name="target">
    /// The stream to copy the file contents to.
    /// </param>
    /// <param name="cancellationToken">
    /// The cancellation token.
    /// </param>
    Task CopyToAsync(Stream target, CancellationToken cancellationToken = default);

    /// <summary>
    /// Opens the request stream for reading the uploaded file.
    /// </summary>
    Stream OpenReadStream();
}

I found this nicer and more discoverable. Will merge this in the next couple of minutes.

Thanks for the fast turnaround

This one is now implemented.


Phase 1 syncing mindreader problematic case until a snapshot is created

While doing phase 1 of chain sync, we use the mindreader-merge-and-upload-directly which means each time mindreader restarts, it must go back a little in time, to ensure there is no missing merge blocks bundle created.
This however is problematic until the first snapshot is taken. In this case, since there is no snapshot, mindreader will simply restart using the actual blocks.log/state file of nodeos which will create a hole in the "merged bundles". This is usually a problem only if hitting Ctrl-C. If the process is still running but nodeos restarts, I think (but not 100% sure) that information is kept in dfuse for EOSIO process and there will be no hole.
Note sure what to do here, seems it's not an easy task to cover correctly all cases. Ideally, in this "sync" mode, we should restart from scratch if we are unable to restore from snapshot, to play safe. To sure how to make that in the options directly.
A specific new option "sync"? When merge-and-upload-directly is used, it acts differently ensuring this constraints?

Flagged as bug, but I feel we are missing some labels here, that would be more an enhancement/integrity thingy.

Moreover, in this mode "syncing" and when a stop block is defined, we should probably trigger a snapshot like 200 blocks before the stop block.
The idea here is to more easily support phase 2 indexing where it needs to restart a little bit in the past to not miss any blocks. Otherwise phase 2 might restart with a snapshot taken far in past (15 minutes of syncing, not the end of the world also).
This might deserves a dedicated issue, and it's more an enhancement.

Another option is to create one-block-files "after" the stop-block-num, so we do not discard anything.
This way is less of a surprise (why is it broken on restart, why do I need a snapshot restore, why am I missing blocks ?)
so if stop-block-num is 400, then we shutdown nodeos, and keep reading incoming blocks (401, 402, 403, 404...) and put them into one-block-files so that the merger can pick them up after restart.


[FEATURE] Sentence Transformer Model Training Feature in opensearch-py-ml

Is your feature request related to a problem?
Models are only as good as the data they’re trained on. The selected models have been trained on large corpuses of public data, and in the process have learned the vocabulary and semantics from these corpuses. Some use cases such as Enterprise search requires the ability to perform search on private domain information. These models will likely require training on these datasets in order to perform well.
Unfortunately, training large language models like GPT-2 from scratch is expensive, time consuming and difficult. A common technique to alleviate this issue involves fine-tuning pre-trained models. This involves incrementally training these models on the target search corpus, and allows modelers to deliver better models using small datasets and significantly less training time.
What solution would you like?
Sentence Transformer Model class in opensearch-py-ml package is built for python programmers to use as a frame work to train/fine tune sentence transformer models, and prepare the custom model to upload to OpenSearch cluster.
Do you have any additional context?
The main functionality of this feature is to provide a default framework to automatically train/fine tune sentence transformer model based on (query, document)-training data, including reading synthetic query data, loading pre-train model, configuring accelerator, training model with/without accelerator, outputting as TorchScript model and saving as zip file.

Simple and efficient tools for sentence transformer model training
open-source and reusable in various contexts
freedom to modify, extend and monetize

feature is added in https://github.com/opensearch-project/opensearch-py-ml/tree/main/opensearch_py_ml/ml_models.


how to disable react-iscroll

in iscroll , using iscroll.disable, but in the react-iscroll, how to disable iscroll

@aliencyl7: Is there any documentation for that? On official page is no reference to that http://iscrolljs.com/

thx ~ i ve fixed it ~~~~

Also its closed.. would be nice feature!
Was also looking for possibility to deactivate iscroll and activate it again.
Would be nice to have a simple REACT solution. Something like an "active" property should do all.


ROX-18172: Use cobra for starting the operator

Description
Uses cobra for starting the operator

/retest

Why do you want to use cobra? The PR removed 165 lines of code and added 890 lines + 5 new files, this is a lot more complexity to carry compared to 180 line main.go file.

Sure, but 600 of those added lines are tests that were not present before. Using cobra makes it much easier to test

/retest

Another concern is that significant changes to the main file layout might make it a bit harder to perform operator-sdk scaffolding version bumps...


Trouble Adding Google Account on MicroG Gmscore (Xiaomi)

Problem Description
As I've updated to the latest MicroG Gmscore version (app.revanced.android.gms-241017000), I'm encountering an issue when trying to add my Google account. Previously, on the older MicroG version, I had no trouble signing in and add google account for YouTube Revanced.
However, with the newest version, I'm consistently encountering the error message: "There was a problem communicating with Google servers."
My device operates on a 'Pixel Experience' custom ROM. I'm unsure of the exact cause behind this. Any guidance on how to successfully add my account would be greatly appreciated.
System
Android Version: 13
Device: Xiaomi Redmi
Custom ROM: Pixel Experience

Try https://github.com/ReVanced/GmsCore/issues/6

The latest version provided for Huawei/Xiaomi has resolved the issue. Thank you.


NDR (New Distribution Request): Navy Linux

Please add support for Navy Linux
https://git.navylinux.org/branding

What is displayed by neofetch right now?


stack read underflow in tparam_internal

Address Sanitizer detects a stack read underflow in vim for me.
This happens only if
TERM=xterm-256color
is set as an environment variable.
I tried to analyze the code to find the bug, but find it confusing. I hope someone more familiar can find it.
This was tested on a full asan-enabled system. I was unable to manually reproduce this in an asan build on another system, yet I thought I'd still report it. The stack trace involves ncurses, so it might be that the bug also involves ncurses or even is a bug in ncurses.
Full address sanitizer stack trace:
==583==ERROR: AddressSanitizer: stack-buffer-underflow on address 0x7ffcafb06b30 at pc 0x7fb982af6168 bp 0x7ffcafb068a0 sp 0x7ffcafb06890
READ of size 8 at 0x7ffcafb06b30 thread T0
    #0 0x7fb982af6167 in tparam_internal /var/tmp/portage/sys-libs/ncurses-6.0-r1/work/ncurses-6.0/ncurses/tinfo/lib_tparm.c:513
    #1 0x7fb982af6167 in tparm /var/tmp/portage/sys-libs/ncurses-6.0-r1/work/ncurses-6.0/ncurses/tinfo/lib_tparm.c:834
    #2 0x7def6a in term_color /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/term.c:2847
    #3 0x71bb77 in screen_start_highlight /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:8094
    #4 0x72246a in screen_start_highlight /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:8359
    #5 0x72246a in screen_char /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:8313
    #6 0x72630b in screen_fill /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:8648
    #7 0x727b7d in win_draw_end /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:2431
    #8 0x743891 in win_update /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:2273
    #9 0x7495fa in update_screen /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:756
    #10 0x882036 in main_loop /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/main.c:1245
    #11 0x883071 in vim_main2 /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/main.c:905
    #12 0x430d73 in main /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/main.c:429
    #13 0x7fb9819b15ac in __libc_start_main (/lib64/libc.so.6+0x205ac)
    #14 0x432979 in _start (/usr/bin/vim+0x432979)

Address 0x7ffcafb06b30 is located in stack of thread T0 at offset 0 in frame
    #0 0x7deebf in term_color /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/term.c:2821

  This frame has 1 object(s):
    [32, 52) 'buf'
HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-underflow /var/tmp/portage/sys-libs/ncurses-6.0-r1/work/ncurses-6.0/ncurses/tinfo/lib_tparm.c:513 tparam_internal
Shadow bytes around the buggy address:
  0x100015f58d10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100015f58d20: 00 00 00 00 f1 f1 f1 f1 04 f4 f4 f4 f2 f2 f2 f2
  0x100015f58d30: 00 00 00 f4 f2 f2 f2 f2 00 00 00 00 00 00 00 00
  0x100015f58d40: 00 f4 f4 f4 f2 f2 f2 f2 00 00 00 00 00 00 00 00
  0x100015f58d50: 00 f4 f4 f4 f3 f3 f3 f3 00 00 00 00 00 00 00 00
=>0x100015f58d60: 00 00 00 00 00 00[f1]f1 f1 f1 00 00 04 f4 f3 f3
  0x100015f58d70: f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100015f58d80: 00 00 00 00 00 00 f1 f1 f1 f1 00 00 06 f4 f3 f3
  0x100015f58d90: f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100015f58da0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100015f58db0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Contiguous container OOB:fc
  ASan internal:           fe
==583==ABORTING

If I am not mistaken, this looks like a bug in ncurses. Can you reproduce it with ncurses-6.1 or another 6.0 version?

Hanno Böck wrote:

Address Sanitizer detects a stack read underflow in vim for me.
This happens only if
TERM=xterm-256color
is set as an environment variable.

Can you check the output of ":set termcap" in this situation?

I tried to analyze the code to find the bug, but find it confusing. I
hope someone more familiar can find it.
This was tested on a full asan-enabled system. I was unable to
manually reproduce this in an asan build on another system, yet I
thought I'd still report it. The stack trace involves ncurses, so it
might be that the bug also involves ncurses or even is a bug in
ncurses.
Full address sanitizer stack trace:
==583==ERROR: AddressSanitizer: stack-buffer-underflow on address 0x7ffcafb06b30 at pc 0x7fb982af6168 bp 0x7ffcafb068a0 sp 0x7ffcafb06890
READ of size 8 at 0x7ffcafb06b30 thread T0
    #0 0x7fb982af6167 in tparam_internal /var/tmp/portage/sys-libs/ncurses-6.0-r1/work/ncurses-6.0/ncurses/tinfo/lib_tparm.c:513
    #1 0x7fb982af6167 in tparm /var/tmp/portage/sys-libs/ncurses-6.0-r1/work/ncurses-6.0/ncurses/tinfo/lib_tparm.c:834
    #2 0x7def6a in term_color /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/term.c:2847

What is the code in this line?  I suppose it's a call to tgoto(), but
which one?

#3 0x71bb77 in screen_start_highlight /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:8094
#4 0x72246a in screen_start_highlight /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:8359
#5 0x72246a in screen_char /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:8313
#6 0x72630b in screen_fill /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:8648
#7 0x727b7d in win_draw_end /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:2431
#8 0x743891 in win_update /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:2273
#9 0x7495fa in update_screen /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/screen.c:756
#10 0x882036 in main_loop /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/main.c:1245
#11 0x883071 in vim_main2 /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/main.c:905
#12 0x430d73 in main /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/main.c:429
#13 0x7fb9819b15ac in __libc_start_main (/lib64/libc.so.6+0x205ac)
#14 0x432979 in _start (/usr/bin/vim+0x432979)

Address 0x7ffcafb06b30 is located in stack of thread T0 at offset 0 in frame
#0 0x7deebf in term_color /var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src/term.c:2821
This frame has 1 object(s):
[32, 52) 'buf'
HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext

Sounds like the printf-like handling of the termcap entry is done wrong.
I do notice that the "i" variable here is always two, instead of setting
to one when using 8-bit termcap strings.  It's been like that for a very
long time, but it is wrong.
--
ARTHUR:        I command you as King of the Britons to stand aside!
BLACK KNIGHT:  I move for no man.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I tested with ncurses 6.1 and this no longer happens, so maybe it indeed was an ncurses bug.
I saw there've been plenty of memory safety fixes in 6.1. From my side this is resolved, but it seems @brammool identified issues in the code nevertheless that should be fixed?

closing then.


Uninformative error message when no Arduino is detected.

SingleTactDemo.exe v<IP_ADDRESS> dated 22 Jun 2016, running on Windows 10 (64 bit).
To reproduce: Start program with no Arduino connected. The 'Invalid Settings' warning appears, instead of a warning about not detecting an Arduino.

Barnali, please test and close if fixed.
The binaries to test are all attached to the [release page](The binaries to test are all attached to the release page.).

The problem is fixed.


How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Kubernetes version (use kubectl version):

➜  ~ kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f79527be4afd95bf39", GitTreeState:"clean", BuildDate:"2021-07-15T20:58:09Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"darwin/arm64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f79527be4afd95bf39", GitTreeState:"clean", BuildDate:"2021-07-15T20:59:07Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}

Cloud provider or configuration:
Install tools: krew and binary download.
Others:

macOS on arm64 requires code signing - this is captured here - https://github.com/golang/go/issues/42684
Right now cross-platform builds are running on a linux host, which prevents us from running codesign .
Potential workaround:
Unable to sign the macOS executable on non-macOS host
Due to the mandatory code signing requirement, before the
executable is distributed to end users, it must be signed with
the "codesign" utility of macOS, otherwise, it will be immediately
killed by kernel on launch. An ad-hoc signature is sufficient.
To do that, "codesign --sign - <executable>" on a Mac.

Hi,
I'm trying to sign the binary, but got this error (Xcode was installed already):
➜  ~ cd .krew/store/rbac-tool/v1.2.0
➜  v1.2.0 codesign --force --deep --sign - rbac-tool
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate: object: /Users/james/.krew/store/rbac-tool/v1.2.0/rbac-tool malformed object (load command 3 cmdsize not a multiple of 8)
rbac-tool: the codesign_allocate helper tool cannot be found or used

@tunguyen9889 ... still need to figure this out

The test release in available in v1.6.1, test passed on my m1 Mac.
wget https://github.com/ciiiii/rbac-tool/releases/download/v1.6.1/rbac-tool_v1.6.1_darwin_arm64.tar.gz

tar -xzvf rbac-tool_v1.6.1_darwin_arm64.tar.gz

./rbac-tool

Maybe you should allow this in Setting Preferences > Security&Privacy.
@tunguyen9889, You can test this.

@ciiiii was able to track down an issue with UPX 3.96 on Darwin ARM64 here

Hi @ciiiii and @gadinaor, new release runs well on Darwin ARM64. Appreciate your works!

Hi @ciiiii and @gadinaor, new release runs well on Darwin ARM64. Appreciate your works!

You're welcome.


Enable external cloud provider in Magnum

cc @strigazi
magnum currently uses the k/k in-tree cloud provider. we should consider adding a new CI job that uses the code from this repository
http://codesearch.openstack.org/?q=cloud-provider&i=nope&files=&repos=magnum

here's a bug report in magnum - https://bugs.launchpad.net/magnum/+bug/1762743


Update migration guide in readme

Hi! Here are a couple of small changes to the migrating guide, that may help future migrators:

Following the steps of the original migrating guide led to a compiler crash.  Moving the gleam remove gleeunit step first in the migrating gets around this issue.  (See https://github.com/gleam-lang/gleam/issues/3123 and https://github.com/gleam-lang/gleam/issues/3201)
Adds steps regarding swapping out gleeunit.main for startest.run

Following the steps of the original migrating guide led to a compiler crash.  Moving the gleam remove gleeunit step first in the migrating gets around this issue.  (See Gleam compiler crash when removing a dependency gleam-lang/gleam#3123 and Fatal compiler bug when using gleam add gleam-lang/gleam#3201)

I don't think we want removing gleeunit to be the first step, as that's going to introduce a number of compile errors into the project right off the bat.
My intent with the migration guide was to try to keep the project in a compiling/working state the whole time. Because once you start using Startest as the runner, you can even migrate tests individually, as Startest can still detect and run tests using gleeunit/should.
I recognized that it is a bad experience currently with the compiler bug, but a fix for that landed in https://github.com/gleam-lang/gleam/commit/36491f68c9f34eb9840aa8ad9378f9a4decc6e4e, so hopefully it will be available before too long.
So the problem will go away when either:

A new Gleam version is released with that fix in the compiler
glint v1.0.0 comes out, at which point I can update Startest to use it and publish a new version

Adds steps regarding swapping out gleeunit.main for startest.run

This change is good, thank you for adding it :heart:

My intent with the migration guide was to try to keep the project in a compiling/working state the whole time.

That makes sense....I probably should have opened an issue discussing this change first, sorry!
I removed the reorder commit, if you still want to keep the second one.  If you don't want to keep either, feel free to close!

Thank you!


What is Microsoft.Storage.Global?

Documentation says nothing about the subnet service endpoint Microsoft.Storage.Global.

The only other place I find it mentiond is HashiCorp -> Terraform -> AzureRM provider.

https://github.com/hashicorp/terraform-provider-azurerm/issues/21341

What is it (Microsoft.Storage.Global), when do you need it/what is it used for?

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

ID: 1eb0407d-f4a5-6059-488d-fd082915c675
Version Independent ID: 7c2fb429-743c-aea0-f1d5-de6dc2e62e8e
Content: Azure virtual network service endpoints
Content Source: articles/virtual-network/virtual-network-service-endpoints-overview.md
Service: virtual-network
GitHub Login: @asudbring
Microsoft Alias: allensu

@o-l-a-v we shall review this and update you shortly

@o-l-a-v  Since the document itself does not contain the term "Microsoft.Storage.Global" , we will not be able to address your question in this thread.
However, we request you to please post your question on Microsoft Q&A and other forums. We have our engineers and others who are monitoring them and will be happy to address this.
We are closing this issue for now. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.

That's the whole point. The doc about service endpoints should say what this specific service endpoint is.

@o-l-a-v
We have assigned this to the author @asudbring
They shall review this and update the document as necessary.

@o-l-a-v
Thanks for the feedback.  The endpoint is listed in the beginning of the article:
Azure Storage cross-region service endpoints (Microsoft.Storage.Global): Generally available in all Azure regions.
#please-close

I guess that Microsoft.Storage.Global means subnet of a VNet in one region can connect to storage in another region.When I connect storage in another region, use region storage domain name or global domain name?I can connect storage of all region or specific region？Could you give me an example？thank you.


Advice for configuration with high rate of small messages

We have developed a service running in a virtual linux box (3.10.0-957.el7.x86_64 #1 SMP Thu Oct 4 20:48:51 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux, 8 vcpus 16 GBytes)  with Java 8 , Spring Boot 2.1.5 using Reactor, Reactor and Netty (4.1.36.Final.jar) . The service exposes a websocket end-point where the clients devices send a high rate of websocket small messages  (around 40 bytes per message). Those messages are forwarded with a small processing via websockets to another external system.
The systems has a lot of network io.  Next, I have added some information about the Netty configuration that is provided at startup time by the service with debug log. Would it be possible to somebody check if there is a big error in those values that prevent to obtain a good performance?
Thanks in advance.
-Dio.netty.noUnsafe: false
Java version: 8
sun.misc.Unsafe.theUnsafe: available
sun.misc.Unsafe.copyMemory: available
java.nio.Buffer.address: available
direct buffer constructor: available
java.nio.Bits.unaligned: available, true
jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9
java.nio.DirectByteBuffer.(long, int): available
sun.misc.Unsafe: available
-Dio.netty.tmpdir: /tmp (java.io.tmpdir)
-Dio.netty.bitMode: 64 (sun.arch.data.model)
-Dio.netty.maxDirectMemory:<PHONE_NUMBER> bytes
-Dio.netty.uninitializedArrayAllocationThreshold: -1
java.nio.ByteBuffer.cleaner(): available
-Dio.netty.noPreferDirect: false
[http] resources will use the default LoopResources: DefaultLoopResources {prefix=reactor-http, daemon=true, selectCount=8, workerCount=8}
[http] resources will use the default ConnectionProvider: PooledConnectionProvider {name=http, poolFactory=reactor.netty.resources.ConnectionProvider$$Lambda$196/1415157681@4cf4d528}
-Djava.net.preferIPv4Stack: true
-Djava.net.preferIPv6Addresses: false
Loopback interface: lo (lo, <IP_ADDRESS>)
/proc/sys/net/core/somaxconn: 1024
-Dio.netty.native.deleteLibAfterLoading: true
-Dio.netty.native.tryPatchShadedId: true
Successfully loaded the library /opt/xxxxxx/libnetty_transport_native_epoll_x86_646088280200333694474.so
Default Epoll support : true
Default KQueue support : false
-Dio.netty.eventLoopThreads: 16
-Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
-Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
org.jctools-core.MpscChunkedArrayQueue: available
-Dio.netty.processId: 866 (auto-detected)
-Dio.netty.machineId: 00:50:56:ff:fe:8c:67:24 (auto-detected)
-Dio.netty.leakDetection.level: simple
-Dio.netty.leakDetection.targetRecords: 4
-Dio.netty.allocator.numHeapArenas: 16
-Dio.netty.allocator.numDirectArenas: 16
-Dio.netty.allocator.pageSize: 8192
-Dio.netty.allocator.maxOrder: 11
-Dio.netty.allocator.chunkSize: 16777216
-Dio.netty.allocator.tinyCacheSize: 512
-Dio.netty.allocator.smallCacheSize: 256
-Dio.netty.allocator.normalCacheSize: 64
-Dio.netty.allocator.maxCachedBufferCapacity: 32768
-Dio.netty.allocator.cacheTrimInterval: 8192
-Dio.netty.allocator.cacheTrimIntervalMillis: 0
-Dio.netty.allocator.useCacheForAllThreads: true
-Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023
-Dio.netty.allocator.type: pooled
-Dio.netty.threadLocalDirectBufferSize: 0
-Dio.netty.maxThreadLocalCharBufferSize: 16384

There is not way to give an guidance without know more about the system... Also you may want to attach a profiler etc. In general if all the messages are small you may also want to experiment with TCP_NO_DELAY settings.

Hi,
What we have seen is that under load we have around 40% system CPU and 40% user CPU and we are wondering if we can do something at netty configuration side. What information would you need to be able to provide some guidance?
Thanks

well a cpu profiler snapshot for example... that said even with this I dont know enough about your exact workload pattern most likely.


Bounds instead of adding constraints

Codecov Report

Merging #5 into master will decrease coverage by 0.26%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master       #5      +/-   ##
==========================================
- Coverage   95.14%   94.88%   -0.27%
==========================================
  Files           8        8
  Lines         824      821       -3
==========================================
- Hits          784      779       -5
- Misses         40       42       +2

Impacted Files
Coverage Δ

src/BnBTree.jl
89.2% <100%> (-0.6%)
: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 3a0f238...9cbb5a7. Read the comment docs.

Be careful that your branch logic works for integer values as well as binary values.

It should :) I'm also testing it on both categories.


evy: Rework font

Rework font function to take a map, rather than a string that matches
less closely to the CSS font property but is hopefully a bit more intuitive
to use. Remove textsize and fontfamily along the way. font usage with
exhaustive example:
font {
   size:4
   style:"italic" // "normal"
   family:"Comic Sans MS, cursive"
   letterspacing:2 // extra inter-character space. negative allowed. default:0
   align:"center" // "left", "right"
   baseline:"middle" // "top", "bottom", "alphabetic" (default)
}

In preparation add a couple of tweaks in tictactoe that popped up when
watching Anika play and pull out evaluator.Runtime interface and
utilities into separate file evaluator/runtime.go as builtins.go is
getting rather big.

The commit message of the "Rework font function" commit is not wrapped at 72 chars, and the indenting is done with tabs not spaces, so it is extra indented (you would not notice as you have tab == 4, but at tab == 8, it is rather wide.

Apologies, fixed.