Spatial extension support

Do you plan to implement DuckDB spatial extension support, mainly ST_Read?
Will it be PostGIS types support?

Yes, we would like to see spatial / GIS support, it's just a matter of time and priorities. Determining how it interacts with postgis will certainly need to be part of the design.

Thanks, will wait.

+1 for PostGIS support!

Does it support spatial extension yet?
looks like functions are not registered. I have run postgres=# select duckdb.install_extension('spatial'); first. But when I run postgres=# SELECT ST_AsText(ST_MakeEnvelope(0,0,1,1));
ERROR:  function st_makeenvelope(integer, integer, integer, integer) does not exist
LINE 1: SELECT ST_AsText(ST_MakeEnvelope(0,0,1,1));
^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

I think it won't work like your example. The main difficulty to implement is postgis—duckdb function mapping. In the PG should be used normal Postgis functions or duckdb functions from the schema duckdb. Postgis geometry is stored in the ewkb format, duckdb stores wkb - without srid and BBBox information, than could add additional difficulty.
Also there is no geography type in the duckdb spatial extension.
A lot of things to do ....

I think it won't work like your example. The main difficulty to implement is postgis—duckdb function mapping. In the PG should be used normal Postgis functions or duckdb functions from the schema duckdb. Postgis geometry is stored in the ewkb format, duckdb stores wkb - without srid and BBBox information, than could add additional difficulty. Also there is no geography type in the duckdb spatial extension.
A lot of things to do ....

PostGIS doesn't store EWKB internally, and DuckDB doesn't store WKB internally either. Both use their own internal format and while they are not identical, the DuckDB format is very much inspired by PostGIS (both store BBOX:es). The major difference is that DuckDB does not store the SRID in the geometry value itself.
I imagine the easiest solution is to just cast/convert to and from WKB when transferring geometries between DuckDB/PostGIS as ISO WKB basically models the common subset of spatial type support between the two systems.


It's actually reasonable in that our code was pretty confusing since we were re-defining a function we'd later call.


fw_meta: do not trust firmware metadata memory regions

As described in #114, the SVSM PVALIDATEs and uses hypervisor-provided memory regions without any checks, which could lead to the SVSM kernel doubly validating its own memory.
In order to fix this, introduce a new type, MemoryRegion, to serve as a common type to perform these kinds of checks. While we are at it, use this new type everywhere possible instead of having per-module types with essentially the same functionality.
While we are at it, cleanup code around the use of memory regions.
Fixes #114.

@joergroedel would it also make sense to check if the regions are already validated in the ValidBitmap?

Merged manually, thanks.


Improved Scroll Bar UI

Apply styling to scroll bar thump and track. And improve the scrolling behaviour.
Before
https://github.com/user-attachments/assets/eba3b188-0aeb-4541-944f-45a62abb30ad
After
https://github.com/user-attachments/assets/02a0c24b-4448-4b5d-9d6f-6340051f3964
fixed issue #196

Resolve conflicts


Add ruby-duckdb client

add https://github.com/suketa/ruby-duckdb to repositories.md as Ruby client

Thanks!


Adding a configuration for the length of query logs.

Query logging becomes the bottleneck when a use case sends long queries with
high QPS. To avoid this, this change makes the query logging length configurable.

Codecov Report

Merging #1825 into master will decrease coverage by 0.08%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1825      +/-   ##
==========================================
- Coverage   65.73%   65.64%   -0.09%
==========================================
  Files         885      885
  Lines       42609    42610       +1
  Branches     5603     5603
==========================================
- Hits        28008    27971      -37
- Misses      12725    12760      +35
- Partials     1876     1879       +3

Impacted Files
Coverage Δ

...ot/broker/requesthandler/BrokerRequestHandler.java
88.1% <100%> (+0.03%)
:arrow_up:

...om/linkedin/pinot/client/PinotClientException.java
33.33% <0%> (-33.34%)
:arrow_down:

...in/pinot/core/query/pruner/ValidSegmentPruner.java
57.14% <0%> (-28.58%)
:arrow_down:

...inot/broker/servlet/PinotClientRequestServlet.java
48.78% <0%> (-14.64%)
:arrow_down:

...inot/client/JsonAsyncHttpPinotClientTransport.java
60% <0%> (-11.43%)
:arrow_down:

...e/impl/dictionary/LongOnHeapMutableDictionary.java
88.88% <0%> (-6.67%)
:arrow_down:

.../impl/dictionary/FloatOnHeapMutableDictionary.java
88.88% <0%> (-6.67%)
:arrow_down:

...impl/dictionary/DoubleOnHeapMutableDictionary.java
75.55% <0%> (-6.67%)
:arrow_down:

...nkedin/pinot/common/metrics/ValidationMetrics.java
34.78% <0%> (-4.35%)
:arrow_down:

...ot/core/query/pruner/ColumnValueSegmentPruner.java
84.48% <0%> (-3.45%)
:arrow_down:

... and 13 more

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 bc44c5b...54f0d74. Read the comment docs.


Add BCRYPT_KEY_DATA_BLOB_HEADER

Sorry to not have commented before, I read part of the code but never got to finish the review, my only comment was on NullHandle naming. It's named Null in SafeObjectHandle and it could be nice to synchronize it.

Good point. Thanks. See #72


[WIP] VMware DTO Refresh

This moves the VMware InfraManager over to using DTO refresh

@Ladas this is the first pass through, most top level objects are saved but no other associations yet

@agrare awesome, looks like a great first step :-)


GetTaskAncestry loop through steps that are already visited and cause performance issue

Checklist:

[ ] I've included the version.
[ ] I've included reproduction steps.
[ ] I've included the workflow YAML.
[ ] I've included the logs.

What happened:
When testing complicated DAG workflow (10*10 matrix with Cartesian product like dependencies) the workflow controller stuck at GetTaskAncestry, as it try to process every node even through they are already visited and take extremely long time
What you expected to happen:
The visited ancestry node should not be processed again during the same GetTaskAncestry cycle for better performance
How to reproduce it (as minimally and precisely as possible):
workflow spec to reproduce
https://github.com/StoneRelax/ArgoBenchmark/blob/master/argo-10by10.yaml
Anything else we need to know?:
Environment:

Argo version:

$ argo version

Kubernetes version :

$ kubectl version -o yaml

Other debugging information (if applicable):

workflow result:

argo get <workflowname>

executor logs:

kubectl logs <failedpodname> -c init
kubectl logs <failedpodname> -c wait

workflow-controller logs:

kubectl logs -n argo $(kubectl get pods -l app=workflow-controller -n argo -o name)

Logs
argo get <workflowname>
kubectl logs <failedpodname> -c init
kubectl logs <failedpodname> -c wait
kubectl logs -n argo $(kubectl get pods -l app=workflow-controller -n argo -o name)

Thank you @StoneRelax. You seem to have a good handle on this issue - would you be interested in submitting a PR to fix it please?

Sure https://github.com/argoproj/argo/pull/1908 opened for review


Anvil: Migrate reth's tracers once the providers & RPC types migration is complete.

This would allow us to receive any upstream fixes to the tracers directly on Anvil, without having to duplicate work on fixing bugs on each side.

I would like to take this up as soon as the providers / RPC Types migration is done, and can also look into taking up tasks related to the providers / types migration if available

Hi @ankurdubey521 we're gonna drive this feature as it's p critical and we'd like to iterate quick on it! Thank you for offering nonetheless!


Article is saved when save dialog is not in focus and q is pressed

Extracted from #113.
Newsboat version (copy from newsboat -v): 2.10.2
Steps to reproduce the issue:

Add a feed to the urls file, load the articles.

Enter the articlelist for that feed, press s to save the first article.

Press ^G to switch from save dialog back to articlelist, then press q.

Expected behaviour: we get back to feedlist, articlelist is closed, save dialog stays open in background.
Actual behaviour: we get back to feedlist, articlelist is closed, save dialog stays open in background, and the article is saved to the file.

While thinking about this issue, I came up with various solutions:

Make the save dialog actually modal, specifically:

Make it impossible to switch from an open save dialog to any other dialog (except by closing it altogether)

Cancel the save-dialog as soon as the user switches to a different dialog
Remove the special "modal" handling of the save dialogs. Instead, add callbacks (implementation provided by the initiating dialog) which the save dialogs can invoke when a filename is confirmed.
Pass all data (pairs of suggested filenames with their content) from the initiating dialog to the save dialogs. Let the save dialogs do the actual writing to file (instead of only selecting a filename). Then, the save dialogs can be handled like regular dialogs instead of modal dialogs.

My current idea is to remove the separate run_modal() event loop and implement something like option 3.

Yeah, options 3 and 4 are better IMHO because the user can consult other dialogs before saving a file.
With option 3, how do you plan to ensure that the initiating dialog is not closed while the save dialog is still open? If this is not enforced, the callback might try to access deallocated memory (e.g.  ItemListFormAction::save_file requires access to ItemListFormAction's View to display errors).
Option 4 doesn't have that weakness, but it also requires {File,Dir}BrowserFormAction to know how to save anything and everything — tight coupling, bad. So I think option 3 is the most promising.

With option 3, how do you plan to ensure that the initiating dialog is not closed while the save dialog is still open?

By capturing the shared pointer of the ItemListFormAction in the callback.
Getting a shared pointer to the FormAction (without ownership loops) can be done in two different ways:

Let the View pass it into the process_op() function every time an event is handled
Use std::shared_from_this(), mentioned here: https://devblogs.microsoft.com/oldnewthing/20190104-00/?p=100635 (doc: https://en.cppreference.com/w/cpp/memory/enable_shared_from_this/shared_from_this)

Ah, so it can be closed, but we'll keep its memory around for as long as we need it. Makes sense.
Okay, another pitfall: if the save dialog is not modal anymore, the state of initiating dialog might change while the save dialog is running, and that can bork the callback. For example, the user could:

select an item in the itemlist and press s;
the save dialog opens;
user switches back to the itemlist and moves the cursor to a different item;
user switches back to the save dialog and presses Enter to save;
if we keep the current implementation of save_article call, this calls save_article(filename, visible_items[itempos].first) — saving the current item, not the one that was selected when the save dialog was started.

The solution, of course, is for the callback to capture all the state it needs, but that's a pretty fragile approach that rely completely on the discipline and attentiveness.
In that light, option 1 ("make dialogs actually modal") starts to look much better. Perhaps we should allow switching away from the save dialog, but deny everything else? But if the user switches away by accident, they might not know how to switch back, and if ? is denied it'd be very confusing for them.
OTOH, "deny everything" can be a good first take. We can selectively allow things later.
Let me sleep on this.


[Bug]: [Hosted version] Github clone doesn't appear to work

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Describe the bug and reproduction steps
Note: I think this might depend on having a workspace configured or not, and I can't reproduce that locally without manual changes at the moment. But it might relevant because we will stop recommending a workspace and/or not mount it automatically soon. So I tried how it currently works on the hosted version only:

I had a few errors and reloads in the tab

entered a Github token in the Account

made a "new project"

chose a GitHub repository (the token has many perms on that repo)

entered a message (told the agent to pull main to update it)
=> Expected: to clone the repo in the workspace
=> Result: the workspace has only "Lost+found".

I asked the agent to do a ls
=> Expected: to see the contents of that repo at least in terminal
=> Result: it saw "Lost+found".

Note: there was no visible error, and the agent status never changed to ERROR (during this "New project")
Cc: @amanape
OpenHands Installation
Docker command in README
OpenHands Version
No response
Operating System
None
Logs, Errors, Screenshots, and Additional Context
No response

seconded. i'm a new user and it's confusing to see nothing coming up from my repo (an empty workspace showed up besides dialogues). still finding solution (will look into the workspace setting u mentioned). thks!

This seems important. If you select a github repo, I'm guessing it's supposed to know that it should just clone it?
@amanape is my understanding correct?

Is this still an issue? I've played around with this and it seems to work.

It does appear to work for a while now.

I think the original issue was some edge case (e.g., signing in mid-session, exiting, selecting repo, reload, go back, select repo or something wack like that). I didn't get the opportunity to look into it deeply yet (sorry for the 3 week delayed response 😅)

Going to close this as I think it's fixed and there's been a lot of improvements here. Please reopen if I'm mistaken.

It's fine to close. It obviously works usually, and while I do meet the occasional glitch, we can look at those as they come.


build and run locally is not working

I'm pretty new to docker and airflow. I'm trying to run airflow with docker locally so that I can adjust the .cfg files. But right now I am just trying to run the original configuration correctly. So I downloaded the repo files locally on windows and I'm trying to run it on docker desktop.
I built it with "docker build --rm -t airflow-image ." I think it built correctly Then I'm running it with "docker run -p 8080:8080 airflow-image", and I get several errors shown below. Has anyone seen this error before? I also attached the run log files. Any help would be appreciated. Thanks.
docker_issues3.txt
Traceback (most recent call last):
File "/usr/local/bin/airflow", line 37, in
args.func(args)
File "/usr/local/lib/python3.7/site-packages/airflow/utils/cli.py", line 75, in wrapper
return f(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/airflow/bin/cli.py", line 900, in webserver
app = cached_app_rbac(None) if settings.RBAC else cached_app(None)
File "/usr/local/lib/python3.7/site-packages/airflow/www/app.py", line 233, in cached_app
app = create_app(config, testing)
File "/usr/local/lib/python3.7/site-packages/airflow/www/app.py", line 103, in create_app
models.Chart, Session, name="Charts", category="Data Profiling"))
File "/usr/local/lib/python3.7/site-packages/flask_admin/contrib/sqla/view.py", line 330, in init
menu_icon_value=menu_icon_value)
File "/usr/local/lib/python3.7/site-packages/flask_admin/model/base.py", line 818, in init
self._refresh_cache()
File "/usr/local/lib/python3.7/site-packages/flask_admin/model/base.py", line 913, in _refresh_cache
self.search_supported = self.init_search()
File "/usr/local/lib/python3.7/site-packages/flask_admin/contrib/sqla/view.py", line 581, in init_search
if tools.is_hybrid_property(self.model, name):
File "/usr/local/lib/python3.7/site-packages/flask_admin/contrib/sqla/tools.py", line 209, in is_hybrid_property
return last_name in get_hybrid_properties(last_model)
File "/usr/local/lib/python3.7/site-packages/flask_admin/contrib/sqla/tools.py", line 190, in get_hybrid_properties
for key, prop in inspect(model).all_orm_descriptors.items()
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/inspection.py", line 73, in inspect
"available for object of type %s" % type
sqlalchemy.exc.NoInspectionAvailable: No inspection system is available for object of type <class 'method'>

See: https://github.com/puckel/docker-airflow/issues/535


Script Hook V Critical Error::Unknown Game Version (for GTAV / GTA5)

Can someone suggest how to solve this issue?

// GTA V SCRIPT HOOK (build Mar 16 2016, v1.0.678.1)
//     (C) Alexander Blade 2015-2016
[11:47:26] INIT: Started
[11:47:26] FATAL: Unknown game version

Additionally, are you aware of a modding menu/method that is not dependent on DirectX for GTAV?

This is not related to SHVDN. SHVDN depends on SHV which needs an update to work with the latest game version. What this space for a new update to come out which supports the latest game version: http://www.dev-c.com/gtav/scripthookv/
Great UI library for SHVDN: https://github.com/Guad/NativeUI

@crosire I have downloaded the latest version of script hook v and I am not sure why I receive this error.

The game received an update. Blade's SHV needs to update to reflect that. This hasn't happened yet. So you need to wait until it has. SHVDN/We can't do anything about it.

I am getting this error with a completely fresh install of GTAV from Steam. How can I get past it?

When you delete or verify a games content on Steam, only those files that were downloaded are considered.


Possibility to apply a maximum log size value for couch.log (Logging feature in couch_log erlang)

Hello,
I just looked into the documentation for CouchDB 2.1.1 to limit the log level to maybe (warning, info, error, etc.) but is there also a possibility to limit the file size for the growth of the couch.log and not to get bigger than 1 GB ?

No there are not such functionality in couch_log. This is traditionally done with external tools, e.g. logrotate.


[New Feature]: Send SNS message for job completion task

Create a task that, when a job execution is completed, will send a message to an SNS topic with all the relevant information.
The functionality needs to be packaged as a Docker container and invoked as a CWL workflow.

The same Docker container that is mused to send the job creation message can also be used to update its status. The wrapper workflow calls them both before and after the CHIRP execution.

Does "completion" include failure/error? Is it the same topic?

Yes, it should definitely include notification to the database in case of error.


Sir, I was going through you algo bandits project and I truly appreciate your work on it. But I found the the DMC file missing(of 0KB) in the policies multiplayer folder, the file is for dynamic number of users. My request is if you can help me with sending or uploading the file it would be a massive help for my project. I have taken your project for my graduation and trying to sample the arms which are refrained in the MEGA algorithm. Cant find an emo here but a lot of love for you : )

New issue :boom: !
Thank you for your interest in my projects! I will try my best to answer to you and help you!

[ ] Check that your question was not already answered please.

Note : si vous parlez français, vous pouvez utiliser mon dépôt "demandez-moi n'importe quoi" (in French :fr:).

Hi,
That's not a bug, I simply haven't implemented the Dynamic Musical Chair algorithm yet.
I won't try, as I don't need right now to support dynamic multi-players simulations, sorry.
If you write it, please feel free to submit a pull request on SMPyBandits, and I'll test your implementation and maybe merge.
Regards


How have you generated Voyager's seed files ?

Version information

Laravel: v#.#.#
Voyager: v#.#.#
PHP: #.#
Database: #

Also mentioned in

#1030
#1995
#1921
#2014
#2445

Description
First of all thanks for your Awesome work. :heart:
There are many discussions on how to move Voyager data to production (anywhere else). The method that I more prefer is using Seeder files and to generate them automatically from the database, but as I was searching there is no such tools made for Voyager specially.
And what I am curious about is that in almost all Voyager Seed files there is a comment saying :
/**      * Auto generated seed file.      */
So how have you generated Voyager's seed files ? It would be awesome If you could share it.

We haven't generated those files.  That comment is likely just a remnant from when someone ran artisan make:seeder.

@fletch3555 Oh! Thanks.

Check this.
A package on top of voyager which listen to BREAD events and generates the seeders for BREAD.

@drudgerajen, please don't comment on closed issues, especially after so long (8 months in this case). Also, your comment isn't relevant to this issue


FINERACT-1015: Moving OpenJPA Enhance builder from automatic to manual

Description
Makes the OpenJPA Enhance builder to be a manually triggered external tool in Eclipse, rather than an automatically triggered builder
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!

[x] Commit message starts with the issue number from https://issues.apache.org/jira/projects/FINERACT/. Ex: FINERACT-646 Pockets API.

[x] Coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions have been followed.

[x] API documentation at fineract-provider/src/main/resources/static/api-docs/apiLive.htm has been updated with details of any API changes.

[x] Integration tests have been created/updated for verifying the changes made.

[x] All Integrations tests are passing with the new commits.

[x] Submission is not a "code dump".  (Large changes can be made "in repository" via a branch.  Ask on the list.)

Our guidelines for code reviews is at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide

Build will likely fail here as in other recent PRs due to FINERACT-855 - please help us fix it.

This will have to be re-based after #968 for FINERACT-1016 for the build to pass.

@vorburger  - rebased. When you get a chance, can you check if this works for you and addresses the issue about frequent runs of enhance?

@ptuomola can I ask, more out of curiosity, why you chose to move the *.launch from fineract-provider/.externalToolBuilders/ out into config/ and document manually importing it? The way it used to be, but just not "incremental,auto," seemed.. very "smooth", and saves a user the File->Import->Run/Debug->Launch Configurations.

@vorburger For a project builder, you have to choose at least one of the options from: after a clean, during manual builds, during auto builds, during a clean. I thought choosing "during manual builds" should stop the repeated running and still allow the user to trigger this by doing a manual build.
But when I tried this, the behaviour seemed to be somewhat inconsistent and I wasn't able to find a way to consistently ensure the task was triggered when I wanted it to be. That's why I thought the easiest solution would be just to make it an external builder that you can trigger manually separately from the rest of the build.
But we can also try the option of sticking with a project builder on setting "manual" and seeing if it does consistently do what we expect...

Not sure if this change is needed afterall. I've been using the automatic builder for a while, and haven't had any major problems with it.

Not sure if this change is needed afterall. I've been using the automatic builder for a while, and haven't had any major problems with it.

@ptuomola agreed, it seems to actually work not so bad for me as well, now. Do you want to just close this PR then?


Add failed files to new Hydrus page

When files fail to perceptually hash, they can be added to a page and then displayed to the user.
The page would need to be created by the user because you can't create a page with the API currently. That's okay, it should just be in the documentation somewhere like the FAQ. It should silently fail if the page does not exist.

Added in #50


Create open_source_intelligence Profile

Related Issue:
#988
Description of changes:

Added open_source_intelligence object.
Added open_source_intelligence Profile based on threat_intelligence object.
Added signatures object, an array of signature objects.
Added subdomains object, an array of subdomain used to enumerate DGA-generated domains.
Added whois object.
Added contact and array-typed contacts object for use with whois object.
Added is_self_signed Boolean attribute to certificate object.

Several dozen attributes were added to dictionary to support whois and contact.

Aside from this being really well worked out, it is also quite a substantial amount of STIX / TI specific information, with some naming questions here (some attributes are stix_ prefixed, a few are not but in their definitions they cite STIX.
I also feel there is enough to merit a "platform" of sorts where it can be package up within a core extension.  I know that our core extensions today are "OS platform" extensions and STIX isn't exactly the same thing, but we can have OCSF extensions just like we can have vendor extensions.  External standards can be modeled this way, keeping attributes in their own dictionary.  The notation would already scope by extension name (e.g. stix/xx).  Same can be done for d3fend, which we are considering for a Remediation category.  Otherwise, the core dictionary will get very large and there will be a lot of external standards specific naming mixed in.

Aside from this being really well worked out, it is also quite a substantial amount of STIX / TI specific information, with some naming questions here (some attributes are stix_ prefixed, a few are not but in their definitions they cite STIX).
I also feel there is enough to merit a "platform" of sorts where it can be package up within a core extension. I know that our core extensions today are "OS platform" extensions and STIX isn't exactly the same thing, but we can have OCSF extensions just like we can have vendor extensions. External standards can be modeled this way, keeping attributes in their own dictionary. The notation would already scope by extension name (e.g. stix/xx). Same can be done for d3fend, which we are considering for a Remediation category. Otherwise, the core dictionary will get very large and there will be a lot of external standards specific naming mixed in.

@pagbabian-splunk I agree on the overall approach. I feel we should go ahead and remove the stix_ related information from this and instead rework this object to be open_source_intelligent (or osint) as it'll pertain to only technical factors instead and be much simpler without STIX in scope.

What are folks' thoughts on shortening the name to OSINT, at least where it would show up on the schema server?checkboxes?

What are folks' thoughts on shortening the name to OSINT, at least where it would show up on the schema server checkboxes?

I was thinking of making it osint but not sure how we felt about acronyms, or even iocs which could work

Why do we need "open source" as part of name? To me, the visibility of this type of information is orthogonal to its content. Have you considered make the visibility an attribute instead?
In my mental model, I have "threat intelligence" and that can be private, open source, etc.
On a related note, I suggest adding a TLP field.

On a related note, I suggest adding a TLP field.

Just added that, good call.


Sidesync

For controlling Samsung tablets and smartphones on your desktop.

Git fetch && git rebase

Am I not right in saying that creating a local branch would be better?
My routine is normally the following...
git fetch upstream
git merge upstream/master
git push
git checkout -b AddingSideSync
git add .
git commit -m "message here"

Then issue a pull request once pushed.
Working in the local branch gives you complete isolation.

I'm not sure why not to merge. When merging master to local branch, head and master on that branch are the same. Merging a new change will be at the top when you push that back.
Anyway, this thread is deprecated. SideSync is merged.
I just need @gep13 or someone with access to add it to the ketarin machine.
https://github.com/chocolatey/chocolatey-coreteampackages/issues/38

So, I am confused...
The only Pull Request that was created to bring in SideSync was closed. How did the SideSync files get into the master branch?

I'm not sure why not to merge. When merging master to local branch, head and master on that branch are the same. Merging a new change will be at the top when you push that back.

This is dangerous if the merge cannot be fast-forwarded no?  Better to work in isolation on a separate branch, rebasing on master as and when required, after fetching.  It also makes it easier to back out the changes as a result of a pull request if it is issued from a branch, rather than directly from remote master.
This is the approach that I would definitely recommend going forward, especially for new package additions.  For make quick break fix changes, sure commit directly to master, but I think we have to mandate that new package addition are done through a Pull Request.

This is dangerous if the merge cannot be fast-forwarded no? Better to work in isolation on a separate branch, rebasing on master as and when required, after fetching. It also makes it easier to back out the changes as a result of a pull request if it is issued from a branch, rather than directly from remote master.

This is exactly why the git fetch upstream then git rebase upstream/master - should always do a fast forward, but in the case where it doesn't you are covered.

if it doesn't you have to git reset and more fun stuff, easily avoidable. I run into this because I push to the upstream sometimes after a change has been made. I get the "whoops, something has changed upstream. Please go get that and pull it down and fix up your stuff before your next push" - if I did a git pull (git fetch and merge), it would apply the merge commit in there and things would look really nasty.
Easily avoidable with always using git fetch remote / git rebase remote.

This is exactly why the git fetch upstream then git rebase upstream/master - should always do a fast forward, but in the case where it doesn't you are covered.

But I am right in saying that working directly on master is just bad practice, right?

How did the SideSync files get into the master branch?

I merged the new SideSync branch into master and removed it.

About all the git-foo, and apart from @ferventcoder's valid tips, I'm not sure I understand the reservations. But I do think most reservations are based on older git experiences, because I often find my more seasoned teammates (not this team, I mean at my work) providing friendly advice on how to use git in a more complicated way, and funnily, they usually disagree among themselves on how exactly.
We've been using git (at work) for the last year or so and I always checkout and fetch the target branch, and apply my own branch onto it. That's all, I never had a problem, and I've been ignoring all the advise because they all contradict each other.
They are all clever people and they don't make stuff up, so I am thinking that their "way" originated from a time where the universe would collapse more easily if you used git to manage it. I think these days, git is a bit more clever and knows what you want.
But I am not sure.

Please keep it as simple as possible. If there is a team preference (this team), write it down and add some smileys.

Yes, I think we need to do this, and documenting the core team packages in general, i.e. what it is, what it is and isnt' for, is on my radar to complete.


Please provide TypeScript definitions for the library

Library looks really cool, but given the size of the API (and lack of docs), it could be extremely helpful to have TypeScript definitions that editors could use for suggestions on the method names, types etc.

I'd like to use flow and have a prepublish/build script to:

Generate clean JS (without flow definitions)
Generate TypeScript definitions file

Do you know any solution to generates TypeScript definitions from flow? (I've never used any of them before).


Resolving a service registered on a parent container with a dependency registered in a child container throws

Given the service types defined at the bottom, the following code works, and prints "A bar." as expected:
var container = new TinyIoCContainer();

container.Register<IFoo, Foo>();
var child = container.GetChildContainer();

child.Register<IBar, Bar>();
var foo = child.Resolve(typeof(IFoo)) as IFoo;

Console.WriteLine(foo?.TheFoo ?? "null");

If, however, I add another service level (i.e. Foo->Baz->Qux instead of just Foo->Bar), resolving a IFoo throws an exception stating that IQux cannot be resolved:
var container = new TinyIoCContainer();

container.Register<IFoo, Foo>();
container.Register<IBar, Baz>();

var child = container.GetChildContainer();

child.Register<IQux>(new Qux());

var foo = child.Resolve(typeof(IFoo)) as IFoo; // this throws

Note that IQux is registered on the same container from which I'm trying to resolve an IFoo. If I set a breakpoint on that line and try child.Resolve<IQux>() or child.Resolve(typeof(IQux)) in a watch window, it works fine. However, when resolving the Baz instance needed to fulfill Foo's dependencies, it seems it can no longer find the Qux registration.
Am I doing something unsupported here, or is this a bug in TinyIoC?
public interface IFoo
{
    string TheFoo { get; }
}

public interface IBar
{
    string TheBar { get; }
}

public interface IQux
{
    string TheQux { get; }
}

public class Foo : IFoo
{
    private readonly IBar _bar;

    public Foo(IBar bar)
    {
        _bar = bar;
    }

    public string TheFoo => _bar.TheBar;
}

public class Bar : IBar
{
    public string TheBar { get; } = "A bar.";
}

public class Baz : IBar
{
    private readonly IQux _bar;

    public Baz(IQux bar)
    {
        _bar = bar;
    }

    public string TheBar => _bar.TheQux;
}

public class Qux : IQux
{
    public string TheQux { get; } = "A qux.";
}

After sleeping on this, and then trying again, I also realized this works:
var container = new TinyIoCContainer();

container.Register<IFoo, Foo>().AsMultiInstance();
container.Register<IBar, Baz>().AsMultiInstance();

var child = container.GetChildContainer();

child.Register<IQux>(new Qux());

var foo = child.Resolve(typeof(IFoo)) as IFoo; // this works now!

I tried to understand why by reading the documentation on lifetimes (a couple of times...) but I still don't get it. Why does this make it work?

The dependency to IQux exists only in the child container, so if the singleton (belonging to the parent container) is requested by the child container it could satisfy the IQux dependency, but the Qux instance would be disposed when the child container ends.
This would be very strange since a the singleton (in the parent container) suddenly would be disposed after it's dependency was disposed.
In summary, a singleton must obtain it's dependencies only from siblings (in same container) or from parents; never from children.

But why doesn't this apply to the Foo -> Bar dependency in the first example?
Let's rename them, to make it more obvious - we have two cases: FooInParent -> BarInChild vs FooInParent -> BazInChild -> QuxInChild. I'm always resolving from the child container.
IIUC, the second case doesn't work because when the child container is disposed, so is the QuxInChild instance, which makes the BazInChild instance, and thereby the FooInParent instance, invalid.
For the first case, I thought that disposing the child container would also dispose BarInChild, invalidating the FooInParent instance in the same way, but apparently not. Why?
(Sorry for asking so many questions, but I'm a curious guy :) Since I know how to make my code work for now, finding out why is mostly for my own learning, and not so urgent as it was...)

Your first scenario, where IBar is registered in the child container, does not work. Are you sure it passes for you? I copy-pasted your code into a unit test to be certain. An exception is thrown: Unable to resolve type: IBar.
A container tracks all objects that should be disposed once the container is disposed.
A singleton is tracked in the container which it is registered (so the singleton may be re-used by multiple child containers).
A multi-instance is tracked in the container from which it was resolved.
Since the singleton is created on-demand, the singleton must always be created as if the first Resolve call was made directly on the container containing the singleton registration (parent in your case).
This is also why when using callback factories (like .Register<T>(Func<TinyIoCContainer,NamedParameterOverloads,T>) for example), you always is passed the container which originally requested the resolution. This way you can ensure your callback factory can resolve any dependencies belonging to the child containers rather than relying on the parent container.
However, using only callback factories you would not be able to reproduce your issue since a callback/delegate registration is not a singleton registration.


Make Http2MultiplexHandler construction require explicit distinction between server and client

Motivation:
Because Http2MultiplexHandler attempts to infer isServer from the channel type (ServerChannel), it can't be used in an EmbeddedChannel for HTTP server testing.
Modification:
Deprecate the old Http2MultiplexHandler constructors, and replace them with forClient and forServer factory methods, similar to Http2FrameCodecBuilder.
Result:

Http2MultiplexHandler can be used in an EmbeddedChannel
construction is a bit more clear, as you can't pass an upgradeHandler to a server multiplexer anymore, where it would never be used anyway

@yawkat also wondering if public class EmbeddedServerChannel extends EmbeddedChannel implements ServerChannel would work for testing, instead of updating http2 handlers API for testing purposes.

It addresses the root cause - aims to solve testing problem by extending test code. And is alternative to patching 1 production codec with new API to sidestep the fact that test EmbeddedChannel (this is connection mock) does not have parent channel (on server side, this is connection factory).
So for "clean" solution you should instead have
static class EmbeddedServerChannel extends EmbeddedChannel implements ServerChannel {
 }

and add ctor to EmbeddedChannel that accepts parentChannel
public EmbeddedChannel(Channel parent) {
       this(parent, EmbeddedChannelId.INSTANCE, true, false, EMPTY_HANDLERS);
}

I am pretty sure your test then passes with
EmbeddedChannel embeddedChannel = new EmbeddedChannel(new EmbeddedServerChannel());

If you want to fix the problem today w/o patching netty at all, then
static class EmbeddedServerChannel extends EmbeddedChannel implements ServerChannel {

        @Override
        public Channel parent() {
            return this;
        }
    }

Hope this explanation is helpful.

It addresses the root cause - aims to solve testing problem by extending test code. And is alternative to patching 1 production codec with new API to sidestep the fact that test EmbeddedChannel (this is connection mock) does not have parent channel (on server side, this is connection factory).
So for "clean" solution you should instead have
static class EmbeddedServerChannel extends EmbeddedChannel implements ServerChannel {
 }

and add ctor to EmbeddedChannel that accepts parentChannel
public EmbeddedChannel(Channel parent) {
       this(parent, EmbeddedChannelId.INSTANCE, true, false, EMPTY_HANDLERS);
}

I am pretty sure your test then passes with
EmbeddedChannel embeddedChannel = new EmbeddedChannel(new EmbeddedServerChannel());

If you want to fix the problem today w/o patching netty at all, then
static class EmbeddedServerChannel extends EmbeddedChannel implements ServerChannel {

        @Override
        public Channel parent() {
            return this;
        }
    }

Hope this explanation is helpful.

Actually there is already a constructor that takes a parent. So with this in mind we should just close this. Thanks @mostroverkhov for stepping in

Note that EmbeddedChannel is not used only for testing. And there are other byte-carrying channels too (including the ones introduced by this multiplex handler!), where adding the marker interface is not feasible. By the same reasoning, we could change Http2FrameCodecBuilder to deduce the server-ness from the context, instead of the forClient/forServer approach. Why use deduction in one case but not in others?
I also don't see the downside to this change. It does not remove any methods. And the class is even @UnstableApi.

@yawkat while I agree that the change is not "bad" I also think that there is no really "need / benefit" for the change.

/cc @chrisvest @trustin thoughts ?

Fair enough. We can always reconsider if someone else hits this in a situation where a workaround is harder.

There are not many cases where a server-or-not check comes up. Making EmbeddedChannel behave more similar to other channels (by adding a server-sibling) is the better option, in my opinion. For Netty 5 we can add an isServer method to Channel so we no longer need to infer this information, but can just ask (and override if need be).

@chrisvest @normanmaurer I've found another case where this check fails. When you get a SocketChannel from inetd or systemd with socket activation (either through System.inheritedChannel(), or through new EpollSocketChannel(fd)), then the channel won't have a ServerChannel parent even though it is a server-side channel. For nio this can probably be fixed by using new NioSocketChannel(new FakeServerChannel(), (SocketChannel) System.inheritedChannel()) where FakeServerChannel is an EmbeddedChannel that implements ServerChannel as described above. However for epoll no such constructor exists, and it is again an ugly solution anyway.


Separate NSH ability to mount a romfs at /etc and to run init scripts.

Summary
This is useful because the board can mount its own filesystem without requiring any particular type of filesystem and mountpoint.
Impact
Anyone using nsh init scripts need to regenerate their config.
Testing
Build is OK, Kconfig menus work as expected
New code with an init script on a custom FS runs on my custom stm32f429 "hn70ap" board.

I'm cancelling this PR. I will come up with a new way to do it that limit breakage.


Add a Jupyter pitfalls sections, copied from Aalto scicomp.

This could be moved to a better section, but intro sections were too
early and there wasn't a dedicated conclusions section.
Currently copy from scicomp + link to there.
It seems like a bit too much text... can it be reduced?  I tried
adding bolding to make it easier to scan.

There is also this: https://coderefinery.github.io/jupyter/01-motivation/#when-not-to-use-notebooks
But perhaps it's OK to mention it twice (in text at least).


Strange problem on client side when receiving data continuously

I have a Xamarin.Forms app that communicate with a server over TCP/IP. I can send and receive messages and everything works like a charm.
Serverside I start a thread that sendt data continuously to the client. Everything seems to work, but after 50-200 packages the client side breakes down. (Client side I have a TcpSocketListener implemented)
My packages is 250 bytes on the server side and also 250 bytes on the client. When the problem occurs, the package on the client is suddently 720'ish bytes???
I have checked the packages sendt from the server, and they are always the same size... I don't understand why the packages received on the client suddently get that big.
I can see that ReadAsync has HasFaulted and Exception, but I can't figure out to read this???
I am very new to this TCP/IP ;-)

Howdy,
Sounds strange! Will need a few more details to diagnose -

Is there any exception, or are you just seeing 'weird' package sizes from then onwards?
can you share the code related to the 'client side'? Seeing the listen code and the reading code may give some clues.

This is the Client side
`
private async void StartTCPListener()
{
try
{
TcpSocketListener listener = new TcpSocketListener();
            // when we get connections, read byte-by-byte from the socket's read stream
            listener.ConnectionReceived += OnReceived;

            // bind to the listen port across all interfaces
            await listener.StartListeningAsync(Common.Constants.Tcp.PORT + 22);
        }
        catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine("Exception in BrakeForceViewModelTest::StartTCPListener - Message: {0}", ex.Message);
        }
    }

    private async void OnReceived(object sender, TcpSocketListenerConnectEventArgs args)
    {
        try
        {
            Status = "Data received";

            ITcpSocketClient client = args.SocketClient;

            while (true)
            {
                byte[] receiveBuffer = new byte[Common.Constants.Tcp.BUFFER_SIZE];
                BrakeForceModelTest dataReceived = new BrakeForceModelTest();

                int dataReceivedLength = await client.ReadStream.ReadAsync(receiveBuffer, 0, receiveBuffer.Length);

                dataReceived = await SerializerHelper.DeSerializeJsonAndConvertToObject<BrakeForceModelTest>(receiveBuffer.Take(dataReceivedLength).ToArray());
                await UpdateView(dataReceived);
            }
        }
        catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine("Exception in BrakeForceViewModelTest::OnReceived - Message: {0}", ex.Message);
        }
    }

`
And this is the Server side
`
private static void StartSendingDataContinuously()
{
Task.Factory.StartNew(async () =>
{
try
{
Console.WriteLine("Start sending data continuously.");
                string androidPhoneIp = "<IP_ADDRESS>";

                TcpClient client = new TcpClient(androidPhoneIp, Common.Constants.Tcp.PORT + 22);
                Stream stream = client.GetStream();

                int dataCounter = 1;

                while (true)
                {
                    BrakeForceModelTest data = new BrakeForceModelTest
                    {
                        Value = "Data from server",

                        BrakeForceLeft = "101",
                        //TimeStampLeft = DateTime.Now.ToString("hh:mm:ss"),
                        PackageNrLeft = dataCounter.ToString(),

                        BrakeForceRight = "102",
                        //TimeStampRight = DateTime.Now.ToString("hh:mm:ss"),
                        PackageNrRight = dataCounter.ToString(),
                    };

                    dataCounter++;

                    byte[] dataToSend = await SerializerHelper.SerializeObjectJsonAndConvertToBytes(data);

                    Console.WriteLine("Datapackage nr. {0} sendt, size {1}", dataCounter - 1, dataToSend.Length);

                    await stream.WriteAsync(dataToSend, 0, dataToSend.Length);
                    await stream.FlushAsync();

                    await Task.Delay(TimeSpan.FromMilliseconds(100));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception in AsynchronousSocketListener::StartSendingDataContinuously - Message: {0}", ex.Message);
            }
        });
    }

`

Ok, I think you should recreate the issue and examine the larger payload you are receiving; that should help you determine what is happening!
TCP is stream-based, not message ('datagram') based; so besides the co-incidence of timing, there is no real link between a TCP socket's repeated calls to WriteAsync and what you get from a read on the other end. This is part of the reason that you need to specify a buffer when reading. It is possible (maybe for network/transient reasons), that after some time, two or more messages have been sent to the client between it calling ReadAsync. If the buffer size of your ReadAsync call is large enough, if will be populated with all the data already received.
So, I think it's possible that for some reason the messages from the server queue up - maybe a few are delayed and then arrive at approximately the same moment (TCP guarantees order of messages, so if a server sends 6 messages, and messages 1, 2, 3, 5 6, are acknowledged by the device (and 4 is not), you will only see 1, 2, and 3 immediately. Then after a moment then the sender will realise that it needs to re-send 4, and then suddenly you will see 4, 5, 6). When messages are queued up (in the internal system buffer), your call to ReadAsync will read them all at once (up to the buffer size). So, I think that if you examine the 'large message' you are receiving (convert the bytes to string), you might see that it is actually multiple of your json messages.
If this is the case, the solution to this is to mark the boundaries of your messages somehow. The easiest solution in my opinion is to implement a basic protocol that prefixes each message with its length. Here is an example of doing it with json encoding (similar to what you are doing now, but with the serialisation and sending/receiving combined).
If this is not the case, let me know what data is contained in the 'large message' and maybe it will give some clues!

Thank you very much for your help, I will look into it and get back to you :-)

The problem lies exactly as described above. Thank you so much for pointing me in the right direction

Problem solved :-)

Glad you were able to work it out!


It only recognizes Cerebro

In the demo link, It only recognizes Cerebro. I am unable to test Almeja and Patata.

Solved in https://github.com/chijete/CrafyWakeWord2


[Feature Request] Preserve heading categories when rolling over

This is kind of a big ask, and I don't really expect this to be implemented anytime soon, but it would be really nice if to-dos could be rolled under the same heading they were under previously.
Here's one implementation that I thought of:

For every incompleted to-do in yesterday's note, get the heading name
Check today's note for a matching heading name. If found, dump the to-do under that heading
If no heading matches, dump to the bottom of the note

I'd greatly appreciate if something like this was implemented! Thanks!

I am also looking for this feature!

Yes same, i just wanted to input that I would very much like that too!

+1

Fixed by #80

I would also be ok with just limiting the to-do rollover to one heading as well.


Error when I chose 'ErG' as my drug_encoding

After I changed drug_encoding from 'cnn' to ErG' in "DeepDTA_Reproduce_KIBA.ipynb",
when I ran this cell
model.train(train, val, test)
I got:
AttributeError                            Traceback (most recent call last)
 in
----> 1 model = models.model_initialize(**config)
2 model.train(train, val, test)
~/projects/DeepPurpose/DeepPurpose/DTI.py in model_initialize(**config)
57
58 def model_initialize(**config):
---> 59         model = DBTA(**config)
60         return model
61
~/projects/DeepPurpose/DeepPurpose/DTI.py in init(self, **config)
267                         self.model_drug = MPNN(config['hidden_dim_drug'], config['mpnn_depth'])
268                 else:
--> 269                         raise AttributeError('Please use one of the available encoding method.')
270
271                 if target_encoding == 'AAC' or target_encoding == 'PseudoAAC' or  target_encoding == 'Conjoint_triad' or target_encoding == 'Quasi-seq' or target_encoding == 'ESPF':
AttributeError: Please use one of the available encoding method.

Hi, could you update to the newest version of DeepPurpose? ErG is just included in the latest version

Hi, could you update to the newest version of DeepPurpose? ErG is just included in the latest version

I have updated DeepPurpose already with pip install DeepPuopose --upgrade. I also copied new utils.py to my folder. Before I did that, I couldn't go through cell 2. I don't know if you also changed other files.

I have updated DeepPurpose already with pip install DeepPuopose --upgrade. I also copied new utils.py to my folder. Before I did that, I couldn't go through cell 2. I don't know if you also changed other files.

I copied the new DTI.py into my DeepPurpose folder, and then upgraded DeepPurpose. Now it works.

I copied the new DTI.py into my DeepPurpose folder, and then upgraded DeepPurpose. Now it works.

Yes, i think if you are using DeepPurpose inside a source folder, it will use the source DeepPurpose, which you could do git pull to update the current version.

Yes, i think if you are using DeepPurpose inside a source folder, it will use the source DeepPurpose, which you could do git pull to update the current version.


SASL_SSL Support

Very good connector. We are using Confluent cloud and it support SASL_SSL. I am not seeing any reference in document. Can you let me know is this connector support SASL_SSL if yes can you provide implementation reference.
Thanks in advance.

Hi @mohai-kafka, Yes this answer should help you : https://github.com/streamthoughts/kafka-connect-file-pulse/issues/19

Thanks for your response. We configure following way from java. Samething need to do it in connector configuration?
bootstrap.servers=XXXX:9092
security.protocol=SASL_SSL
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule   required username="{{ CLUSTER_API_KEY }}"   password="{{ CLUSTER_API_SECRET }}";
ssl.endpoint.identification.algorithm=https
sasl.mechanism=PLAIN

Connect File Pulse uses an internal topic to synchronize the Connector instances and Tasks. You have to configure the producer/consumer that are internally created by the connector. To do that you have to duplicate your security configuration with that prefixes :

internal.kafka.reporter.consumer.
 internal.kafka.reporter.producer.

That works. Thanks for your help.


Security follow up

Describe the task
Review feedback from MISO:

have any objects been created that don't belong?
Any irregular entities that might allow inappropriate access (backdoors)
Any routes/network policies that are suspect?
Any updates to images that should not have happened?
Any changes to security tooling (attackers will typically turn these off, for sonar they might change scanned paths to give a false sense of confidence)

He also mentioned that he assumed your CI/CD tooling doesn't have permission to create accounts/grant access, but if it does, ensure no new accounts have been made as backups for the attacker.
Also, keep an eye out for any changes that would allow for persistence and/or exclusions for IPs.
Acceptance Criteria

[ ] first
[ ] second
[ ] third

Additional context

Add any other context about the task here.
Or here

Note: I may have put this in the wrong repo. Feel free to update.

@LindsayMacfarlane there was an email exchange with our MISO where we updated him on all actions taken.

Thank you @pbastia !


Solo version option

As title,   would like a solo version option. Which would trigger when:
-in no group, or
-in party with a partymembercount=1, or
-in raid with a raidmembercount=1
This would help to better set-up healers who need a kind of different logic of the usual fallback to default version.
(high priority trigger, and ignore the rest of the versions, in raid, in whatever,  if its true???)

Hey Sool,
This sort of already exists and can be set on the configuration tab.  The quick of it is...create a solo macro and call it whatever.  Once you have that dialed in, click the new tab to create macro set number 2.  Write this one to be your "Dungeon only" macro.  Oh, don't forget to save.  Now go to the Configuration tab and scroll down to where it says "Dungeon", click the drop down next to it and choose the number 2.
What happens is, when you are solo you will use macro 1 and when you get in a dungeon you will automatically use macro 2.  No need to create separate macro sets.  There is one for Groups as well, is you make a 3rd macro that you want to use in the world while in a group but not in a dungeon, make a new macro and write that out for that then change the Group number to 3 and now when you are in a group you will switch to that macro.
Hope that helps!
-K

Hello there,   thank you for your reply!
That is the way i configured in legion in Legion.
As a healer,  my Default "solo macro"  would be damage mobs,  then i can set dungeon / raid  or even all the rest of the options to heal.
(i understand that Groups lets me dps  in the world area if i set it to dps macro, before i enter an instance. i had a time i set it up that way)
My problem was that in various random places it just goes back to the default sequence and then i am stuck in dps mode while heal is required and its a wipe.
Timewalking instances (now there is an extra option for that)
Arcway M+,  group says go out then back in to reset mobs, and i am stuck in dps mode the whole instance
Seat of Triumvirate M+  gets stuck in dps mode during the runs (i suspect because the are areas where mounting is allowed)
I do kep findig areas or runs where its just snaps back to dps,  even is everything is set to a healing macro (except the default version) . I would trust it more if default "solo macro" would be a healing one.
1 setting i did not figure out yet is farming old LFR's it counts as i am in "instance"  and also counts as being "grouped"  but i still need to damage mobs if i want to finish it.
TLDR:  I am reinstalling everything now for BFA, rewrite all of the macros to use the versions as you suggested. If i find anything funny in logic,  i will pop a ticket here with very specific information provided.
This one can be closed,  we start fresh :)
Thank you for your time and reply!


Add support for Wizard devices

I have a Hoover HDPN 4S603PX dishwasher which only works with the Hoover Wizard app. However, it is possible to integrate this into ioBroker, and looking into the ioBroker adapter code at https://github.com/TA2k/ioBroker.hoover/blob/main/main.js it seems that there are only a few changes between hOn and Wizard devices. (see where this.config.type !== "wizard" is used.) Would it be possible to allow this library to also implement those differences?

Hi, have you tried the hOn app? Some devices works with both. The ioBroker code looks really similar, but I can't say in detail whether there is anything fundamentally different from what we do here. If you have the skills to integrate it and figure out which switches we have to add for hoover wizzard, I will be happy to merge it here. It would be nice to support another api.


Endpoint to get list of group members / check user's group memberships

It'd be nice to have an API endpoint that would somehow allow me to check if a user is a member of a specific group. The 2 approaches I can think of are:

Get a list of all members for a group, and look through it (more possibilities)
Get a list of groups a user is a member of (less possibilities, but still gets the job done)

Though for my purposes it'd be enough if you could remove the 100 cap on the limit GET parameter on http://<groupname>.deviantart.com/modals/memberlist/?limit=#, or even better, if, for example a negative number is passed as the limit, don't paginate the list at all.

We are currently working on group API's that cover all group functions, no ETA on them just yet though.


Atmel sam gpio dts enhancements.

Cleanup Atmel gpio support to use DTS and have boards do that for LED & buttons

Codecov Report

Merging #10297 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #10297   +/-   ##
=======================================
  Coverage   53.05%   53.05%
=======================================
  Files         214      214
  Lines       26201    26201
  Branches     5645     5645
=======================================
  Hits        13901    13901
  Misses      10028    10028
  Partials     2272     2272

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 1ec4b68...2f071e6. Read the comment docs.

@fallrisk any update on this?

This looks fine, except for the usage of GPIO_INT. @galak Do you want to wait for an agreement on #10339, or merge this now and fix it up later with everything else?

The generated.h file looks odd with the repeated names:
GPIO_KEYS_GPIO_KEYS_BUTTON_1_GPIO_CONTROLLER
Are they supposed to say GPIO_KEYS twice? None of the other definitions are repetitive.

This should be fixed with some recent updates to the dts generation script.

None of the samples seem to be updated, such as blinky, blink_led, drivers/gpio, button. I don't see how you want me to test it against one of the samples. I felt like I should be able to test it against one of the samples; or were you wanting me to write an application to test them? Should there be a dts.fixup in the board directory like there is in the SoC directories?

The samples don't need updating since we generate SW0_GPIO_* defines that they use for buttons or LED0_* defines for leds.

@fallrisk you should be able to just build & run samples/basic/button & samples/basic/blinky on both boards and they should work.

I tried to build samples/basic/blinky for the sam_e70_xplained and I get the following errors:
error: ‘LED0_GPIO_PORT’ undeclared
error: ‘LED0_GPIO_PIN’ undeclared

I tried to build samples/basic/blinky for the sam_e70_xplained and I get the following errors:
error: ‘LED0_GPIO_PORT’ undeclared
error: ‘LED0_GPIO_PIN’ undeclared

ok, let me try

This looks fine, except for the usage of GPIO_INT. @galak Do you want to wait for an agreement on #10339, or merge this now and fix it up later with everything else?

would like to merge it and deal with that later.

Works for me.

fixed, the dts for sam_e70_xplained.dts had led0, sw0 in the wrong place (should be aliases, not compatibles).

Do you know why CI didn't catch it?

Do you know why CI didn't catch it?

Yeah, not sure on that one, let me look.  Looks like because the board.yaml doesn't list 'gpio'.


[WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate

Description
I'm getting this error out of nowhere. The only way I can get around it is by using: process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0
What is causing this and how can it be resolved?
[DEBUG] web-api:WebClient:0 initialized
[DEBUG] bolt-app adding Developer Mode custom OAuth failure handler
[DEBUG] bolt-app Initializing SocketModeReceiver
[DEBUG] web-api:WebClient:1 initialized
[DEBUG] socket-mode:SocketModeClient:0 transitioning to state: disconnected
[DEBUG] socket-mode:SocketModeClient:0 initialized
[DEBUG] web-api:WebClient:0 apiCall('auth.test') start
[DEBUG] web-api:WebClient:0 will perform http request
[DEBUG] socket-mode:SocketModeClient:0 start()
[DEBUG] socket-mode:SocketModeClient:0 transitioning to state: connecting
[DEBUG] socket-mode:SocketModeClient:0 transitioning to state: connecting:authenticating
[DEBUG] web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG] web-api:WebClient:1 will perform http request
[WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate
[WARN] web-api:WebClient:1 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:1 will perform http request
[WARN] web-api:WebClient:1 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:0 will perform http request
[WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:0 will perform http request
[WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:1 will perform http request
[WARN] web-api:WebClient:1 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:1 will perform http request
[WARN] web-api:WebClient:1 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:0 will perform http request
[WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:0 will perform http request
[WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:1 will perform http request
[WARN] web-api:WebClient:1 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:0 will perform http request
[WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:1 will perform http request
[WARN] web-api:WebClient:1 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:0 will perform http request
[WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:1 will perform http request
[WARN] web-api:WebClient:1 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:1 will perform http request
[WARN] web-api:WebClient:1 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:0 will perform http request
[WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:1 will perform http request
[WARN] web-api:WebClient:1 http request failed unable to get local issuer certificate
[DEBUG] web-api:WebClient:0 will perform http request
[WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate

After adding process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0:
[DEBUG] web-api:WebClient:0 initialized
[DEBUG] bolt-app adding Developer Mode custom OAuth failure handler
[DEBUG] bolt-app Initializing SocketModeReceiver
[DEBUG] web-api:WebClient:1 initialized
[DEBUG] socket-mode:SocketModeClient:0 transitioning to state: disconnected
[DEBUG] socket-mode:SocketModeClient:0 initialized
[DEBUG] web-api:WebClient:0 apiCall('auth.test') start
[DEBUG] web-api:WebClient:0 will perform http request
[DEBUG] socket-mode:SocketModeClient:0 start()
[DEBUG] socket-mode:SocketModeClient:0 transitioning to state: connecting
[DEBUG] socket-mode:SocketModeClient:0 transitioning to state: connecting:authenticating
[DEBUG] web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG] web-api:WebClient:1 will perform http request
(node:47) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use `node --trace-warnings ...` to show where the warning was created)
[DEBUG] web-api:WebClient:1 http response received
[DEBUG] socket-mode:SocketModeClient:0 transitioning to state: connecting:authenticated
⚡ Bolt app started
[DEBUG] socket-mode:SocketModeClient:0 transitioning to state: connecting:handshaking
[DEBUG] socket-mode:SocketModeClient:0 received a message on the WebSocket: "type":"hello","num_connections":1,"debug_info":{"host":"applink-d85c5c684-kvvzh","build_number":18,"approximate_connection_time":18060},"connection_info":{"app_id":"A01PWTV2DT2"}}
[DEBUG] socket-mode:SocketModeClient:0 transitioning to state: connected
[DEBUG] socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG] web-api:WebClient:0 http response received

The important part to notice here is: (node:47) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
What type of issue is this? (place an x in one of the [ ])

[x] bug
[ ] enhancement (feature request)
[ ] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue. -> #772 was closed with no resolution.

Bug Report
Filling out the following details about bugs will help us solve your issue sooner.
Reproducible in:
package version: "@slack/bolt": "^3.5.0"
node version: v15.8.0
OS version(s):
Steps to reproduce:
Setup App
const bot = new App({
	token: process.env.BOT_TOKEN,
	appToken: process.env.SLACK_APP_TOKEN,
	socketMode: true,
	developerMode: true,
});

(async () => {
	await bot.start();
	console.log('⚡Bolt app started');
})();

Expected result:
I expect to see: "⚡Bolt app started" with no errors produced in the logs
Actual result:
As reported above - Can't connect without adding [WARN] web-api:WebClient:0 http request failed unable to get local issuer certificate
Attachments:
Logs, screenshots, screencast, sample project, funny gif, etc.

@chasek-hpe hi there, sorry that you encountered this issue! In my experience this usually has something to do with the environment the code is executing in. My understanding of the root of the issue is that, in order to initiate a TLS handshake during the establishment of an HTTPS connection, the client must validate the server's SSL certificate by checking it against a list of certificate authorities which are usually embedded and shipped with each computer. It looks like getting access to this list of certificate authorities locally on the machine running your code is having issues.
Off the top of my head, some possibilities could be:

permissions on the directory storing the certificate authority files changed, and the user running your code no longer can access the CA files
perhaps a similar issue to the above but for any proxy you potentially use

Has anything changed on the system you are running this code on recently? If you try on a different machine, do you get the same issue?

Hey @chasek-hpe - Was the above helpful to you? We will close this issue out if so, or if we don't hear back in the next few days.

No, I'm still having this issue. Is there additional logging available beyond debug?

This appears to be an issue with the application Zscaler (it's been running in a disabled state - a new policy was pushed to enable the app.
I'm not having the issue on my home lab.
Please resolve.

Hi Team,
After moving the application to its staging/production environment I'm still having this issue. I'm using socketMode to connect as I'm behind the corporate firewall. However, I need the application to connect through our web proxy to be able to get out to the web.
I have set the os, apt, curl, and git proxies to configure the VM. I need a way to proxy the web socket connection through the proxy.
Can you guys assist here?


feat: use horizontal copen instead of copen for actions.*_sel_to_qf

Current implementation of actions.*_sel_to_qf uses copento toggle open the qflist after it has been set. this leads to the following behavior when you use this:
https://user-images.githubusercontent.com/16427330/229320035-5c4ae199-fb8d-482d-bdec-4175dba6a5df.mov
As you can see when there are multiple columns of buffers, you use this action for a selection of fzf-entries, the qflist/loclist will behave open always in the rightmost column (exactly like belowright copen).
It would be great if this could be configured, in which case I would prefer to use horizontal copen to always split below the current buffer. Not sure if this is relevant but I set splitbelow and splitright in my rc.

I have no objection to this change as long as there is no side effect, it makes sense to open the quick fix under the current buffer, I’ll do some testing first.

@ibhagwan This broke something on my config that I just noticed.
When I'm selecting files and then press alt-q, it opens the quickfix list on top. Previously, it opened at the bottom
https://user-images.githubusercontent.com/10972027/230859965-6d8c8aa0-8e14-4c7e-80eb-7e89f7977654.mp4

Hey @ibhagwan, this change made is so copen respects splitbelow, while this kinda makes sense, in practice it becomes an annoyance for folks like me who are used to the old behavior. Would you be OK with making this optional? I can send a PR.

@fsouza, @yujinyuz, I had a feeling but I didn’t anticipate this unintended consequence, I’ll make this optional.

https://github.com/ibhagwan/fzf-lua/commit/061a4df40f5238782fdd7b380fe55650fadd9384 - this restores the original functionality.
@ViRu-ThE-ViRuS , if you wish to use a different command send copen as part of your options, e.g.:
reqiure("fzf-lua").files({ copen = "horizontal copen" })

061a4df - this restores the original functionality.
@ViRu-ThE-ViRuS , if you wish to use a different command send copen as part of your options, e.g.:
reqiure("fzf-lua").files({ copen = "horizontal copen" })

would it not be better to be able to set copen = ... option in require('fzf-lua').setup({ ... }) as the default copen to use. Currently I have had to set it for every single keymap individually, which is not clean. This should really be a config option that can be changed globally.

would it not be better to be able to set copen = ... option in require('fzf-lua').setup({ ... }) as the default copen to use. Currently I have had to set it for every single keymap individually, which is not clean. This should really be a config option that can be changed globally.

probably, only this has never come up until now and there are so many options already I’m trying to avoid adding yet one more.

061a4df40f5238 --- Why not accepting "horizontal copen" as the sensible default?

061a4df --- Why not accepting "botright copen" as the sensible default?

Don’t think I have any objection to that

@wookayin
Following https://github.com/ibhagwan/fzf-lua/commit/a5858b312bb54ead3584a3cf099b6465be917920 the default was changed to botright copen (and lopen respectively).
It's also possible to change the setting globally, for example, opening at the top:
require("fzf-lua").setup({
  defaults = {
    copen = "topleft copen",
    lopen = "topleft copen",
  },
})

Or disabling opening the quickfix altogether:
require("fzf-lua").setup({
  defaults = {
    copen = false,
    lopen = false,
  },
})


Prevent repositioning of children widgets

If this defeats the purpose of Three Mesh UI, please disregard this then. However, I am wondering if there is a way to prevent a Three Mesh UI Block from repositioning children objects, and simply act as a dumb container, such as an attribute?
Thank you in advance,
Joe

Actually the easiest way by far would be the CSS-classes-like solution.
There would be new methods and properties added to the ThreeMeshUI module, like .addClass, and components would have a read-only .classList with .add and .remove methods.


bioRxiv

bioRxiv is a preprint repository for biology research. It can be downloaded from here.

Shawn is working on this

High overlap with PMC, so closing for now


Release 0.26 agent fixes

Can the automated build still use docker?  If not, we will need https://github.com/EnMasseProject/enmasse/pull/2746


Fix 62887.  Customized SampleLabel is ignored and overwritten by JMet…

…er 5.0

Codecov Report

Merging #429 into trunk will increase coverage by <.01%.
The diff coverage is 72%.

@@             Coverage Diff             @@
##              trunk    #429      +/-   ##
===========================================
+ Coverage     58.59%   58.6%   +<.01%
- Complexity    10632   10637       +5
===========================================
  Files          1196    1196
  Lines         76051   76072      +21
  Branches       7357    7357
===========================================
+ Hits          44562   44579      +17
- Misses        28981   28984       +3
- Partials       2508    2509       +1

Impacted Files
Coverage Δ
Complexity Δ

...c/org/apache/jmeter/samplers/TestSampleResult.java
94.3% <100%> (+0.44%)
25 <1> (+1)
:arrow_up:

.../core/org/apache/jmeter/samplers/SampleResult.java
74.66% <36.36%> (-0.98%)
135 <4> (+2)

...c/core/org/apache/jmeter/reporters/Summariser.java
86.25% <0%> (+1.52%)
19% <0%> (+2%)
:arrow_up:

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 3540949...9eee458. Read the comment docs.

Thanks Artem for the PR, but I don't understand it.
It seems to me it breaks what has been modified in 5.0.

@pmouawad
In case when I have 3 resources for request url.com

url.com/res.css
url.com/res.html
url.com/res.xml
Does current behaviour guaranteed that url.com/res.css always will have label url-0, url.com/res.html -> url.com-1 and url.com/res.xml -> url.com-2 ? and Labels will not be confused?

@artem-fedorov ,
Yes if the are in the test plan.
No guarantee if they are automatically handled by resources download and it is done in parallel, but since 5.0, we add the URL in the CSV to disambiguate

Hello @artem-fedorov ,
There seem to be a place for this PR amended for users that use JMeter for functional testing as per the 2 last comments in:

https://bz.apache.org/bugzilla/show_bug.cgi?id=63055

Would you be ready to amend your PR to have old behaviour only if:

Test Plan has checked "Functional Test Mode"
There is a property "functional_mode=true"

Thanks

Hello @pmouawad
I'll create a new PR soon


Module hedera-base miss tests for functionality of SmartContractClientImpl.createContract

Hello @hendrikebbers, may you please assign me this issue, I work on it?


Add support for csscomb

Fixes #1635
Changes proposed:

[X] Add
[ ] Delete
[ ] Fix
[ ] Prepare

Remove xmlns:xlink="http://www.w3.org/1999/xlink" from icon.

Not sure why it was included even with the recommended settings. Anyway, it is done!


C++ api

Hi, I am new to scipy but I feel this project is fantastic after using it.
In  my Python project, I used "find_peaks" function as part of my postprocess. However, due to some reasons, I need to transfer my project into C++ code.
I tried to find the C++ API for this function, but I failed. Could you help me with it or maybe providing an alternative way to achieve it?

I'm afraid that there is no corresponding C++ API for find_peaks(). Conceptually, the function is a relatively straightforward combination of more primitive functions, first finding all of the local peaks, then winnowing down the list based on the conditions specified by the user. These more primitive functions are written in Cython, so they should be relatively easy to translate over to C++ (e.g. they are written mostly as for loops over individual elements, not numpy array operations). I'm afraid there isn't much of a shortcut beyond just reading the source and translating the code over. The details of that translation are probably more affected by how you are representing your signals (plain-old double * arrays or std::vectors or more specialized array classes) than anything else, so I don't think there is much help we can provide.
I am going to close this issue as this is not a feature request or bug report. If you still have some more specific questions (like why a particular bit of the code was written in a way that you didn't expect), you can continue to ask them here, but you may not get a lot of responses. Other forums like the mailing list might be more likely to get some of that more specific help.


Unable to install script

Execute the script（./install.sh）, appear
" Unable to install crlfuzz, try manually (1/31)
Unable to install gf, try manually (2/31)
Unable to install dalfox, try manually (3/31)
Unable to install github-endpoints, try manually (4/31)
....
"
Too much manual installation to make it work, what should I do

Seems Golang was not properly installed, try to install manually Golang and rerun again. Thanks!

Seems Golang was not properly installed, try to install manually Golang and rerun again. Thanks!

wow, it's right, thank you very much for your prompt answer

I am facing same issue on Kali Linux,
I have removed golang using sudo apt remove golang and then sudo apt autoremove and reinstalled it but still facing the same issue. Any idea how to get away with it?


Enforce row-major order in cuPy array

Closes #6454

Codecov Report

Merging #6459 (9ac24ae) into master (fb56da5) will decrease coverage by 0.10%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #6459      +/-   ##
==========================================
- Coverage   80.15%   80.04%   -0.11%
==========================================
  Files          13       13
  Lines        3512     3513       +1
==========================================
- Hits         2815     2812       -3
- Misses        697      701       +4

Impacted Files
Coverage Δ

python-package/xgboost/data.py
56.96% <0.00%> (-0.13%)
:arrow_down:

python-package/xgboost/tracker.py
93.97% <0.00%> (-1.21%)
: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 fb56da5...9ac24ae. Read the comment docs.

This would be easy to support at the cupy adapter level if we wanted to in future.


Bouncing PullUp when is going to hide

Should PullUp bounce when pullUpControllerMoveToVisiblePoint is called to 0.0 or is removed with animation? Looks a bit weird. Should that be handled by the library or better to use overriding of the bounce offset and exposed current point?
UPD: This is not bounce issue.

I just checked and this is caused by Spring animation and not the bounce. If we would speak about an elegant solution then I have no idea how to solve this. Again, just depending on current position creating a guard that will return if is PullUp is about to reach 0.0.

@MarioIannotta, hmm, that would actually solve my problem, though I think if you do something like this:
func pullUpControllerAnimate(actions: [Action],
                             withDuration duration: TimeInterval,
                             animations: @escaping () -> Void,
                             completion: ((Bool) -> Void)?)

then users wanting only one animation would not have to copypast 3 functions.

why are you talking about copy-paste the function?
the user implementation would be:
    override func pullUpControllerAnimate(action: PullUpController.Action,
                                          withDuration duration: TimeInterval,
                                          animations: @escaping () -> Void,
                                          completion: ((Bool) -> Void)?) {
        switch action {
        case .move:
            UIView.animate(withDuration: 0.3,
                           delay: 0,
                           usingSpringWithDamping: 0.7,
                           initialSpringVelocity: 0,
                           options: .curveEaseInOut,
                           animations: animations,
                           completion: completion)
        default:
            UIView.animate(withDuration: 0.3,
                           animations: animations,
                           completion: completion)
        }
    }

@MarioIannotta sorry, my fault. I misunderstood the code above. I thought that would be like:
func pullUpControllserAnimate(action: Action.hide,
                             withDuration duration: TimeInterval,
                             animations: @escaping () -> Void,
                             completion: ((Bool) -> Void)?)

func pullUpControllerAnimate(action: Action.show,
                             withDuration duration: TimeInterval,
                             animations: @escaping () -> Void,
                             completion: ((Bool) -> Void)?)
```swift
func pullUpControllerAnimate(action: Action.move,
                             withDuration duration: TimeInterval,
                             animations: @escaping () -> Void,
                             completion: ((Bool) -> Void)?)

I think I should rest more :)


[DAPHNE-#412] Matrix Multiplication Chain Optimization

Implements an algorithm to identify matrix chains, find the minimum cost MatMul-Sequence and rewrites the matrix chain accordingly
Removes redundant transpose during the TranspositionAwareMatMul optimization
Builds on #200

TODO:

programmatically check if we can actually remove the "redundant" operators or if they have use somewhere else
extensive testing

Thanks @Hiebl, first of all, for this PR. I hope I will soon find the time to look over it.
Regarding the removal of redundant operations: I guess you refer to the TransposeOps that can become unused due to transposition-aware matrix multiplication. I noticed in #406 that these TransposeOps stay in the code (unsurprisingly) and even get executed at runtime. Of course, it would be great to avoid that and get rid of them, if they don't have other uses. I think rather than including such a feature in any specific pass, we should have a dedicated pass removing unused operations (which don't have side-effects, see NoSideEffects trait) aka dead-code elimination. It seems like MLIR's CSE pass includes that. Maybe that could be useful to you.

@Hiebl Thanks again for this contribution. I'm going to finalize this feature, so no further action is required from your side. However, if you could point me to the concrete approach for matrix multiplication chain optimization you implemeted, that would be helpful, since I'm having some difficulties in mapping the implementation to what I know about matrix multiplication chain optimization.


[NUMBERS-142] Added LinearCombination implementations to the JMH module.

Adds implementations based on the method of Dekker, Ogita et al, and Shewchuk.
All implementations pass the tests copied from arrays.LinearCombinationTest.
Tests were added using ill-conditioned dot products to demonstrate the condition number where each implementation willfail.
All implementations are added to a JMH performance test.

Coverage remained the same at 98.391% when pulling 6ddbf8b80e192d5ea19c89752ffefc2ff4879f4e on aherbert:numbers-142-feature into 81c2fd3d763afdae3cadc711b220e6ded9f7fd36 on apache:master.


Enhancement: Use Electron's net module instead of Node's http

Electron's net module has better support for web proxies, including:

Automatic management of system proxy configuration, support of the wpad protocol and proxy pac configuration files.
Automatic tunneling of HTTPS requests.
Support for authenticating proxies using basic, digest, NTLM, Kerberos or negotiate authentication schemes.
Support for traffic monitoring proxies: Fiddler-like proxies used for access control and monitoring.

Addressed in https://github.com/Microsoft/BotFramework-Emulator/pull/408, closing.


Adjust CODEOWNERS file

This PR is intended to make CODEOWNERS file to be same as for https://github.com/OpenVPN/terraform-provider-cloudconnexa/blob/main/.github/CODEOWNERS

I was not able to receive reply from @arslanbekov yet.
Seems that i have permissions to "bypass branch protection" and the main goal of this change is to make two CODEOWNERS files to be of similar content - adding my colleague @uddr as reviewer.
After approve i'm going to merge this PR


Delayed publish does not work as expected

I've defined a bunch of delayed message which must publish exactly at the time and order.
$delayed/143/test => idx = 1
$delayed/168/test => idx = 2
$delayed/193/test => idx = 3
$delayed/218/test => idx = 4
$delayed/243/test => idx = 5
$delayed/268/test => idx = 6
$delayed/293/test => idx = 7
$delayed/318/test => idx = 8
$delayed/343/test => idx = 9
$delayed/368/test => idx = 10

all the messages are qos 1 and have specific index in the payload for debug purpose. The first message must be published at 11:50:00 and after that messages must be published each 25 seconds in order.
I subscribe into test topic with web dashboard and got all messages as I expected but not in time and not in order!
the order that I got messages:
idx: 3 at 11:50:49
idx: 9 at 11:53:19
idx: 1 at 11:53:20
idx: 10 at 11:53:44
idx: 2 at 11:53:44
idx: 6 at 11:53:44
idx: 7 at 11:53:44
idx: 8 at 11:53:44
idx: 4 at 11:53:44
idx: 5 at 11:53:44

Another example:
define messages like below

Messages
Topic
QoS
Time

50
$delayed/59/testcontest
0
2019-02-10 12:28:36

25
$delayed/25/testcontest
0
2019-02-10 12:28:26

40
$delayed/40/testcontest
0
2019-02-10 12:28:20

35
$delayed/35/testcontest
0
2019-02-10 12:28:14

20
$delayed/20/testcontest
0
2019-02-10 12:28:08

15
$delayed/15/testcontest
0
2019-02-10 12:28:02

Code below is a client with MQTT.js which connects to emqx server and subscribe to specific topic and finally publish delayed message in a for loop.
var mqtt = require('mqtt')
var client  = mqtt.connect('mqtt://<IP_ADDRESS>:1883', {
    clientId: 'nodejs',
    will: {
        qos: 1,
        topic: 'test',
        retain: false
    }
})

client.on('connect', function (data) {
  client.subscribe('test', function (err) {
    if (err) {
      console.error('cannot subscribe to test')
      console.error(err)
    } else {
        console.log('subscribed')
        for (var i = 1 ; i <= 10 ; i++) {
            const t = new Date().toTimeString();
            const topic = `$delayed/${i * 10}/test`
            const msg = `Message # ${i} : ${t.toString()}`;
            console.log('Message => ' + msg)
            client.publish(topic, msg)
            console.log('#' + i + ': publish to ' + topic + ' in ' + t.toString())
        }
    }
  })
})

client.on('message', function (topic, message) {
    const t = new Date().toTimeString();
    console.log(`${t.toString()}: get message by topic ${topic}, body: ${message.toString()}`)
})

and result is:
15:33:50: get message by topic test, body: Message # 5 : 15:33:00
15:33:50: get message by topic test, body: Message # 2 : 15:33:00
15:34:10: get message by topic test, body: Message # 7 : 15:33:00
15:34:10: get message by topic test, body: Message # 6 : 15:33:00
15:34:10: get message by topic test, body: Message # 3 : 15:33:00
15:34:40: get message by topic test, body: Message # 10 : 15:33:00
15:34:40: get message by topic test, body: Message # 4 : 15:33:00
15:34:40: get message by topic test, body: Message # 8 : 15:33:00
15:34:40: get message by topic test, body: Message # 1 : 15:33:00
15:34:40: get message by topic test, body: Message # 9 : 15:33:00

the next (or event last) try, I published delayed messages to different topics.
var mqtt = require('mqtt')
var client  = mqtt.connect('mqtt://<IP_ADDRESS>:1883', {
    clientId: 'nodejs',
    will: {
        qos: 1,
        topic: 'test',
        retain: false
    }
})

client.on('connect', function (data) {
    client.subscribe(['test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8', 'test9', 'test10'],{}, function(err) {
        if (err) {
            console.error('cannot subscribe to test')
            console.error(err)
          } else {
              console.log('subscribed')
              for (var i = 1 ; i <= 10 ; i++) {
                  const t = new Date().toTimeString();
                  const topic = `$delayed/${i * 10}/test${i}`
                  const msg = `Message # ${i} : ${t.toString()}`;
                  // console.log('Message => ' + msg)
                  client.publish(topic, msg)
                  console.log('#' + i + ': publish to ' + topic + ' in ' + t.toString())
              }
          }
    })
})

client.on('message', function (topic, message) {
    const t = new Date().toTimeString();
    console.log(`${t.toString()}: get message by topic ${topic}, body: ${message.toString()}`)
})

and the result is:
15:27:02: get message by topic test3, body: Message # 3 : 15:26:32
15:27:32: get message by topic test6, body: Message # 6 : 15:26:32
15:28:12: get message by topic test10, body: Message # 10 : 15:26:32
15:28:12: get message by topic test2, body: Message # 2 : 15:26:32
15:28:12: get message by topic test9, body: Message # 9 : 15:26:32
15:28:12: get message by topic test8, body: Message # 8 : 15:26:32
15:28:12: get message by topic test1, body: Message # 1 : 15:26:32
15:28:12: get message by topic test7, body: Message # 7 : 15:26:32
15:28:12: get message by topic test5, body: Message # 5 : 15:26:32
15:28:12: get message by topic test4, body: Message # 4 : 15:26:32

NOTE: Reverse loop from 10 to 1 has no success

I experience the same issues. Did you find a way to overcome this?

@soldag unfortunately not. I just added a new tools for handling delayed queue (in my case, for golang i used RichardKnop/machinery and it works well) in my project and then simply publish message.
I think it should has bug tag instead of support tag.


soc: arm: Fix linker.ld build issue for arduino_uno_r4_minima

Fix build issue with linker.ld depreciated for arduino_uno_r4_minima platform and observed on
samples/synchronization/sample.kernel.synchronization after #64544.
see CI build failure -
https://github.com/zephyrproject-rtos/zephyr/actions/runs/6746158923/job/18339718127?pr=64783

@soburi, FYI

this is already fixed https://github.com/zephyrproject-rtos/zephyr/pull/64781

this is already fixed #64781

right, I see it is fixed for cmake path error, and this fix is now just to resolve cmake depreciation warning on pre-defined linker.ld for this particular board.

@golowanow
Thank you for notifying me.
My commit and #64544 just missed each other.
This fix is no problem. But I have added a comment for a minor issue.


Update 1.21.0

Player.isOp() is still in beta

You need to push the changes you made to the src directory too.

There weren't any

Player.isOp() is still in beta; index.js wasn't changed at all and the src files also not, it was me that used npm run duild instead of npm run dev last time