Demo ipytone with JupyterLite

ipytone is a cool project!
Looks like it should also run in JupyterLite since it's a widget?
In that case this could be a way to easily demo the library without requesting a new server on mybinder.org. For example by using jupyterlite-sphinx so the JupyterLite website is automatically deployed to ReadTheDocs: https://jupyterlite-sphinx.readthedocs.io/en/latest/

Thanks, and yes that would be great indeed!
I did try a while ago integrating ipytone in Jupyterlite and it worked well.
I haven't spend much time on writing the documentation yet (I'd like to first add a few more Tone.js features like events, instruments, etc.), but I'll use Jupyterlite as soon as the examples are ready!
Thanks for your work on all these wonderful tools!

@jtpio I'm working on the documentation in #72 and enabled jupyterlite with jupyterlite-sphinx. It seems to work well although I have two questions:

should we be able to see jupyterlite when building and opening the docs locally? Jupyterlite (the jupyterlite directive) is shown correctly on RTD (via the PR build), but this is what I see with the local build:

I'm using https://xeus-python-kernel.readthedocs.io as it looks like it is easier to include the packages that we need. However, I'm wondering it supports a development installation of ipytone (so that the docs can use it). Or does it only work only with published pip or conda packages? If it's supported, is there any extra step that I'm missing? I've tried import ipytone from jupyterlite on RTD but it's not working.

Looking great @benbovy!

should we be able to see jupyterlite when building and opening the docs locally?

I would expect it to work locally as well. Is the docs site served with an HTTP server, for example python -m http.server?

I've tried to import ipytone from jupyterlite on RTD but it's not working.

The xeus python kernel approach should be able to handle noarch packages like widgets normally. cc @martinRenou who might know more about it.

Did you install it with piplite prior to trying to import it?
# Cell 1
import piplite
await piplite.install("ipytone")

# Cell 2
import ipytone

I'm using https://xeus-python-kernel.readthedocs.io/ as it looks like it is easier to include the packages that we need

Nice to see you're using it!

However, I'm wondering if it supports a development installation of ipytone (so that the docs can use it)

I haven't put much thought into it, but using a development installation will be difficult for sure. It requires you to make a local conda channel for emscripten-32 platform where you've built ipytone with boa and making some symlinks here and there.

Or does it only work only with a stable version published via pip or conda? If it's supported, is there any extra step that I'm missing?

You should just need to install it with the CLI option that xeus-python-kernel adds to jupyter lite build.
If that is not enough, are you using a local build? I will bet on cache issues. Please make sure to clean all browser data for your page.

You might want to check https://github.com/martinRenou/ipycanvas/pull/275.

Thanks @jtpio and @martinRenou!

Is the docs site served with an HTTP server, for example python -m http.server?

Ah yes, I did open index.html directly in my browser. With the server it works now!

You might want to check https://github.com/martinRenou/ipycanvas/pull/275.

Yes I shamelessly copied parts of the ipycanvas docs config files in #72. However, I'm still unable to import 3rd party packages in Jupyterlite (ipytone, ipywidgets, numpy, etc.), though. Not sure what's going on. Here is the output of the JupyterLite build called during the sphinx build:

**JupyterLite build log**
[jupyterlite-sphinx] Running JupyterLite build
[LiteBuildApp] Searching ['/Users/me/ipytone/docs', '/Users/me/.jupyter', '/Users/me/.local/etc/jupyter', '/Users/me/miniconda3/envs/ipytone_dev/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files
[LiteBuildApp] Looking for jupyter_config in /etc/jupyter
[LiteBuildApp] Looking for jupyter_config in /usr/local/etc/jupyter
[LiteBuildApp] Looking for jupyter_config in /Users/me/miniconda3/envs/ipytone_dev/etc/jupyter
[LiteBuildApp] Looking for jupyter_config in /Users/me/.local/etc/jupyter
[LiteBuildApp] Looking for jupyter_config in /Users/me/.jupyter
[LiteBuildApp] Looking for jupyter_config in /Users/me/ipytone/docs
[LiteBuildApp] Looking for jupyterlite_config in /Users/me/ipytone/docs
[LiteBuildApp] [lite] [addon] loading ...
[LiteBuildApp] [lite] [addon] [jupyterlite-xeus-python] load ...
[LiteBuildApp] [lite] [addon] [jupyterlite-xeus-python] ... will post_build
[LiteBuildApp] [lite] [addon] [jupyterlite-xeus-python] ... will pre_build
[LiteBuildApp] [lite] [addon] [archive] load ...
[LiteBuildApp] [lite] [addon] [archive] ... will archive
[LiteBuildApp] [lite] [addon] [archive] ... will status
[LiteBuildApp] [lite] [addon] [contents] load ...
[LiteBuildApp] [lite] [addon] [contents] ... will build
[LiteBuildApp] [lite] [addon] [contents] ... will check
[LiteBuildApp] [lite] [addon] [contents] ... will post_build
[LiteBuildApp] [lite] [addon] [contents] ... will status
[LiteBuildApp] [lite] [addon] [federated_extensions] load ...
[LiteBuildApp] [lite] [addon] [federated_extensions] ... will post_build
[LiteBuildApp] [lite] [addon] [federated_extensions] ... will post_init
[LiteBuildApp] [lite] [addon] [federated_extensions] ... will pre_build
[LiteBuildApp] [lite] [addon] [lite] load ...
[LiteBuildApp] [lite] [addon] [lite] ... will build
[LiteBuildApp] [lite] [addon] [lite] ... will check
[LiteBuildApp] [lite] [addon] [lite] ... will status
[LiteBuildApp] [lite] [addon] [mathjax] load ...
[LiteBuildApp] [lite] [addon] [mathjax] ... will build
[LiteBuildApp] [lite] [addon] [mathjax] ... will check
[LiteBuildApp] [lite] [addon] [mathjax] ... will post_build
[LiteBuildApp] [lite] [addon] [mathjax] ... will status
[LiteBuildApp] [lite] [addon] [piplite] load ...
[LiteBuildApp] [lite] [addon] [piplite] ... will build
[LiteBuildApp] [lite] [addon] [piplite] ... will check
[LiteBuildApp] [lite] [addon] [piplite] ... will post_build
[LiteBuildApp] [lite] [addon] [piplite] ... will post_init
[LiteBuildApp] [lite] [addon] [pyodide] load ...
[LiteBuildApp] [lite] [addon] [pyodide] ... will build
[LiteBuildApp] [lite] [addon] [pyodide] ... will check
[LiteBuildApp] [lite] [addon] [pyodide] ... will post_build
[LiteBuildApp] [lite] [addon] [pyodide] ... will post_init
[LiteBuildApp] [lite] [addon] [pyodide] ... will status
[LiteBuildApp] [lite] [addon] [report] load ...
[LiteBuildApp] [lite] [addon] [report] ... will pre_archive
[LiteBuildApp] [lite] [addon] [serve] load ...
[LiteBuildApp] [lite] [addon] [serve] ... will serve
[LiteBuildApp] [lite] [addon] [serve] ... will status
[LiteBuildApp] [lite] [addon] [settings] load ...
[LiteBuildApp] [lite] [addon] [settings] ... will check
[LiteBuildApp] [lite] [addon] [settings] ... will post_build
[LiteBuildApp] [lite] [addon] [settings] ... will pre_build
[LiteBuildApp] [lite] [addon] [settings] ... will status
[LiteBuildApp] [lite] [addon] [static] load ...
[LiteBuildApp] [lite] [addon] [static] ... will init
[LiteBuildApp] [lite] [addon] [static] ... will post_init
[LiteBuildApp] [lite] [addon] [static] ... will pre_init
[LiteBuildApp] [lite] [addon] [static] ... will pre_status
[LiteBuildApp] [lite] [addon] [translation] load ...
[LiteBuildApp] [lite] [addon] [translation] ... will build
[LiteBuildApp] [lite] [addon] [translation] ... will check
[LiteBuildApp] [lite] [addon] [translation] ... will status
[LiteBuildApp] [lite] [addon] ... OK 13 addons
[LiteBuildApp] [lite] [tasks] loading ...
[LiteBuildApp] [lite] [tasks] ... OK 18 tasks
[LiteBuildApp] No archive (yet): tmpsj3g6lqd-jupyterlite.tgz
[LiteBuildApp] [lite] [contents] All Contents ['/Users/me/ipytone/docs/source/_contents/basic_example_nb.ipynb']
[LiteBuildApp]     jupyter-lite.(json|ipynb): []
[LiteBuildApp]     jupyter-lite.(json|ipynb): 0 files
[LiteBuildApp] [lite] [translation] All Translations []
[LiteBuildApp] creating folder /Users/me/ipytone/docs/build/html/lite/extensions
[LiteBuildApp] creating folder /Users/me/ipytone/docs/build/html/lite/extensions/@jupyter-widgets
[LiteBuildApp] creating folder /Users/me/ipytone/docs/build/html/lite/extensions/@jupyterlite
[LiteBuildApp] creating folder /Users/me/ipytone/docs/build/html/lite/files
[jupyterlite-sphinx] JupyterLite build done

I haven't put much thought into it, but using a development installation will be difficult for sure.

Ah yes, it looks quite difficult indeed!
I'm thinking about what would be best for the user guide. Using Jupyterlite for the whole user guide would be great, actually. Statically rendered notebooks don't really help here since ipytone widgets have no visual output, and showing un-executed code snippets without any output would not be a great user experience either. On the other hand, I'm concerned about how to incrementally update the user guide if the new features cannot be used through Jupyterlite. Any idea about a possible workaround or alternative solution?

@jtpio any chance of making a release of JupyterLite soon? The jupyterlite build in #72 is working locally with the recent fixes in https://github.com/jupyterlite/jupyterlite/pull/644.

@benbovy yes I was thinking about getting https://github.com/jupyterlite/jupyterlite/pull/641 in and making a new release right after.

@benbovy FYI the new release is out: https://github.com/jupyterlite/jupyterlite/releases/tag/v0.1.0b8

Thanks @jtpio! It is working great! https://ipytone--72.org.readthedocs.build/en/72/demo.html

This looks sounds great @benbovy, awesome work on ipytone!

Thanks @davidbrochart!

Closed in #72.

Nice!


helm: Add service account support - part2

Description
Add service account support in the following helm charts:

guardrails-usvc
llm-uservice
lvm-uservice
mongodb
prompt-usvc
redis-vector-db
reranking-usvc
retriever-usvc
tts
ui
web-retriever

Issues
Fixes #532.
Type of change
List the type of change like below. Please delete options that are not relevant.

[x] New feature (non-breaking change which adds new functionality)

Dependencies
List the newly introduced 3rd party dependency if exists.
Tests
Describe the tests that you ran to verify your changes.

close due to #624


Shop speed optimisation

Question
Hello Friends,
I have observed the Shopware Extension “ThumbnailProcessor mit Webp-Unterstützung” as root cause for page speed reduction.
If this plugin is active light house performance for mobile is 29 and desktop is 58
If I deactivate this plugin and verify the light house performance for mobile is 41 and desktop is 73
So can you please suggest me some ways and ideas to improve the speed with this plugin.
Thank you.

I will close this issue, while you opened a discussion: https://github.com/FriendsOfShopware/FroshPlatformThumbnailProcessor/discussions/139


Recoverable Git Error

I'm working on a solution to recover from an Error in the git_version!() macro call
as documented at:
Build fails without Git
I noticed that many error cases are captured by the macro which I think is a nice work.
Now, I'm implementing a fallback solution for build environments without Git.
Right now, when Git is not installed the macro panicks:
error: No such file or directory (os error 2)
  --> forest/build.rs:65:19
   |
65 |     let git_cmd = git_version!()?;
   |                   ^^^^^^^^^^^^^^
   |
   = note: this error originates in the macro `proc_macro_call` (in Nightly builds, run with -Z macro-backtrace for more info)

extending this message by rebuilding the Command call it results in:
     Running `/home/rust-build/project/target/debug/build/forest-3e9549a222c5efe9/build-script-build`
error: failed to run custom build command for `forest v0.2.2 (/home/rust-build/project/forest)`

Caused by:
  process didn't exit successfully: `/home/rust-build/project/target/debug/build/forest-3e9549a222c5efe9/build-script-build` (exit status: 101)
  --- stderr
  thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: NotFound, error: "Git Commmand: command failed with Error: 'Os { code: 2, kind: NotFound, message: \"No such file or directory\" }'" }', forest/build.rs:72:12
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

which means that the Command produced an std::io::Error of kind ErrorKind::NotFound because Git is not installed.
rust_builder@cc9582f0ba11:~/project$ which git |wc -l
0
rust_builder@e4a718bcf520:~/project$ git rev-parse --short HEAD 2>git_error.txt >git_log.txt ; echo "res: '$?'"
res: '127'
rust_builder@e4a718bcf520:~/project$ cat git_log.txt|wc -l
0
rust_builder@e4a718bcf520:~/project$ cat git_error.txt
bash: git: command not found

On the other side when Git is installed but the .git/ directory is missing the Command call finished but returns a Exit Status of 128 and prints an Error Message to STDERR as seen in:
$ git rev-parse --short HEAD 2>git_error.txt >git_log.txt ; echo "res: '$?'"
res: '128'
$ cat git_log.txt |wc -l
0
$ cat git_error.txt
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

I'm looking for a way to handle this in a uniform way to implement an alternative logic which does not rely on Git.
Is there any function that could return a Result<String> struct ?

+2 for this. I would love to be able to provide officially released binaries that have git hash recorded in, but still allow users to build it on their own (probably with a cargo install)

I think this PR is related: https://github.com/fusion-engineering/rust-git-version/pull/17
It seems to do half the job: Fall back to cargo if dir has no .git.

The implementation of this concept is blocked by a limitation as documented in the Official Rust Documentation:
https://doc.rust-lang.org/reference/procedural-macros.html#procedural-macros

As functions, they must either return syntax, panic, or loop endlessly.
So, an implementation returning an enumeration syn::Result<TokenStream> fails:

145 | / pub fn git_version(input: TokenStream) -> syn::Result<TokenStream> {
146 | |     let args = parse_macro_input!(input as Args);
147 | |
148 | |     let tokens = git_version_impl(args)?;
...   |
154 | |     Ok(TokenStream::from(tokens))
155 | | }
    | |_^ expected struct `proc_macro::TokenStream`, found enum `Result`
    |
    = note: expected fn pointer `fn(proc_macro::TokenStream) -> proc_macro::TokenStream`
                  found fn item `fn(proc_macro::TokenStream) -> Result<proc_macro::TokenStream, syn::Error> {git_version}`

Then the implementation as new function in git-version-macro as perhaps try_git_version() also fails:
error: `proc-macro` crate types currently cannot export any items other than functions tagged with `#[proc_macro]`, `#[proc_macro_derive]`, or `#[proc_macro_attribute]`
   --> git-version-macro/src/lib.rs:156:1
    |
156 | pub fn try_git_version(input: TokenStream) -> syn::Result<TokenStream> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

So, an implementation as syn::Result<TokenStream> is force to happen in a new crate.

For this new crate to be able to use the existing function git_version::git_version_impl() to simplify the implementation would require a mayor restructuring of the project because auxiliary functions used by git_version::git_version() are also subjected to this limitation.

please see #22

Hmm, the proc macro doesn't panic as it is. I've improved the error reporting a bit though, so it should be more clear what the exact problem is.
If you want to avoid the compile error, you can use cargo_prefix/suffix and/or the fallback argument :)
If this doesn't fit your needs, feel free to comment. I can re-open the issue.


[BUG]: gpc.set_seed() doesn't work for multi-node training

🐛 Describe the bug
Describe the bug
I'm working on the dreambooth example.
gpc.set_seed(args.seed)  will cause following error.
AssertionError: The seed for ParallelMode.DATA has been added
if I directly comment out it, everything works fine.
To Reproduce
I'm using below command to support further multi-machine training. But while I'm testing, I only run on a single 8*V100 machine.
python -m torch.distributed.run --nproc_per_node=$GPU_NUM --nnodes=$WORLD_SIZE \
  --node_rank=$RANK --master_addr=$MASTER_ADDR --master_port=$MASTER_PORT ./train_dreambooth_colossalai.py

Expected behavior
The seed should be rightly set.
Environment
No response

solved in the recent PR.


Add HTTPS + HTTP Authentication

This isn't an immediate priority, but it's likely that some users will want some sort of authentication for model serving.
For example, suppose a server is publicly accessible to the internet, serving remote IOT devices (or point-of-sale, etc). Clearly we don't want just anyone being able to access such a server and send inference requests, or query the endpoints (such as to get server metrics).

This would likely be kubernetes based. We probably shouldn't implement this till we understand what kind of devices we'll be running on. We don't want to write anything more than we have to. Even then, we'll want to look at what vertx already has available.


Modify regex test for urn to allow dollar signs in pathname

ember test results:
1..504
# tests 504
# pass  498
# skip  6
# fail  0

# ok

Codecov Report

Merging #1331 into master will increase coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1331      +/-   ##
==========================================
+ Coverage   54.14%   54.28%   +0.13%
==========================================
  Files         181      181
  Lines        3747     3747
  Branches      830      830
==========================================
+ Hits         2029     2034       +5
+ Misses       1718     1713       -5

Impacted Files
Coverage Δ

wherehows-web/app/utils/validators/urn.ts
90.24% <ø> (ø)
:arrow_up:

wherehows-web/app/components/purge-policy.ts
100% <0%> (+18.51%)
:arrow_up:

Continue to review full report at Codecov.

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

Coverage remained the same at 27.509% when pulling f6ff783d6c2c61d67647bc6788edf53fd50df9c0 on cptran777:urn-dolla-dolla-validator into db4515e14edfd14068f9322faab6e3854ed2710e on linkedin:master.

Tiny, non-breaking change. Going to go ahead and check in.


ODS file cannot be imported, causes ODF Toolkit exceptions

Describe the bug
Some ODS files cannot be imported, but open just fine in LibreOffice.
To Reproduce
Steps to reproduce the behavior:

Try to Import one of the test files provided such as test.ods file.
Spinner is shown with "Updating Preview...".
Error is shown in console about NOT_FOUND_ERR.

Current Results
12:59:10.360 [          org.mortbay.log] /command/core/importing-controller (17ms)
org.w3c.dom.DOMException: NOT_FOUND_ERR: An attempt is made to reference a node in a context where it does not exist.
        at org.apache.xerces.dom.ParentNode.internalInsertBefore(Unknown Source)
        at org.apache.xerces.dom.ParentNode.insertBefore(Unknown Source)
        at org.odftoolkit.odfdom.pkg.OdfElement.insertBefore(OdfElement.java:491)
        at org.odftoolkit.odfdom.doc.table.OdfTable.appendColumn(OdfTable.java:1092)
        at org.odftoolkit.odfdom.doc.table.OdfTable.appendColumns(OdfTable.java:1123)
        at org.odftoolkit.odfdom.doc.table.OdfTableRow.getCellByIndex(OdfTableRow.java:254)
        at com.google.refine.importers.OdsImporter$1.getNextRowOfCells(OdsImporter.java:174)
        at com.google.refine.importers.TabularImportingParserBase.readTable(TabularImportingParserBase.java:120)
        at com.google.refine.importers.OdsImporter.parseOneFile(OdsImporter.java:185)
        at com.google.refine.importers.ImportingParserBase.parseOneFile(ImportingParserBase.java:118)
        at com.google.refine.importers.ImportingParserBase.parse(ImportingParserBase.java:89)
        at com.google.refine.importing.ImportingUtilities.previewParse(ImportingUtilities.java:961)
        at com.google.refine.importing.DefaultImportingController.doUpdateFormatAndOptions(DefaultImportingController.java:174)
        at com.google.refine.importing.DefaultImportingController.doPost(DefaultImportingController.java:93)
        at com.google.refine.commands.importing.ImportingControllerCommand.doPost(ImportingControllerCommand.java:68)
        at com.google.refine.RefineServlet.service(RefineServlet.java:189)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

Expected behavior
Preview and import should work for this test.ods file and perhaps others as well.
Screenshots
OpenRefine cannot open test.ods and just waits:

LibreOffice does open it just fine, but OpenRefine shows Console Error:

Desktop (please complete the following information):

OS: Windows 10
Browser Version: Firefox
JRE or JDK Version: \openjdk-13.0.1_windows-x64_bin\jdk-13.0.1

OpenRefine (please complete the following information):

Version: OpenRefine 3.3-beta

Datasets
These test files were used in: https://github.com/chainsawriot/readODS/tree/master/tests/testdata
Here is the zip of all of the ODS test files from that readODS project:
ODS_TEST_FILES_1.zip
Additional context
Add any other context about the problem here.

This needs to be fixed upstream, in the odftoolkit library.

Yeap, I know.  But we always create our own good issue(s) to track the areas of OpenRefine that break. :-)

Same problem here! Any updates on this particular problem?

Same problem here! Any updates on this particular problem?

We might be able to improve user experience here by catching relevant exceptions in the right places. If this only happens when computing the value of some cell, it would be nice if we could be able to import the rest of the table. Perhaps some of these exceptions can be meaningfully converted to our own EvalError.

We might be able to improve user experience here by catching relevant exceptions in the right places. If this only happens when computing the value of some cell, it would be nice if we could be able to import the rest of the table. Perhaps some of these exceptions can be meaningfully converted to our own EvalError.

This needs to be fixed upstream, in the odftoolkit library.

It would be useful to have a link to the upstream bug, so that we can track it.

This needs to be fixed upstream, in the odftoolkit library.

It would be useful to have a link to the upstream bug, so that we can track it.


DeFiCh/ain:2.11.x DeFi CustomTx (DfTx)

Similar to https://github.com/DeFiCh/jellyfish/issues/108
Implementation of 2.11.x Custom DfTx introduced in https://github.com/DeFiCh/ain/pull/1451/files
    PaybackWithCollateral  = 'W',

in
packages/jellyfish-transaction/src/script/defi/*

All CustomTX has a starting signature of DfTx in utf8 or 0x44665478. It is as it is, don't need to convert from BE to LE.
They are structured as a

VarUInt + [OP_RETURN + DfTx + TYPES[CxTxType] + ...]
VarUInt + 6a + 44665478 + Type + ...

Refer to #108 for a detailed implementation guide
/area packages

/triage accepted

/priority important-soon
/assign @infinia-yzl


Feature: has_labels

If you want a column to have issues when either Label1 or Label2 are added then you can have a 2-item list:

added_label Label1
added_label Label2

Having cards move when they have Label1 and Label2 is not currently possible but maybe something like has_labels Label1 Label2 could be added in the future

Source: https://github.com/philschatz/project-bot/issues/14#issuecomment-423773846

I would opt to change added_label to allow multiple parameters, which are connected via and, e.g.
added_label Label1 Label2
So when 'Label 1' was added and 'Label 2' is already present, the card gets moved to that column.

Good suggestion. Might be problematic though, as until now all lists of multiple parameters are handled as or - e.g. in new_issue or new_pullrequest.


Feat/fix foundry version

Currently, the latest foundry version is not working in some test cases, we should use nightly-3e9385b65d5ff502095c7896aab6042127548c34

This PR is not already needed anymore


ui: Fix formatting errors in multi-language resource files

Extra commas in the multi-language resource json file cause the page to display abnormally. This PR removes these extra commas.

Codecov Report

Merging #84 (e0147f0) into develop (e697796) will decrease coverage by 16.69%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop      #84       +/-   ##
============================================
- Coverage    51.71%   35.01%   -16.70%
============================================
  Files          302       61      -241
  Lines        17218     2876    -14342
  Branches      2660      444     -2216
============================================
- Hits          8904     1007     -7897
+ Misses        7317     1656     -5661
+ Partials       997      213      -784

Impacted Files
Coverage Δ

src/helpers/api.js
0.00% <0.00%> (-0.85%)
:arrow_down:

src/parts/users/AddUser.js

...ce/helpers/entities/data-source-account-methods.js

...mbdas/authentication-layer-handler/handler-impl.js

lib/helpers/aws-tags.js

lib/data-source/helpers/composite-keys.js

src/models/projects/Project.js

lib/settings/env-settings-service.js

lib/compute/compute-platform-service.js

lib/migration/migration-service.js

... and 232 more

Continue to review full report at Codecov.

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


[community triplets] Add x64-osx-dynamic

Adds x64-osx-dynamic to the community triplets.
It already appears in a few Issues (ex. https://github.com/microsoft/vcpkg/issues/9377#issuecomment-572853029, https://github.com/microsoft/vcpkg/issues/8421#issue-501353910), so best to have it explicitly in the repo.

I unfortunately don't know enough about community triplets to review this; could @ras0219-msft look into this?

Thanks for the PR!


converting html tables to markdown creates unusable tables

Describe the bug
cnverting from a wordpress based html content to markdown the tables are broken
To Reproduce
Based on this page: https://www.urbancode.com/plugindoc/accurev-scm#tab-settings
original HTML part which is converted:

Steps and Roles

Process steps in the AccuRev plug-in

Import Version

Import Version
Creates a new component version and imports artifacts from AccuRev.
This step has no input properties.

Roles in the AccuRev plug-in
The plug-in adds these roles automatically to resources. You cannot add these roles
   manually.

AccuRevComponentProperties
AccuRevImportProperties

AccuRevComponentProperties

Properties for the AccuRevComponentProperties role

Name
Type
Description

AccuRev Executable Path
String
Full path to the AccuRev executable on the agents file system.

AccuRev URL
String
Full URL for the AccuRev server. Hostname and port can
be identified by running the `accurev info` command locally.

Depot
String
Specify a Depot to retrieve artifacts from.

Excludes
String
Specify a list of files to exclude during artifact import.

Import Issues
Boolean
Select to import latest Issue change set artifacts on automatic
import. Artifacts will still be retrieved if the Issue
number is specified on manual import. Only valid for a non-Workspace Stream.

Import Promote Transactions
Boolean
Select to import latest Promote Transaction artifacts on automatic
import. Artifacts will still be retrieved if the Transaction
number is specified on manual import. Only valid for a non-Workspace Stream.

Import Snapshots
Boolean
Select to import latest Snapshot artifacts on automatic
import. Artifacts will still be retrieved if the Snapshot name
is specified on manual import. Only valid for a non-Workspace Stream.

Includes
String
Specify a list of files to include during artifact import.

Password
Password
Specify the password of the user with permissions to access
the AccuRev Depot and Stream.

Preserve Execute Permissions
Boolean
Select to save file execute permissions with files.

Stream
String
Specify a Stream or Workspace to retrieve artifacts from.
If empty, the Depot name will be used. If a Workspace is specified, the
checkboxes and manual import values for Promote Transactions, Issues, and
Snapshot will be ignored. A version will be created based on the runtime
timestamp and file contents of the Workspace.

Username
String
Specify a user with permissions to access the AccuRev Depot and Stream.

AccuRevImportProperties

Properties for the AccuRevImportProperties role

Name
Type
Description

Issue Numbers
String
Specify a Issue Number to import. Only valid for a non-Workspace Stream.
Separate multiple Issue Numbers with commas. Example: 5, 16, 27

Stream Snapshots
String
Specify a Stream Snapshot to import. Only valid for a non-Workspace Stream.
Separate multiple Snapshots with a comma. Example: snap-stream1, snap-stream2

Transaction Numbers
String
Specify a Promote Transaction Number to import. Only valid for a non-Workspace Stream.
Separate multiple Transaction Numbers with commas. Example: 80, 120, 184

Version Name Tag
String
Specify a tag to append to the versions name.

I pre-process the html and remove the following:
Properties for the AccuRevComponentProperties role

-------
This converts to this:
Process steps in the AccuRev plug-in

Import
Version

Import Version
Creates a new component version and imports artifacts from AccuRev.
This step has no input properties.
Roles in the AccuRev plug-in
The plug-in adds
these roles automatically to resources. You cannot add these roles manually.

AccuRevComponentProperties
*
AccuRevImportProperties
AccuRevComponentProperties
| Name | Type |
Description |
| --- | --- | --- |
| AccuRev Executable Path | String | Full path to the AccuRev executable on the agents
file system. |
| AccuRev URL | String | Full URL for the AccuRev server. Hostname and port can be identified by running
the accurev info command locally. |
| Depot | String | Specify a Depot to retrieve artifacts from. |
| Excludes |
String | Specify a list of files to exclude during artifact import. |
| Import Issues | Boolean | Select to import
latest Issue change set artifacts on automatic import. Artifacts will still be retrieved if the Issue number is
specified on manual import. Only valid for a non-Workspace Stream. |
| Import Promote Transactions | Boolean | Select to
import latest Promote Transaction artifacts on automatic import. Artifacts will still be retrieved if the Transaction
number is specified on manual import. Only valid for a non-Workspace Stream. |
| Import Snapshots | Boolean | Select to
import latest Snapshot artifacts on automatic import. Artifacts will still be retrieved if the Snapshot name is
specified on manual import. Only valid for a non-Workspace Stream. |
| Includes | String | Specify a list of files to
include during artifact import. |
| Password | Password | Specify the password of the user with permissions to access
the AccuRev Depot and Stream. |
| Preserve Execute Permissions | Boolean | Select to save file execute permissions with
files. |
| Stream | String | Specify a Stream or Workspace to retrieve artifacts from. If empty, the Depot name will be
used. If a Workspace is specified, the checkboxes and manual import values for Promote Transactions, Issues, and
Snapshot will be ignored. A version will be created based on the runtime timestamp and file contents of the Workspace. |
| Username | String | Specify a user with permissions to access the AccuRev Depot and Stream. |

AccuRevImportProperties

Name
Type
Description

Issue Numbers
String
Specify a Issue

Number to import. Only valid for a non-Workspace Stream. Separate multiple Issue Numbers with commas. Example: 5, 16,

27

Stream Snapshots
String
Specify a Stream Snapshot to import. Only valid for a non-Workspace Stream. Separate

multiple Snapshots with a comma. Example: snap-stream1, snap-stream2

Transaction Numbers
String
Specify a

Promote Transaction Number to import. Only valid for a non-Workspace Stream. Separate multiple Transaction Numbers with

commas. Example: 80, 120, 184

Version Name Tag
String
Specify a tag to append to the versions name.

So this output:
| Name | Type |
Description |
| --- | --- | --- |
| AccuRev Executable Path | String | Full path to the AccuRev executable on the agents
file system. |
| AccuRev URL | String | Full URL for the AccuRev server. Hostname and port can be identified by running
the accurev info command locally. |
| Depot | String | Specify a Depot to retrieve artifacts from. |
| Excludes |
String | Specify a list of files to exclude during artifact import. |
| Import Issues | Boolean | Select to import
latest Issue change set artifacts on automatic import. Artifacts will still be retrieved if the Issue number is
specified on manual import. Only valid for a non-Workspace Stream. |
| Import Promote Transactions | Boolean | Select to
import latest Promote Transaction artifacts on automatic import. Artifacts will still be retrieved if the Transaction
number is specified on manual import. Only valid for a non-Workspace Stream. |
| Import Snapshots | Boolean | Select to
import latest Snapshot artifacts on automatic import. Artifacts will still be retrieved if the Snapshot name is
specified on manual import. Only valid for a non-Workspace Stream. |
| Includes | String | Specify a list of files to
include during artifact import. |
| Password | Password | Specify the password of the user with permissions to access
the AccuRev Depot and Stream. |
| Preserve Execute Permissions | Boolean | Select to save file execute permissions with
files. |
| Stream | String | Specify a Stream or Workspace to retrieve artifacts from. If empty, the Depot name will be
used. If a Workspace is specified, the checkboxes and manual import values for Promote Transactions, Issues, and
Snapshot will be ignored. A version will be created based on the runtime timestamp and file contents of the Workspace. |

| Username | String | Specify a user with permissions to access the AccuRev Depot and Stream. |

is what you find on the markdown file once is generated with mdutils?

Yes this is correct. I can provide you with the raw data if you like. The strange breaks in the line structure can be also seen on non-table paragraphs but as the markdown file is rendered then in GH Pages only the tables are seen as a mess.
here are two examplares of the raw data :

https://raw.githubusercontent.com/UrbanCode/IBM-UCx-PLUGIN-DOCS/main/docs/UCD/AccuRevSourceConfig/steps and roles.md
https://raw.githubusercontent.com/UrbanCode/IBM-UCx-PLUGIN-DOCS/main/docs/UCD/AccuRevSourceConfig/overview.md

The problem probably is due to wrap_width=120 from  method new_paragraph(self, text='', bold_italics_code='', color='black', align='', wrap_width=120)`. Seems this is generating a lot of problems so maybe I would disable by default.

Just another issue regarding tables:
if a caption style is in the html table, it also breaks the output. At the moment I delete the caption line from the html response before i convert it. Do not have the MD output available at the moment. It adds a Repository properties right before the table without any seperation. Maybe you could also check that? THANK YOU for your response!
Here is an sample of the HTML table->

Repository properties

Name
Type
Description

Command Path
String
The location of the AccuRev command executable file, if the location is not specified on the system PATH statement.

Depot Name
String
The name or ID of the AccuRev depot. The depot is the repository on the server for all related source code. The value for this property can be used as part of the source  config stream name with ${source/repo/depotName}. If set, this will be recorded with any source changes for use by the AccuWork plug-in.

Password
Password
The password to be used to connect to the AccuRev server.

Password Script
String
The property to use for the password to connect to the AccuRev server. For example: ${p:AccuRevPassword}. If this property is specified, do not specify a value for the   Password property.

Repository Host
String
The location of the AccuRev server. Specify in the format: host:port.

User Name
String
The user name to be used to connect to the AccuRev server.

Integration properties

Name
Type
Description

Directory Offset
String
The directory offset of the working directory for the current job. Use a period (.) to clone into the current working directory.

Exclude Filters
String
A list of user names to exclude.

File Filters
String
Restrict the changelog to files matching these patterns. Start each lines with a plus sign (+) to include or minus sign (- )to exclude. You can use the following wildcards in the pattern: *, **, and ?.

Populate Locations
String
A list of depot-relative path for the files that you want to populate the workspace or stream. The pop command is use to restore the listed files.  Only the specified files are updated, without building the associated directory tree.

Repository

The AccuRev repository to be used.

Revision
String
The version that is to be checked out.

Stream
String
The stream that is to be checked out.

Which methods are you calling? new_header and new_paragraph?

I first "cleanse the content" so that the tables look as good as possible.
`    contents = "".join(str(item) for item in soupcontent.contents)
logger1.info(f"contents-original={contents}")
# the tables are broken no idea why... try to fix it.. does not work well...
remove caption as this also makes tables unreadable
contents = re.sub(r'<caption style=.*
', '', contents)

contents = contents.replace("
\n", " ")
contents = contents.replace("
", " ")
contents = contents.replace("\n 	", "	")
contents = contents.replace("\n	", "	")
contents = contents.replace("${", "``${")
contents = contents.replace("}", "}``")
soup2 = BeautifulSoup(contents, SOUP_PARSER)

return md(soup2)

`
then the return value is added to the markdownfile using new_paragraph..

Could @osmanburucu-ibm  check if it's fixed on v1.4.0?


Claim-based Verification

Verification Client / Tool Checklist
Processes files from the app based only on claims	Yes
Still works with old file, alongside claim-based		Yes
Is behind feature flag							No, it trys with claims, if any failure trys old way
Looks up file's hash on blockchain					Yes
Processes multiple events per file hash				Yes
Handles registration claims						Yes
Handles recovation claims						Yes, but not fully tested, no such claims yet
Retrieves associated claim JSON					Yes
Checks whether claim indeed for hash				Yes
Checks whether claim signature valid				Yes
Extracts issuer address							Yes
Checks whether issuer address matches claim creator	Yes
Looks up issuer address for identity claim			Yes, but not fully tested, no such claims yet
Retrieves identity claim asscociated with address		Yes
Checks whether id claim indeed for address			Yes
Checks whether claim signature valid				Yes
Only accepts idenity claims signed by certifaction		Yes
Extracts identity claim signer address				Yes
Processes identiy claim to extract identity info		Yes
Uses tx block time as registration date				No, this needs a bit of restructuring because it part of the existing interface
Ensures events processed cronologically			No, should to be enforced, ie. array needs to be sorted
Checks for nonce reuse in claims					No
Has cache to not check all claims issuers anew		No
Produces final unified result set per hash			Yes
Aborts processing any claim on anything unexpected	Yes
Logs each steps to console with links to sources		Yes
Has Tests									Yes, but only 1 for the good case and without sufficient checks
Has a github CI/CD with Tests and Actions			No
Please let me know if i missed something to check for...

What's the status of this PR? There are a lot of console.log's. Some of them are probably ok for production, but not all of them.

Shouldn't we also caputre all the errors to be able to display them on screen? Now it logs, then we just continue

Added VUE_APP_CLAIM_FF feature toggle to switch between the new and old client


Super long training time for go2_distill

I am running the distillation training for go2 (go2_distill) using RTX 4090 GPU, it shows the ETA time is: 4233451s, it is around 49 days, is this normal?  Is there any trained model we can use directly?
Here is what is shown on my terminal:

################################################################################
Learning iteration 40000/100000
                   Computation: 116 steps/s (collection: 69.646s, learning 0.519s)
              distillation_loss 4.1036
                 estimator_loss 1.6359
                     total_loss 5.7395
         Mean action noise std: 0.20
                   Mean reward: -1.05
           Mean episode length: 17.00
    Mean episode rew_collision: -0.0000

Mean episode rew_frame_collision: -0.0000
Mean episode rew_dof_error: -0.0002
Mean episode rew_frame_dof_error: -0.0000
Mean episode rew_dof_error_named: -0.0042
Mean episode rew_frame_dof_error_named: -0.0013
Mean episode rew_energy_substeps: -0.0011
Mean episode rew_frame_energy_substeps: -0.0001
Mean episode rew_exceed_dof_pos_limits: -0.0003
Mean episode rew_frame_exceed_dof_pos_limits: -0.0001
Mean episode rew_exceed_torque_limits_l1norm: -0.0033
Mean episode rew_frame_exceed_torque_limits_l1norm: -0.0001
Mean episode rew_lazy_stop: -0.0368
Mean episode rew_frame_lazy_stop: -0.0046
Mean episode rew_penetrate_depth: 0.0000
Mean episode rew_frame_penetrate_depth: 0.0000
Mean episode rew_stand_still: -0.0080
Mean episode rew_frame_stand_still: -0.0002
Mean episode rew_torques: -0.0000
Mean episode rew_frame_torques: -0.0000
Mean episode rew_tracking_ang_vel: 0.0044
Mean episode rew_frame_tracking_ang_vel: 0.0007
Mean episode rew_tracking_lin_vel: 0.0018
Mean episode rew_frame_tracking_lin_vel: 0.0001
Mean episode max_power_throughout_episode: 4234.1338
Mean episode max_pos_x: 0.4084
Mean episode min_pos_x: 0.3399
Mean episode max_pos_y: 0.0784
Mean episode min_pos_y: 0.0029
Mean episode timeout_ratio: 0.9062
Mean episode num_terminated: 9.0312
Mean episode n_obstacle_passed: 0.0000
Mean episode pos_x: 0.0461
Mean episode terrain_level_jump: 4.2533
Mean episode terrain_level_jump_max: 9.0000
Mean episode terrain_level_jump_min: 0.0000
Mean episode num_terminated_jump: 3.0000
Mean episode num_timeouts_jump: 0.9167
Mean episode terrain_level_leap: 2.7949
Mean episode terrain_level_leap_max: 9.0000
Mean episode terrain_level_leap_min: 0.0000
Mean episode num_terminated_leap: 9.3333
Mean episode num_timeouts_leap: 0.6667
Mean episode terrain_level_hurdle: 4.6250
Mean episode terrain_level_hurdle_max: 9.0000
Mean episode terrain_level_hurdle_min: 0.0000
Mean episode num_terminated_hurdle: 7.2500
Mean episode num_timeouts_hurdle: 0.7500
Mean episode terrain_level_down: 5.5000
Mean episode terrain_level_down_max: 9.0000
Mean episode terrain_level_down_min: 0.0000
Mean episode num_terminated_down: 4.1250
Mean episode num_timeouts_down: 0.6250
Mean episode terrain_level_tilted_ramp: 3.2885
Mean episode terrain_level_tilted_ramp_max: 9.0000
Mean episode terrain_level_tilted_ramp_min: 0.0000
Mean episode num_terminated_tilted_ramp: 5.1667
Mean episode num_timeouts_tilted_ramp: 0.8333
Mean episode terrain_level_stairsup: 4.0417
Mean episode terrain_level_stairsup_max: 9.0000
Mean episode terrain_level_stairsup_min: 0.0000
Mean episode num_terminated_stairsup: 24.0000
Mean episode num_timeouts_stairsup: 0.0000
Mean episode terrain_level_stairsdown: 4.7308
Mean episode terrain_level_stairsdown_max: 9.0000
Mean episode terrain_level_stairsdown_min: 0.0000
Mean episode num_terminated_stairsdown: 13.5000
Mean episode num_timeouts_stairsdown: 0.5000
Mean episode terrain_level_discrete_rect: 1.7692
Mean episode terrain_level_discrete_rect_max: 7.0000
Mean episode terrain_level_discrete_rect_min: 0.0000
Mean episode num_terminated_discrete_rect: 13.5000
Mean episode num_timeouts_discrete_rect: 0.5000
Mean episode terrain_level_slope: 5.5000
Mean episode terrain_level_slope_max: 9.0000
Mean episode terrain_level_slope_min: 0.0000
Mean episode num_terminated_slope: 13.5000
Mean episode num_timeouts_slope: 0.5000
Mean episode terrain_level_wave: 7.4267
Mean episode terrain_level_wave_max: 9.0000
Mean episode terrain_level_wave_min: 0.0000
Mean episode num_terminated_wave: 9.0000
Mean episode num_timeouts_wave: 0.6667
Mean episode max_torques: 5.0825
Mean episode torque_exceed_count_substeps_per_envstep: 0.0279
Mean episode torque_exceed_count_envstep: 0.6298
Mean episode out_of_dof_pos_limit_count_substep: 0.0950
Total timesteps: 8192
Iteration time: 70.17s
Total time: 70.17s
ETA: 4209935.6s`

I set the training time to extremely long only to prevent the program from auto-stopping, since the collector process and trainer process might have different pace on different machines.

I set the training time to extremely long only to prevent the program from auto-stopping, since the collector process and trainer process might have different pace on different machines.

Thank you so much for the reply! I am using single RTX 4090 GPU, how long do you think it will take to train the go2_distill policy?


Run on java11

Describe the bug

A clear and concise description of what the bug is.
When I upgrade to java11, the following exception will be thrown

21:40:05.786 [main] INFO : Missing JavaFX dependencies, attempting to patch in missing classes
21:40:05.788 [main] INFO :  - Local cache found!
21:40:05.788 [main] INFO :  - Loading dependencies...
21:40:05.791 [main] INFO :  - Done!
21:40:05.791 [main] INFO : Recaf-2.17.4
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/concurrent/Task
at me.coley.recaf.command.impl.Initializer.run(Initializer.java:60)
at picocli.CommandLine.executeUserObject(CommandLine.java:1919)
at picocli.CommandLine.access$1200(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2332)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2326)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2291)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2159)
at picocli.CommandLine.execute(CommandLine.java:2058)
at me.coley.recaf.Recaf.launch(Recaf.java:98)
at me.coley.recaf.Recaf.main(Recaf.java:51)
Caused by: java.lang.ClassNotFoundException: javafx.concurrent.Task
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 10 more

Should work up to the latest version of Java.
What OS/Jvm information can you provide?

"C:\Program Files\AdoptOpenJDK\jdk-16\bin\java.exe" -jar recaf-2.17.4-J8-jar-with-dependencies.jar
19:18:59.876 [main] WARN : Failed to delete old log file, will append instead
19:18:59.878 [main] INFO : Missing JavaFX dependencies, attempting to patch in missing classes
19:18:59.879 [main] INFO :  - Local cache found!
19:18:59.879 [main] INFO :  - Loading dependencies...
19:18:59.884 [main] INFO :  - Done!
19:18:59.884 [main] INFO : Recaf-2.17.4
19:18:59.987 [main] TRACE: Loading configuration
19:19:00.153 [main] INFO : Discovered plugin 'Decompile All-1.1.0'
19:19:00.154 [main] INFO : Discovered plugin 'Theme Editor-1.0.0'
19:19:00.154 [main] INFO : Loaded 2 plugins
19:19:02.949 [JavaFX Application Thread] INFO : Shutting down
19:19:02.951 [JavaFX Application Thread] TRACE: Saving configuration
19:19:02.963 [JavaFX Application Thread] TRACE: Shutting down thread executors

Can't reproduce.

win10 professional edition and openjdk11

Maybe the cache folder jars are malformed? Can try deleting this folder and retarting
%APPDATA%\Recaf\dependencies

I found that I can run on openjdk15.Then  I gave up using openjdk11


Added link to ng2-redux-router

@dagstuan FYI. Thanks for a useful package.

@dagstuan @e-schultz how would you guys feel about moving ng2-redux-router under the angular-redux organization?
Just an idea.

@SethDavenport: I would be fine with that. How does one move repos on github?

Let me chat with Evan about the mechanics of this next week.

@dagstuan I can create a repo under the org here and give you admin permissions to it if you like, and can push your code to there.

we'd want to make sure the npm package points to the new repo

@e-schultz, sounds good :) I'm still not sure how I can move the package at npmjs.org to the new repo though, maybe just change the "repository"-field in package.json?


Namespace not being loaded for error page with default-prefix middleware

What version of Next.js are you using?
12.0.4-canary.5
What version of Node.js are you using?
v16.13.0
What browser are you using?
Chrome
What operating system are you using?
macOS
How are you deploying your application?
next start
Describe the Bug
I see not translated strings at error page using middleware to prefix default locale
Expected Behavior
I expected to see translated strings with loaded namespace
To Reproduce

Use middleware to prefix the default locale
Try to open any not-existing file from public folder (without locale prefix): http://localhost:3031/common/this_file_not_exists.png
There will be no redirect to locale-prefixed path because of the check for a file at middleware config
You will see the output from the _error.tsx page.
Try to output some translatable strings on this error page
You'll see "common:error.title" instead of the translated strings
All strings are translated OK with locale-prefixed path like: http://localhost:3031/ru/common/test.png

My i18n.json:
{
  "locales": ["default", "ru", "en"],
  "defaultLocale": "default",
  "pages": {
    "*": ["common", "main"],
    "/_error": ["common", "main"]
  }
}

And /pages/_middleware.ts:
import { NextRequest, NextResponse } from 'next/server'

const PUBLIC_FILE = /\.(.*)$/
const DEFAULT_LOCALE = 'en'

export function middleware(request: NextRequest) {
  const pathName = request.nextUrl.pathname
  const shouldHandleLocale =
    !PUBLIC_FILE.test(pathName) && request.nextUrl.locale === 'default'
  return shouldHandleLocale
    ? NextResponse.redirect(`/${DEFAULT_LOCALE}${pathName}`)
    : undefined
}

Just for context, this is the error
next-translate - compiled page: /404 - locale: default - namespaces: common - used loader: getStaticProps
SerializableError: Error serializing `.__namespaces.common` returned from `getStaticProps` in "/404".
Reason: `undefined` cannot be serialized as JSON. Please use `null` or omit this value.
    at isSerializable (/***/node_modules/next/dist/lib/is-serializable-props.js:39:19)
    at /***/node_modules/next/dist/lib/is-serializable-props.js:46:66
    at Array.every (<anonymous>)
    at isSerializable (/***/node_modules/next/dist/lib/is-serializable-props.js:43:39)
    at /***/node_modules/next/dist/lib/is-serializable-props.js:46:66
    at Array.every (<anonymous>)
    at isSerializable (/***/node_modules/next/dist/lib/is-serializable-props.js:43:39)
    at Object.isSerializableProps (/***/node_modules/next/dist/lib/is-serializable-props.js:66:12)
    at Object.renderToHTML (/***/node_modules/next/dist/server/render.js:418:93)
    at async doRender (/***/node_modules/next/dist/server/next-server.js:1389:38)

It would be nice if there was a property like ignoreDefault: boolean, that would just ignore the default locale.

Yes for me, it's also generating errors on build as it tries to build all /default routes
I tried to bypass it for dynamic routes by filtering locales that is named default but still it does not work for main routes
If anybody has an idea on how to make it work it would be great

@martinratinaud @ajmnz I prereleased 1.3.0-canary.6 with this fix. Would you please confirm that it works correctly? 😊 Thank you very much!
I close the issue, anything you find I will reopen the issue.

Woa thanks a lot
Unfortunately, I switched to "next-translate": "1.3.0-canary.6"
And I got
Error occurred prerendering page "/__default/404". Read more: https://nextjs.org/docs/messages/prerender-error
RangeError: Incorrect locale information provided
    at new PluralRules (<anonymous>)
    at I18nProvider (/Users/martin/Workspace/labs/crypto-rates/node_modules/next-translate/lib/cjs/I18nProvider.js:50:23)
    at d (/Users/martin/Workspace/labs/crypto-rates/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:33:498)
    at bb (/Users/martin/Workspace/labs/crypto-rates/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:16)
    at a.b.render (/Users/martin/Workspace/labs/crypto-rates/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:42:43)
    at a.b.read (/Users/martin/Workspace/labs/crypto-rates/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:41:83)
    at Object.exports.renderToString (/Users/martin/Workspace/labs/crypto-rates/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:52:138)
    at Object.renderPage (/Users/martin/Workspace/labs/crypto-rates/node_modules/next/dist/server/render.js:621:45)
    at Object.defaultGetInitialProps (/Users/martin/Workspace/labs/crypto-rates/node_modules/next/dist/server/render.js:301:51)
    at Function.getInitialProps (/Users/martin/Workspace/labs/crypto-rates/.next/server/chunks/5517.js:551:20)

Here is my i18n.js
module.exports = {
  // "locales": ["en", "fr"],
  // "defaultLocale": "en",
  "locales": ["__default","en", "fr"],
  "defaultLocale": "__default",
  "localesToIgnore": ["__default"],
  "keySeparator": false,
  "pages": {
    "*": [
      '404',
      '500',
      'banner',
      'common',
      'compare',
      'faq',
      'footer',
      'header',
      'hot-deals',
      'stake',
      'subscribe',
    ],
  }
}

But I can't reopen this issue :-)

I can confirm there are "RangeError: Incorrect locale information provided" now, although I didn't see this error when creating the issue (there were just untranslated strings)

I hope with 1.3.0-canary.7 it will be solved

Try to open:
http://localhost:PORT/any-not-existing-file.png
500 with error RangeError: Incorrect locale information provided

Hello, @aralroca!
Have you tried to get the error as I described?

hi guys, using 1.4.0 of next-translate now.
After setup with localesToIgnore, But I still got the default locale with a 404 page complied at the very first time it running npm run dev (should be the compliation triggered by getStaticProps )
Here is the sinppet:
// i18n.js
module.exports = {
    defaultLocale: "default",
    locales: ["default", "en-us"],
    localeDetection: false,
    localesToIgnore: ["default"],
    // ...
};

// 404.js
// ...
export default function Custom404() {
   // ...
}
export const getStaticProps = async ({ req, res, query, locale }) => {
    console.log(locale) // it prints "defualt"
    return { props: {} };
};

May I know what is wrong in my config? Or there's other issues we didn't spot it in this thread?

Any updates on this issue?


Fix "about map" link

After x-ing out the Disclaimer on the map site, you can't re-open it (nothing happens when I click the "about map" button) @jread-usgs

@mwernimont can you fix quick?

@jread-usgs #156

fixed


chore(phpunit): remove lines for SYMFONY_PHPUNIT_REMOVE

It's a following of #1000.
The phpunit binary looks like this for Symfony 4.3, we don't need SYMFONY_PHPUNIT_REMOVE lines too.
I also think we don't need SYMFONY_PHPUNIT_DIR lines but I'm not really sure (it's working fine without those lines in one of our app).

Thanks Hugo.


Long press on hjkl on osx results in special characters menu

I noticed when using Oni on OS-X when in "normal" mode if you long press h j k or l the expected behavior would to move the cursor for as long as the key is being pressed.
But I'm getting a special character menu:

When I installed Oni on Linux I get the expected behavior.

Great, Thanks. I tried searching the git issues. BUT I didn't know what to search for to find a previously created issue. :(
Closing as dupe.


⚠ Bofrost.lu has degraded performance

In 75c959c, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1374 ms

Resolved: Bofrost.lu performance has improved in 44d9bb9 after 13 minutes.


Terraform Init does not expose AWS_ACCESS_KEY_ID and AWS_ACCESS_KEY as environment variables

Hi,
It looks like there is a difference how the Terraform init command works in regards to AWS credentials.
The credentials from the service connection are only passed as CLI arguments -backend-config=access_key=xxx and -backend-config=secret_key=xxx and not as env variables too.
As you can see from the log below, we are unable to download modules hosted in a bucket as Terraform cannot locate credentials to make that request.
Is it possible to expose the access key id and access key as environment variables for the init command?
Starting: Terraform : init
==============================================================================
Task         : Terraform
Description  : Execute terraform commands to manage resources on AzureRM, Amazon Web Services(AWS) and Google Cloud Platform(GCP)
Version      : 3.201.18
Author       : Microsoft Corporation
Help         : [Learn more about this task](https://aka.ms/AAf0uqr)
==============================================================================
/opt/hostedtoolcache/terraform/1.2.5/x64/terraform init -backend-config=bucket=xxx -backend-config=key=terraform.tfstate -backend-config=region=*** -backend-config=access_key=*** -backend-config=secret_key=***
Initializing modules...
Downloading s3::[https://xxx.s3.***.amazonaws.com/xxx/module.zip](https://xxxxx.amazonaws.com/xxxx/module.zip) for xxxx...
Downloading s3::[https://xxxx.s3.***.amazonaws.com/xxxxx/module.zip](https://xxxx.amazonaws.com/xxxx/module.zip) for xxxx...
╷
│ Error: Failed to download module
│
│ Could not download module "xxxxxx" (main.tf:4) source code
│ from
│ "s3::[https://xxxxx.s3.***.amazonaws.com/xxxxx/module.zip"](https://xxxxx.amazonaws.com/xxxx/module.zip%22):
│ NoCredentialProviders: no valid providers in chain
│ caused by: EnvAccessKeyNotFound: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY not
│ found in environment
│ SharedCredsLoad: failed to load shared credentials file
│ caused by: FailedRead: unable to open file
│ caused by: open /home/vsts/.aws/credentials: no such file or directory
│ EC2RoleRequestError: no EC2 instance role found
│ caused by: 400 Bad Request: Bad Request
│ 	status code: 400, request id:
│ caused by: EC2MetadataError: failed to make EC2Metadata request
│ <?xml version="1.0" encoding="utf-8"?>
│ <Error xmlns:xsi="[http://www.w3.org/2001/XMLSchema-instance"](http://www.w3.org/2001/XMLSchema-instance%22)
│ xmlns:xsd="[http://www.w3.org/2001/XMLSchema">](http://www.w3.org/2001/XMLSchema%22%3E)
│     InvalidHttpVerb
│     <Message>The HTTP verb specified was not recognized by the server.</Message>
│     'PUT' is not a supported verb.
│ </Error>
│ 	status code: 400, request id:
╵

Hi, I will add this task to our internal board.

Any chance there has been any movement on this in the past year?


New trig functions

Adds the following maths operators:

cosec
arcsec
arccosec
arccot
cosech
arsinh
arcosh
artanh
arsech
arcosech
arcoth

And the calc functions:

asinh
acosh
atanh

Do we really need all of these as built-in? Most are very rarely used, and can easily be added by users.
(Note also that the most common notation is csc and csch for cosec and cosech)

Prior art: https://github.com/typst/typst/pull/1090

Do we really need all of these as built-in? Most are very rarely used, and can easily be added by users.

I don't know, I guess that's up to the maintainers. I think the exposing the inverse functions in calc is useful, but the other math operators I'm not sure about. I guess that decision is up to the maintainers.

notation is csc and csch for cosec and cosech

I am aware of the shortened notation, and was initially gonna add those too, until I figured it might be a bit too much. Prolly still is, I don't know.

In general, I think it’s better not to have too many trivial math operators defined, because you can just do
#let csc = math.op("csc")

and we want users to realise that. We don’t want users to expect everything to be in the math namespace and then view it as a missing feature when something is missing.
Besides, the more operators we add, the more conventions we inevitably violate. (For example, I have never seen arsech, but have seen arcsech, etc…)

We don’t want users to expect everything to be in the math namespace and then view it as a missing feature when something is missing.

That makes sense.
How about shortening the list to this:

csc (we already have sec and cot, so just makes sense)
csch (same reasoning)
arsinh
arcosh
artanh

Also, I figured it is prolly a better idea to prefer the abbreviated form of cosec(h). Seems that shorter names are generally preferred here anyways. And I'd think csc is probably more common than cosec. Though I have nothing to back that up.

For example, I have never seen arsech, but have seen arcsech, etc

Fyi, they mean exactly the same thing. In normal trig functions, the argument represents the arclength, hence arc-, but inverse hyperbolic functions instead represent area. I believe it may also be a regional thing and some countries have different conventions.

arsinh
arcosh
artanh

I’d object to those, since Typst already has math.arcsin, math.arccos, math.arctan. How about:

arcsinh
arccosh
arctanh

P.S., in the current version of the web app (e546dea2379999a934a6d402a7c56ae4478c3114) it looks like math.csc already exists.

arsinh
arcosh
artanh

I’d object to those, since Typst already has math.arcsin, math.arccos, math.arctan. How about:

arcsinh
arccosh
arctanh

P.S., in the current version of the web app (e546dea2379999a934a6d402a7c56ae4478c3114) it looks like math.csc already exists.

The correct names for hyperbolic inverses indeed have ar (for area) and not arc (for arcus). So if definitely should not be arcsinh

math.csc already exists

So it does, thanks. Not sure how I missed that.
Pushing new changes now..

In general, I don't want to add too many built-in operators, but at least these are fairly specific and there is little potential for collisions across fields. @Enivex what is your opinion regarding the currently remaining set (calc.asinh, calc.acosh, calc.atanh plus the math operators arcosh, arsinh, artanh, csch, and sech)?

csch and sech are fairly uncontroversial I'd say.
I have more mixed feelings about the inverse hyperbolic functions, as they're used fairly rarely in my experience. Plus they can easily be expressed in terms of ln() for computations. So I guess it boils down to how "complete" the set of built-in operators should be. I honestly don't know what the answer should be.

I agree with @Enivex, I think having hyperbolic functions makes sense, but the others can be derived from them and other existing functions, as for the inverse functions, I would say they're not needed.

Ok, let's add just csch and sech then.

I also hadn't noticed before that the existing inverse trigonometry function in calc and the text operators use a different naming convention. That inconsistency within the language is very unfortunate imo. Maybe we should change the calc ones?

I also hadn't noticed before that the existing inverse trigonometry function in calc and the text operators use a different naming convention. That inconsistency within the language is very unfortunate imo. Should we change anything here? Or would a change lead to too much inconsistency with other programming languages?

The use of a instead of ar (hyperbolic) and arc (trigonometric) seems pretty ingrained in programming languages. The question is if that's reason enough to keep those names. Typst is in a somewhat unusual position because it also has the math text operators.

If we can swap the order of atan2, I guess we can also rename them.

I don't think it makes any sense to switch away from the convention of a for calc and ar for text operators. The a prefix is following the same convention as in std (and as already pointed out many other languages), but I have never seen someone write asin, acos, asinh, etc in a purely mathematical (not programming) context.

Thanks!

I have more mixed feelings about the inverse hyperbolic functions, as they're used fairly rarely in my experience. Plus they can easily be expressed in terms of ln() for computations. So I guess it boils down to how "complete" the set of built-in operators should be. I honestly don't know what the answer should be.

I agree with @Enivex, I think having hyperbolic functions makes sense, but the others can be derived from them and other existing functions, as for the inverse functions, I would say they're not needed.

Based on these two opinions, I decided to exclude them. I'm sorry that this trimmed the PR down so much.


Add Authoring tab to guide

It should feature:

Authors: a short text input - txt, not markdown
Contributors: a long text input - txt, not markdown
A disclaimer about the license and a link to it.

Also, the authors text box should be mandatory, right? @faloi

Yep. I don't like the "Legal" name, I'd name it "Authors" or "License".

@faloi ok

@faloi what about attribution instead of authoring? Attribution is more generic and covers authoring and contributing.

Errr, could be, I'm not familiar with the term so I can't say much.
PS: the editor deserves a Spanish version...


Add Hasan Ramezani(hramezani) to label-assign workflow reviewers

Change Summary
@samuelcolvin
I've added a please update comment and it seems I need to be on reviewers list of label-assign workflow.
Here is the action output:
hramezani (comment): 'please update'
warning: Only reviewers "samuelcolvin", "PrettyWood" can assign the author, not hramezani

Related issue number

Checklist

[ ] Unit tests for the changes exist
[ ] Tests pass on CI and coverage remains at 100%
[ ] Documentation reflects the changes where applicable
[ ] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)
[*] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

please review

thanks, done.


Start regression testing for VIP_p2p

Coming from this Slack conversation, I need to ask Applause to start doing regression testing for this milestone. These instructions look like the ones to follow.
I'm rushing out the door rn, but will circle back to this tomorrow. Wanted to create a placeholder GH for now.

just shared a pre-design today, so i'm gonna hold off on this until we get some engagement with that, so make sure everyone is aligned on this direction and we know what we're going to be testing for.

The project management checklist in the tracking GH lists regression testing as one of the steps after the design doc detailed section as been reviewed, so I'm gonna put this on hold until then.

not overdue, we're focusing on universal DMs atm

@rafecolton @arielgreen just putting on your radar


Handle http connections

For some reason, the "Enforce HTTPS" button was unchecked on GitHub pages. I had to manually re-check it.

I don't know how this happened but when it does, there's a chance that the user will accidentally go to http://antalmanac.com instead of https://antalmanac.com. The server won't respond to http, so the schedule will fail to load.
I'm not sure how we want to safe guard against this scenario. We could either display a warning banner when the site is http or maybe force a redirect to https on the client side. Open to other suggestions too though.

GitHub pages automatically redirects HTTP requests to HTTPS by serving status 301 with the secure location, so from my understanding, no further action is needed here.

Correct, it currently works fine.
However if something goes wrong and http is served instead, our backend will reject any API requests because of our CORS policy. The frontend should handle this edge case more gracefully than the current "Could  find schedule" snackbar error message that makes users think their schedule was deleted.

IDK how a user would end up on the HTTP site, closing this to clear up the issue queue.


Prepare for 1.10 release.

This issue is to track outstanding issues / work that is required for a 1.10 release.  Initial efforts for a release were started in Jan/Feb but have been sidetracked and I'd like restart the process.
ToDos:

release notes - draft available since Feb, updated 6 Aug with most recent changes.
Two open Issues tagged blocker:

#1298 Exception when attempting to get the next filename left tablet in bad state
#1086 ZooLock uses ZooReader which may retry on session expired

@EdColeman  and @milleruntime I marked #1086 a blocker because I was hoping to work on it before 1.10.  However, not sure I will be able to do that depending on the release time frame.  Given that #1086 is likely an issue that predates 1.9 and is not newly introduced between 1.9 and 1.10, it does not have to be a blocker for 1.10 (it would be nice to keep on the radar somehow though).   I am going to look into #1298 soon.

Thanks. As far as time frame, I was hoping the community would agree on something like "by the end of the month (August)"  If #1086 is still open, I assume that we can keep it as a blocker for 2.1 to give more visibility.

As a reference, here is the PR for the release notes: https://github.com/apache/accumulo-website/pull/218
I had forgot you already did the release notes... and I even reviewed them haha!

Something that I think is good to do before a release is update all the minor dependencies.  The maven versions plugin is great for checking this: mvn versions:display-dependency-updates.  Some "minor" version upgrades are not possible or require more work so they won't be feasible at the end of the development cycle.  Here are some we should check (feel free to ping me with a "No Way Jose" and I will cross them off, I already eliminated the obvious major ones):
[INFO]   com.beust:jcommander .................................... 1.48 -> 1.78
[INFO]   com.google.auto.service:auto-service .............. 1.0-rc3 -> 1.0-rc7
[INFO]   com.google.code.gson:gson ............................... 2.7 -> 2.8.6
[INFO]   commons-cli:commons-cli ................................... 1.2 -> 1.4
[INFO]   commons-codec:commons-codec .............................. 1.4 -> 1.14
[INFO]   commons-collections:commons-collections ............ 3.2.2 -> 20040616
[INFO]   commons-configuration:commons-configuration .............. 1.6 -> 1.10
[INFO]   commons-io:commons-io ..................................... 2.4 -> 2.7
[INFO]   commons-lang:commons-lang ................................. 2.4 -> 2.6
[INFO]   commons-logging:commons-logging ......................... 1.1.1 -> 1.2
[INFO]   jline:jline ......................................... 2.11 -> 3.0.0.M1
[INFO]   junit:junit ............................................. 4.12 -> 4.13
[INFO]   org.apache.commons:commons-jci-core ....................... 1.0 -> 1.1
[INFO]   org.apache.commons:commons-jci-fam ........................ 1.0 -> 1.1
[INFO]   org.apache.commons:commons-lang3 ......................... 3.1 -> 3.11
[INFO]   org.apache.commons:commons-vfs2 ......................... 2.3 -> 2.6.0
[INFO]   org.bouncycastle:bcpkix-jdk15on ......................... 1.62 -> 1.66
[INFO]   org.bouncycastle:bcprov-jdk15on ......................... 1.62 -> 1.66
[INFO]   org.easymock:easymock ................................... 4.0.2 -> 4.2
[INFO]   org.eclipse.jetty:jetty-http ........ 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.eclipse.jetty:jetty-io .......... 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.eclipse.jetty:jetty-security .... 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.eclipse.jetty:jetty-server ...... 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.eclipse.jetty:jetty-servlet ..... 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.eclipse.jetty:jetty-util ........ 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.gaul:modernizer-maven-annotations ................. 1.8.0 -> 2.1.0
[INFO]   org.powermock:powermock-api-easymock .................. 2.0.2 -> 2.0.7
[INFO]   org.powermock:powermock-core .......................... 2.0.2 -> 2.0.7
[INFO]   org.powermock:powermock-module-junit4 ................. 2.0.2 -> 2.0.7
[INFO]   org.powermock:powermock-reflect ....................... 2.0.2 -> 2.0.7

[INFO]   com.beust:jcommander .................................... 1.48 -> 1.78

There's breaking changes in newer jcommander, and is not safe to update in 1.x I think.

[INFO]   com.google.auto.service:auto-service .............. 1.0-rc3 -> 1.0-rc7
[INFO]   com.google.code.gson:gson ............................... 2.7 -> 2.8.6
[INFO]   commons-cli:commons-cli ................................... 1.2 -> 1.4
[INFO]   commons-codec:commons-codec .............................. 1.4 -> 1.14

These should be fine, in general, but we should be careful about the commons-* ones. Some are riskier than others, and some we expect to be provided by, or matching, whatever Hadoop has. This is still an issue for Hadoop 2.x, and less so in Hadoop 3.x, where they have shaded much of their deps. In any case, 1.10 is supposed to be a stabilizing release, not one that could introduce weird dependency-related bugs.

[INFO]   commons-collections:commons-collections ............ 3.2.2 -> 20040616

This is clearly not a newer version. :smiley_cat:

[INFO]   commons-configuration:commons-configuration .............. 1.6 -> 1.10

I believe commons-configuration 1.10 ships some breaking changes. We've already updated in the main branch. I'd punt this one.

[INFO]   commons-io:commons-io ..................................... 2.4 -> 2.7
[INFO]   commons-lang:commons-lang ................................. 2.4 -> 2.6
[INFO]   commons-logging:commons-logging ......................... 1.1.1 -> 1.2

Same comment above regarding being careful about commons-*.

[INFO]   jline:jline ......................................... 2.11 -> 3.0.0.M1

This one is likely going to break the shell.

[INFO]   junit:junit ............................................. 4.12 -> 4.13

This one will introduce a bunch of warnings, that have already been triaged in the main branch and updated there. It's a test dependency and not important to update here.

[INFO]   org.apache.commons:commons-jci-core ....................... 1.0 -> 1.1
[INFO]   org.apache.commons:commons-jci-fam ........................ 1.0 -> 1.1
[INFO]   org.apache.commons:commons-lang3 ......................... 3.1 -> 3.11
[INFO]   org.apache.commons:commons-vfs2 ......................... 2.3 -> 2.6.0

More commons dependencies to be careful about.

[INFO]   org.bouncycastle:bcpkix-jdk15on ......................... 1.62 -> 1.66
[INFO]   org.bouncycastle:bcprov-jdk15on ......................... 1.62 -> 1.66

Bouncycastle should be updated whenever we can, but I'm not even sure we still need it in newer JDKs. In any case, I believe this is a test dep, so it's probably fine.

[INFO]   org.easymock:easymock ................................... 4.0.2 -> 4.2

Yes, if it doesn't break anything or introduce a bunch of warnings. I believe we've already updated the main branch.

[INFO]   org.eclipse.jetty:jetty-http ........ 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.eclipse.jetty:jetty-io .......... 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.eclipse.jetty:jetty-security .... 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.eclipse.jetty:jetty-server ...... 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.eclipse.jetty:jetty-servlet ..... 9.2.26.v20180806 -> 11.0.0.beta1
[INFO]   org.eclipse.jetty:jetty-util ........ 9.2.26.v20180806 -> 11.0.0.beta1

I believe this is the last jetty that still supported Java 7. Since we now use Java 8 for the 1.10 branch, we can update, but not to a beta, and it won't be easy. All jetty updates seem to have breaking changes. I would pass on these.

[INFO]   org.gaul:modernizer-maven-annotations ................. 1.8.0 -> 2.1.0

We can update any test/build tooling without much risk, so this one is fine to update, as is anything found by mvn versions:display-plugin-updates. However, there's diminishing returns on the effort, since we've already gone through a lot of this in the main branch already, and I'm not sure how much benefit there is to updating 1.10 when we're trying to stabilize it.

[INFO]   org.powermock:powermock-api-easymock .................. 2.0.2 -> 2.0.7
[INFO]   org.powermock:powermock-core .......................... 2.0.2 -> 2.0.7
[INFO]   org.powermock:powermock-module-junit4 ................. 2.0.2 -> 2.0.7
[INFO]   org.powermock:powermock-reflect ....................... 2.0.2 -> 2.0.7

Test deps are fair game, but might require code changes.

In general, I'm in favor of updating plugin versions whenever we can, and test dependencies, too. Other deps need to be considered carefully, especially in maintenance branches where the risk of destabilizing things is greater.
Also, should this have been a separate issue? :smiley_cat:

Also, should this have been a separate issue?

Probably but I wasn't sure what was the point of this ticket other than to link to other tickets.  Which I thought we already were accomplishing with GitHub Projects...

I was hoping to use this as sort of a white board to pass info concerning the release.  I was looking for something more accessible than email that we could use to track different efforts towards the release between ourselves and those that may be interested in the release to see what has been accomplished and what remains.
I guess I envisioned something like a kanban board tracking of tasks and progress.  Not so much for individual issue resolution, just a place to link those that are impacting the 1.10 release.  Maybe there's a better way to this with something in github, but this seemed to be a low-bar approach to try.

Also, should this have been a separate issue?

I deleted some of my comments and opened a separate issue in #1685 .  Sorry for cluttering up this one.

FYI there was an issue with the first RC: https://github.com/apache/accumulo/pull/1692
It was fixed with that PR and an RC2 has been created for testing.


Decode morse code

Decode a morse code

Created a Class and defined MORSE_CODE hash

Created a method to decode a Morse code character

Created a method to decode an entire word in Morse code

Create a method to decode the entire message in Morse code

Readme file has been created and updated as suggested by the code Reviewer

Thanks @uwadonat :)


GetChatHistory

First;
I changed case "gc": operations in Example.java file to:
                case "gc":
                    client.send(new TdApi.GetChatHistory(getChatId(commands[1]),0, (int)getChatId(commands[2]),
                    (int) getChatId(commands[3]), false), defaultHandler);
                    break;

so i can modify the offset and limit.
I rebuilt the project so I could get the last 10 pms ordered by date (descending) with gc <chat_id> 0 10.
But I realized that after a while if I repeat it with (e.g.) gc <chat_id> 0 10 i get ONLY the last message.
Where's the problem?
Second:
I found out that the maximum messages the client can get at once is 100. So I'm looking for a way to get the second last 100 messages(and even more).
Actually the equivalent method of scrolling in GUI ver.

https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1get_chat_history.html
The messages are returned in a reverse chronological order.
For optimal performance the number of returned messages is chosen by the library.

std::int32_t | limit_
-- | --
  | The maximum number of messages to be returned; must be positive and can't be greater than 100. If the offset is negative, the limit must be greater or equal to -offset. Fewer messages may be returned than specified by the limit, even if the end of the message history has not been reached.

@yasharzb See https://core.telegram.org/tdlib/getting-started#getting-chat-messages.

@isopen
so you mean there is no insurance to get e.g. 10 last messages i should check it before sending it to the user.

Perhaps need to show the user what he managed to get and control the scroll (this may be the responsibility of the component). If you need to show specifically only the last 10 messages, then you can check (but in my opinion this is not good).

Hi, Sorry. is there a getChatHistory example for C++?

@levlam I think it's time for a sandbox where the user can test TDLib queries. The sandbox can be filled with sample requests or a request queue.


addedafricapolis

Thanks @nanaboamah89 @mpho-sadiki. One more request/suggestion - somewhere under Specifications could there be a few sentences explaining what the vector data represents? E.g. are they points, polygons? Does their size represent population or settled areas?

Thanks @nanaboamah89 @mpho-sadiki. One more request/suggestion - somewhere under Specifications could there be a few sentences explaining what the vector data represents? E.g. are they points, polygons? Does their size represent population or settled areas?

Thanks @mickwelli , I have added that under the specification.


ink contract wasm interpreter for worker

Motivation
substraTEE-worker needs a generic way to define its state transition function (STF). It is desired to define the STF within a wasm module to keep the SGX TCB very small and contract-agnostic. SGX remote attestation (RA) would attest the TCB once, but it could still run different contracts without the need for fresh RA.
substrate smart contracts are written in a doman-specific-language called ink
In order to leverage all the work done for ink and to provide smooth developer experience when writing contracts for substraTEE, we should support ink contracts.
Assumptions

A single SGX machine is assigned to a single contract
user calls contract off-chain. receipt hashes will be put on-chain

future enhancements would allow for failover SGX machines that can take over in the event of DoS attack or worker downtime
Success Scenario
trigger: deployment

contract owner deplys ink contract to substraTEE-node (like for substrate contracts) but no contract instance is created becasue the contract will live off-chain
contract owner runs and assigns a substraTEE-worker to a particular contract (by code_hash)
worker  retrieves wasm code form substraTEE-node

triggger: call

"contract user* sends call to worker (entirely off-chain)
worker retrieves state from SGX sealed storage
worker performs the call. similar to srml-contract
worker stores updated state to SGX sealed storage

trigger: upon a new block

worker commits a log of all performed calls (as hashes for each call) including updated state hash to substraTEE-node by means of an extrinsic.
contract user can verify that her call was processed by scanning for the hash of her call.

differences to on-chain contracts

not guaranteed to run once per block (as it's off-chain)
could be called via on-chain extrinsic, but there are scability benefits (orders of magnitude) if calling worker directly (semi-centralized approach)
state is not stored on-chain. only its hash
no strict need for gas as each dapp can provide for their own resources/workers
no interaction between contracts, though library-type contracts are possible

first attempts to port srml-contract to sgx and strip off runtime embedding
https://github.com/scs/substraTEE-worker/tree/brenzi-contract/enclave/contract

this might actually work. can now build an enclave with a runtime instance wrapping srml-contract module
TODO:

storage backend
provide wasm code directly, not from chain state
test flipper contract
probably more unforeseen things....

It seems that wrapping runtime with --no-default-features leads to relying on the follwing extern functions (because we're in no_std, substrate macros think that we're in wasm and puts these host calls which the sgx linker oviously can't link. How can we convince it not to do host calls in spite of no_std?)
ext_sandbox_memory_new
ext_sandbox_memory_get
ext_sandbox_memory_set
ext_sandbox_memory_teardown
ext_sandbox_instance_teardown
ext_sandbox_instance_teardown
ext_sandbox_instantiate
ext_sandbox_invoke
ext_print_utf8
ext_set_storage
ext_clear_storage
ext_get_allocated_storage
ext_get_storage_into
ext_set_child_storage
ext_clear_child_storage
ext_kill_child_storage
ext_get_allocated_child_storage
ext_child_storage_root
ext_blake2_256
ext_twox_128
ext_sandbox_instance_teardown
ext_sandbox_instance_teardown
ext_sandbox_instantiate
ext_sandbox_invoke

I've added a dummy API for the SGX case using a new feature no_std_host
https://github.com/brenzi/substrate/tree/brenzi-contract-replace-sr-io
builds with cargo build --no-default-features --features "no_std_host"

successfully built enclave against a substrate fork that replaces all ext_ by dummies (sr_io and sr_sandbox). The problem was that substrate assumes we're running in wasm, because we're no_std, so it puts all the extern functions that we don't need.
can now build worker and call ./bin/app getsignkey as a temporary shortcut to playing with runtime

can now put_code and create (deploy) the flipper contract.
however, calling a custom function fails with Err(Trap(Trap { kind: Unreachable }))
The success story in terms of debug prints:
~/substraTEE-worker$ ./bin/app getsignkey
Intercating with port 9944

*** Get the signing key from the TEE

*** Starting enclave
[+] Home dir is /home/abrenzikofer
[-] Open token file /home/abrenzikofer/./bin/enclave.token error! Will create one.
[+] Init Enclave Successful. EID = 2!
[Enclave] Read 32 bytes from key file
[Enclave] restored ecc pubkey: "2C121CzQUnUctuK9VAiUnk9eigMEWhoeuzUQHsRu7Tcy"
[??] asking runtime out
[Enclave] Read 12024 bytes from cleartext file
pre-funding tina
calling put_code
Runtime: put_code: called
Runtime: put_code: ensure_signed ok
Runtime: put_code: got current schedule
Runtime: put_code: bought gas
Runtime: wasm::code_cache::save: called
Runtime: wasm::code_cache::save: gasmeter ok
Runtime: wasm::code_cache::save: returned from prepare_contract
Runtime: wasm::code_cache::save: returned from hash
Runtime: wasm::code_cache::save: inserted code int CodeStorage
Runtime: wasm::code_cache::save: inserted code into PristineCode
Runtime: put_code: saved wasm
Runtime: put_code: code_hash sent as event
Runtime: put_code: unused gas refunded
put_code: Ok(())
code_hash: 0xe11e59a26856093f8dd8a0e3054a4b254024cf834e8644d77461f5d482826baa
our code hash is 0xe11e59a26856093f8dd8a0e3054a4b254024cf834e8644d77461f5d482826baa
calling contractCall::create()
Runtime: contract::create(): called
Runtime: contract::create(): buoght gas
Runtime: contract::create(): config preloaded
Runtime: contract::create(): new vm
Runtime: contract::create(): new loader
Runtime: contract::create(): context
Runtime: contract::call::ctx::instantiate(): called
Runtime: contract::call::ctx::instantiate(): transfer done
Runtime: contract::call::ctx::instantiate(): load_init done
Runtime: contract::wasm::WasmVm::execute(): called
Runtime: contract::wasm::WasmVm::execute(): sandbox memory created
Runtime: contract::wasm::WasmVm::execute(): env built
Runtime: contract::wasm::WasmVm::execute(): memory added
Runtime: contract::wasm::WasmVm::execute(): host func added
Runtime: contract::wasm::WasmVm::execute(): runtime created
Runtime: contract::wasm::WasmVm::execute(): instance Ok
sr-sandbox::imp::invoke(): called
sr-sandbox::imp::invoke(): args = []
sr-sandbox::imp::invoke(): name = "deploy"
sr-sandbox::imp::invoke(): prepared with externals
Runtime: called into ext_println
Runtime: flipper::deploy(): called
sr-sandbox::imp::invoke(): invoke_export() done. result is Ok(None)
Runtime: contract::wasm::WasmVm::execute(): instance invoked
Runtime: contract::call::ctx::instantiate(): executed
Runtime: contract::create(): instantiated
StorageApi::child_storage() unimplemented
StorageApi::set_child_storage() unimplemented
create: Ok(())
ignoring unsupported module event
ignoring unsupported module event
found event 'Transfer'
found event 'Instantiated'
calling contractCall::call(<flipper_instance>, 'get()')
Runtime: call(): called
Runtime: call(): buy_gas_done
Runtime: call(): config preload done
Runtime: call(): new vm created
Runtime: call(): new loader created
Runtime: call(): execution context created
Runtime: call::ctx:call(): paid rent
Runtime: call::ctx:call(): transferred sent value
Runtime: contract::wasm::WasmVm::execute(): called
Runtime: contract::wasm::WasmVm::execute(): sandbox memory created
Runtime: contract::wasm::WasmVm::execute(): env built
Runtime: contract::wasm::WasmVm::execute(): memory added
Runtime: contract::wasm::WasmVm::execute(): host func added
Runtime: contract::wasm::WasmVm::execute(): runtime created
Runtime: contract::wasm::WasmVm::execute(): instance Ok
sr-sandbox::imp::invoke(): called
sr-sandbox::imp::invoke(): args = []
sr-sandbox::imp::invoke(): name = "call"
sr-sandbox::imp::invoke(): prepared with externals
sr-sandbox::imp::invoke(): invoke_export() done. result is Err(Trap(Trap { kind: Unreachable }))
Runtime: contract::wasm::WasmVm::execute(): instance invoked
Runtime: call(): ctx.call executed
Runtime: call(): execution returned NOT OK
Runtime: call(): unused gas refunded
call: Err("during execution")
reading events failed. Has the contract really been deployed?
[++] finished playing with runtime
[+] ECC public key from TEE = [17, 173, 24, 107, 131, 220, 56, 232, 124, 59, 52, 29, 245, 210, 132, 157, 214, 31, 200, 145, 36, 67, 39, 92, 44, 19, 191, 42, 79, 134, 18, 126]
[+] File './bin/ecc_pubkey.txt' written successfully

Branch: https://github.com/scs/substraTEE-worker/tree/brenzi-contract-modular
Code: https://github.com/scs/substraTEE-worker/commit/bbdacb37fb437be962cf9cc3eb2704e3add82a5f

I hereby consider the PoC successful:
our code hash is 0x774c973667dbb215b7c7e865c8bf0c22f58481d0035f2eda451aefc9f03d6899
calling contractCall::create()
Runtime: contract::create(): called
Runtime: contract::create(): buoght gas
Runtime: contract::create(): config preloaded
Runtime: contract::create(): new vm
Runtime: contract::create(): new loader
Runtime: contract::create(): context
Runtime: contract::call::ctx::instantiate(): called
Runtime: contract::call::ctx::instantiate(): transfer done
Runtime: contract::call::ctx::instantiate(): load_init done
Runtime: contract::wasm::WasmVm::execute(): called
Runtime: contract::wasm::WasmVm::execute(): sandbox memory created
Runtime: contract::wasm::WasmVm::execute(): env built
Runtime: contract::wasm::WasmVm::execute(): memory added
Runtime: contract::wasm::WasmVm::execute(): host func added
Runtime: contract::wasm::WasmVm::execute(): runtime created
Runtime: contract::wasm::WasmVm::execute(): instance Ok
sr-sandbox::imp::invoke(): called
sr-sandbox::imp::invoke(): args = []
sr-sandbox::imp::invoke(): name = "deploy"
sr-sandbox::imp::invoke(): prepared with externals
Runtime: called into ext_println
Runtime: flipper::deploy(): called
sr-sandbox::imp::invoke(): invoke_export() done. result is Ok(None)
Runtime: contract::wasm::WasmVm::execute(): instance invoked
Runtime: contract::call::ctx::instantiate(): executed
Runtime: contract::create(): instantiated
StorageApi::child_storage() unimplemented
StorageApi::set_child_storage() unimplemented
create: Ok(())
ignoring unsupported module event
ignoring unsupported module event
found event 'Transfer'
found event 'Instantiated'
calling contractCall::call(<flipper_instance>, 'get()')
Runtime: call(): called
Runtime: call(): buy_gas_done
Runtime: call(): config preload done
Runtime: call(): new vm created
Runtime: call(): new loader created
Runtime: call(): execution context created
Runtime: call::ctx:call(): paid rent
Runtime: call::ctx:call(): transferred sent value
Runtime: contract::wasm::WasmVm::execute(): called
Runtime: contract::wasm::WasmVm::execute(): sandbox memory created
Runtime: contract::wasm::WasmVm::execute(): env built
Runtime: contract::wasm::WasmVm::execute(): memory added
Runtime: contract::wasm::WasmVm::execute(): host func added
Runtime: contract::wasm::WasmVm::execute(): runtime created
Runtime: contract::wasm::WasmVm::execute(): instance Ok
sr-sandbox::imp::invoke(): called
sr-sandbox::imp::invoke(): args = []
sr-sandbox::imp::invoke(): name = "call"
sr-sandbox::imp::invoke(): prepared with externals
StorageApi::child_storage() unimplemented
Runtime: called into ext_println
Runtime: flipper::get() = false
sr-sandbox::imp::invoke(): invoke_export() done. result is Err(Trap(Trap { kind: Host(DummyHostError) }))
Runtime: contract::wasm::WasmVm::execute(): instance invoked
Runtime: call::ctx:call(): executed call
Runtime: call(): ctx.call executed
Runtime: call(): execution returned OK
Runtime: call(): unused gas refunded
call: Ok(())
found event 'Transfer'

TODO:

implement sr-io child_storage
parse ink contract ABI and generically encode a call
PR to substrate with this fork branch

probably not easily accepted by parity as we're implying sgx = rust-sgx-sdk. (what about fortanix?)

heavy refactoring of current worker code and runtime_warpper
persist Externalities
verify wasm code hash within enclave after reading from file


Added stale workflow

This pull request is related with management of this repository. I decided to add the stale workflow to take actions for stale issues and pull requests in this repository.

Thanks for the approval!


Handling https url rewrite (proxy mode) + adding getter and setter for some classes

Hello,
We have some internal classes which are extending AccessPoint.java, DefaultReplayCaptureSelector.java and TextReplayRenderer.java.
In order to migrate to openwayback 2.2 (we are currently using version 2.0) we need more visibity on some variables, so if it's possible we would like to add some getters and setters.

This is an implementation to correct this issue :
https://github.com/iipc/openwayback/issues/25
Basically, we are adding two new classes :
HttpsRedirectRewriteReplayRendeder extending TransparentReplayRenderer :
Before giving back the response to the client, we check if the http response header is a redirection (by checking if parameter "Location" or "location" is present) and if the redirect url start with https, we rewrite it.
Particular case : if the redirect link is exactly the same as the original link + https (eg http://www.example.com/ redirect to https://www.example.com/) it would cause a redirect loop, so we handle this case in particular, moving to the next of previous capture.
HttpsRedirectAndLinksRewriteProxyHTMLMarkupReplayRenderer extending ProxyHTMLMarkupReplayRenderer :
Do the same thing as HttpsRedirectRewriteReplayRendeder, but then we also process to transform all the links we could find in the page content.
(if the mime type is text/html as define in ProxyReplay.xml)
ProxyReplay.xml
Replace the classes with their extended one (HttpsRedirectAndLinksRewriteProxyHTMLMarkupReplayRenderer replaces ProxyHTMLMarkupReplayRendere and HttpsRedirectRewriteReplayRendeder  replaces TransparentReplayRenderer ).
wayback.xml (not in the commit)
Finally in your wayback.xml configuration file, you also have to add to your proxy replay access point :

This is potentially a bit of overkill, as there are existing hooks to handle most of this. If you declare an appropriate uriConverter on the AccessPoint, then the HTTPS > HTTP rewriting of location headers is already handled.
See https://github.com/ukwa/docker-openwayback/blob/master/wayback.xml#L344-L346
The case of rewriting HTTPS links inside the document is not currently handled properly by org.archive.wayback.proxy.ProxyHTMLMarkupReplayRenderer, but I think the same could be achieved by extending that class rather than reproducing all the logic of the parent class.

Closing this, as we've decided not to take this approach for https link rewriting.

What is the status of https link-rewriting now? The lack of a fix for this issue is/was blocking for adoption of openwayback at the Danish netarkivet.
--Colin

The example of a uriConverter on the AccessPoint to handle the HTTPS > HTTP rewriting of location headers link in the @anjackson  comment above can now be seen via
https://github.com/ukwa/docker-openwayback/blob/14b43463e47a45ce99de66d3cee56f76856e30c7/wayback.xml#L344-L346
@csrster Regarding rewriting HTTPS links inside the document, work has not been done to fix that. Is it something your group could contribute work on?
@anjackson in order to get someone started on implementing a fix for this, would you be willing to expand on how org.archive.wayback.proxy.ProxyHTMLMarkupReplayRenderer could be extended to handle rewriting HTTPS links?


start date vs start time vs end date vs end time is very confusing

each of these 4 variables is a DateTime. meaning it can store date AND time. why split it up in multiple variables?
how should we set the time for one of the date DateTime's, or the date for one of the time DateTime's? is it ignored, or somehow relevant? the documentation does not make this clear.
on the documentation page for CalendarEventData, which seems to describe a single event https://pub.dev/documentation/calendar_view/latest/calendar_view/CalendarEventData-class.html, it says:

date → DateTime
Specifies date on which all these events are.

what "all these events"? isn't this an object representing a single event?
4) that same page, says this:
endTime → DateTime?
Defines the end time of the event. endTime and startTime defines time on same day. This is required when you are using CalendarEventData for DayView
why only for DayView? Weekly view also shows times, doesn't it?

Hi @Dieterbe , we will improve the documentation for that, mean while to brief this,
startDate and endDate represents the dates on which the event will be displayed. in this argument time will not be considered even though it is of type DateTime.
startTime and endTime represents the time span over single day. In this argument the date will not be considered even though it is of type DateTime.
Consider the following event having,
startDate: 6th Jun 2024  -> DateTime(2024, 6, 6, xx, xx)
endDate: 8th Jun 2024 -> DateTime(2024, 6, 8, xx, xx)
startTime: 10 AM -> DateTime(xxxx, xx, xx, 10, 00)
endTime: 11 AM -> DateTime(xxxx, xx, xx, 11, 00)
Here, the event will be displayed in dates 6, 7 and 8, spanning from 10 AM to 11 AM.
We know that this is not the best way to get the date and time and will improve in future versions of calendar view.

Need to improve current documentation.


Fix build warnings in rv32m1 drivers

Converts rv32m1 drivers to use 'DT_' prefixed defines instead of deprecated non-prefixed defines.
Fixes #13964

Codecov Report

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

@@           Coverage Diff           @@
##           master   #14048   +/-   ##
=======================================
  Coverage   52.23%   52.23%
=======================================
  Files         307      307
  Lines       45469    45469
  Branches    10526    10526
=======================================
  Hits        23753    23753
  Misses      16914    16914
  Partials     4802     4802

Continue to review full report at Codecov.

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