Clojure formatter

Still working on the docs

It looks like you want this formatter to format the code to use a common indentation.  (E.g. if every line starts with 4 spaces, remove 4 spaces).  If so, you may find this to be useful: https://github.com/axvr/zepl.vim/blob/master/zepl/contrib/fsharp.vim

In my config I have some functions like these which you may find useful as a reference.  (Although they're written in Vim9script.)

https://github.com/axvr/dotfiles/blob/master/vim/.vim/autoload/clojure.vim
https://github.com/axvr/dotfiles/blob/master/vim/.vim/ftplugin/clojure.vim

Apologies, I accidentally opened this PR (then closed it), intending to merge it with my own fork while continuing to work on it.
I've been using CoC with coc-clojure to get static LSP support for linting, go to definition, show documentation, autoformat, etc., so I don't need a full-blown nrepl environment like vim-fireplace. I just want to send code to the repl, and was gradually building my own plugin until I found yours-- which is more mature and also supports Neovim.
I actually ripped a couple of sections from the F# formatter already, but ignored leading spaces because I always use motions with vim-sexp like gzaf, which omit the extra spaces anyway. I assume you're talking about this section:
" Use common indentation.
let depth = len(matchstr(lines[0], '\m\C^\s*'))
let lines = map(lines, 'v:val[' . depth . ':]')

You're right, it's better to include that for when sending visual blocks, etc. I'll add it in. I was mainly trying to deal with an extra two-space indent added by (I assume) leiningen after the first line break, and an extra linebreak when sending commands from my vimrc containing "\n" (like the (do) command below). I still need to make sure it all works in the Clojure CLI repl as well.
Love your Clojure dotfiles, especially Apply-- it could the basis for an interpreter of a new language called VimLisp. :smiley: While Vim9 is definitely nicer than Vimscript, it looks like it won't work for Neovim. :( I'll pick through it and see what I can use though! In particular your method of parsing the namespace from the current buffer looks more robust.
My personal objective is to provide two commands to keep namespaces up to date, with examples showing how to run one to reload on save and another to switch namespaces on buffer change. IMO this is the minimum needed to get a good development experience, and they're all I've needed when paired with CoC.
" An example for the docs.
augroup clojure
  autocmd!

  " Reload namespace on save.
  " Sends "(use 'buffer-ns :reload)".
  autocmd BufWritePost *.clj* call UseClojureNS(':reload')

  " Switch to namespace on buffer change.
  " Sends "(do (require 'buffer-ns)\n    (in-ns 'buffer-ns))"
  autocmd BufWinEnter *.clj* call LoadClojureNS()
augroup END

A case could be made for adding more commands, of course, or staying completely minimal and adding no commands. Adapting the code in your dotfiles could provide the option of a lightweight, modular experience relying only on the repl, while my LSP-based setup is heavier but more fully-featured, and doesn't require opening a repl at all until you have some code to evaluate. With either philosophy, though, loading namespaces is needed.


Fix handling of multi instance resources with one instance

This will fix a bug which occurs when a multi instance resource is created with only a single instance. Previously this was treated as a single instance resource and not a multi instance resource with one instance
Signed-off-by: nordic-mare<EMAIL_ADDRESS>

One more issue with the commit message - it's required to use full name for the commit author and the signoff entry. Please update your user.name git config, and then git commit --amend --no-edit --reset-author -s (note you'll need to remove the previous entry manually).


To use yarn

++ Speed
++ Consistency with package versions
++ Out of the box license viewer/fetcher
== Same npm packages
=~ Similar commands

I thought most of the problems are solved by npm5

Yeah, I am on the same page as @neo. I thought the latest npm addressed all the benefits of yarn, is there still something that is missing that we can benefit from the switch?


Expose JProducer.close(long timeout, TimeUnit unit) in KafkaProducer(Like)

The default implementation of JProducer.close() resorts to calling close(Long.MAX_VALUE, TimeUnit.MILLISECONDS); which can be deadly for any application. This commit exposes JProducer.close(long timeout, TimeUnit unit) such that timeouts can be controlled.

Codecov Report

Merging #115 into master will decrease coverage by 0.12%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #115      +/-   ##
==========================================
- Coverage    63.6%   63.47%   -0.13%
==========================================
  Files          16       16
  Lines         500      501       +1
  Branches       30       34       +4
==========================================
  Hits          318      318
- Misses        182      183       +1

Impacted Files
Coverage Δ

...main/scala/cakesolutions/kafka/KafkaProducer.scala
77.77% <0%> (-3%)
: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 7ede7fa...06f3de9. Read the comment docs.

Thanks for merging @simonsouter / @jkpl ! Could you be so kind to also do a small release? I'd like to have my project have a dependency on scala-kafka-client and I need these PRs in it :)


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2841

Questions ?
Please refer to the Backport tool documentation


Support for Add-Ons

Hi,
First of all - Great work mate!
I would like to know if there is any plan to start supporting Firefox Add-Ons debugging as well?
Cheers

Yes, that is actually high on my todo list, although I probably won't find the time to do it in the next couple of weeks. Which of the add-on types (WebExtensions, Add-on SDK aka Jetpack, or XUL overlays) do you intend to use?

I'm using a XUL overlays.
Thanks

Looking forward to Jetpack and WebExt support!

Add-on debugging is here! Add-on SDK, WebExtensions and legacy add-ons (XUL overlays and restartless extensions) are all supported.
Please test it and let me know if it works for you.

Working well with my Jetpack add-on. Cheers!

A few things that could be improved:

If Firefox is closed manually, the debugging session should stop. Currently, it doesn't.
I keep getting an error on startup at line 19 of the SDK's loader.js because I don't have a locales.json file, and adding an empty one just triggers a different error. An option to suppress startup exceptions not in your code would be nice.
When loader.js opens to show me the above error, hovering over the tab shows a tooltip like \5\loader.js. It'd be helpful if the actual path was displayed (in this case, modules\commonjs\sdk\l10n\loader.js), as the SDK includes several loader.js files.

If have published a new version which

terminates the debug session when Firefox is closed
shows the full url of sources that don't correspond to local files in the project (resource://gre/modules/commonjs/sdk/l10n/loader.js in your case)
fixes a bug with breakpoints in content scripts

As for suppressing the exception you get in loader.js: maybe I'll add new exception filters that let you specify separately whether you want to break on exceptions in your code and those not in your code.

As for suppressing the exception you get in loader.js: maybe I'll add new exception filters that let you specify separately whether you want to break on exceptions in your code and those not in your code.

When you have an update or a new issue for me to track, please do @mention me.

@blackwind I have implemented a new configuration property called skipFiles which causes Firefox to "black box" any scripts that match the glob pattern(s) specified using this property.
So, for example, by adding "skipFiles": [ "resource://**/sdk/**" ] you can black box all scripts that are part of the add-on SDK, which means that the exception you were seeing in one of these files will be suppressed.

Working as advertised. Cheers!

I'm getting an error in \296\webpack:\src\core\addonManager.js when I open the Add-ons Manager in Firefox 53, and adding "webpack://**" to skipFiles didn't help. Bug?

I couldn't reproduce this but I think I found the bug anyway.
Please try with the latest version of the debug adapter and tell me if your skipFiles expression works now.

No luck. Same thing with the new version.
Note that after opening the Add-ons Manager, it takes 11 seconds on my machine to trigger the error. During this time, you can scroll the "Get Add-ons" view, but you can't select "Extensions" or any other views.

If it helps, here's the exact version I'm running: 53.0a2 (2017-02-07) (64-bit)

Thanks, I reproduced it now and will produce a fix (or rather a workaround, because I think that Firefox is sending me wrong information in this case) soon.

Just published a new version which fixes the issue (at least in my setup).

Well, the error doesn't pop up in VSCode anymore, but it still takes 11 seconds until I can interact with the Add-ons Manager. Since I'm working on debugging my add-on's options in the Add-ons Manager at the moment, the delay is a much, much bigger deal than the error.
Is there any other way you could approach working around the issue?

I see. I don't think the delay has anything to do with the workaround, though, especially since that code is only executed once (and that just takes fractions of a second). I think the issue is rather that javascript execution seems to be significantly slower in Firefox when there is a debugger attached.
Does the code that you want to debug run in the Add-ons Manager tab? If not then I could add an option that the debug adapter should only attach itself to the first Firefox tab and you could open the Add-ons Manager in a second tab...

It runs in the Add-ons Manager tab, yeah. Instead of using the SDK's preferences key in package.json, I bundle my own options.xul file and dynamically populate it via JS. Currently making some big changes to the way this is done for the next major version of my add-on.
My suspicion, based on you referring to the fix as a "workaround", was that the error is still being triggered in the Firefox debugger, thereby slowing it to a crawl, and then you simply ignore it if it matches skipFiles when it gets passed along to VSCode, whereas the errors matching my "resource://**/sdk/**" rule are skipped over by the Firefox debugger entirely. Note that the original error I was getting from the SDK (the one I'm filtering with "resource://**/sdk/**") doesn't delay execution in any way when it's skipped. Besides, no matter how much overhead the Firefox debugger incurs, there's no way a few lines of JS should be taking 11 seconds to execute on any computer built within the last 20 years.
If my suspicion is correct, perhaps a better approach would be to take the user's skipFiles and attempt to mangle any rules starting with "webpack://" to whatever format the Firefox debugger expects so matched items are skipped entirely.

Your suspicion is half-correct: the debug adapter has 2 mechanisms for skipping files:

telling Firefox to blackbox a source file if it matches any of the skipFiles patterns
whenever an error occurs in a source file that matches any of the skipFiles patterns, the debug adapter tells Firefox to resume immediately

Obviously the first mechanism is much faster than the second (if a lot of errors are triggered, otherwise the difference shouldn't be noticeable) and it is usually sufficient - except if an error is triggered immediately after loading a file. In this case, the message telling Firefox to blackbox that file may not have reached Firefox in time, so Firefox doesn't know yet that this file should be blackboxed (the debug adapter can only tell Firefox to blackbox a file after Firefox has loaded and hence started executing that file). This is the only reason for the second mechanism. This should never be a performance issue because the second mechanism will only be triggered once per source file at most. After that, the first mechanism will take care of skipping that file.
I've tried attaching Firefox' built-in debugger to the Add-ons Manager tab (using Tools -> Web Developer -> Connect...) and then reloading it - on my PC it took more than 15 seconds until I could interact with it. Without a debugger attached to that tab I could interact with it after less than a second. So I don't think I can fix the performance issue here :(

Gotcha. Well, that's disappointing. :(


Passthru args to changes-lxc-wrapper

We're sorry, but we're no longer updating this repo, and we're closing this PR without action. Of course you're welcome to fork it!


GH-35244: [C#] DataType should compare values

Rationale for this change
Compare DataTypes easier
What changes are included in this PR?
Hashcode + Equals on all Types
Are these changes tested?
yes
Are there any user-facing changes?
Unless they compare types by reference, no impacts

Closes: #35244
Closes: #35244

Indeed yes, better close this pr for a new dev from scratch


added custom event to enable or disable wall slide

I couldn't find the option to enable or disable wall slide from a custom event.
For my game, I want to only have this enabled for certain walls, so a trigger field before that wall can be placed and I activate wall slide by entering the trigger field and disable it by leaving the trigger field.
So this new custom event provides a trigger to enable or disable wall slide.

is already in the plugins features. my bad!


Fq2 neg nonresidue

Description
Counterpart to https://github.com/arkworks-rs/algebra/pull/207

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (master)
[ ] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
[ ] Wrote unit tests
[ ] Updated relevant documentation in the code
[ ] Added a relevant changelog entry to the Pending section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer

Hi, I achieve a better speedup with a generic script, which I think is preferable to defining param specific methods. However, it cannot yet handle the case for towers involving fp2, which I believe can also be optimise. Hence, I would like to call for a pause on merging this PR.


Kong throws '404 - no Route matched with those values' because of corrupted Cache

Summary
When the system under massive traffic, and CRUD routes via Kong's admin API frequently, Kong returns 404 - no Route matched with those values for a route path that exists at times.
the delete route occasionally returns 500: {"message":"An unexpected error occurred"}. When we retry to delete - in succeed.
It happens randomly (once a week) and for a while taking the cache to rebuilt - therefore we assume it related to corrupted cache (as described here: https://github.com/Kong/kong/issues/5207)
Steps To Reproduce

Start Kong
Load traffic on the system (~ 500 TPS)
Create and delete route via Kong's admin API frequently
After a while, some of the NGINX workers in Kong will start to return '404 - no Route matched with those values' for paths that exist at times
Things start to recover after a while (~40 minutes) or after Kong restart

Additional Details & Logs

Kong version: 1.4
Operating system: CentOS Linux release 7.7.1908
Database: Cassandra
Occurs after getting 500: {"message": "An unexpected error occurred"} from Kong admin API while trying to delete a route (We have a retry mechanism, so whenever we get this error we try again for 5 times with few seconds of waiting between each attempt)
We install Kongs over K8S cluster (Helm deployments)
We work with 3 deployments of Kong connected to the same Cassandra:

ControlPlan - for all rest API calls
DataPlan - for incoming data ingestion (specific rest API which is more commonly used)
UserExperience - for all admin operations (like creation and deletion of routes)

ControlPlan and DataPlan Kong deployments have 6 pods (replica=6) over K8S, UserExperience has 2)
Kong related config params:

ControlPlan:

  cassandra_schema_consensus_timeout = 100000
  cassandra_repl_factor = 3
  cassandra_data_centers = westus:3,eastus:3
  cassandra_local_datacenter = westus
  db_update_propagation = 2
  db_update_frequency = 15
  mem_cache_size = 1024m
  cassandra_ssl = off
  cassandra_ssl_verify = off
  cassandra_timeout = 35000
  anonymous_reports = off
  cassandra_consistency = LOCAL_QUORUM
  cassandra_lb_policy = RequestDCAwareRoundRobin
  cassandra_repl_strategy = NetworkTopologyStrategy
  router_consistency = strict
  router_update_frequency = 1

DataPlan:

  cassandra_schema_consensus_timeout = 100000
  cassandra_repl_factor = 3
  cassandra_data_centers = westus:3,eastus:3
  cassandra_local_datacenter = westus
  db_update_propagation = 2
  db_update_frequency = 28
  mem_cache_size = 1024m
  cassandra_ssl = off
  cassandra_ssl_verify = off
  cassandra_timeout = 35000
  anonymous_reports = off
  cassandra_consistency = LOCAL_QUORUM
  cassandra_lb_policy = RequestDCAwareRoundRobin
  cassandra_repl_strategy = NetworkTopologyStrategy
  router_consistency = strict
  router_update_frequency = 1

UserExperience:

  cassandra_schema_consensus_timeout = 100000
  cassandra_repl_factor = 3
  cassandra_data_centers = eastus:3,westus:3
  cassandra_local_datacenter = westus
  db_update_propagation = 2
  db_update_frequency = 7
  mem_cache_size = 1024m
  cassandra_ssl = off
  cassandra_ssl_verify = off
  cassandra_timeout = 15000
  anonymous_reports = off
  cassandra_consistency = LOCAL_QUORUM
  cassandra_lb_policy = DCAwareRoundRobin
  cassandra_repl_strategy = NetworkTopologyStrategy
  router_consistency = eventual
  router_update_frequency = 1

NGINX related config params (for all 3 deployments):  lua_shared_dict kong                5m;
  lua_shared_dict kong_db_cache       512m;
  lua_shared_dict kong_db_cache_miss 128m;
  lua_shared_dict kong_locks          8m;
  lua_shared_dict kong_process_events 5m;
  lua_shared_dict kong_cluster_events 5m;
  lua_shared_dict kong_healthchecks   5m;
  lua_shared_dict kong_rate_limiting_counters 12m;
  lua_shared_dict kong_cassandra      5m;
  lua_socket_log_errors off;

All pods configured with worker_processes 1; for NGINX workers

We did it because we assumed there is a collision in shared memory between NGINX workers which causing this problem to appear (mutexes? semaphores?). After reducing the NGINX workers to be one, The problem still exists but occurs way less often (once a week instead of once a day)

There was a complete evolution around this issue (trying to fix it by configuration):

First, we set router_consistency = eventual for all deployments with a low update frequency-time
Then, we change the most frequently used Kongs deployments to be router_consistency = strict (ControlPlan and DataPlan)
After, we reduce the amount of NGINX workers to be 4 instead of 8 (Kongs deployments: ControlPlan and in: 3 pods each, UserExperience: 2 pods)
At last, we reduce the amount of NGINX workers to be 1 and scale the deployment to be 6 pods for ControlPlan and DataPlan (portal still have 2 pods)

We are considering, as a workaround, not deleting any routes from now on, instead - patching them to a not exists path /dev/null and once a while deletes all routes with this path. We hope it will keep Kong deployments stable without any occurrence of this issue.
related issues:

https://github.com/Kong/kong/issues/4055
https://github.com/Kong/kong/issues/5207

Are you guys familiar with this kind of issue?

I think cache is not an issue. It is just too many workers try to update and it takes time. Thus why don't you always use eventual?

@bungle Also happened with eventual,  Aslo the same tested with one worker.

hi @bungle , Thanks for your reply.

We believe the cache is the issue because when validating the data in Cassandra, everything is there and valid (so, we came to the conclusion the memory of the cache is corrupted and therefore the routes not found).
We started with 8 workers and then reduce it to 4 - still happened, now it was reduced to one worker and it's still happening. So reducing the workers makes it occurred less frequently but it still occurs.
As I wrote, we started with eventual and we came across the problem once an hour, after changing it in DataPlan and ControlPlan kongs to strict - the problem still occurs, but less frequently.

I guess that needs further investigation. What I mean that it is not necessarily a corruption issue. you are just pushing tje workers. E.g. you make some load to them while triggering constant router/plugins rebuilds. You seem to be creating and deleting route. Thus some rebuilds will get router without that route (giving that 404) and some with that route? It could easily be that Cassandra is bottle neck there as you say things settle after some time. But sure there can be issues. I remember we removed one check that I originally proposed for rebuilds which included a check if router was changed during rebuild (a paging related issue).

Thank you for your response.
I want to understand,
When working in eventual mode, my understanding of the new cache is being built in the background and then Kong "switches" the caches to the newly built one. I would not expect to see any 404 on old/existing (that not deleted) routes (at any giving time).

or is it about sone other route that you are not creating or deleting?

The 404's are on existing routes that not related to CRUD ones.

It could easily be that Cassandra is bottle neck there as you say things settle after some time

When we observe these 404's it didn't feel like something "in transition", the reason I'm saying it, it lasted almost an hour.
Cassandra wise - it was updated and there is no evidence for resource concerns (memory, CPU, IO etc..)

I remember we removed one check that I originally proposed for rebuilds which included a check if router was changed during rebuild (a paging related issue)

Our guess is one of the next "cache rebuilds" managed to build the complete routing in-memory cache and solve the 404's by itself. The problem, of course, is critical as Kong rejects valid requests during these sporadic, long periods
How can we help to promote the investigation?

New cache is built based on certain events. E.g. deleting a route causes it. Now if you did delete and create, that means two events, both of which trigger rebuild. So it can be you got rebuilt with only delete in it and not create. It can even be possible that ypu got create and delete in, but we skipped some other route because of paging. That's the thing I was referring about detecting changes. But we will then start a new rebuild right after, but if you keep constantly creating and deleting routes this flux stays. If we add detection of change during rebuilt that will move the new router further, as it never can finish as you change stuff while it is building.

How many Kong nodes do you run during the test?

We have 4 K8S worker nodes.
On these nodes, there are 6 K8S pods of ControlPlan, 6 K8S pods of DataPlan and 2 K8S pods of UserExperience (I remind you that each pod runs 1 NGINX worker).
@bungle , Can you please elaborate on the paging issue which may cause the problem of the missing routes?
Many thanks.

@al942u
The pagination issue is this:
https://github.com/Kong/kong/blob/next/kong/runloop/handler.lua#L638
for route, err in db.routes:each() do

That actually may make multiple database calls, and inside that loop there are other possible db calls.
So think it got 1000 rows in first call now it processes rows and you create a new row. But that row got inserted in first page, we will miss that route. There are other cases too, where we might even skip  route that nobody touched (a more severe one).
And finally here we swap the router:
https://github.com/Kong/kong/blob/next/kong/runloop/handler.lua#L664
And you see between the :each line and that line we don't check if router has changed meanwhile we did the router build. That could be seen as invalid state router in some cases. We swap the router and then start a new build round, but that one router could be invalid for a little while, thus for you it seems like 40 mins.
On my original proposal you can see things like this:
https://github.com/Kong/kong/blob/1229d6bae7a584688ed634625622472d00f10376/kong/runloop/handler.lua#L775-L778
e.g. a recursive build. It cancels the build and starts a new one if change is detected. But we didn't end up having that.
Now, I am not sure if your issue is because of it, but let's see, you have some 14 pods running, potentially which all may be polling db and doing router rebuilds. On each machine you could have 8 workers, which means that you can have over hundred rebuilds running all the time, and if they are slow, they can start piling up. Especially when you run strict as that can also start new builds on requests while `eventual only does it on background, and doens't pile up.
I am not sure if your use case is a real-world example, or are you just testing something.  What is your use case of doing so?

Hi @bungle ,
Thank you for your quick reply.

what is your use case of doing so?

Our use case is a production running solution where CRUD may not happen for a few hours or it might happen multiple times in a second for a short period of time.

e.g. a recursive build. It cancels the build and starts a new one if change is detected. But we didn't end up having that.

This change is less suitable for us because we might have a burst of rebuilds (it could happen because we have multiple routes creations a second)
Does the paging issue happen in Postgress as well?
Dose the NGINX workers in the Kong container share the same cache memory or each one have its own memory (and rebuilds its own cache)? because we notice that for multiple NGINX workers, some of the workers are with corrupted cache while the others are working as expected.

This change is less suitable for us because we might have a burst of rebuilds (it could happen because we have multiple routes creations a second)

How about this change:
https://github.com/Kong/kong/commit/d028f67fffef0927f1b2a4fb07ea897f2248832d
It does check for changes while rebuilding, but instead of recursively rebuilding, it just cancels the build because it may lead to invalid state router in some edge case. The version is not updated, so with eventual new rebuild try is started after router_update_frequency.
We also need to ensure that you are testing correctly. It sure feels more like some worker event didn't fire issue than this rare paging issue. Can you try with the Kong 2.0.0rc1 and with this: https://github.com/Kong/kong/commit/d028f67fffef0927f1b2a4fb07ea897f2248832d
Just to make sure it is not that.
Can you describe your test situation bit more?
Is 404 happening on some workers with newly added routes? Or randomly even on a route that is not updated? Do you also see Kong proxying to deleted routes? Do you see any errors in your Kong logs?
How fast are you trying a newly added route?
Remember there is db_update_frequency which makes other nodes to be out of sync at worst that period + some rebuilding time. Even with strict as strictness only applies to a node, not two or more nodes (but you said that you have some workers even on same node out of sync). Then there is also worker events, and here are the defaults for that:
    local ok, err = worker_events.configure {
      shm = "kong_process_events", -- defined by "lua_shared_dict"
      timeout = 5,            -- life time of event data in shm
      interval = 1,           -- poll interval (seconds)

      wait_interval = 0.010,  -- wait before retry fetching event data
      wait_max = 0.5,         -- max wait time before discarding event
    }

See description here:
https://github.com/Kong/lua-resty-worker-events#configure
So depending on load I think some events might get lost. @Tieske can you give more internals on this?

Does the paging issue happen in Postgress as well?

Yes.

Dose the NGINX workers in the Kong container share the same cache memory or each one have its own memory (and rebuilds its own cache)? because we notice that for multiple NGINX workers, some of the workers are with corrupted cache while the others are working as expected.

Every worker rebuilds their own router using worker memory. They do not share it with other workers with shared memory.

Hi @bungle ,
Sorry for the delayed response.
On previous comments, I answered some of your questions but let elaborate here:

First, our case is related to "old" routes that did not change at all (not those which currently created or deleted). And therefore we tend to agree with the paging issue and not the fire event on a specific worker's issue. BTW, The corrupted worker/workers worked fine and then suddenly stop proxying old existing routes

We also need to ensure that you are testing correctly...
Can you describe your test situation bit more?...

We are unable to reproduce this issue on our look-alike systems. It happens only on production, unpredictably. It usually happens once a week - That's why it's a rare edge case but critical for us because we cannot have downtime on our APIs.
Since we change instead of DELETE route into PATCH route to unexists path, we didn't come across this issue. This is not a solution for us but we tend to believe it has to do with the dynamic deletions which lead to the paging issue.

Is 404 happening on some workers with newly added routes? Or randomly even on a route that is not updated?

The 404 happens on random routes that are not related to CRUD.

Do you also see Kong proxying to deleted routes?

No.

Do you see any errors in your Kong logs?

No, only the unexpected error occurred while trying to delete the route. Actually, 10% of the delete routes fail on the first attempt (i.e out of 100 deletions, 10 will fail) and when retrying we succeed (We have a retry mechanism).

How fast are you trying a newly added route?

It depends on the user, but usually 30 seconds (or more) later (and it works).

@al942u, any chance you could try #5429?

@al942u also, if possible could you let us know how many Routes you have configured in your database?
This will help us know if the router rebuild iteration needs to do pagination on the DB, and will give us a better idea whether the root cause is the one addressed in #5429.

@nesia-amit yes, you should get an [error]-level log containing "router was changed while rebuilding it" if this case is hit. #5431 was included in Kong 2.0.0. Thanks for the feedback, it would be great if you could keep and eye on that and let us know if that line happens and if the problem persists or not.

Hi @hishamhm ,
We upgraded the Kong to the one you suggested. We will track the logs and see if the issue repeats.
We will update with any progress.
Thanks.

@al942u Thanks! Did you get any more info from the logs?

Hi @hishamhm ,
We haven't seen any occurrence of the issue since 💯 (It takes time to reproduce), however, we did see the following another issue:
When we try to delete OAuth2 application which not exists, it returns 500 HTTP status instead of 404/204 like the other APIs do:
curl -i -X DELETE <IP_ADDRESS>:8001/consumers/27ebaaad-9000-4ef7-a1c5-4080f63e55d3/oauth2/not-exists-oauth2-app

^^^ HTTP status returned: 500 (The consumer exists BTW)
curl -i -X GET <IP_ADDRESS>:8001/consumers/27ebaaad-9000-4ef7-a1c5-4080f63e55d3/oauth2/not-exists-oauth2-app

^^^ HTTP status returned: 404
Kong logs related to the 500 returned:
2020/02/11 15:08:52 [error] 32#0: *5885517 lua coroutine: runtime error: /usr/local/share/lua/5.1/kong/db/schema/init.lua:1995: attempt to index local 'entity' (a nil value)
2020/02/11 15:08:52 [error] 32#0: *5885517 [lua] api_helpers.lua:422: handle_error(): /usr/local/share/lua/5.1/lapis/application.lua:401: /usr/local/share/lua/5.1/kong/db/schema/init.lua:1995: attempt to index local 'entity' (a nil value)

We suspect that the first time we deleted the OAuth 2 application, we also got 500 but the Kong actually deleted it. Then, in the retries, we get 500 because it doesn't exist

Hi @al942u,
@vasuharish was able to really find and fix the issue that we have tried to chase for so long. Today I merged #5564 that should also fix this issue, thus I am closing this. Please reopen if you see the issue persisting even after applying that.

@bungle  @vasuharish Thank you for the info and fix, Seems make sense for 404 and invalid cache entry issue we saw. We will give the fix a try, Do you have any idea when the next release is scheduled ?

@UnixBoy1, you shouldn't have to wait for too long for 2.0.2 or 2.1.0.

Amazing fix! Will it be also included in a 1.x release?

@bungle testing new release, will update if any issue are found.

@UnixBoy1 @bungle , Kong's team not update the docker image in Docker hub with the related release. The last tag is related to release 2.0.1
@bungle , can you tell us when the docker image related to release 2.0.2 (with the fix) will be on docker hub?
Many thanks.
CC @nesia-amit

This has been delayed because of lack of communication.
The work can be tracked here: https://github.com/docker-library/official-images/pull/7534

New version installed 2.0.2 and running  in prod with router_consistency = eventual for a few days now , we will monitor and let you know if we see any issues. For now it seems to be fixed.


Delay of data transfer between Micro-XRCE-DDS-Agent and Fast-DDS

Issue template
I'm running an IoT system that monitors sensors using Micro-XRCE-DDS, Fast-DDS, InfluxDB and Granafa.
The diagram below shows the data flow:

Sensor send data to DDS-Agent, and I run a Fast-DDS subscriber to receive data from the Agent. In my Fast-DDS sub
program, I caculate the interval between the  data and send it to Influxdb, finally I use Grafana to display  the interval.
An example of Grafana's output is shown below:

Sensor data is transmitted at an interal of about 17ms. However, Fast-DDS subscriber occasionally receives data at
interval greater than 20ms.
Is this problem related to Micro-XRCE-DDS-Agent or network protocol stack? How to solve it?

Hardware description: ThinkPad-T470
OS: Ubuntu18.04
Version or commit hash: XRCE-DDS-Agent:v2.0.0, Fast-DDS:v2.3.0

Additional information
On both XRCE-DDS Client side and Fast-DDS sub side, when create participant with XML file, I specify using UDPV4 transport
(because default shm transport doesn't work):
        <profiles>
          <transport_descriptors>
            <transport_descriptor>
                <transport_id>udp_transport</transport_id>
                <type>UDPv4</type>
<!--
                <interfaceWhiteList>
                    <address><IP_ADDRESS></address>
                </interfaceWhiteList>
-->
            </transport_descriptor>
        </transport_descriptors>

        <!-- SUBSCRIBER -->
        <participant profile_name="state_participant_profile">
            <domainId>0</domainId>
            <rtps>
                <name>controller_data_subscriber</name>
                <useBuiltinTransports>false</useBuiltinTransports>
                <userTransports>
                    <transport_id>udp_transport</transport_id>
                </userTransports>
            </rtps>
        </participant>

Hello @liyue75:

Regarding shm: Ubuntu 18.04 is not a Tier 1 platform for Fast 2.3.0. Check here
Regarding <address><IP_ADDRESS></address>, forcing a network interface may introduce jitter, can you set this parameter to <address>localhost</address>?
I'm not sure about which part is introducing this jitter: the XRCE part or the DDS part. Could you "mock" the XRCE part by creating a fake DDS publisher with your desired rate and make the same measurement. My colleague at FastDDS @EduPonz told me that jitter of 3ms is not acceptable in our DDS implementation. So if we discard the DDS part we can focus on the embedded subsystem and check if everything is working as expected in XRCE.

Information required about the sensor:

Are you using an RTOS?
Which transport is using XRCE? Serial, UDP?
How are you creating the XRCE entities? Could you share your sensor code or at least provide details?

@pablogs9 Thank you very much for your help.
As for your question:

I'm using RIOT-OS on stm32. I have ported micro-XRCE-DDS-Client to RIOT.
The transport is UDPv6

After I reading your reply, I tested the jitter between  2 DDS nodes on computer and it were indeed less than 3ms.
So you are right, the problem comes from the embed side.
And then I found the cause of the problem, in publish thread in my embed system, I used an API provided by RIOT
called xtimer_usleep() to switch threads. I thought this API would wake up the pub thread on time, but I was wrong.
So there's no problem with DDS, it's my program.
I'm going to fix my program now. Thanks.

Thanks a lot for the feedback @liyue75, have you consider contributing your RIOT-OS port to https://github.com/eProsima/Micro-XRCE-DDS-Apps?

@pablogs9 Of course, how can I do that? I can contribute my port when I'm free.

Well we can start by seeing what changes have you done and writing some instructions to build it for RIOT-OS

Well, I am free in the next few days, I will write about my port here.

@pablogs9 Hi, I'm sorry for taking so long to update, because everytime I wanted to update before, I didn't konw how to explain it.
So I just created a repository and wrote an example: https://github.com/liyue75/DDS-Client-in-Riot/.
For simple use, I have packaged microdds api.


Add option method to set logger at connection creation

This should fix #93

Coverage decreased (-0.6%) to 79.931% when pulling 045fe5b3f160a93040ca46624fb1b979446b0d66 on jfrabaute:master into e64db453f3512cade908163702045e0f31137843 on samuel:master.


Android crashing on download on first time (java.lang.ArithmeticException: divide by zero)

Having this strange issue on android that it is crashing when I try to download my remote PDF file first time. It downloads the file but then the app crashes. It only happens on the first run but on subsequent call it does not crash anymore. Please refer to the screenshot for the crash stack. I have been using BrowserStack devices.

This is my download file,
 const downloadFile = () => {
    let dirs = ReactNativeBlobUtil.fs.dirs;
    ReactNativeBlobUtil.config({
      fileCache: true,
      appendExt: 'pdf',
      path: `${dirs.DocumentDir}/${fileName}`,
      addAndroidDownloads: {
        useDownloadManager: true,
        notification: true,
        title: fileName,
        description: 'File downloaded by download manager.',
        mime: 'application/pdf',
      },
    })
      .fetch('GET', fileUrl)
      .then((res) => {
        // the temp file path
        console.log('The file saved to ', res.path());
        // in iOS, we want to save our files by opening up the saveToFiles bottom sheet action.
        // whereas in android, the download manager is handling the download for us.
        if (Platform.OS === 'ios') {
          const filePath = res.path();
          let options = {
            type: 'application/pdf',
            url: filePath,
            saveToFiles: true,
          };
          Share.open(options)
            .then((resp) => console.log(resp))
            .catch((err) => console.log(err));
        }
      })
      .catch((err) => console.log('BLOB ERROR -> ', err));
  };

"react-native": "0.66.4",
"react-native-blob-util": "^0.16.0",

Update - After digging a lot, it seems like on android the download is getting called twice somehow on the first run? That might be reason for the crash. As for the other times, I do not get logs 2 times and it does not crash as well.

What size does the file you're downloading has?
For me it looks like the expected file size is 0 and thus we get an error here.
You could try to add a check here: https://github.com/RonRadtke/react-native-blob-util/blob/8edbfc80dea109ccb1fe94d95984b9cd27708210/android/src/main/java/com/ReactNativeBlobUtil/ReactNativeBlobUtilReq.java#L200
E.g. by changing it to
float progress = (total > 0) ? written / total : 0;
Please give me a quick hint if it helps or not. So we can dig further or create a fix

Thanks for your kind response! The file size was not 0 for sure, it had few KB. I will add that check and give it a go today and will update you!

@RonRadtke , I believe adding that check fixed the crash! I could not reproduce the same crash anymore! Would you be kind enough to release an update soon with this small fix? Thanks a lot!

Yes I will.
I was planning on an update thisnweek or beginning of next week regardless


[BUG] import with dot fails

Describe what happened:
got an error like below

Failed to scan: error scanning file <file.go>: error decorating file <file.go>:  unsupported dot-import found for github.com/foo

Describe what you expected:
expected orchestrion to handle inserts, etc, however it failed on imports with dots. i had to rename the dot to bypass it, and then revert the rename. it would be good if dot would not break orchestrion
Steps to reproduce the issue:
import . github.com/foo

We have now released<EMAIL_ADDRESS>which ought to address this issue, and has a new mode of operation. I'll close this issue now, but I encourage you to try it & let us know if you encounter any issues!


[SUPPORT] Can we use "Amazon S3 Multi-Region Access Points" with Hudi ?

Hello Team,
Can we use Amazon S3 Multi-Region Access Points feature with hudi as a part of disaster recovery solution ? Is there any extra configuration required to use it ?
I read about this disaster recovery set up in Iceberg documentation:
Ref: https://iceberg.apache.org/docs/latest/aws/#s3-access-points
Thanks,
Nikul

@nikspatel03 Hudi supports savepoint/restore for DR scenarios. However, I guess your DR use case is to backup in a separate region altogether so that all AZs failure of a region does not affect upstream and you're able to failover quickly. That's not a bad idea. Would you mind creating a JIRA and putting down your initial thoughts about the use case and how you think multi-region access points capability in Hudi can help?


Add securityContext

Describe the feature you'd like
We should drop all AppArmor capabilities except for IPC_LOCK, and set allowPrivilegeEscalation and privileged to false. This is all Vault needs to run.
Describe alternatives you've considered
Unless there is a way to make these changes not apply to the entrypoint, the change would require the creation of a custom entrypoint, as the entrypoint needs the CHOWN and SETFCAP capabilities.
Perhaps you could bypass the CHOWN requirements by mounting /vault/file and /vault/logs as volumes with the correct permissions but what about m_lock?
m_lock requires the following call:
setcap cap_ipc_lock=+ep $(readlink -f $(which vault))
Of course you could just set the SKIP_SETCAP env to false and it will ignore this step but then there is no m_lock.
What's your take on this?

I guess my take is... you should raise these issues with the HashiCorp team and ask them to reduce the permissions in the entrypoint?

Thank you, I will raise an issue there.
However, I just learned that there is no support for memory swapping on Kubernetes. Can you confirm that this is true?
If true, it would be make little sense to enable m_lock. Great news, because then we can run without SETFCAP. If you are interested, I can submit a PR that will add a securityContext with only the CHOWN, SETUID and SETGID capabilities enabled. It will also disallow privilege escalation. I like the fact that you already isolate Vault in its own project. This will improve security even further.

I just learned that there is no support for memory swapping on Kubernetes

Do you have a reference for that?

If I'm reading that issue correctly, it seems that there's hacky workarounds to enable swap, and the issue is open indicating it might be supported in the future. For that reason, I still think it's a best practice to give mlock cap


Delete on image replacement

Description
Please explain the changes you made here.
Release notes
The title of the pull request will be used as the default release notes description. If more detail is needed to communicate to partners the scope of the PR's changes, use this release notes section.
Checklist
General
Read the full guidelines for PRs here

[ ] Added the correct label: < feature | enhancement | bug | dependencies | infrastructure | ignore-for-release | database >
[ ] Assigned to a specific person, civiform/developers, or a more specific round-robin list.
[ ] Created unit and/or browser tests which fail without the change (if possible)
[ ] Performed manual testing (Chrome and Firefox if it includes front-end changes)
[ ] Extended the README / documentation, if necessary

User visible changes

[ ] Followed steps to internationalize new strings
[ ] Wrote browser tests using the validateAccessibility method
[ ] Tested on mobile view. See mobile device mode
[ ] Manually tested at 200% size
[ ] Manually evaluated tab order

New Features

[ ] Add new FeatureFlag env vars to server/conf/helper/feature-flags.conf
[ ] Conditioned new functionality on a FeatureFlag
[ ] Wrote browser tests with the feature flag off and on, etc.

Instructions for manual testing
If instructions are needed for manual testing by reviewers, include them here.
Issue(s) this completes
Fixes #<issue_number>; Fixes #<issue_number>...

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #6341

PR #6314

PR #6325

PR #6365   👈

This stack of pull requests is managed by Graphite.

I need to rework this PR. We can't immediately delete the image from cloud storage because that image removal happens on the draft version of the program. Before the admin publishes this deletion, the image still needs to be around because the active version of the program still has the image and should still be viewable to users.
I only caught this because the screenshot test failure in https://github.com/civiform/civiform/pull/6365, I may add an additional test here around deleting image in a draft but not publishing it -> verify applicant can still see old image.
Anywho, stay tuned!

I realized that we can't immediately remove the old image when a new one is uploaded because the old image is still the image in the Active version of the program that applicants can see. Instead we'll just periodically delete old images using a DurableJob and we don't need this PR anymore.


Adding crawler for state governors of Mexico

PR related to the issue https://github.com/opensanctions/crawler-planning/issues/21
For some reason it is not issuing the occupancy properly in the third iteration. It looks like is something in the h.make_occupancy function (it's returning None) but it doesn't log any error or warning. Can you help me troubleshoot this bug? @jbothma

Hi! This sounds like it's happening by design. Roughly speaking, if someone left a position more than 5 years ago, we don't consider them a PEP and we don't return an occupancy from make_occupancy to indicate that. https://zavod.opensanctions.org/peps/#only-emit-if-theyre-a-pep
The criteria are a bit more complex than that, but make_occupancy is there to take care of it. You just have to add a condition: only emit if make_occupancy returns an occupancy.

That makes sense, should we still emit the position and the person even though the occupancy is None? Or we ignore the entire item?

Nope - skip the person and position as well.
Take a look at those docs - I probably forgot to share them with you before. But it'd be good to know if they're clear or need to be improved.

I didn't notice them before. Sorry about that. They look good.
One last question, they prefix the name with some abbreviations for example:

Ing. (Ingeniero): Engineer
Mtro. (Maestro): Master
C.P. : ??

Should I remove them from the name property in Person? It's always the first word so it's not that hard. I can also add two name properties. What do you think would be the best?

It's really good to clean up the name to only be forname(s) and surname(s), yes! Thanks.
 Are these qualifications/titles or initials?

They are titles apparently:
https://es.wikipedia.org/wiki/Esteban_Villegas_Villarreal
https://es.wikipedia.org/wiki/Ismael_Hernández_Deras
M.C. -> Maestro en Ciencias -> Master of Science
C.P. -> Contador Público -> Public Accountant
Looks like when someone doesn't have any titles, they put "Sr." which is the same as "Mr.".
But since I'm not completely sure of that, I think it would be best to keep the "full" name in some property just in case.


Add integration test environment for CI builds

The AMI for our CI builds has docker/docker-compose.  Look to use https://github.com/vyshane/docker-compose-kubernetes as a way to bootstrap k8s on the local build box.

See https://github.com/spring-cloud/spring-cloud-dataflow/issues/292 (for actual tests, no the CI infrastructure per se)


file_get_contents incorrectly flagged as bad behaviour

file_get_contents() is being flagged as bad with the suggested replacement being wp_remote_get(). This is wrong for local files, because wp_remote_get() does not load files from the filesystem (unless I'm mistaken?)

It appears that this is coming from the WordPress.WP.AlternativeFunctions sniff. This check was introduced in #633 (See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/pull/633#pullrequestreview-12368901).
I guess @grappler introduced this because sometimes file_get_contents() is used to retrieve remote URLs. The fact that it doesn't always apply is probably why it was a warning and not an error.
Maybe this check should be removed, since there will still be an error given for file_get_contents():
 3 | WARNING | File operations should use WP_Filesystem methods instead
   |         | of direct PHP filesystem calls. Found: file_get_contents()
   |         | (WordPress.WP.AlternativeFunctions.file_system_read_file_get_contents)

That error could be updated to also mention the possibility that it is being used for a URL rather than to access the filesystem.
Or perhaps it would be possible to detect whether a URL was being passed in some cases, and only give the warning then. It wouldn't always be able to detect that though.

I think the easiest solution would be to improve the message to something like:

Use wp_remote_get() for remote URLs and WP_Filesystem methods for local files.

I don't think that file_get_contents should be flagged if not using a URL...
I can think of some valid use-cases that would require it (for example getting the contents of a JSON file) and the $wp_filesystem won't work in case the user is using ftpext and has not defined their FTP credentials in their wp-config.php.
It may be a file operation, but it's not like file_put_contents...

It may be a file operation, but it's not like file_put_contents...

I think that is actually a good point. The main reason for using $wp_filesystem is so that the correct permissions are set on write, if I'm not mistaken. So when reading it isn't as important, except in cases when you can only read with ftpext or something, if that is ever true.

How do I tell Codesniffer to ignore this sniff, as I am solely using it for local file contents.

@paulcanning Generally speaking, you're normally better off not ignoring the sniff completely, but selectively ignoring specific error messages for specific files or - depending on the sniff - there may be properties you can set to customize the behaviour.
Taking the specific message mentioned above. you can selectively ignore it by adding something along the lines of the following to your custom ruleset:
<rule ref="WordPress.WP.AlternativeFunctions.file_system_read_file_get_contents">
    <exclude-pattern>/path/to/the/file\.php</exclude-pattern>
</rule>

Or if you want to ignore the whole file_system_read group for your complete project, you can do so om your ruleset by using a custom property:
<rule ref="WordPress.WP.AlternativeFunctions">
	<properties>
		<property name="exclude" value="file_system_read" />
	</properties>
</rule>

FYI: ignoring this error should, in most cases, no longer be necessary. PR #1374 which has just been merged adds a check which tries to determine if a local file or remote file is being accessed and the sniff will now only throw the warning if a remote file is being requested or if local/remote could not be determined.

@jrfnl I still get that warning on something like: file_get_contents(dirname(__FILE__) . '/assets/icons/collapse.svg')

@mckravchyk Please open a new issue with all the details and we'll try and have a look.


Nuclear-expansion like approach

Hi,
I was wondering if it is possible to tweak to Baysor parameters to get a nuclear expansion like approach. Basically, for our dataset, we have an extremely good DAPI segmentation, but only approximately 30% of the transcripts fall into the nucleus.
However, running Baysor creates a lot more cells than expected, even if the prior-segmentation-confidence it set to 1. I have tried to change min_molecules_per_segment, but this did not seem to do the trick.
Would there be an easy way to do this?
Thanks again,
Max

Apologies for the late reply. I think the simplest way would be to remove all cells without nuclei if you think they aren't real. But if there is actually only 30% of transcripts in DAPI, there is a good chance that some DAPI aren't captured. So cells without DAPI could also be real. Are there evidence that DAPI expansion is a better option here? I can add it easily.

Not really. The reason I was asking is, that Baysor always seemed to overestimate the number of cells in my samples. But with the new 10x multimodal segmentation and a high prior confidence, this got significantly better for me.


Workspace UI issues

Going from "Running" to "Pausing" or "Paused" to "Launching" seems to flash the old status (Running or Paused respectively). This should work just like "Terminating".
When on a Workspace Template and then delete is clicked, the top block is deleted (good), but the bottom section still shows the deleted data.
There needs to be an indicator on the Workspace Template card when it is in process of deleting.

Also noticed the second bullet also applies to "Paused" =>. "Terminating"


mixture should be able to return List[Tuple[float, Operation]] instead of List[Tuple[float, matrix]]

Where it is required that the operations be unitary.
This is beneficial because it allows you to return mixtures of large operations, without having to generate their unitaries.
Fixing this mostly involves finding usages of mixture and making them account for this.

You mean Gate instead of Operation?

Good point. A gate _mixture_ would return gates, whereas an operation _mixture_ would return operations. Then, in GateOperation, there would be a conversion.

Is this a duplicate of #1626? Also, I can give this a shot.

Yup, it's a duplicate. Both by me. Four days apart. Wow.


[KARAF-6093] Fix jax-ws packages being exported by bundle 0

Removing javax.xml.soap from jre.properties wasn't enough (https://github.com/apache/karaf/pull/719). Also needed to remove javax.xml.ws packages since they use javax.xml.soap.

Any news on this ? I believe it would fix the issue described at http://karaf.922171.n3.nabble.com/Loader-constraint-violation-javax-xml-soap-SOAPFault-td4056103.html as well.

@ponziani as explained on the mailing list, there's a new set of spec features coming. I will fix this one and related. It will be included in Karaf 4.3.0.RC2 and 4.2.9. Thanks for your patience.

This will be part on a more global PR aka "features specs".

@jbonofre, we're still having the same problem in Karaf 4.3.2. Looking at the source code, it looks like the javax.xml.ws packages were not actually removed from jre.properties.
Can you please point me to information about the more gloabl PR aka "feature specs" ?
I've temporarily patched our custom distribution with a custom jre.properties, but I would like to see a better solution.


Fix DM message inconsistencies in events.

PrivateMessage events have not been renamed to DMMessageEvents like the rest of the API.
The README will also need amending once this is done.

Closed by #221


Fix PKCE to pass random string to FinishLogin instead of hash

For S256 the hash of plainTextCodeVerifier (codeVerifier) was being passed to FinishLogin instead of the original random string. The hash is only used in StartLogin.

Just to elaborate a little more. The current sample PKCE authentication fails for S256 because it passes the random string hash to FinishLogin that is already used in the StartLogin request. The original random string plainTextCodeVerifier needs to be passed to FinishLogin not the hash codeVerifier in order to complete the PKCE authentication for SHA256.


allow user to add environment variables using gui

future commits aren't showing up for some reason so i'm closing this and opening up a new pr


Use sqlite for embedding usage

Now from readme, it seems a mongodb is required. But when use in an embedded situation like Electron offline first app, maybe a simpler storage will be better.

Yes it is possible and has been done, you just have to replace the DB driver class with one of your own.

I see, it requires writing a custom sqlite class like class DataStore extends ServerComponent  implements IDataStore

The type here should allow SQLite

Assuming that you have the following:
class SQLite extends DataStore {
.... your code here
}

in the configuration.ts file
var configuration = new Configuration(
	{
...
		database: {
			MongoDB:
			{
				db_url: process.env.MONGO_DB_URL  //"mongodb://localhost:27017?retryWrites=true&w=majority",
			},
			SQLite: { db_connection: '' }
		},
...
		dataStore: function (server) {
//			return new DataStore(server);
			return new SQLite(server);
		},
...
	});

Please keep in mind that you need to have the following tables in SQLite

wf_instances
wf_items
wf_model_events
You probably don't need:
wf_locks
wf_models

@ralphhanna for

The type here should allow SQLite

I mean #148

well, I'm asking GPT to write it, I will PR here if I make it work.

Seems there are many dependency that should be external,
connect-mongo
@sendgrid/mail
MongoDB
mongoose

and some deps make it not available in browser env
chalk

Will you consider move some deps to another package, like bpmn-server-mongodb? This will make it optional, and useable in the browser env (with some remote db connector or indexeddb driver, or a tiddlywiki driver for store data in the wiki)

I'm planning to embed this as a plugin in tiddlywiki, so it can execute AI workflow in this browser based notebook. (And execute on nodejs side if user is in client-server setup)
And at principle, bpmn engine don't really need to rely on nodejs. I can use bpmn-client to connect to a server in web worker, if user is in pure browser env, and connect to nodejs side server, if user is using nodejs version of tiddlywiki.

This is correct, bpmn-client is very light weight, but needs to connect to a bpmn-server install on the cloud.
Thanks

Are you working on this? Will it be possible to run in pure JS env later? (no nodejs or browser API, for example, webworker or blueberry pie)
I'm not sure how this will be done, but do you need me to do something?

Please go ahead if you can, bpmn-client is stable, no changes for now. It requires a bpmn-server you can use bpmn.omniworkflow.com as a server
change .env to:
API_KEY=12345
HOST=bpmn.omniworkflow.com
PORT=443
BASE_URL=api

Thanks very much, and please let me know if you need help

can we close this now?

Yes, I decided to use Tiddlywiki as storage now. And I know I can now.


YouTube Music Websocket API "Unknown error". Won't play any music from YouTube music.

What version of Music Assistant has the issue?
2022.11.0
The problem
After updating HA and MA and having to relog into YouTube Music, Music Assistant will not stream Youtube music to my third-gen Chromecast. I can cast from my phone to it but not through music assistant. It says unknown error. I can play local media through it though
How to reproduce
playing anything from youtube music to the chrome cast.
Relevant log output
`Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/mass/websockets.py:1106
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 5:08:43 PM (2 occurrences)
Last logged: 5:09:59 PM
[281473137771184] Error handling message: Unknown error (unknown_error) from <IP_ADDRESS> (Mozilla/5.0 (Linux; Android 12; LE2127 Build/RKQ1.211119.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/106.0.5249.126 Mobile Safari/537.36 Home Assistant/beta-2862-66bc2603-2862 (Android 12; LE2127))
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
await func(hass, connection, msg)
File "/config/custom_components/mass/websockets.py", line 114, in async_get_mass_func
await orig_func(hass, connection, msg, mass)
File "/config/custom_components/mass/websockets.py", line 1106, in websocket_playerqueue_command
await player_queue.play_index(msg[COMMAND_ARG])
File "/usr/local/lib/python3.10/site-packages/music_assistant/models/player_queue.py", line 535, in play_index
stream = await self.queue_stream_start(
File "/usr/local/lib/python3.10/site-packages/music_assistant/models/player_queue.py", line 712, in queue_stream_start
stream = await self.mass.streams.start_queue_stream(
File "/usr/local/lib/python3.10/site-packages/music_assistant/controllers/streams.py", line 322, in start_queue_stream
streamdetails = await get_stream_details(self.mass, first_item, queue.queue_id)
File "/usr/local/lib/python3.10/site-packages/music_assistant/helpers/audio.py", line 253, in get_stream_details
streamdetails: StreamDetails = await music_prov.get_stream_details(
File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/ytmusic.py", line 394, in get_stream_details
stream_format = await self._parse_stream_format(track_obj)
File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/ytmusic.py", line 662, in _parse_stream_format
for adaptive_format in track_obj["streamingData"]["adaptiveFormats"]:
KeyError: 'streamingData'
`
Additional information
No response
What version of Home Assistant Core are your running
2022.11.1
What type of installation are you running?
Home Assistant Supervised
On what type of hardware are you running?
ODROID

Hopefully @MarvinSchenkel can have a look at this for you

Just confirm you can play your local media through MA to the chromecast and TTS messages

Yes I can play Local and TTS also works. Thanks for reminding me!

Just checked my sonos and Music assistant won't stream YouTube music through that either. Same "streamingdata" error.

Can you verify whether this happens with all your songs, or just a specific one?

Can you verify whether this happens with all your songs, or just a specific one?

All songs no matter where I pick from either playlists or if I pick a song through artist or any other way :-)

I edited the ha version to the correct one I'm on 2022.11.1

For some reason my HA is on python 3.09 so I'm trying to figure out how to upgrade it

FYI: I had a similar error message. Running HA in its docker container, so components should be up to date. (Looks like Python 3.10.) Anyway, I redid the cookie capture from music.youtube.com and re-configured Music Assistant and it works now.

FYI: I had a similar error message. Running HA in its docker container, so components should be up to date. (Looks like Python 3.10.) Anyway, I redid the cookie capture from music.youtube.com and re-configured Music Assistant and it works now.

Well that worked thank you!!


Allow to always show pointer addresses and value

I found the option "dereferencePointers" but it didn't have any effect for C++ where a char* was still just displayed as the actual string. It would be great if optionally always the address is shown as well in front or after the summarized value.

char* has a type summary, which overrides format settings.  You can disable that with type category disable system.

I just tried that, but then it shows the first character instead.

It does show the address for me.   Did you also disable "dereference pointers"?

This doesn't work for unsigned char *, even after:

setting lldb.dereferencePointers to false, and
adding type category disable system to initCommands.

Any ideas how to work around this?


Possible Memory Corruption

When running the CHERIoT RTOS, I'm hitting an error that looks to be a bug in the hardware.
A global constant is being read back as the wrong value when running on FPGA.
The CHERIoT RTOS build:
git clone --recurse-submodules https://github.com/HU90m/cheriot-rtos/tree/sonata
cd sonata
nix develop github:lowRISC/lowrisc-nix#cheriot
xmake f -P examples/01.hello_world/ --board=sonata \
    --debug-scheduler=y --debug-locks=y --debug-cxxrt=y --debug-loader=y --debug-token_library=y
xmake -P examples/01.hello_world

The image is found at build/cheriot/cheriot/release/hello_world.
The tail of the UART log when running on the FPGA:
loader: Error handler for compartment is 0)
loader: Error handler for compartment is 0)
loader: Error handler for compartment is 24)
loader: First pass to find sealing key imports
loader: Priv Compartment 0, addr: 0x100f80, size: 0x1d20
loader: Thing: 0x81000000; 0x66120000
../../sdk/core/loader/types.h:956 Invariant failure in size
Unused bits in sizeAndPermissions are not zero, field contains 0x66120000

This field value should be 0xc0001000 and it is in the ELF file, if you look at the contents of section scheduler_code (address 0x100f90). But for some reason at run time it is a different value, even when checked right at the beginning of the loader_entry_point.
When running the same image on the Verilator simulator, this value is correct and the simulation continues past it, which is rather odd.
My best guess at the moment is that there is something wrong the bus or SRAM access.
The simulator fails after this point for a different reason, which I haven't investigated:
loader: Skipping sealing type import
loader: Building mmio capability 0x107b30 + 0x174d0 (permissions: G RWc-m- -- ---)
loader: Rounding heap (0x107b30--0x11f000) region
loader: Applying mask 0xffffff00 to entry.size
loader: Rounding heap entry.size down from 0x174d0 to 0x17400 (rounded up to 0x17500)
loader: Assigning rounded heap (in 0x107c00--0x11f000) to the allocator
loader: Heap: 0x107c00 (v:1 0x107c00-0x11f000 l:0x17400 o:0x0 p: G RWcgm- -- ---)
loader: Building mmio capability 0x107ae8 + 0x10 (permissions: G RWc--- -- ---)
../../sdk/core/loader/boot.cc:467 Invariant failure in operator()
0x107ae8 is not in the MMIO range

You may want to use https://github.com/lowRISC/sonata-system/pull/53 when running longer simulations.

An initial thought, the bus in the Verilator simulation is the same as in the FPGA so that is unlikely the problem.

CC @alees24

It looks like this issue has been resolved in the latest version of the main branch. In conjunction with the following fix: https://github.com/lowRISC/sonata-system/pull/61
Hugo can provide more details but I'm closing this for now.

It looks like this issue has been resolved in the latest version of the main branch. In conjunction with the following fix: #61
Hugo can provide more details but I'm closing this for now.

I have no idea what fixed this problem; a lot has changed in the repository since the last rebase. I'd like to get CI running on this soon-ish, so we can catch it if it does happen to pop up again.
#61 was an unrelated known problem with the timer that stopped the simulation leaving the RTOS scheduler

This little fella popped up again.
loader: Error handler for compartment is -1
loader: Error handler for compartment is 216
loader: First pass to find sealing key imports
loader: Creating sealing key 0x10
../sdk/core/loader/types.h:956 Invariant failure in size
Unused bits in sizeAndPermissions are not zero, field contains 0xc4000000

The branches

sonata-system/size-perm-bug-256
cheriot-rtos/size-perm-bug-256

The build
pushd tests
xmake f --board=sonata --debug-scheduler=y --debug-locks=y --debug-cxxrt=y --debug-loader=y --debug-token_library=y
xmake

Loaded onto the FPGA with the sonata system's ./util/mem_helper.sh.

I traced the re-emergance  was actually a different issue. I traced it back to the RTOS not being able to handle very large MMIO regions.

Good work Hugo!


Change "Diaper Acquisition" to "Diapers" in Annual survey

Summary
Change "Diaper Acquisition" to "Diapers" in Annual survey
Why?
The section isn't  not just acquisition, it's distribution as well
Details
The report is found by signing in as<EMAIL_ADDRESS>clicking on Reports, then Annual Survey, then a year.  Recalculate the report to show a fresh copy.
Refactor the name of the underlying service from AcquisitionReportService to DiaperReportService
Todo

[ ] make text and refactoring changes as above
[ ] tests related to the annual survey still pass.

i'd like to work on this @cielf  assigning to myself


Don't print output during test

End to end test shows printed output
Clutters test result and makes it hard to see failures

fixed in be187c843e24c3ea9777a5faa8be0158753342aa


Error provisioning

Hello,
I am trying to import a demo and I've got this error:
Error while creating release definition: Tasks with versions 'ARM Outputs:6.*' are not valid for deploy job 'Agent job' in stage Stage 1.
How to resolve that?
AB#3907

Kindly install the required extension manually and try to provision the project.
Follow #626 for more info.


how to transform pascal voc annotations into coco annotation format with json?

There are multiple open-sourced GitHub repos for this.


build(loader): Use tsc-multi to dual-emit CJS and ESM

Updates the packages in /loader to use tsc-multi to build ESM and CJS with node16 module resolution.
container-loader was done separately in #18264.

Superseded by other PRs; closing.


feat(lang): Add Clojure support as extra configuration

This adds support to Clojure as an extra lang configuration.
Closes https://github.com/LazyVim/LazyVim/pull/1484
@folke I read the docs and couldn't find a recommendation on how to suggest features, so I figured opening a PR should be enought. please let me know if I should do anything else.

Works for me

it works for me as well

I can't get gd working for things outside the project. I tried to re-enable zipPlugin like @LewAndrade mentioned, but no luck. I get an error when I try to go to definition.
Error executing vim.schedule lua callback: /usr/share/nvim/runtime/lua/vim/lsp/util.lua:1142: Cursor position outside buffer
stack traceback:
	[C]: in function 'nvim_win_set_cursor'
	/usr/share/nvim/runtime/lua/vim/lsp/util.lua:1142: in function 'show_document'
	...nvim/lazy/telescope.nvim/lua/telescope/builtin/__lsp.lua:245: in function 'handler'
	/usr/share/nvim/runtime/lua/vim/lsp.lua:936: in function 'handler'
	/usr/share/nvim/runtime/lua/vim/lsp/client.lua:687: in function ''
	vim/_editor.lua: in function <vim/_editor.lua:0>

Is there a workaround for this?


[Bug] Validate entities before creating Proof of Indexing

Bug report
When investigating a POI divergence between two graph-node versions, a polygon subgraph QmWTuqjkyGogHMBuGvQHZjkb189CN4EtGi8ps1yT76Vj9V diverges at block 45504938, On further investigation by checking logs the only difference found was a Proof of Indexing event log

The HourlyVolumeBySource does not have  a field named marginAndLiquidation but still that field is being set to 0 in this case.
Here is the schema of this subgraph. There is another entity FeeStat which has marginAndLiquidation entity
Relevant log output
No response
IPFS hash
QmWTuqjkyGogHMBuGvQHZjkb189CN4EtGi8ps1yT76Vj9V
Subgraph name or link to explorer
No response
Some information to help us out

[ ] Tick this box if this bug is caused by a regression found in the latest release.
[ ] Tick this box if this bug is specific to the hosted service.
[X] I have searched the issue tracker to make sure this issue is not a duplicate.

OS information
None

I'd vaguely suspect there is a determinism issue here related to validation of fields not present in the schema and how that might be different depending on whether the entity is present in the entity cache when being set.


perf: scan concurrently in RowSeqScanExecutor

When no key ranges predicate on the iterator, the code will create as few as possible numbers of iterator, which could decrease the scan concurrency. So when scanning the whole table, it could be bounded by the iterator.
https://github.com/risingwavelabs/risingwave/blob/80f1d58b866b022fd2d5aac92dd2e5bae2c6ceb7/src/storage/src/table/batch_table/storage_table.rs#L421-L438

Yes, multiple iterators are better than the explicit parallelism adjustment in #12741, with less change.

Actually, this only affects the concurrency for creating the iterators. For actual scanning, we're always in a single-threaded manner.
https://github.com/risingwavelabs/risingwave/blob/80f1d58b866b022fd2d5aac92dd2e5bae2c6ceb7/src/storage/src/table/batch_table/storage_table.rs#L492-L499

Actually, this only affects the concurrency for creating the iterators, which has been confirmed (IIRC) to be CPU-intensive in most cases. For actual scanning, we're always in a single-threaded manner.
https://github.com/risingwavelabs/risingwave/blob/80f1d58b866b022fd2d5aac92dd2e5bae2c6ceb7/src/storage/src/table/batch_table/storage_table.rs#L492-L499

It affects the number of iterators in the futures::stream::iter(iterators) in Line 496, which is also the number of futures awaited at the same time. Single-threaded manner here is ok and we only want to make the IO concurrency.

Oh, I get it now, So futures::stream::iter().flatten() will only concat all the iterators but not join the iterators together? So we need to make it concurrent too 🤔

When no key ranges predicate on the iterator, the code will create as few as possible numbers of iterator

I saw https://github.com/risingwavelabs/risingwave/pull/6927, where we intentionally to create fewer iterators, so I'm a little confused. 🤡

When no key ranges predicate on the iterator, the code will create as few as possible numbers of iterator

I saw #6927, where we intentionally to create fewer iterators, so I'm a little confused what to optimize for. 🤡

we need to scan concurrently for IO bound scan by polling multiple iterators at one time. So we need to split the range into multiple pieces.


win-64/libiconv-1.15-vc9_0.tar.bz2 conflicts with vc14

>conda install --force -c conda-forge "libiconv>=1.15" --override-channels
Solving environment: failed

UnsatisfiableError: The following specifications were found to be in conflict:
  - libiconv[version='>=1.15']
  - numpy -> blas==1.1=openblas -> openblas -> libflang -> *[track_features=vc14]
  - numpy -> blas==1.1=openblas -> openblas -> libflang -> vc==14
  - numpy -> python=3.6
Use "conda info <package>" to see the dependencies for each package.

Previous version (libiconv-1.14-vc14_4.tar.bz2) installs OK but is has broken meta.yaml
that causes conda-build to crash
requirements:
    build: !!python/object/apply:builtins.getattr
        - !!python/object:conda_build.environ.Environment
            _meta: C:\Miniconda35-x64\conda-bld\recipe_1481573594901\_b_env\conda-meta
            _packages: {}
            path: C:\Miniconda35-x64\conda-bld\recipe_1481573594901\_b_env
        - package_specs

Maybe just rebuild libiconv-1.14-vc14_4.tar.bz2 with newer conda-build  installed.

Maybe this was because there was no libiconv version 1.15 package for vc==14. Should be fixed with PR ( https://github.com/conda-forge/libiconv-feedstock/pull/17 ).


Recompile plugin with steampipe-plugin-sdk v4.1.8

Closing the PR since the plugin has been updated to SDK v5.0.0 in https://github.com/turbot/steampipe-plugin-cloudflare/pull/45


Cam we save the data for later analysis

Hi
Can I use this project for saving the data in HDFS for later analysis if not then can you point me to other popular project.
Regards
Akhil

Hello,
our project is focused on the stream-based analysis. Therefore, we do not have any connector to the HDFS.
Analysis flows in HDFS is really hard task (and HDFS isn't a good choice for such a scenario). However, you can check project SecurityCloud which was developed as well as Stream4Flow but is focused on batch-based analysis and uses GlusterFS.


SDL2_image not found on Windows

I boot up a Windows VM, install SDL2 and put it in my current working directory. And run the example.
C\> SET "DENO_SDL2_PATH=%CD%"
C\> deno run --allow-env --allow-ffi --unstable https://deno.land/x/sdl2/examples/hello.ts

After running that, I get the following error:
error: Uncaught Error: Could not open library: The specified module could not be found.

const sdl2Image = Deno.dlopen(getLibraryPath("SDL2_image"), {
                       ^
    at Object.opSync (deno:core/01_core.js:174:12)
    at new DynamicLibrary (deno:ext/ffi/00_ffi.js:231:24)
    at Object.dlopen (deno:ext/ffi/00_ffi.js:329:12)
    at https://deno.land/x/sdl2@0.5.1/mod.ts:245:24

The thing is, SDL2_image.dll exist in the same directory as SDL2.dll and SDL2_ttf.dll.
C\> DIR | FINDSTR /c:"SDL2"
13/01/2022  03:14 AM         1,763,967 SDL2.dll
31/07/2021  08:20 PM           137,492 SDL2_image.dll
13/01/2022  03:18 AM            69,473 SDL2_ttf.dll

What could be the problem? Is it because of my VM?

Fixed it. Sorry for bothering


Add set noout and unset noout check for ceph cluster in COU

Add set noout sanity check in pre plan sanity check. If noout is set, stop COU and ask operator fix the issue in ceph cluster first
If noout is unset, continue the ceph upgrade, then

Prompt for operator interaction, and ask the operator make noout set before continue the upgrade process
If the operator fails to make noout set after 3 trials, stop COU upgrade, otherwise
continue the COU upgrade

Add finalize step at the end of COU upgrade (fail or success) to do sanity check for the thing COU asked to do during the upgrade (e.g. in this PR only setting noout)

Created PR first, let's see what needs to be improved before writing or fixing unit test

You can try the behavior with one ceph-mon and 3 ceph-osds, and remove the temporarily health check code in COU.


DEVMS-3503: Allow Code Blocks Inline

 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.


!!! Error: Artifact directory doesn't exist: build

I use to deploy my react app on S3 Buckets, but the UI has been broken on it. And decided to give it a try with Amplify and i get the following error:
!!! Error: Artifact directory doesn't exist: build

I am having the same issue...when I trigger the pipeline without the test stage all works as expected, however, if I add the test stage I get the exact same error. The baseDirectory is the same in both cases.

Here is my amplify.yml:
version: 1
frontend:
  phases:
    preBuild:
      commands:
        - nvm install 12.18.3
        - yarn install
    build:
      commands:
        - yarn run build
  artifacts:
    baseDirectory: dist
    files:
      - "**/*"
  cache:
    paths:
      - node_modules/**/*
test:
  phases:
    preTest:
      commands:
        - npm install
        - npm install wait-on
        - npm install<EMAIL_ADDRESS>mochawesome mochawesome-merge mochawesome-report-generator
        - "npm start & npx wait-on http://localhost:3001"
    test:
      commands:
        - 'npx cypress run --reporter mochawesome --reporter-options "reportDir=cypress/report/mochawesome-report,overwrite=false,html=false,json=true,timestamp=mmddyyyy_HHMMss"'
    postTest:
      commands:
        - npx mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json
  artifacts:
    baseDirectory: cypress
    configFilePath: "**/mochawesome.json"
    files:
      - "**/*.png"
      - "**/*.mp4"

Hi @mbast100 , we attempt to derive your build directory when connecting your app's repo to Amplify Console, for React apps bootstrapped w/ CRA, the is usually the "build" folder in your project root, if you've modified this you need to update your build settings baseDirectory to point to the correct build output folder. (App settings > Build settings, edit the amplify.yml file and make sure frontend > artifacts > baseDirectory is set to the name of your build output directory)

@cslogan-red  that makes sense ! Thank you so much, updating the base directory worked :)

@mathvbarone Did you figure out the answer to your problem, my yml file looks basically identical (it's pretty much from the tutorial) and it doesn't work.

I added a mkdir -p build to my pre-build stage.

I have the same situation. My template is pretty much identical to the one provided in the tutorial to adding Cypress to Node apps for testing. Artifact baseDirectory for frontend step is "build" and "cypress" in test step and was no issue for weeks until it suddenly started throwing 2021-10-04T20:51:19.253Z [ERROR]: !!! CustomerError: Artifact directory doesn't exist: build. I run an ls -la and there is no build directory within my test phase, as there shouldn't be. I'm not sure why/what is looking for the build directory when I've specified the baseDirectory in my test phase to be cypress which does exist.
As outlined in the tutorial, the frontend phase "build" stage executes npm run build and the entirely separate test phase executes npx pm2 start npm -- start which is the development version and doesn't create a build directory. So what in my test phase is looking for "build" and not "cypress," like I told it to look for?

Hi, I am having a similar issue:

And here is my build yml:

Would be great if anyone could advise if i'm doing anything wrong and how to rectify this. Thank you in advance! :)

Change your base directory to ./my-app/build
and you should be ok.

Same issue, I tried with the changes based on above comments but still showing that error again and again.


Report how much space would be saved if one or more snapshots were removed (pruned)

One usability issue with deduplication and compression is that even if a snapshot contains, say, 1GB of files, it doesn't mean that if this snapshot didn't exist you would save 1GB of disk space. It might save nothing if those same files are included in other snapshots, and even if not, it might save way less than 1GB of space if the data compress well.
But what if rustic had a feature to report how much disk space would be saved if some set of snapshots were removed?
(That's a feature I sorely miss in any system with deduplication, like btrfs and xfs - rather than running du -h to show the size of a set of directories, I want to show much much removing those files will change what is reported by df -h - this means not counting extents with multiple reflinks, unless all of them are contained in the directories passed as parameters; and in the case of btrfs, taking compression into account)
Note that having this tool report on removal of multiple snapshots is essential, because the amount of space saved by removing snapshots A and B (in any order) can be greater (or equal) than the amount saved by removing only A plus the amount saved by removing only B, because there may be files that are included in both A and B and no other snapshot. So it's possible that removing A will save 1GB, removing B will save 1GB, and removing A then B (or B then A) will save 500GB.

Did you try out rustic forget --dry-run --prune <ID> <ID> ... ?

... okay, I didn't, thanks! Glad to see this is already implemented!


Add blogs and unique comments

Add new BlogPost class to send get and post requests to datastore. Store associated blog tag for each new comment. Add blog cards on index.html to redirect to blog posts.

Approved to unblock, but could you address Andrew's remaining comments. Thanks!

Yes, still working on refactoring a bunch of the query code!


Smaaaaall cosmetic topics ..

Last priority ..

Thanks, these fixes will be included in the next version.


feat(ui): add ability to edit host cert and macaroon

Description:
resolves #1182

How Has This Been Tested?
Manually

Screenshots (if appropriate):

Types of changes:
New feature

Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[x] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage decreased (-0.04%) to 18.742% when pulling b34ac2a1d85d33488497b2d4f4dd7660d927e936 on korhaliv:feat/edit-cert-macaroon into 70e6a5ab7b707b2916d2d7d392d6aaae8f4aa64e on LN-Zap:next.

@JimmyMow I understand the motivation, but there may be a situation when a user has installed the wallet some time ago and may not remember the details, so the hint will be quite handy here. After all we even support older versions of zap db formats(via migration scripts) to take care of longer time users

Agreed - I think it's better to keep the help text on the page to help users fill out the form. IMO it's better that users are shown the expected format than them getting confused and posting support questions here or in slack.

@korhaliv on the issue of the field labels...
At the default screen size they look a bit squashed up and run over to multiple lines with a break in a strange place. See screenshot:
With examples

Compare without examples:

It definitely looks a lot cleaner without the examples. So I'm a little torn on the best thing to do as I think the examples would be useful to people (actually, the reason  why we added the examples to the onboarding forms in the first place was because people kept asking us questions about how they should enter the paths)
One option could be for us to leave out the examples for now, and then consider adding them back in as tooltips once #1291 is in. Or, perhaps we could add the examples as a hover tooltip on the inputs themselves?

@mrfelton this is the motivation behind my comment above. I like the tooltip idea

Ok, I've removed examples. I think for consistency sake it's better to do tooltips the way #1291 does it, so let's wait until it's merged and update settings screen once more


Add option in README.md with instruction about  Contributing Guidelines

Sorry for missing that part, here is the Contributing Guide.


Birthday Cake Candles HackerRank

Description
Code added for Birthday-Cake-Candles in C++
Fixes #2003
Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x]  I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings

@ravikr126


Bug: Highlighted Content WebPart error on browser back button

Category

[ ] Question
[ ] Typo
[X] Bug
[ ] Additional article idea

Expected or Desired Behavior
Highlighted Content webpart, configured to show only sites. Click on the card link open the site in the same window, hit back button to navigate back to the page where webpart was added.
Observed Behavior
Click on link (For cards layout, click on the link with smaller font), hit browser back button and see,

------|-----------
Something went wrong
If the problem persists, contact the site administrator and give them the information in Technical Details.
TECHNICAL DETAILS
ERROR:
***The value for "Duplicate web part id not allowed" is false
CALL STACK:
Error: ***The value for "Duplicate web part id not allowed" is false
at Function.e.isTrue (https://spoprod-a.akamaihd.net/files/sp-client-prod_2018-02-23.006/sp-pages-assembly_en-us_ec564824dbf6a181d45720395d9a194e.js:294:1380)
------|-----------
Steps to Reproduce

Create new site page
Add Highlighted Content webpart
Configure below
Source: All sites
Document type: Any
Filter: Managed Property - WebTemplate Equals Group
Sort by: Most recent
Layout: List or Cards (For cards, click on the link with smaller font)

Running into the same error on my new SharePoint Communication sites.

Thanks for the feedback, we will take a look at this issue.

Hello @rjesh-git & @briester1 - This issue is now fixed. Its in the build pipeline and you should be able to see it in the new release which will be no more than two weeks from now. Please let us know if you guys don't see it then. I am closing the issue for now. Feel free to re-open it if you don't see the fix.
Thanks,
Srikanth

Thanks for looking into it Srikanth. Its fixed already in our tenant as well as in our customer.
--
Rajesh.

I'll keep checking our site collections. We were running into it on the header image for communication site. Thanks for the update.


Use integer division in tests/test_transforms for array slice indices + various PEP-8 fixes

test_transforms was failing due to non-integer division in the test_crop function for variables used as slice indices into the image.
Also added various PEP-8 fixes (spaced, removing unused imports etc.)

Thanks!


Generate release and tag

The current version (0.2.1) has a huge bug on the ExceptionListener - It's importing the HttpExceptionInterface instead of HttpException.
Please generate a new release.

What version of Symfony are you using?

I've also pushed out 0.3.0.

@dcramer I'm using Symfony v2.7


467 notfound old docs

Closes #467
When a reader uses an older link from api3-doc that included an Airnode or OIS version they of course get a 404. Now the 404 page looks for this and offers them a simple explanation and a button to get where they want to be.


Which version do I need to make getDocument work with Microsoft Edge browser?

Using version 2.5.207 and importing:

pdfjs-dist/build/pdf
pdfjs-dist/build/pdf.worker.entry

Will lead to an error as soon as you use getDocument:
const loadingTask = pdfjsLib.getDocument(pdfUrl);
await loadingTask.promise;

Unhandled promise rejection TypeError: Function expected
TypeError: Function expected at MessageHandler.prototype.sendWithStream (http://localhost:8000/build/vendors~app~catalog.js:61445:5) at PDFWorkerStreamReader

From the FAQ:

While the library and the default viewer should still work in IE 11/Edge (non-Chromium-based) for the time being [...]

So I'm wondering, which version can work with Microsoft Edge?

If using pdfjs-dist, please see https://github.com/mozilla/pdfjs-dist/tree/master/es5

Hi @Snuffleupagus thanks for helping. So it's not my bad, Edge is quite a good browser but still I need to import ES5 version (which is slow as hell)?

Modern Edge is Chromium-based, so that version is supported. The non-Chromium-based Edge is not supported anymore and contained a number of bugs in the platform, so if you need that version you need to ES5 version. There should be many noticeable differences between the ES5 and the non-ES5 version, but that also depends on the platform.


remove data from repository

We are all using metrics shared task data. Would be good if we could have that as a dependency instead of in the git tree. This script downloads & unpacks the data.

I think I removed all the data already.


Help window with supported commands and shortcuts

This addresses https://github.com/thelounge/lounge/issues/764, but it was not the starting point of this PR: I am currently rewriting the documentation (PR incoming) and the existing one only has Commands and Keyboard Shortcuts.
The website is not the best place for these and it makes more sense to have them available directly in the UI.
I also rewrote a lot of them to make them clearer and/or more up-to-date with the current state of the project.
⚠ This is not intended to be perfect before merging.
My current and only goal for this PR is to move the 2 pages from the website to the UI, with correct description. There are many ways to go nuts with this: display shortcuts for the current platform only, hide the keyboard shortcuts on mobile, etc. This PR will not address any of these. I'll let future contributors help with that while I'm moving forward with the improvements on the documentation 😄
TODO

[ ] Fill the blank for /ctcp command. Any suggestion for this?
[ ] Go through all the language with a fresh set of eyes and review with native speakers

Screenshots

Icon in the sidebar
Command examples
Shortcuts + About
Whole page

Thanks for your review, @YaManicKill :)
You're good on the wording? Any suggestions for /ctcp?

It would also be nice to be able to have a key-binding for this window as well. It's pretty common to just have "?" go to a keybindings/help window, but that wouldn't work if the user was in the text input. That also feels like something that can come later.

Agreed, but I'll leave that to potential contributors who want to get involved in the project after we merge, so I can go back to my other focuses :)

You're good on the wording? Any suggestions for /ctcp?

Pssst, dunno what you are talking about.
To be honest, ctcp is so niche and specific that it's probably best to describe it as little as possible, and send to some more documentation about what ctcp actually is (the wikipedia page is pretty good, for example).
Something like

Send a CTCP request. Read more about this here

or something like that. I don't think putting a longer explanation will actually help anyone.
Also, just a quick thing, you have the command as

/ctcp args

Should we change that to

/ctcp target command [args]

Completely agree with all that, @YaManicKill. I made all these changes.
This led me into thinking only first param was mandatory, and even then I made a typo.
Just for archive purpose, this is what it's calling.
Let me know if you have any other wording changes in mind. I think it's already a good start :))

@YaManicKill, ok with this after I applied your suggestions? :) Can I have 👍 from another @thelounge/maintainers too? Thanks!

I will :+1: on the premise that we need documentation. But could you align the columns in tables, and I think left aligned text is better suited.

@astorije small CSS changes:
diff --git a/client/css/style.css b/client/css/style.css
index 81cbaab..9054cf0 100644
--- a/client/css/style.css
+++ b/client/css/style.css
@@ -1320,6 +1320,10 @@ kbd {
 	margin-top: .2em;
 }

+#help .container {
+	max-width: 100%;
+}
+
 #help .help-item {
 	display: table-row;
 }
@@ -1333,7 +1337,7 @@ kbd {
 #help .help-item .subject {
 	white-space: nowrap;
 	padding-right: 10px;
-	text-align: right;
+	width: 200px;
 }

 #help .help-item .description p {
@@ -1815,6 +1819,15 @@ kbd {
 	#chat .title:before {
 		display: none;
 	}
+
+	#help .help-item .subject {
+		display: inline-block;
+		padding-bottom: 4px;
+	}
+
+	#help .help-item .description {
+		display: block;
+	}
 }

 @media (min-width: 769px) {

Hey @xPaw, thanks for this!
Regarding the left alignment, I preferred aligned right, but that's very much personal preference + self-convinced when looking at how GitHub does it. I have set it left.
Regarding the 200px width, I have done slightly differently using max-width: 150px. That way, the commands, which are longer, take up as much as they need, and the shortcuts don't have this big white space between shortcut + description. Also less risky to use min-width if someone is using an alternative font family or size (for example for accessibility purposes). And it's a compromise so the shortcut tables stay aligned. It looks like this in the end:

What do you think, still not good? I don't have a strong opinion. I do prefer this version, but I'm fine either way.
That max-width: 100%; on .container however... I just can't 😅
This breaks all consistency we have with the other windows (settings, connect to a network, login, loading page), and frankly I don't find the result nicer or more readable (human eye reads better in columns, actually).
I would much much prefer to keep the current version for consistency sake and change this when we improve window styles (for example when adding tabs in the settings, see screenshot in https://github.com/thelounge/lounge/issues/85 for an absolutely-not-definitive idea).
Would you be ok with that?


browsers:node14.17.6-chrome100-ff98 image does not have git installed

I suspect this issue is in the base image and affects other browser images as well.

@ddzz Give https://github.com/cypress-io/cypress-docker-images/tree/master/browsers/node16.14.2-slim-chrome100-ff99-edge a try if you want something newer that includes git.
Seems like maybe some images got broken with https://github.com/cypress-io/cypress-docker-images/pull/667#discussion_r879832904. this is pretty frustrating as a breaks cypress-git integrations like posting status updates to a PR.

Closing this with the recommendation to try newer images.


Delete analysis

Adding the possibility of deleting analysis. The first step to be able to delete an analysis is to make sure it exists, thus also adding the exist function to the Analysis object.

Coverage decreased (-0.13%) to 79.16% when pulling 0a5488115928a553b57f8823bc0aa06314f53f45 on antgonza:delete-analysis into da407f650ce67619aaabf61d620e382f39621c22 on biocore:master.

Few comments @antgonza

@antgonza I see some errors in your build. After a quick look, they don't look like it's related to your changes, but we will need to investigate more.
I pulled down your code and it looks good and works awesome!

@antgonza @josenavas seeing the same thing over in #1172.

Thanks for pointing that out. I'm wondering if one of our dependencies changed something, so that's why we are seeing that behavior...

@antgonza There are merge conflicts here, which is preventing auto-merge, which is preventing the fixes in #1186 from being applied before the test suite runs. Fixing the merge conflicts should resolve the issue.

Coverage decreased (-0.12%) to 79.16% when pulling 661943463ae032000d4a685e8222c9181c6342f5 on antgonza:delete-analysis into 2d71d7d2df35f050b77995a65e751340f1520532 on biocore:master.

Ready for another review ...

:+1:

One comment, but looks good otherwise

Coverage decreased (-0.14%) to 79.14% when pulling 7e22a62cd1433d2f542062961a9b1cf2a32c0025 on antgonza:delete-analysis into 2d71d7d2df35f050b77995a65e751340f1520532 on biocore:master.