1.2.0 Publish Docker images

We use this issue to track docker release based on OpenSearch build 1127, Opensearch-Dashboards build 512.

These are the commends we are going to use:
OpenSearch
id && pwd && cd docker/release && curl -sSL https://ci.opensearch.org/ci/dbc/bundle-build/1.2.0/1127/linux/x64/dist/opensearch-1.2.0-linux-x64.tar.gz -o opensearch-x64.tgz && curl -sSL https://ci.opensearch.org/ci/dbc/bundle-build/1.2.0/1127/linux/arm64/dist/opensearch-1.2.0-linux-arm64.tar.gz -o opensearch-arm64.tgz && bash build-image-multi-arch.sh -v 1.2.0 -f ./dockerfiles/opensearch.al2.dockerfile -p opensearch -a 'x64,arm64' -r opensearchproject/opensearch -t 'opensearch-x64.tgz,opensearch-arm64.tgz' -n 1127

OpenSearch-Dashboards
id && pwd && cd docker/release && curl -sSL https://ci.opensearch.org/ci/dbc/bundle-build-dashboards/1.2.0/512/linux/x64/dist/opensearch-dashboards-1.2.0-linux-x64.tar.gz -o opensearch-dashboards-x64.tgz && curl -sSL https://ci.opensearch.org/ci/dbc/bundle-build-dashboards/1.2.0/512/linux/arm64/dist/opensearch-dashboards-1.2.0-linux-arm64.tar.gz -o opensearch-dashboards-arm64.tgz && bash build-image-multi-arch.sh -v 1.2.0 -f ./dockerfiles/opensearch-dashboards.al2.dockerfile -p opensearch-dashboards -a 'x64,arm64' -r opensearchproject/opensearch-dashboards -t 'opensearch-dashboards-x64.tgz,opensearch-dashboards-arm64.tgz' -n 512

Docker is ready to use right now. Build number 417 and 418 for OpenSearch and Dashboards respectively.
OpenSearch: https://hub.docker.com/r/opensearchproject/opensearch/tags
OpenSearch-Dashboards: https://hub.docker.com/r/opensearchproject/opensearch-dashboards/tags
Docker compose: https://opensearch.org/samples/docker-compose.yml

{
  "name" : "opensearch-node1",
  "cluster_name" : "opensearch-cluster",
  "cluster_uuid" : "teJylxlBQVKqXt_doKdSxQ",
  "version" : {
    "distribution" : "opensearch",
    "number" : "1.2.0",
    "build_type" : "tar",
    "build_hash" : "c459282fd67ddb17dcc545ec9bcdc805880bcbec",
    "build_date" : "2021-11-22T16:57:39.852823Z",
    "build_snapshot" : false,
    "lucene_version" : "8.10.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}

opensearch-node2       | [2021-11-23T17:38:37,385][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] Auditing of external configuration is disabled.
opensearch-node2       | [2021-11-23T17:38:37,385][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] Auditing of internal configuration is enabled.
opensearch-node2       | [2021-11-23T17:38:37,385][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] Auditing only metadata information for read request is enabled.
opensearch-node2       | [2021-11-23T17:38:37,385][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] Auditing will watch {} for read requests.
opensearch-node2       | [2021-11-23T17:38:37,386][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] Auditing read operation requests from kibanaserver users is disabled.
opensearch-node2       | [2021-11-23T17:38:37,386][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] Auditing only metadata information for write request is enabled.
opensearch-node2       | [2021-11-23T17:38:37,386][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] Auditing diffs for write requests is disabled.
opensearch-node2       | [2021-11-23T17:38:37,386][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] Auditing write operation requests from kibanaserver users is disabled.
opensearch-node2       | [2021-11-23T17:38:37,386][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] Auditing will watch <NONE> for write requests.
opensearch-node2       | [2021-11-23T17:38:37,386][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] .opendistro_security is used as internal security index.
opensearch-node2       | [2021-11-23T17:38:37,386][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node2] Internal index used for posting audit logs is null
opensearch-node2       | [2021-11-23T17:38:37,387][INFO ][o.o.s.c.ConfigurationRepository] [opensearch-node2] Hot-reloading of audit configuration is enabled
opensearch-node2       | [2021-11-23T17:38:37,393][INFO ][o.o.s.c.ConfigurationRepository] [opensearch-node2] Node 'opensearch-node2' initialized
opensearch-node1       | [2021-11-23T17:38:37,420][INFO ][stdout                   ] [opensearch-node1] [FINE] No subscribers registered for event class org.opensearch.security.securityconf.DynamicConfigFactory$NodesDnModelImpl
opensearch-node1       | [2021-11-23T17:38:37,421][INFO ][stdout                   ] [opensearch-node1] [FINE] No subscribers registered for event class org.greenrobot.eventbus.NoSubscriberEvent
opensearch-node1       | [2021-11-23T17:38:37,421][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing on REST API is enabled.
opensearch-node1       | [2021-11-23T17:38:37,421][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] [AUTHENTICATED, GRANTED_PRIVILEGES] are excluded from REST API auditing.
opensearch-node1       | [2021-11-23T17:38:37,421][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing on Transport API is enabled.
opensearch-node1       | [2021-11-23T17:38:37,421][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] [AUTHENTICATED, GRANTED_PRIVILEGES] are excluded from Transport API auditing.
opensearch-node1       | [2021-11-23T17:38:37,421][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing of request body is enabled.
opensearch-node1       | [2021-11-23T17:38:37,422][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Bulk requests resolution is disabled during request auditing.
opensearch-node1       | [2021-11-23T17:38:37,422][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Index resolution is enabled during request auditing.
opensearch-node1       | [2021-11-23T17:38:37,422][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Sensitive headers auditing is enabled.
opensearch-node1       | [2021-11-23T17:38:37,422][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing requests from kibanaserver users is disabled.
opensearch-node1       | [2021-11-23T17:38:37,424][WARN ][o.o.s.a.r.AuditMessageRouter] [opensearch-node1] No endpoint configured for categories [BAD_HEADERS, FAILED_LOGIN, MISSING_PRIVILEGES, GRANTED_PRIVILEGES, OPENDISTRO_SECURITY_INDEX_ATTEMPT, SSL_EXCEPTION, AUTHENTICATED, INDEX_EVENT, COMPLIANCE_DOC_READ, COMPLIANCE_DOC_WRITE, COMPLIANCE_EXTERNAL_CONFIG, COMPLIANCE_INTERNAL_CONFIG_READ, COMPLIANCE_INTERNAL_CONFIG_WRITE], using default endpoint
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing of external configuration is disabled.
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing of internal configuration is enabled.
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing only metadata information for read request is enabled.
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing will watch {} for read requests.
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing read operation requests from kibanaserver users is disabled.
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing only metadata information for write request is enabled.
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing diffs for write requests is disabled.
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing write operation requests from kibanaserver users is disabled.
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Auditing will watch <NONE> for write requests.
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] .opendistro_security is used as internal security index.
opensearch-node1       | [2021-11-23T17:38:37,425][INFO ][o.o.s.a.i.AuditLogImpl   ] [opensearch-node1] Internal index used for posting audit logs is null
opensearch-node1       | [2021-11-23T17:38:37,426][INFO ][o.o.s.c.ConfigurationRepository] [opensearch-node1] Hot-reloading of audit configuration is enabled
opensearch-node1       | [2021-11-23T17:38:37,426][INFO ][o.o.s.c.ConfigurationRepository] [opensearch-node1] Node 'opensearch-node1' initialized
opensearch-dashboards  | {"type":"log","@timestamp":"2021-11-23T17:38:38Z","tags":["info","savedobjects-service"],"pid":1,"message":"Starting saved objects migrations"}
opensearch-dashboards  | {"type":"log","@timestamp":"2021-11-23T17:38:38Z","tags":["info","plugins-system"],"pid":1,"message":"Starting [44] plugins: [alertingDashboards,usageCollection,opensearchDashboardsUsageCollection,opensearchDashboardsLegacy,mapsLegacy,share,opensearchUiShared,legacyExport,embeddable,expressions,data,home,console,apmOss,management,indexPatternManagement,advancedSettings,savedObjects,securityDashboards,reportsDashboards,indexManagementDashboards,anomalyDetectionDashboards,dashboard,visualizations,visTypeVega,visTypeTimeline,timeline,visTypeTable,visTypeMarkdown,tileMap,regionMap,inputControlVis,ganttChartDashboards,visualize,queryWorkbenchDashboards,charts,visTypeVislib,visTypeTimeseries,visTypeTagcloud,visTypeMetric,observabilityDashboards,discover,savedObjectsManagement,bfetch]"}
opensearch-node2       | [2021-11-23T17:38:38,555][INFO ][o.o.c.m.MetadataIndexTemplateService] [opensearch-node2] adding template [tenant_template] for index patterns [.kibana_-*_*, .kibana_0*_*, .kibana_1*_*, .kibana_2*_*, .kibana_3*_*, .kibana_4*_*, .kibana_5*_*, .kibana_6*_*, .kibana_7*_*, .kibana_8*_*, .kibana_9*_*]
opensearch-dashboards  | {"type":"log","@timestamp":"2021-11-23T17:38:38Z","tags":["listening","info"],"pid":1,"message":"Server running at http://0:5601"}
opensearch-dashboards  | {"type":"log","@timestamp":"2021-11-23T17:38:38Z","tags":["info","http","server","OpenSearchDashboards"],"pid":1,"message":"http server running at http://0:5601"}
^CGracefully stopping... (press Ctrl+C again to force)


torch.cat(per_task_running_loss[env_id]).mean().item(), IndexError: list index out of range

i tried to reproduce this train.py by using ubuntu20.04 ,after some env issues solved  i start to train.but a issue happened like this :

it looks like the issue is about the train.py's line 206
File "/root/autodl-tmp/src/run/train.py", line 206, in  torch.cat(per_task_running_loss[env_id]).mean().item(), IndexError: list index out of range

i hope you can give me some guide about this issue

Hi, thank you for your interest in our work and for letting me know about this error. I have updated one line in train.py to consider the right number of training tasks when logging per-task losses (last commit: https://github.com/PierreMarza/task_conditioned_adaptation/commit/3c6dc05377eae15f6a1f5629b28b76571f878da3).
Please pull the updated code and let me know if it now runs properly!

thanks a lot，i will try this out～。～

Is the problem now solved? If so, I will close this issue.

The mentioned error was fixed. Fell free to reopen if needed.


Update troubleshoot-diagnostic-logs.md

Remove the magic number 26 as that seems like a typo
Sharing some details of the default FREB rule

@puneetg1983 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


phpstorm version ?

Which Antlers Toolbox products are you requesting a feature for?

[ ] Antlers Toolbox for VS Code
[ ] Antlers Toolbox for VS Code Formatter
[ ] Formatter CLI
[ ] Antlers Prettier Plugin
[x] Antlers Syntax Highlighting (external systems - not VS Code)

Would be nice to have a version of this tool for phpstorm (jetbrain's ide) (actually there is another plugin : https://plugins.jetbrains.com/plugin/19203-antlers-language-support but less featured)
Of course, I don't know how much of work is required to do that, I guess "a lot" as usual ;)

It is indeed a lot of work, and Stefano has been doing a great job with the PHP Storm support. If you have feature requests I'd create issues here: https://github.com/Konafets/antlers-idea
I have no plans to create a dedicated PHP Storm plugin at this time, but am keeping an eye on LSP support within IntelliJ IDEs (https://intellij-support.jetbrains.com/hc/en-us/community/posts/360001627960-IntelliJ-support-for-Language-Server-Protocol-as-a-client-?sort_by=created_at)

Sorry to comment a closed issue, but I wanted to share an update on LSP support for intelliJ IDEs ... : https://blog.jetbrains.com/platform/2023/07/lsp-for-plugin-developers/
=> tl;dr : the support of LSP is, as far as i know, only for payed version (not community editions). But PHPStorm and Webstorm (both IDE used by web developper working with laravel, statamic and antlers) are only available in paid edition so ... is not a blocker for an antlers plugin... :)
And sadly the plugin by stephano is laking support for many syntaxes, so the auto-formating is constantly breaking making it almost unusable.
Thanks for your consideration :)

Oh that is certainly interesting. I missed that update - I'll give it some thought!


Merge shapely-2.0 branch into main

xref https://github.com/Toblerity/Shapely/issues/962#issuecomment-767440130
This contains all changes that were made up to now for the shapely-2.0 branch. Now we have branched for maint-1.8, I think it would be a good time to move the shapely-2.0 change into master.
I would propose to merge this PR with the "Rebase and merge" strategy to preserve the commits here (directly mapping to one of the PRs). Another option is to rename the shapely-2.0 branch to master, but doing it through this PR seems more transparent.

@sgillies are you OK with going forward here? This is all content from previous PRs (but so essentially moving the shapely-2.0 branch to as the main branch)

@jorisvandenbossche let's do it!

OK, done :)
I will rebase some of the open PRs that were on top of this branch against the main branch then.

(actually, I already did my other PRs (https://github.com/Toblerity/Shapely/pull/1222, https://github.com/Toblerity/Shapely/pull/1219) agaisnt main)


Cannot read property 'label' of undefined

Issue Id: 8d877eb2-b3bb-49b1-ed7a-c9be5d1b55cbVersions - 1.17.2Stack TypeError: Cannot read property 'label' of undefined/vs/editor/contrib/colorPicker/browser/colorPickerWidget.ts#L59:61 (label)/vs/base/common/callbackList.ts#L36:22 (apply)/vs/base/common/event.ts#L123:26 (call)/vs/editor/contrib/colorPicker/browser/colorPickerModel.ts#L41:32 (fire)/vs/editor/contrib/hover/browser/modesContentHover.ts#L329:32 (colorPresentations)/vs/base/common/winjs.base.raw.js#L1170:0 (onComplete)/vs/base/common/winjs.base.raw.js#L852:0 (_notify)/vs/base/common/winjs.base.raw.js#L1068:0 (enter)/vs/base/common/winjs.base.raw.js#L1036:0 (_run)/vs/base/common/winjs.base.raw.js#L1170:0 (onComplete)

Here is another similar callstack
TypeError: Cannot read property 'label' of undefined[TypeError: Cannot read property 'label' of undefined](https://github.com/microsoft/vscode/blob/9a199d77c82fcb82f39c68bb33c614af01c111ba/srcTypeError: Cannot read property 'label' of undefined)/vs/editor/contrib/colorPicker/colorPickerWidget.ts#L59:61 (call)/vs/base/common/event.ts#L144:18 (fire)/vs/editor/contrib/colorPicker/colorPickerModel.ts#L41:32 (colorPresentations)/vs/editor/contrib/hover/modesContentHover.ts#L335:32 (onComplete)/vs/base/common/winjs.base.raw.js#L1183:0 (_notify)/vs/base/common/winjs.base.raw.js#L865:0 (enter)/vs/base/common/winjs.base.raw.js#L1081:0 (_run)/vs/base/common/winjs.base.raw.js#L1049:0 (onComplete)/vs/base/common/winjs.base.raw.js#L1183:0 (_notify)

Here is another similar callstack
TypeError: Cannot read property 'label' of undefined/vs/editor/contrib/colorPicker/colorPickerWidget.ts#59:61 (call)/vs/base/common/event.ts#144:18 (fire)/vs/editor/contrib/colorPicker/colorPickerModel.ts#41:32 (colorPresentations)/vs/editor/contrib/hover/modesContentHover.ts#335:32 (onComplete)/vs/base/common/winjs.base.raw.js#1183:0 (_notify)/vs/base/common/winjs.base.raw.js#865:0 (enter)/vs/base/common/winjs.base.raw.js#1081:0 (_run)/vs/base/common/winjs.base.raw.js#1049:0 (onComplete)/vs/base/common/winjs.base.raw.js#1183:0 (_notify)/vs/base/common/winjs.base.raw.js#865:0


Updated building instructions for Linux

Added updated instructions for building on Linux and added a script to auto-download the correct bazel version and add it to local venv path.

Yeah sure converting to python script and integrating it into the setup process itself is indeed a very good idea.
Just needed a small clarification how do you plan to handle the downloads?

We can do it with Python itself using the urlrlib
Let the platform handle it like wget/curl for Linux and MacOS and iwr for Windows.

Yeah sure converting to python script and integrating it into the setup process itself is indeed a very good idea.
Just needed a small clarification how do you plan to handle the downloads?
1. We can do it with Python itself using the `urlrlib`

2. Let the platform handle it like `wget`/`curl` for Linux and MacOS and `iwr` for Windows.

Downloading through Python itself would be more suitable, so that we can maintain one code path for this task.

Added auto-download of the latest bazelisk version to the setup.py itself.  ✌
Is there any need to update the requirements.txt ?

Is there any need to update the requirements.txt ?

I prefer leaving it unchanged unless there are known issues or package deprecation.

Thanks!


Miscellaneous fixes

Two things that came up when implementing the Hyper ingress function:

Fix insert_readings so that it's fine if we try to reinsert some readings that are already there.
Add time_created and time_updated  columns to all tables. Not really necessary, but would have been handy, and I think we discussed this at some point.

Note that the changes to the database schema will break talking to the current deployment. (See also https://github.com/alan-turing-institute/DTBase/issues/24, which I just opened.)

Codecov Report

Merging #23 (d2a956f) into develop (5ad0455) will increase coverage by 0.20%.
The diff coverage is 100.00%.

:exclamation: Current head d2a956f differs from pull request most recent head e4f2952. Consider uploading reports for the commit e4f2952 to get more accurate results

@@             Coverage Diff             @@
##           develop      #23      +/-   ##
===========================================
+ Coverage    90.04%   90.25%   +0.20%
===========================================
  Files           27       27
  Lines         2402     2453      +51
===========================================
+ Hits          2163     2214      +51
  Misses         239      239

Impacted Files
Coverage Δ

dtbase/core/models.py
92.59% <100.00%> (ø)

dtbase/core/sensors.py
93.52% <100.00%> (ø)

dtbase/core/structure.py
99.24% <100.00%> (+0.17%)
:arrow_up:

dtbase/tests/test_sensors.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Forgot this from the original set of commits:
3) Had to upgrade some Flask dependencies, to have them handle multiple simultaneous backend queries gracefully (they were failing on concurrency).


Translations - fix typo in zh_TW

should be 反映 (reflect) instead of 反應 (respond)
Other sentences uses 反映 properly,
https://github.com/pcottle/learnGitBranching//blob/main/src/levels/remote/fetch.js#L567

Thanks a bunch! will merge this and push the site, once the checks pass above


Use GitHub auth

https://github.com/netlify/netlify-cms/blob/master/website/content/docs/authentication-backends.md#github-backend

Before accepting, try it out at https://5c03526b0ff8d46d9ca7f464--adoring-dubinsky-b12c2a.netlify.com/admin/#/


File is not defined

I get the following error when loading the plugin into a NuxtJS (Vue2) project "File is not defined".
First it complains that the CSS file does not exist as is on the README.

@toshkoevo any updates?


Make tests less reliant on data

Changes for SL have mostly revolved around altering tests to accommodate new data, not new code. I know the idea is that the data is "code" but rewriting the tests is tedious and unnecessary. If the data is wrong it won't work and we'll fix it, just make sure the code works as expected.

Areas I've found:

raids & dungeons (pve)
Weekly Events (pve)
Reputations
Gems & Enchants (there will be some character related stuff that will be hard to mock, but we may be able to figure it out)


URGENT!!! Missing tokens from MEW

I am missing most of my tokens from MEW. Can you please get in touch ASAP? I am super worried. I  can still see my tokens in the hacker's mew wallet. can someone please help me before it is too late. Please guys!!!!!!

If your token were sent to another wallet there is nothing to do, your token are now hacker's token.


Parsing without stripping markup

Is it possible to use this parser without stripping relevant markdown characters? i.e. _this_ becomes _this_, instead of this.

Afraid not, that’s not the way it’s designed to work. I think that would be quite tricky to implement but feel free to use this project as a base!

Okay, thanks for the speedy reply @tommoor.


Only activate start game button when the user is logged in

[x] If the user is NOT logged in but clicked the start game button, prompt them to sign in
[ ] add to other buttons as well (submit, not instructions)

not working on submit button (game.js line 41)


TomapProjector attribution match options

lemmaKeys, caseInsensitive and ignoreDiacritics control both projection and attribution. Make separate options for attribution

add option to match surface form OR lemma

@ldeleger
We can implement this, however the classifier saved by ToMapTrain must be aware of these options.
That means that a classifier file will only be able to function for the specific matching options it was created with. Would that be okay?
This also means that there might be different matching and projection options in ToMapProjector. We can either:

override the projector options (and issue a warning at runtime)
let the user shoot their feet


Please delete the following code immediately please

https://jsbin.com/tiyacimufu/edit?html,output
Could this page be deleted and all code removed with immediate effect please??
HELP, this wasnt meant to be saved, when I delete it and try to erase the content it doesnt work!
Please quickly, could confirmation of this be sent to<EMAIL_ADDRESS>Thankyou

Done.


Resizing browser causes message options to appear partially.

How To Reproduce:

Try resizing the browser. Reduce the height.
Toogle the message options icon.

Observed Behavior: The options appear partially.
Environment: Mozilla Firefox 51.0.1 (64-bit) on Linux Mint 17.2.

For anyone interested in fixing this, check out exports.toggle_actions_popover in static/js/popovers.js; that already has a reasonable amount of popover placement logic.  I'm not entirely confident that this is a 100% solvable problem in the general case of very small windows with the bootstrap popover library that we're using, but we can likely improve the logic.

I suspect its https://github.com/zulip/zulip/blob/master/static/js/popovers.js#L211-L213 .
Funnily enough, in my tests, I could never get a "top" placement for the popover. Can I work on this?

@babhishek21 go ahead and claim the task by mentioning the zulipbot

@zulipbot

@babhishek21 make sure to write "claim" after the mention

@zulipbot claim

So my dev environment is all setup and running well. What should be the next course of action?

@babhishek21 -- The next course of action should be to try to fix the issue. A good start might be to look into the file you mentioned earlier.

So I tinkered around a bit more. Strange things are happening:

As https://github.com/zulip/zulip/blob/master/static/js/popovers.js#L211 currently stands, the logic performs faulty on my system. elt.offset().top returns the offset relative to the viewport top instead of the document top (the latter should occur according to the jQuery docs). Thus the proper assignment for ypos could be simply ypos = elt.offset().top.
For extremely small window sizes, as @timabbott said, some options in the popover will be partially visible however we position it. This is because of two problems inherent to the bootstrap popover module:

The window height/width is smaller than the minimum dimensions the popover can achieve with static positioning.
The popover module itself seems to be only looking at the width of the viewport while reflowing its contents. Thus on reducing viewport widths, the popover height increases while its width decreases, regardless of how the viewport height changed. The popover module is not utilising the horizontal screen estate to the left of it. (see attached screenshots)

Wider viewport :arrow_down: (Enough horizontal screen estate)

Narrower viewport :arrow_down: (Popover won't utilise the horizontal screen estate to the left of it. Instead chooses to increase height and reflow however it can)

The first problem is easily fixed and the logic can be modified suitably.
The second one can be mitigated by scrolling the document enough so that the current element is about 300 px offset from either the top or bottom of the viewport. But I suspect that for extremely small window sizes, we need to find a way to reflow the contents of the popover (which probably requires messing with the bootstrap popover module).

Great investigation!  It seems like it's worth doing the quick fix for the easy part now at least?

Thanks for the reminder @zulipbot . Have been stuck in university midterms 😅 Expect a patch today or late tomorrow.

Alright patch #4047 is in. Let me know how it works out. :sweat_smile:
I'll be AFK for the majority of the week. If something else comes up, let me know on chat.Zulip or email me. :+1:


Window.event becomes empty when a click event handler triggers the click event on a different element in IE11

T304784

I'm working on this


fix(provider-sdk): use send_request to handle request timeout

Feature or Problem

rpc_client.request will always use the default timeout, and even if the user sets a larger timeout, we will still be limited by it.
https://github.com/wasmCloud/wasmCloud/blob/6219096dba216c4795c4c85f91a1e01012833065/crates/provider-sdk/src/rpc_client.rs#L214-L218
https://github.com/wasmCloud/wasmCloud/blob/6219096dba216c4795c4c85f91a1e01012833065/crates/provider-sdk/src/rpc_client.rs#L251-L255
use send_request to send the request
Related Issues

Release Information

Consumer Impact

Testing

Unit Test(s)

Acceptance or Integration

Manual Verification

It looks like wasmbus-rpc needs to be fixed as well, I'll submit a new pr over there after this one is approved.

Hey @Iceber, request is meant to be a low-level function used within the RPC SDK. Using a consistent timeout value is by design: providers receive this timeout value from the host as default_rpc_timeout_ms in the HostData. (This field's type is Option<u64>, but that is for historical reasons. The host always provides a value.)
request is not meant to be directly called by providers. I think it's a mistake that it is marked as public and the doc comment says it can be used for general NATS messages, because the client used by this function is configured to use an RPC-specific connection + credentials + timeout. CC @thomastaylor312). Providers should call send to send RPC messages.
For providers that need to send messages with a custom timeout, we have send_timeout, which takes a custom timeout argument. This should be used rarely. The only use case I know of is for the HTTP server, which allows setting a custom timeout for handling requests.
I think you did find a bug, however: if a provider calls send_timeout with a timeout of 10s, but the RPC client's inner timeout was set to 2s, the inner future returned by maybe_timeout will resolve after 2s, not waiting the full timeout.
So I think the fix should be to remove the tokio::time::timeout wrappers from the provider SDK. The underlying NATS client is already sending requests with a timeout, so there's no way to extend this timeout with tokio, which would be a more common use case than shortening the timeout.
To extend the timeout, we will need to refactor the call to self.client.request (note that the maybe_timeout around self.client.publish does nothing, since publishing should never take more than a few milliseconds). Instead of calling async_nats::Client::request, we will need to use async_nats::Client::send_request and pass a request with a timeout. Here is an example where we did this in the host.

request is not meant to be directly called by providers. I think it's a mistake that it is marked as public and the doc comment says it can be used for general NATS messages, because the client used by this function is configured to use an RPC-specific connection + credentials + timeout. CC @thomastaylor312). Providers should call send to send RPC messages.

Provide a request_timeout function wrapper in order to ensure that request calls and request_timeout calls have consistent call logs, I will remove the pub.

So I think the fix should be to remove the tokio::time::timeout wrappers from the provider SDK. The underlying NATS client is already sending requests with a timeout, so there's no way to extend this timeout with tokio, which would be a more common use case than shortening the timeout.
To extend the timeout, we will need to refactor the call to self.client.request (note that the maybe_timeout around self.client.publish does nothing, since publishing should never take more than a few milliseconds). Instead of calling async_nats::Client::request, we will need to use async_nats::Client::send_request and pass a request with a timeout. Here is an example where we did this in the host.

Yes, it would be more appropriate to use send_request, and I'll update this pr

@Iceber would you mind rebasing off main? I think we've resolved the issue in CI, but it's still happening on your branch


Feature/#12 configure deployment

close #12

Codecov Report

Merging #40 (36d8f5b) into main (a988855) will decrease coverage by 3.08%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #40      +/-   ##
==========================================
- Coverage   36.04%   32.97%   -3.08%
==========================================
  Files          19       19
  Lines         344      276      -68
  Branches       60       59       -1
==========================================
- Hits          124       91      -33
+ Misses        193      156      -37
- Partials       27       29       +2

Impacted Files
Coverage Δ

...stsExtensions/Internal/Extensions/PathExtension.cs
57.14% <0.00%> (-9.53%)
:arrow_down:

src/TestsExtensions/JsonDataAttribute.cs
66.66% <0.00%> (-8.34%)
:arrow_down:

...TestsExtensions/Internal/Extensions/PathNetCore.cs
53.00% <0.00%> (-2.73%)
:arrow_down:

.../TestsExtensions/Internal/SignatureWrapperStore.cs
93.75% <0.00%> (-1.49%)
:arrow_down:

...c/TestsExtensions/Generators/MainSyntaxReceiver.cs
0.00% <0.00%> (ø)

...les/TestsExtensions.Examples/ChartExample/Chart.cs
100.00% <0.00%> (ø)

...tsExtensions/Generators/SignatureWrapperBuilder.cs
0.00% <0.00%> (ø)

...Extensions/Generators/SignatureWrapperGenerator.cs
0.00% <0.00%> (ø)

...nsions/Internal/Extensions/SyntaxNodeExtensions.cs
0.00% <0.00%> (ø)

...xtensions.Examples/CalculatorExample/Calculator.cs
100.00% <0.00%> (ø)

... and 6 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


docs: getting started improvements

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.
Added version (0.8.0) to includes; added section on using cdk init to the end of Getting Started; miscellaneous small edits.

I've got my branch out of whack, so I'm going to close this and try again.


Size is limited in table and cannot scroll to right to see rest of data

When I open the testnet or mainnet dashboard, I am not able to see the remaining column(s) of data in the table. They are cut off and there is no option to scroll.
Steps to Reproduce
Open the dashboard in Edge or Chrome.
Expected Result
Should be able to see all data in the table.
Actual Result

Versions

Software Version
OS: Windows
Browser: Edge and Chrome
Mobile device, if applicable

This morning I played around with display settings and eventually was able to see the final column in the table.


Should we AutoDoc the Documentation?

The existing documentation and cookbook contains nice written descriptions of how the code works.
I have added some practical examples and figures to the documentation in Pull Request #23.  However, every time I perform make html, I find that the new html content differs from the "live" html content in ways I did not expect.  Specifically, the pages Grid Tools, Spectrum, Spectral Emulator, and Model contain API info from Autodoc.
As it stands, the new Autodoc API content looks cluttered, making it difficult to follow the descriptive text.  I found a way to turn off the API content (by removing sphinx.ext.autodoc from the conf.py file).  So I will do this, and the submit the new documentation content from PR #23.
But then the question is, should we have autodoc?  I'm fairly agnostic on this point.  But in principle, one could arrange it so that the descriptive content is at the top, and then the API class and method info is at the bottom.  Or something sane like that.
I'll leave this here in case anyone has feelings either way.

Thank you very much for the nice examples you contributed! You are right that the original formatting of the autodoc'd API with the examples was somewhat haphazard, and the current formatting reads much more smoothly.
I do think we should use autodoc, because at least more often than not I end up browsing the API docs for a project. As frequently seems to be the case, can we borrow the format set by astropy? If I understand their docs, this would require putting the API references on their own pages.
On a related note, I noticed that on the gh-pages branch we have a 1.0/ folder for the documentation and a symbolic link from the current address. I will fix this to be consistent with the version throughout the rest of the project. Which brings me to another issue... I think it's time to create a roadmap for version development :)

Having the GridInterfaces autodoc'd would be very helpful. Or a mention that the grid interfaces automatically normalize and convert to air wavelengths in some cases would have been helpful somewhere.
I just spent a bunch of time troubleshooting why the grid_tools spectra were different (scaled and shifted) to the raw phoenix ones I manually loaded. They were automatically changed.

Hi @jason-neal, I have been experimenting with some changes to Starfish's flux normalization assumptions.  Depending on one's goals, the default behavior may not be adequate.  Happy to chat about this.  See Issue #38 for more info.


Ring integration stopped working

Home Assistant release with the issue:
0.103.2
Last working Home Assistant release (if known):
0.102
Operating environment (Hass.io/Docker/Windows/etc.):
Hassio
Integration:
Ring
Description of problem:
Ring integration stopped working suddenly after upgrading to latest release.
2019-12-19 14:49:22 ERROR (SyncWorker_1) [homeassistant.components.ring] Unable to connect to Ring service: 403 Client Error: Forbidden for url: https://api.ring.com/clients_api/session
2019-12-19 14:49:23 ERROR (MainThread) [homeassistant.setup] Setup failed for ring: Integration failed to initialize.
2019-12-19 14:49:23 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform ring.camera: Unable to set up component.
2019-12-19 14:49:23 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform ring.binary_sensor: Unable to set up component.

update
I have send ring an email and asked for explination, they replied on twitter to me with the fact that i need to sign up for ring partner to get API access.
See tweet:
https://twitter.com/diondk/status/1207677919339974658

Same here.  Additional details:
Not using Multi Factor authentication
Hass.io 0.103.2
Reddit thread: https://old.reddit.com/r/homeassistant/comments/ecnnpq/trouble_connecting_to_ring_service/
Community thread:
https://community.home-assistant.io/t/ring-error-401-client-error-unauthorized-for-url/154051
Could this be due to API changes necessitated by some recent widely reported breaches?

https://github.com/tchellomello/python-ring-doorbell/issues/142

Looks like this is an upstream issue:
#https://github.com/tchellomello/python-ring-doorbell/issues/142

Same here, failed after rolling back from 0.103.1, upgrading to 0.103.2 does not fix the issue for me.

Related to: https://github.com/home-assistant/home-assistant/issues/25088

Related to: #25088

Not completely my 2 factor authentication is off, and ring told me on twitter that i need to sign up for the partner program to get access to the API.
https://twitter.com/diondk/status/1207677919339974658

It has nothing to do with HA versions, they just changed the API overnight. It also doesn't matter if you have/had 2FA enable or not.

Same here,
it seems that they have made changes in the API or no longer exists

Twitter message they posted, hope this isn't the case:

I have send ring an email and asked for explination. will keep you guys posted.

they may be taking advantage to enable live stream access(sarcastic)

So I guess we need Nabu Casa to get partner status, or start again to reverse engineer the app ;-(

So I guess we need Nabu Casa to get partner status, or start again to reverse engineer the app ;-(

Hi,where dos you read that?

So I guess we need Nabu Casa to get partner status, or start again to reverse engineer the app ;-(

Hi,where do you read that?

On twitter they told me that we need to sign as a partner to get API access.

So I guess we need Nabu Casa to get partner status, or start again to reverse engineer the app ;-(

Hi,where do you read that?

On twitter they told me that we need to sign as a partner to get API access.

But i dont understand that about nabucasa

So I guess we need Nabu Casa to get partner status, or start again to reverse engineer the app ;-(

Hi,where do you read that?

On twitter they told me that we need to sign as a partner to get API access.

But i dont understand that about nabucasa

someone needs partner status to get access to the API, untill now its not clear if everyone can get api access again.

So I guess we need Nabu Casa to get partner status, or start again to reverse engineer the app ;-(

Hi,where do you read that?

On twitter they told me that we need to sign as a partner to get API access.

But i dont understand that about nabucasa

someone needs partner status to get access to the API, untill now its not clear if everyone can get api access again.

Ok,now understand it,Thanks

Same here,
it seems that they have made changes in the API or no longer exists

API still exists, if you go to the url you will get a "unauthorized" response, so something is listening but we're just not passing it the right credentials any longer.

Response from ring, we are screwed.. Anyone wants to buy a doorbell? i am going to search for a replacement bell.

Same here with my hass.io 0.102.2.
My Ring protect plan is still active and I get the following errors in HA logs:
Unable to prepare setup for platform ring.sensor: Unable to set up component.
9:39 PM setup.py (ERROR)
Unable to prepare setup for platform ring.binary_sensor: Unable to set up component.
9:39 PM setup.py (ERROR)
Setup failed for ring: Integration failed to initialize.
9:39 PM setup.py (ERROR)
Unable to connect to Ring service: 403 Client Error: Forbidden for url: https://api.ring.com/clients_api/session
9:39 PM components/ring/init.py (ERROR)
Using a web browser pointed at [https://api.ring.com/clients_api/session] I get:
{"error":"not authorized"}
IMHO, Ring have obviously changed their API.

I don't know what are the requirements, but it may be worth talking to Ring.
cc @balloob
In the meantime, please follow this thread for updates https://github.com/tchellomello/python-ring-doorbell/issues/142

Regardless of what their CTO is saying, it still works for now with xernaj's changes.

2019-12-19 18:16:18 INFO (SyncWorker_4) [homeassistant.loader] Loaded ring from custom_components.ring,
2019-12-19 18:16:18 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for ring which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.,
2019-12-19 18:16:19 INFO (SyncWorker_13) [homeassistant.util.package] Attempting install of https://github.com/xernaj/python-ring-doorbell/archive/fix/oauth-fail-due-to-blocked-user-agent.zip#ring_doorbell==0.2.4,
2019-12-19 18:16:31 INFO (SyncWorker_10) [homeassistant.util.package] Attempting install of https://github.com/xernaj/python-ring-doorbell/archive/fix/oauth-fail-due-to-blocked-user-agent.zip#ring_doorbell==0.2.4,
2019-12-19 18:16:42 INFO (SyncWorker_21) [homeassistant.util.package] Attempting install of https://github.com/xernaj/python-ring-doorbell/archive/fix/oauth-fail-due-to-blocked-user-agent.zip#ring_doorbell==0.2.4,
2019-12-19 18:16:55 INFO (MainThread) [homeassistant.setup] Setting up ring,
2019-12-19 18:17:05 WARNING (MainThread) [homeassistant.setup] Setup of ring is taking over 10 seconds.,
2019-12-19 18:17:05 INFO (MainThread) [homeassistant.setup] Setup of domain ring took 10.7 seconds.,
2019-12-19 18:17:05 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up binary_sensor.ring,
2019-12-19 18:17:05 INFO (MainThread) [homeassistant.components.camera] Setting up camera.ring,
2019-12-19 18:17:15 WARNING (MainThread) [homeassistant.components.camera] Setup of platform ring is taking over 10 seconds.

Just FYI, while in the saga to version 0.103.2, all 3 of my problems were actually unrelated to 0.103.2

EcoBee failed with expired token, (re config fix it)
SmartThings failed with expired token, removing using the tool and re config fixed the issue.
Ring failed because of this thread.

Thanks,
Oscar

Unbelievable that all 3 hit right as we were all trying to upgrade to 103.1/2 ... what are the odds.

LMAO here because I lost Ring and Ecobee at the same time too!  Like you said, a simple expired token but what are the odds?

we'd be happy to discuss with the maintainers of Home Assistant on how to make this happen.

Really?  I kind of get the impression they just ignore such requests.  Still waiting for any kind of response on my own partner request with them months later

I am in touch with their CTO and working on getting a client ID/secret for Home Assistant to use. It will need an update to the Python lib https://github.com/tchellomello/python-ring-doorbell/issues/144

Have updated to 103.3, the ring error seems to still be appearing.

It works fine here. (with2FA disabled)
On Sat, Dec 21, 2019 at 1:10 AM Mike J McGuire<EMAIL_ADDRESS>wrote:

Have updated to 103.3, the ring error seems to still be appearing.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/issues/30076?email_source=notifications&email_token=ABJR36OH3GL5I6662XTMJXTQZVNGTA5CNFSM4J5IKHC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHOP36A#issuecomment-568131064,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJR36P6L7UHOLEX5UUAYQTQZVNGTANCNFSM4J5IKHCQ
.

Fixed in 103.3

And it failed again in 103.4 (with Ecobee)

This still appear to be an issue... 103.5

Working for me in 103.5.
The only downside is I see about 10 DNS lookups a second to oath.ring.com

Mine stopped working today :-(

Mine broke again with latest update yesterday

Same:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/ring/__init__.py", line 79, in timer_hub_refresh
    hub_refresh()
  File "/usr/src/homeassistant/homeassistant/components/ring/__init__.py", line 87, in hub_refresh
    camera.update()
  File "/usr/local/lib/python3.7/site-packages/ring_doorbell/generic.py", line 55, in update
    self._get_attrs()
  File "/usr/local/lib/python3.7/site-packages/ring_doorbell/generic.py", line 87, in _get_attrs
    lst = self._ring.query(url).get(self.family)
  File "/usr/local/lib/python3.7/site-packages/ring_doorbell/__init__.py", line 198, in query
    'Bearer {}'.format(self._get_oauth_token())
  File "/usr/local/lib/python3.7/site-packages/ring_doorbell/__init__.py", line 111, in _get_oauth_token
    self.auth = oauth.refresh_tokens()
  File "/usr/local/lib/python3.7/site-packages/ring_doorbell/auth.py", line 59, in refresh_tokens
    token = self._oauth.refresh_token(OAuth.ENDPOINT)
  File "/usr/local/lib/python3.7/site-packages/requests_oauthlib/oauth2_session.py", line 446, in refresh_token
    self.token = self._client.parse_request_body_response(r.text, scope=self.scope)
  File "/usr/local/lib/python3.7/site-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 421, in parse_request_body_response
    self.token = parse_token_response(body, scope=scope)
  File "/usr/local/lib/python3.7/site-packages/oauthlib/oauth2/rfc6749/parameters.py", line 431, in parse_token_response
    validate_token_parameters(params)
  File "/usr/local/lib/python3.7/site-packages/oauthlib/oauth2/rfc6749/parameters.py", line 441, in validate_token_parameters
    raise MissingTokenError(description="Missing access token parameter.")
oauthlib.oauth2.rfc6749.errors.MissingTokenError: (missing_token) Missing access token parameter.

I just got this response from Ring:

We’ve been working with the Home Assistant open source community for a few weeks now.  As you know, this is not an approved Ring system, nor is it using Ring approved Partner APIs.  We will continue to work with folks to get Home Assistant to a place that works with Ring and meets our security needs.  Hopefully you’ll stick around as we truly value you and the community support.
Joshua Roth
Chief Technology Officer
<EMAIL_ADDRESS>310.925.2643

@HemiBob thanks for talking to Ring and the post, its encouraging Ring want to work with the community.
For what its worth, mine has broken too (103.5).
Maybe a coincidence, but my doorbell stopped sending alert details to Ring a few days back.  I removed the integration from HA, and within in few hours the Ring started to send alerts to Ring again.  So I suspect (but have no evidence of, apart from this coincidence) part of the "stronger controls" Ring are implementing involves temporary blacklisting.

Thanks for following up with Ring, folks.
Looking forward for them to come back with some acceptable solution.


Jobs level command bug

Command:
/jobs level nick jobsname add 5 does not add 5 levels but sets it to 5 so the command works like /jobs level nick jobsname set 5
Jobs version 4.13.1
Server: Paper version git-Paper-214 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)

Fixed in this commit: https://github.com/Zrips/Jobs/commit/f19138db4d621de1c64ce1cec720e79b157979c3#diff-935fce87ef33baaea920ca6e584eed61


[CI] Ensure mac interface tests are running correctly on m1 instance

Submisison Checklist

[ ] Run tests: ./runCmdStanTests.py src/test
[ ] Declare copyright holder and open-source license: see below

Summary:
WRT https://github.com/stan-dev/ci-scripts/issues/24 we've got a new M1 instance that we need to test our CI on to ensure everything is working fine.
Intended Effect:
How to Verify:
Results should be consistent with the older Mac Instance.
Side Effects:
Documentation:
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Toptal
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

The initial problem was the missing python binary on the M1 instance.
After that was fixed, we seem to have a failing test
test/interface/stansummary_test --gtest_output="xml:test/interface/stansummary_test.xml" failed

Huh, it seems like the formatting/precision of the output numbers changed. They still look like the right values, just formatted differently. Odd behavior to see change like that

Huh, this might have found an actual bug with how we compute the width and precision of nan

@serban-nicusor-toptal I think I found the issue. Assuming it passes can do a run on all the machines to make sure it is consistent, but then I'll want someone (probably @rok-cesnovar) to take a quick look at the C++ changes I made

Happy to do it.

Yep, that made it so CI matches my local (Ubuntu) results.
NaN values to the calculate_width function were previously returning<PHONE_NUMBER>1562067971, which forced any column with an nan in it to be formatted as scientific notation. I think that the modern Clang library had a nicer implementation of the floating point standard which avoided this somehow.
Explicitly treating nans is the right thing to do, anyway.

Just wanted to note that this commit is still happening, I think that's the plugin itself doing the merge. If we change the default we might affect other projects on Jenkins hmmh

Assuming the above run passes I think all we need to do is change the label from m1 back to just osx and then merge.
@rok-cesnovar mind taking a look at the C++?

@serban-nicusor-toptal is there a reason we have multiple recordIssues in this repo and only one of them in stan? It seems like all of them collect warnings from all the platforms

The only reason for that is to have them visually separated, it makes it easier to debug and find targeted issues.
https://jenkins.flatironinstitute.org/job/Stan/job/CmdStan/job/develop/100/
vs
https://jenkins.flatironinstitute.org/job/Stan/job/Stan/job/develop/89/
Not sure why for Stan we went with a global one, maybe it's less to worry about ?

It looks like (based on https://jenkins.flatironinstitute.org/job/Stan/job/CmdStan/job/PR-1145/12/) that the Windows and Linux gates were failing due to the warnings that the Mac was generating but ignoring

Oh, that's unexpected, I was under the impression that it will treat them as different sources.
I think this is caused because of aggregatingResults : true
aggregatingResults : boolean (optional)
By default, each static analysis result will be recorded as a separate result that is presented as an individual
Jenkins Action with separate UI and dashboard. If you rather prefer aggregation of the results into a single result
(i.e., single Jenkins Action), then activate this check box. You still can see the distribution of issues grouped by static analysis tool in the UI.

https://www.jenkins.io/doc/pipeline/steps/warnings-ng/
Which I think we want to be actually false in cmdstan case.

Sounds good. When that passes I think you can go ahead and squash and merge


cross-compile on lxss fails on configure tor

OS: Win10 x64
lxss: Ubuntu 18.04
Building dependencies w/o problem.
When try to
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32

it ends at
=== configuring in src/tor
(...)
checking whether free(NULL) works... yes
checking for libevent directory... (system)
checking whether we need extra options to link libevent... configure: error: Found linkable libevent in (system), but it does not seem to run, even with -R. Maybe specify another using --with-libevent-dir}

Just before it stops windows is nagging about missing libwinpthread-1.dll 3 times.

Yes.

I guess it picks a wrong version of libevent from the one that installed in the system instead of the one that was built from depends. Could you verify this?

I will close this issue for now if you still having this issue please put a new comment.


Importing from raven.contrib.flask import Sentry leads to RuntimeError because blinker is missing

I followed the instructions of Sentry and added
from raven.contrib.flask import Sentry
sentry = Sentry(app, dsn='https://my_dsn')

to my code. I've got
RuntimeError: signalling support is unavailable because the blinker library is not installed

Installink blinker
sudo -H pip install blinker

fixed it. Should blinker be added to the requirements.txt of raven?

Did you install raven like this?
pip install raven[flask]

@MartinThoma I'd say so :)

Thanks guys. Worth mentioning here that in the new sentry-sdk standard lib, it has been added to the docs:
https://docs.sentry.io/platforms/python/flask/
(pip install -U "sentry-sdk[flask]")

True, installing with flask as extras solved the issue for me.


randomly pick up port number for dynamic registry

The current logic to search for the next available port in a range defined in the server.yml is starting from the lowest number in the range. This is not ideal in some of the situations in a Kubernetes cluster. For example, if one service is down, the Kubernetes might start another service and light-4j going to allocate the same port on the same host. This cause a client to confuse that it still visits the old service but that one has already replaced by another service. This only happens if the previous service is killed without graceful shutdown and deregister from the Consul. The httpCheck use the serviceId in the endpoint as a path parameter and can mitigate the issue but not very user can use httpCheck for some reasons. It would be better for us to update the search logic for the next port to avoid reusing a port immediately. I am still trying to come up with a design and open to any suggestions.

After discussing with @jiachen1120 and @BalloonWen, we think the best option is to use the random port within the range to start the server. This will significantly reduce the chance of conflict. In fact, on the same host, the chance service A crashes and service B starts to occupy the same part is already very slim. In a Kubernetes cluster, there is more chance that service A is down and service A is up in sequence.

 randomly pick up port number for dynamic registry

 randomly pick up port number for dynamic registry

This issue is reopened as I found an issue during live testing. Unlike the previous implementation, we can check only (maxPort - minPort) times, we cannot use this number anymore as we are using a random number and there are chances that the same number might be pickup several times and some numbers are never been picked. Need to think about it more.

If the random port is tested and found busy, the random process gets followed repeatedly and will bring the number of iterations, as per the code from days ago.
A simple (although not elegant) version:
As this check happens at start-up, one could conceivably cache the "unsuccessful" binds in a set and try until the HashSet size equals (maxPort - minPort).
Hashset would right away be discarded after a bind is successful.

@ddobrin Thanks for the suggestion. I will try this approach and test it out.

@stevehu would it be enough just to randomly pick the starting port between minPort & maxPort then loop over the rest in sequence (until you hit the starting port again)?

@NicholasAzar I think that was the first solution we have implemented but we found some issues during the test and switched to a HashSet to track what has been bound.

The implementation in this commit https://github.com/networknt/light-4j/commit/1a2965fc86c57c6a8e3096101e9704ddfa168660 ? If so, I think that's different to what I mentioned in my above comment. Either way if the current solution is adequate then there's no benefit to revisit it.


Odd support in the VM for Int and BigInteger

I tried to execute a SimpleContract that summed some integers.
It failed with an invalid cast operation from int to BigInteger. This seems odd.

This has been fixed a long time ago in upstream.


logger.py seems to be overriding users supersid.cfg setting of log_format?

Supersid seems to be ignoring my configuration for log_format.
In the file logger.py lines 44 and 50 the code is overwriting the users configuration of the log file format based on number of stations configured.
Is this on purpose?

I think the fix is just to delete those 2 lines of code.

This is fixed in the sberl/supersid fork


Fix file encoding for #1806

Make the file encoding UTF-8 again. Partially reverting #1806.

Fixed in 46bc6e545a17e77202aaf01ec0cd8d5a46567525


How to modify error message on login screen if cognito user is disabled?

It seems not an issue. But i have question whether its possible or not.
If my cognito user is disabled and try to login, We are seeing error message "User is disabled"

Can i modify this message?

Hi,
Any help on this?

@jayudhandha were you able to get an answer on this? I am encountering a similar issue.

@dougngo No, I believe it's not possible for the moment.


Fix with statement for multiple context managers

The previous implementation would call the body of with multiple times, if it contains multiple context managers.
For example, for the following code:
  with a, b:
      fn()

would be generated the equivalent of this:
  with a:
      fn()

  with b:
      fn()

I think solving code generation for nested context managers with nested context managers in the compiler is a very elegant solution!
Compliments, I'll merge this into the development branch.
Could you supply some tests cases for the autotest?
If not I'll try to do that myself.


wrong type in README.md

in the section 1.2. Basics

The parameter k, is the delimited continuation between the point of performing the effect and the effect handler. The delimited continuation is like a dynamically defined function, that can be called and returns a value. The type of k in this case is (int, int) continuation, which says that the continuation expects an integer to continue (the first type parameter), and returns with an integer (the second type parameter).

I believe the type of k should be (int, unit) continuation instead of (int, int) continuation as the function sum_up does not return value.

Thanks! Yes, the given type is incorrect. But your reasoning is not correct. The second type argument of the continuation type constructor is the return type of the handler, not the handled computation, meaning the return type of sum_up is irrelevant. We can deduce that the handler returns unit from looking at the exnc clause.

Thanks for the clarification!
I am still new to the effect Module, could you please explain why the second type argument is the return type of the handler instead of the return type?
If I understand correctly, the ('a, 'b) continuation represents the computation left to finish when we perform an effect. We need a data of type 'a to resume the left computation, because we sort of took a break when we perform the effect. It feels more nature that 'b is the return type of the computation instead of the handler.
Thanks in advance

The correct reading of ('a, 'b) continuation depends on the origin of the continuation. If the continuation was captured "shallowly" then you are correct that 'b would be instantiated to the same type as the remainder of the handled computation. If it is captured "deeply" then the handler itself is embedded in the continuation, in this case 'b is instantiated to the return type of the handler (because the handler is run as part of the continuation).
The example uses a deep handler, hence 'b should be the return type of the handler.
(This paper may interest you, it discusses the differences between shallow and deep handlers.)

Thanks for the information


Allow IndexSpec defaults to be configured

Currently IndexSpec defaults to Concise and LZ4, this ask is to allow IndexSpec to have its defaults configurable instead of requiring hard-coded defaults.

related to https://github.com/druid-io/druid/pull/2824 and https://github.com/druid-io/druid/issues/2408


Don't require Backend Environment ARN

For frontend apps this is not necessary.
Signed-off-by: Sean Smith<EMAIL_ADDRESS>

To test this I did:
aws amplify create-branch --app-id=db63t2jjt7llc --branch-name=test --region=us-east-1
aws amplify start-job --app-id=db63t2jjt7llc --branch-name=test --job-type=RELEASE --region=us-east-1

Here's an example of that:
https://test.db63t2jjt7llc.amplifyapp.com/


Allow to prefix the schema_migration table

When cassandra-migrations is used in several more or less independent  projects that share the same keyspace the migrations all use the same table. This may lead to migrations not being executed due to version conflicts or worse execute them partially.
I added an optional table prefix property to the Database class and the spring properties. If not set it will be "" and it should work as before. So hopefully fully backwards compatible.
Could you please have a look at the PR and if you think it would benefit the library also merge it :)

Hi @hanbei,
sorry, that it took me a while to reply. Holidays, sick children and so on ;-)
First of all, thanks for your contribution! Based on what I see, this change makes sense, looks good and I would like to merge it. But, can I ask you to update the pull request so that not half of the code is changed because of a different formatting style? It makes the git annotations a lot less useful if the last change of a line is just because of formatting differences.
I am using the standard IntelliJ formatting rules, nothing fancy. Thanks in advance.
Enjoy your weekend :)
Cheers
Patrick


Workaround for overriding a test timeout?

Currently the default timeout is 10m and there doesn't seem to be any way for me to override it through my gradle file. Does anyone know of a workaround to get around this with minimal changes?

We don't set any default timeout. Can you explain what you mean?

The default timeout for go tests is 10m per package. I can override it by running "go test -timeout ". But via gogradle I cannot pass/set this timeout.

@blindpirate any pointers to get around this?

Well, unfortunately no, it's not possible for now: https://github.com/gogradle/gogradle/blob/0d66b72408f0db82aa935c2684920ffdcb4f497e/src/main/java/com/github/blindpirate/gogradle/task/go/GoTest.java#L284


Fix tooltip not showing when hovering the menus

#183  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @elenaperezrioja and the rest of your teammates on  Graphite


Make some object grabbed when start

I want to make my controller grab the weapon when application starts.
Is it right to make a sub class of VRTK_BaseGrabAttach or is there better way to do so?

check this example scene
https://vrtoolkit.readme.io/docs/examples#section-026_controller_forceholdobject


Only listen for Global Keyboard Shortcuts?

Expected Behavior
This may be mostly a feature request.
I like how this library does the keyboard capturing but I do not need the part of it that does the mouse tracking.
Expectation would be to either have options or dedicated start functions for different modes.
Current Behavior
ioHook.start() starts listening for just about everything.
Possible Solution
Implementation of something like:
ioHook.start({
  keyboardEvents: true,
  mouseEvents: false,
})

My assumption is that this would use less CPU power.
I am aware that I can selectively listen for events but I assume that the capturing and firing of the unnecessary events could be reduced.
Thank you for your consideration 🌸

Will definitely add this once I get to features.


interface{} -> any for remaining references

Should be the last one for sdks/go. There might be others in the repo (in boot.go's or playground/TOB), but I'm not going to dig for those.

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

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

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

R: @lostluck
Last one :)

Thanks for sorting this out! :D

Did a quick check and boot.go files don't have any instances of interface{} so its a non-issue


docs: Update README

Updating the README with the steps I took to make the nextjs ones run.
Left some comments for review on the README

Realized I still need to add instructions for testnet so will add those shortly


Enable match optimization with remapping when there is no future merge.

Stack:

#6337 ⬅
#6336
#6335

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

This change is

crates/cairo-lang-lowering/src/optimizations/match_optimizer.rs line 332 at r1 (raw file):

            if candidate.future_merge || candidate.additional_remappings.is_some() {
                // Don't apply the optimization in this case, as it breaks SSA when we use the same
                // remapping with different destination blocks.

Remove.
Code quote:
                // Don't apply the optimization in this case, as it breaks SSA when we use the same
                // remapping with different destination blocks.


Can't connect to aria2c with HTTPS

Connection works without SSL enabled, when enabled connection cannot be made and nothing is listed in the server logs. This is with OpenSSL enabled and AppleTLS, GnuTLS and WinTLS disabled. No issues/warnings when server is started with the correct certificate and private key.

Those parameters work for me only if I manually allow mixed content and only on Chromium.
On Firefox allowing mixed content (there referred to as "insecure content") still results in the generic "Could not connect to the aria2 RPC server" error.
Also, neither browser will read the configuration.js (which would set SSL/TLS encryption to true and contain the secret token), but dunno if that might be a consequence of the connection failing before said manual override.
Using the most recent Linux nightly/git of Firefox, Chromium and webui. aria2 is 1.18.10, running on openwrt with self-signed cert.

aria2c --enable-rpc --rpc-certificate=/path/to/server.pem --rpc-private-key=/path/to/server.key --rpc-secure
above doesn't work for me (Debian 8 Jessie , aria2c 1.18.8), I got Web sockets not working due to The operation is insecure.

The best solution I came up with is an Apache configuration.
Add the following lines at the end of your vhost section:
ProxyRequests Off
ProxyPreserveHost Off

<Proxy *>
  Order allow,deny
  Allow from all
</Proxy>

<Location /jsonrpc>
  <IfVersion >= 2.4>
    ProxyPass ws://<IP_ADDRESS>:6800/jsonrpc
    ProxyPassReverse ws://<IP_ADDRESS>:6800/jsonrpc
  </IfVersion>
  <IfVersion < 2.4>
    ProxyPass http://<IP_ADDRESS>:6800/jsonrpc
    ProxyPassReverse http://<IP_ADDRESS>:6800/jsonrpc
  </IfVersion>
</Location>

Then just configure webui-aria2 to connect to the same host, on port 443 secured.
Obviously, you need to activate proxy module for apache.
You should not add certificate options when launching aria2c (--rpc-certificate=/path/to/server.pem --rpc-private-key=/path/to/server.key).
The advantage is you don't need to accept the certificate even it's self-signed because you have already accepted it when getting the webui page. Browers don't complain about insecure connection neither.
I hope this could help.

@csdt How did you manage to connection to wss://?
SSLEngine on
ProxyPass /aria/ http://localhost:80/aria/
ProxyPassReverse /aria/ http://localhost:80/aria/

ProxyPass /jsonrpc ws://localhost:6800/jsonrpc
ProxyPassReverse /jsonrpc ws://localhost:6800/jsonrpc

is not enough
webui-aria2 try to connect to ws://, here comes the notice from browser, that you are trying to connect to mixed content...
Thanks

@muhahacz You need to configure webui-aria2 to connect using SSL.
Here is a screenshot of my connection configuration:

With this configuration, the browser should try to connect using wss://
Tell me if you have any trouble configure it.

Do you know, where exactly is this configuration stored?

Normally, the configuration file is on the file configuration.js.
But webui-aria2 seems to be buggy about connecting with these parameters.
To fix the bug, I needed to edit the file js/services/rpc/rpc.js like this:
angular
.module('webui.services.rpc', [
  'webui.services.rpc.syscall', 'webui.services.configuration', 'webui.services.alerts',
  'webui.services.utils'
])
.factory('$rpc', [
  '$syscall', '$globalTimeout', '$alerts', '$utils',
  '$rootScope', '$location', '$authconf',
function(syscall, time, alerts, utils, rootScope, uri, authconf) {

  var subscriptions = []
    , configurations = [authconf]
    , currentConf = {}
    , currentToken
    , timeout = null
    , forceNextUpdate = false;

  var cookieConf = utils.getCookie('aria2conf');

  // try at the start, so that it is presistant even when default authconf works
  if (cookieConf) configurations.push(cookieConf);

  if (['http', 'https'].indexOf(uri.protocol()) != -1 && uri.host() != 'localhost') {
    console.log(uri.host());
    configurations.push({
      host: uri.host(), // <===================== Modifications // default: "localhost"
      port: uri.port(), // <===================== are           // default: 6800
      encrypt: uri.protocol() == 'https', // <=== here          // default: false
    });
    console.log(configurations);
  }

Otherwise, it is stored in cookies and you can modify it directly from the web page:

Well i can connect from non SSL site to proxied wss://, but from SSL site i can not connect to wss://, seems configuration does not work on SSL, i do not get any cookie...
Can you send me pls your whole virtualhost file? Maybe i have something with apache configuration. Thanks

<VirtualHost *:80>
  ServerName webui-aria2.example.com

  DocumentRoot /var/www/webui-aria2/

  CustomLog /var/logs/apache/webui-aria2-access.log combined
  ErrorLog /var/logs/apache/webui-aria2-errors.log combined

  # Force HTTPS
  RewriteEngine On
  RewriteCond %{HTTPS} off
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

<VirtualHost *:443>
  ServerName webui-aria2.example.com

  DocumentRoot /var/www/webui-aria2/

  CustomLog /var/logs/apache/webui-aria2-access.log combined
  ErrorLog /var/logs/apache/webui-aria2-errors.log combined

  # Authentificate users
  <Location />
    AuthType Basic
    AuthName "webui-aria2"
    AuthUserFile  users.auth
    AuthGroupFile groups.auth

    # allow only users from the webui-aria2 group
    Require group webui-aria2
  </Location>

  # certificates
  SSLEngine on
  SSLCertificateFile    /etc/ssl/apache2/certs/public.crt
  SSLCertificateKeyFile /etc/ssl/apache2/private/private.key

  # The magic happens with all the following lines

  # Not sure if these lines are important
  ProxyRequests Off
  ProxyPreserveHost Off

  # Accept Proxying user
  <Proxy *>
    Order allow,deny
    Allow from all
  </Proxy>

  # Proxying the rpc requets
  <Location /jsonrpc>
    ProxyPass ws://<IP_ADDRESS>:6800/jsonrpc
    ProxyPassReverse ws://<IP_ADDRESS>:6800/jsonrpc
  </Location>

</VirtualHost>

I start aria2 with the following command line: /usr/bin/aria2c --enable-rpc (using systemd for curious people)

Seems webui-aria2 does not load ssl cookie with connection settings properly, so it's using default configuration every time i reload browser. If i setup correct settings, after while it connects to tunneled rpc, but after reload i lost these settings again....
Also i think that nonSSL and SSL cookie are basically same, so they are every reload overridden by themselves .
Your fix is working! But after CTRL+R blank page appear, dont know why... but after some time it starts working again.... weird....

I have the same problem, but full refresh (clearing cache) avoids this problem.
On firefox, you can do it CTRL+F5.
I don't know for other browsers, maybe the same.

Chrome doesnt work at all, but firefox is ok (except CTRL+R)

Fixed with these settings
ProxyPass /jsonrpc ws://<IP_ADDRESS>:6800/jsonrpc retry=0
ProxyPassReverse /jsonrpc ws://<IP_ADDRESS>:6800/jsonrpc
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1

and this commit
https://github.com/buffovich/webui-aria2/commit/b5624e279c224eaf099839d7637503eec8163bae
Still, it takes some time to connect to wss from ssl (aprox 10secs) dont know why.

Thanks for the tip

I know this issue is a bit old but it has a good Pagerank on Google and I kept landing here. It took me a while to solve, so I'm going to share my experience and understanding of the matter.
Most probably, there's something wrong with your certificate setup. If you press F12 on the index page and keep seeing net::ERR_INSECURE_RESPONSE on the console, then there's definitely something wrong with your certificates.
First, some analogies:

Root certificate => Signature
Certificate signing request => Paper
Certificate => Signed paper

When you want to prove a 3rd party that a piece of paper is valid, you need to get it signed by an authority.
In this setup, the 3rd party is the OS.  When the OS gets handed a piece of signed paper, it checks if the said paper is signed by someone it deems an authority.
The list of signatures that the OS recognizes is called the root certificate storage. OSs come pre-installed with well established root certificates. Take GoDaddy, for example. Their root certificates are present on pretty much all OSs.
When you pay for an SSL certificate from GoDaddy, you're basically handing them a piece of paper for them to sign it, so that you can show it to other OSs and get recognized.
Since we don't care about the rest of the world, what we can also do is to introduce our OS our own signature, and it will gladly accept any piece of paper signed with it.
Start by creating a new directory and moving into it.
Create your own root certificate
openssl genrsa -out ca.key
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
Introduce the resulting ca.crt to your OS as a trusted root certificate.
Note: openssl will ask you some information for certificate details. They are not really important, fill them as you wish them to appear in the root certificate storage. I only see Organization Name within the storage, so I just change that to my liking and leave the rest as default.
Create a certificate signing request
For this step, create a copy of the openssl config file:
cp /etc/ssl/openssl.cnf req.cnf
Within req.cnf:

Uncomment req_extensions = v3_req
Add subjectAltName = @alt_names to the bottom of [v3_req] section
Create a new section called [alt_names] and specify hosts where your aria2 will be running as such:

DNS.1 = example.duckdns.org
IP.1 = <IP_ADDRESS>

Now create a signing request with the configuration we just prepared:
openssl genrsa -out ia.key
openssl req -new -key ia.key -out ia.csr -config req.cnf
Again, fill the additional information requested by openssl as you wish, but leave Common Name and Challenge Password as is.
Sign the request with your root certificate
openssl x509 -req -days 3650 -in ia.csr -CA ca.crt -CAkey ca.key -out ia.crt -CAcreateserial -extensions v3_req -extfile req.cnf
You can now use ia.crt with an external service, and your OS, and your OS only, will recognize it as legit.
Since it's more convenient and more widely supported by aria2's supported TLS libraries (see here), I like packing the certificate and its key into a PKCS12 file with the following:
openssl pkcs12 -export -out ia.p12 -inkey ia.key -in ia.crt
Leave Export Password as is.
You can now fire up aria2 with:
aria2c --enable-rpc --rpc-listen-all --rpc-certificate=/path/to/your/ia.p12 --rpc-secure --rpc-secret=yoursecret
Whew! You should now be able to fire up index.html from your computer at any time and have a fully encrypted and secret protected connection, assuming your ports are forwarded on the network of the machine that's running aria2. Shall we put this in the README section?

You did really got job at explaining c3mb0!! We can make another file
called setup_https.md and link it (maybe called setup https) from the
readme.md ... Adding directly to readme.md would be fine to e for now.
Send over a pull request and I would love to merge it in :)
On Sat, Jan 30, 2016, 5:30 AM c3mb0<EMAIL_ADDRESS>wrote:

I know this issue is a bit old but it has a good Pagerank on Google and I
kept landing here. It took me a while to solve, so I'm going to share my
experience and understanding of the matter.
Most probably, there's something wrong with your certificate setup. If you
press F12 on the index page and keep seeing net::ERR_INSECURE_RESPONSE on
the console, then there's definitely something wrong with your certificates.
First, some analogies:

Root certificate => Signature
Certificate signing request => Paper
Certificate => Signed paper

When you want to prove a 3rd party that a piece of paper is valid, you
need to get it signed by an authority.
In this setup, the 3rd party is the OS. When the OS gets handed a piece of
signed paper, it checks if the said paper is signed by someone it deems an
authority.
The list of signatures that the OS recognizes is called the root
certificate storage. OSs come pre-installed with well established root
certificates. Take GoDaddy, for example. Their root certificates are
present on pretty much all OSs.
When you pay for an SSL certificate from GoDaddy, you're basically handing
them a piece of paper for them to sign it, so that you can show it to other
OSs and get recognized.
Since we don't care about the rest of the world, what we can also do is to
introduce our OS our own signature, and it will gladly accept any piece of
paper signed with it.
Start by creating a new directory and moving into it.
Create your own root certificate
openssl genrsa -out ca.key
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
Introduce the resulting ca.crt to your OS as a trusted root certificate.
Note: openssl will ask you some information for certificate details. They
are not really important, fill them as you wish them to appear in the root
certificate storage. I only see Organization Name within the storage, so I
just change that to my liking and leave the rest as default.
Create a certificate signing request
For this step, create a copy of the openssl config file:
cp /etc/ssl/openssl.cnf req.cnf
Within req.cnf:

Uncomment req_extensions = v3_req
Add subjectAltName = @alt_names to the bottom of [v3_req] section
Create a new section called [alt_names] and specify hosts where your
aria2 will be running as such:

DNS.1 = example.duckdns.org
IP.1 = <IP_ADDRESS>
Now create a signing request with the configuration we just prepared:
openssl genrsa -out ia.key
openssl req -new -key ia.key -out ia.csr -config req.cnf
Again, fill the additional information requested by openssl as you wish,
but leave Common Name and Challenge Password as is.
Sign the request with your root certificate
openssl x509 -req -days 3650 -in ia.csr -CA ca.crt -CAkey ca.key -out
ia.crt -CAcreateserial -extensions v3_req -extfile req.cnf
You can now use ia.crt with an external service, and your OS, and your OS
only, will recognize it as legit.
Since it's more convenient and more widely supported by aria2's supported
TLS libraries (see here
https://aria2.github.io/manual/en/html/aria2c.html#cmdoption--rpc-certificate),
I like packing the certificate and its key into a PKCS12 file with the
following:
openssl pkcs12 -export -out ia.p12 -inkey ia.key -in ia.crt
Leave Export Password as is.
You can now fire up aria2 with:
aria2c --enable-rpc --rpc-listen-all
--rpc-certificate=/path/to/your/ia.p12 --rpc-secure --rpc-secret=yoursecret
Whew! You should now be able to fire up index.html from your computer at
any time and have a fully encrypted and secret protected connection,
assuming your ports are forwarded on the network of the machine that's
running aria2. Shall we put this in the README section?
—
Reply to this email directly or view it on GitHub
https://github.com/ziahamza/webui-aria2/issues/108#issuecomment-176977431
.

Hello, my dear friends. Could you help me? I faced with an issue concerning trusted connection.
I have 2 PC in my LAN, first one is an HTPC (<IP_ADDRESS>), second one is my working machine (<IP_ADDRESS>). OS on both of them is Windows 8.1 Home.
On the HTPC I installed Aria2c to which I'm trying to connect from my working PC through Aria2cWebUI.
Every time when I'm trying to connect to Aria2c I'm getting following log:
On the HTPC:
C:\Program Files\Aria2c>aria2c.exe --conf-path=aria2c.conf

10/23 19:43:46 [WARN] Unknown option: ;quiet=true

10/23 19:43:46 [WARN] --rpc-user option will be deprecated in the future release
. Migrate to --rpc-secret option as soon as possible.

10/23 19:43:46 [WARN] --rpc-passwd option will be deprecated in the future relea
se.

10/23 19:43:46 [NOTICE] RPC transport will be encrypted.

10/23 19:43:46 [NOTICE] IPv4 RPC: listening on TCP port 6800

10/23 19:44:55 [ERROR] WinTLS: Failed to decrypt a message! Error: The certifica
te chain was issued by an authority that is not trusted.
(80090325)

10/23 19:44:56 [ERROR] WinTLS: Failed to decrypt a message! Error: The certifica
te chain was issued by an authority that is not trusted.
(80090325)

On my working PC in Aria2cWebUI:
Oh Snap! Could not connect to the aria2 RPC server. Will retry in 10 secs. You might want to check the connection settings by going to Settings > Connection Settings
Here is the config file of Aria2c (<IP_ADDRESS>):
daemon=true
;quiet=true
file-allocation=falloc
continue
summary-interval=120
allow-overwrite=false
check-certificate=false
auto-file-renaming=false
dir=D:\
dht-file-path=dht.dat
dht-file-path6=dht6.dat
enable-rpc=true
rpc-listen-port=6800
rpc-listen-all=true
rpc-secure=true
rpc-certificate=ia.p12
rpc-user=XXXXXXXX
rpc-passwd=********
file-allocation=none
enable-dht=true
disable-ipv6=true
timeout=600
retry-wait=30
max-tries=50
seed-ratio=2.0
max-download-limit=0
max-overall-download-limit=0
max-concurrent-downloads=5
max-connection-per-server=10
min-split-size=5M
no-file-allocation-limit=10M
piece-length=1M
disk-cache=25M
log=aria2.log
log-level=warn
auto-save-interval=30
save-session=aria2.sav
user-agent=Mozilla/5.0 (Windows NT 6.3; rv:47.0) Gecko/20100101 Firefox/47.0
http-accept-gzip=true

Connection settings in Aria2cWebUI (<IP_ADDRESS>):

ia.p12 certificate file I've got with the help of c3mb0's instructions (many thanks to him).
openssl_cert.cnf:
[ req ]
# comment out the next line to protect the private key with a passphrase
encrypt_key                     = no
# the default key length is secure and quite fast - do not change it
default_bits                    = 2048
default_md                      = sha1
distinguished_name              = req_distinguished_name
x509_extensions                 = v3_ca
#req_extensions			= v3_req

[ v3_ca ]
# The extentions to add to a self-signed cert
subjectKeyIdentifier		= hash
nsCertType                      = server
basicConstraints                = CA:TRUE,pathlen:0
keyUsage			= digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign
extendedKeyUsage                = serverAuth
nsComment                       = "iG0R self-signed certificate"

#[ v3_req ]
# Extensions to add to a certificate request
#basicConstraints		= CA:FALSE
#keyUsage			= digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign
#nsCertType			= emailCA,sslCA,objCA,objsign
#subjectAltName			= @alt_names
#
#[ alt_names ]
#DNS.1 = example.duckdns.org
#IP.1 = <IP_ADDRESS>
#IP.2 = xxx.xxx.xxx.xxx

[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default             = UA
countryName_min                 = 2
countryName_max                 = 2

stateOrProvinceName             = State or Province Name (full name)
stateOrProvinceName_default     = xxx

localityName                    = Locality Name (eg, city)
localityName_default            = xxx

organizationName                = Organization Name (eg, company)
organizationName_default        = iG0R home

organizationalUnitName          = Organizational Unit Name (eg, section)
organizationalUnitName_default  = iG0R CA

0.commonName                    = Common Name (FQDN of your server)
0.commonName_default            = xxx.xxx.xxx.xxx (my external IP)

# To create a certificate for more than one name uncomment:
# 1.commonName                  = DNS alias of your server
# 2.commonName                  = DNS alias of your server
# ...
# See http://home.netscape.com/eng/security/ssl_2.0_certificate.html
# to see how Netscape understands commonName.

openssl_req.cnf:
[ req ]
# comment out the next line to protect the private key with a passphrase
encrypt_key                     = no
# the default key length is secure and quite fast - do not change it
default_bits                    = 2048
default_md                      = sha1
distinguished_name              = req_distinguished_name
#x509_extensions                 = v3_ca
req_extensions			= v3_req

#[ v3_ca ]
# The extentions to add to a self-signed cert
#subjectKeyIdentifier		= hash
#nsCertType                      = server
#basicConstraints                = CA:TRUE,pathlen:0
#keyUsage			= digitalSignature, nonRepudiation, keyEncipherment, #dataEncipherment, keyAgreement, keyCertSign
#extendedKeyUsage                = serverAuth
#nsComment                       = "iG0R self-signed certificate"

[ v3_req ]
# Extensions to add to a certificate request
basicConstraints		= CA:FALSE
keyUsage			= digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign
nsCertType			= emailCA,sslCA,objCA,objsign
subjectAltName			= @alt_names

[ alt_names ]
#DNS.1 = example.duckdns.org
IP.1 = <IP_ADDRESS>
IP.2 = xxx.xxx.xxx.xxx

[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default             = UA
countryName_min                 = 2
countryName_max                 = 2

stateOrProvinceName             = State or Province Name (full name)
stateOrProvinceName_default     = xxx

localityName                    = Locality Name (eg, city)
localityName_default            = xxx

organizationName                = Organization Name (eg, company)
organizationName_default        = iG0R home

organizationalUnitName          = Organizational Unit Name (eg, section)
organizationalUnitName_default  = iG0R CA

0.commonName                    = Common Name (FQDN of your server)
0.commonName_default            = xxx.xxx.xxx.xxx (my external IP)

# To create a certificate for more than one name uncomment:
# 1.commonName                  = DNS alias of your server
# 2.commonName                  = DNS alias of your server
# ...
# See http://home.netscape.com/eng/security/ssl_2.0_certificate.html
# to see how Netscape understands commonName.

create_certificates.bat:
rem #Create your own root certificate
rem #Introduce the resulting cert.crt to your OS as a trusted root certificate.

rem #Note: openssl will ask you some information for certificate details. They are not really important, fill them as you wish them to appear in the root certificate storage. I only see Organization Name within the storage, so I just change that to my liking and leave the rest as default.

set OPENSSL_CONF=openssl_cert.cnf
openssl.exe genrsa -out ca.key
openssl.exe req -new -x509 -days 3650 -key ca.key -out ca.crt

rem #Create a certificate signing request

rem #Again, fill the additional information requested by openssl as you wish, but leave Common Name and Challenge Password as is.

set OPENSSL_CONF=openssl_req.cnf
openssl.exe genrsa -out ia.key
openssl.exe req -new -key ia.key -out ia.csr

rem #Sign the request with your root certificate

openssl.exe x509 -req -days 3650 -in ia.csr -CA ca.crt -CAkey ca.key -out ia.crt -CAcreateserial -extensions v3_req -extfile openssl_req.cnf

rem #You can now use ia.crt with an external service, and your OS, and your OS only, will recognize it as legit.
rem #Since it's more convenient and more widely supported by aria2's supported TLS libraries (see here), I like packing the certificate and its key into a PKCS12 file with the following:

set OPENSSL_CONF=openssl_cert.cnf
openssl.exe pkcs12 -export -out ia.p12 -inkey ia.key -in ia.crt

Also I've introduced the resulting ca.crt to Windows in <IP_ADDRESS> (where Aria2c is installed) as a trusted root certificate.

OK, I resolved the issue only with Firefox (on my working PC - <IP_ADDRESS>) access to Aria2 (on the HTPC - <IP_ADDRESS>). I needed to introduce my ca.crt to Firefox through
Settings-> Advanced-> Certificates-> View Certificates (Certificates Manager)-> Authorities-> Import...-> Browse ca.crt
But this approach is not suitable for Google Chrome. Whatever I did - added ca.rt to Windows certificates storage
certmgr-> Certificates-> Current user-> Trusted Root Certification Authorities-> Certificates
also added ca.crt to GoogleChrome
Settings-> Show advanced settings...-> HTTPS/SSL Manage certificates...-> Trusted Root Certification Authorities-> Import...
but GoogleChrome can't connect to Aria2 via SSL,
Also I tried Opera at the same result as with GoogleChrome.
Could somebody answer me what am I doing wrong?
Also I'd like to know why any browser don't warning me about self-signed certificate and don't offer me to trust it on my own risk.

You can also use a webpage, for the redirection.
The advantage is the possible to do something, with the request to aria2 before to get it !
Bypass the proxy and you don't have to change the apache2 setting.
For example, i want to parse automatically the download link to an external service to "debrid" link ! (1fichier, uptobox, etc)
(necessary to aadapt in rpc.php )
Start aria2 :
aria2c --enable-rpc --rpc-listen-all --listen-port=6800 --rpc-allow-origin-all=true
The PHP code for redirection webpage "rpc.php" to the root directory "www" (waiting POST method),
Using localhost because aria2 is on the same machine.

Check the link in your browser :
http://domain_addr:80/rpc.php
You're getting an error, because not request is sent (it's normal)
{"id":null,"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error."}}
Configure the webui (ariaNg for me, but can do it on another), and change the RPC address from http://domain_addr:6800/jsonrpc to http://domain_addr:80/rpc.php
So my apache setting is light !
<Directory /home/www>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted

<VirtualHost *:80>
DocumentRoot "/home/www"
ServerName ADD_DOMAIN_HERE

        Options FollowSymLinks
        AllowOverride All

        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all

Web sockets not working due to Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.
Eh... I fixed this by just changing encrypt: false to true  in configuration.js. I guess the problem is that I have https set up before configuring webui.

same issue

--rpc-secure=true
pem cert configured
pem key configured
port correct
no reverse proxy

curl http://host:port return the http content normally (why http still works?)
curl https://host:port shows unknown protocol error
log
2018-06-08 02:26:24.720191 [INFO] [HttpServerCommand.cc:267] CUID#115 - Error occurred while reading HTTP request Exception: [HttpHeaderProcessor.cc:196] errorCode=1 Bad Request-Line: missing HTTP-version
2018-06-08 02:26:26.926508 [INFO] [HttpListenCommand.cc:81] RPC: Accepted the connection from <IP_ADDRESS>:49308.
2018-06-08 02:26:26.926911 [INFO] [HttpServerCommand.cc:267] CUID#116 - Error occurred while reading HTTP requestException: [HttpHeaderProcessor.cc:168] errorCode=1 Bad Request-Line: missing request-target
2018-06-08 02:26:27.647460 [INFO] [HttpListenCommand.cc:81] RPC: Accepted the connection from <IP_ADDRESS>:49316.
2018-06-08 02:26:27.648439 [INFO] [HttpServerCommand.cc:267] CUID#117 - Error occurred while reading HTTP requestException: [HttpHeaderProcessor.cc:196] errorCode=1 Bad Request-Line: missing HTTP-version

I fixed the problem by changing encrypt: true in configuration.js file, also providing server ssl keys when running aria2c! --rpc-certificate,  --rpc-private-key and  --rpc-secure

Here is my way of doing it
I'm using nginx as a web server on this to serve aria2-webui
on the config you just need to add
location /jsonrpc {
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header        X-Forwarded-Proto $scheme;
proxy_pass          http://<IP_ADDRESS>:6800/jsonrpc;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}

on the configuration.js
change
host: location.protocol.startsWith('http') to host: location.protocol.startsWith('https')
port: 6800, to   port: 443,
encrypt: false, to     encrypt: true,
it will look like this
host: location.protocol.startsWith('https') ? location.hostname : 'localhost',
path: '/jsonrpc',
port: 443,
encrypt: true,

Here is my way of doing it
I'm using nginx as a web server on this to serve webui-aria2
on the config you just need to add
location /jsonrpc
{
proxy_set_header	Host $host;
proxy_set_header	X-Real-IP $remote_addr;
proxy_set_header	X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header	X-Forwarded-Proto $scheme;
proxy_pass	http://<IP_ADDRESS>:6800/jsonrpc;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
on the configuration.js
change
host: location.protocol.startsWith('http') to host: location.protocol.startsWith('https')
port: 6800, to port: 443,
encrypt: false, to encrypt: true,
it will look like this
host: location.protocol.startsWith('https') ? location.hostname : 'localhost',
path: '/jsonrpc',
port: 443,
encrypt: true,
create a config file for aria2 on /etc/aria2.conf (for exemple) and add
continue=true
dir=/path/to/your/download/directory
file-allocation=trunc
max-connection-per-server=4
max-concurrent-downloads=2
max-overall-download-limit=0
min-split-size=25M
rpc-secret=your-rpc-secret (you can generate one by running: openssl rand -base64 32
rpc-allow-origin-all=true
console-log-level=warn
enable-rpc=true
rpc-listen-all=true
daemon=true
bt-enable-lpd=true
save-session=/tmp/aria2.log
then start aria2 with
aria2c --conf-path=/etc/aria2.conf
you can add it to /etc/rc.local so it start it self on system boot

Here is my way of doing it I'm using nginx as a web server on this to serve webui-aria2 on the config you just need to add location /jsonrpc { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://<IP_ADDRESS>:6800/jsonrpc; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 86400; }
on the configuration.js change host: location.protocol.startsWith('http') to host: location.protocol.startsWith('https') port: 6800, to port: 443, encrypt: false, to encrypt: true, it will look like this host: location.protocol.startsWith('https') ? location.hostname : 'localhost', path: '/jsonrpc', port: 443, encrypt: true,
create a config file for aria2 on /etc/aria2.conf (for exemple) and add continue=true dir=/path/to/your/download/directory file-allocation=trunc max-connection-per-server=4 max-concurrent-downloads=2 max-overall-download-limit=0 min-split-size=25M rpc-secret=your-rpc-secret (you can generate one by running: openssl rand -base64 32 rpc-allow-origin-all=true console-log-level=warn enable-rpc=true rpc-listen-all=true daemon=true bt-enable-lpd=true save-session=/path/to/your/download/.aria2.session
then start aria2 with aria2c --conf-path=/etc/aria2.conf you can add it to /etc/rc.local so it start it self on system boot

Hi , I am also having similar issue.
I am running Aria2-ui with aria - ng User interface.
I am using NGinx proxy manager, how to secure the access to http://port/jsonrpc;
so that from outside it can't be accessed publically but through proxy manager only.
Thanks

Here's what I did (I'm using Traefik, but that's not really relevant).
first entry - for the webapp:
https://aria2.mydomain/ => http://aria2.lan:6880/
second entry - for server:
https://aria2s.mydomain/ => http://aria2.lan:6800/
Then in aria2 settings => RPC I put:
https://aria2s.mydomain and port 443.

Here's what I did (I'm using Traefik, but that's not really relevant).
first entry - for the webapp:
https://aria2.mydomain/ => http://aria2.lan:6880/
second entry - for server:
https://aria2s.mydomain/ => http://aria2.lan:6800/
Then in aria2 web app settings => RPC I put:
https://aria2s.mydomain and port 443.

This worked for me. Thanks!