Can I provide my own system calls?

I was able to provide my own system calls when compiling web assembly with llvm (no emscripten). Trying to compile a libc to wasm but I'm starting to realize many of them use inline assembly which is... a problem. Anyhow yeah, curious if I can combine this with syscall implementations in javascript

Is there some reason you wouldn't want to use the libc that comes with wasi-sdk?     The system call layer for WASI is the WASI API, and you can implement it javascript if you like yes.
If you are asking about added new system calls on top of the existing set of WASI APIs, that is possible, but of course non-portable.

Oh yes, I was unclear; I'm trying to compile a libc to wasm - any lib c - and this (wasi-sdk) is one of those libc's that I'm considering. (I was also thinking of adding an architecture to musl-libc, which looks maybe simpler than doing the same for glibc)
What I want to do is the second thing you described - implement the system calls in javascript. Is there documentation on this?
Also just after writing this I realized that musl is being used for wasi-sdk as well so I have new questions.
wasm32/syscall_arch.h is empty, so where do those functions get defined?
What I'd like to do is something like this:
extern long int syscall (long int __sysno, ...)
    __attribute__((import_module("env"), import_name("syscall")));

but I suspect I won't simply be able to link it to this form of musl and expect it to work, right?

The two main libc's used today (emscripten and wasi-libc) are both based on musl using musl would be a logical choice.   Note the upstream musl does not historically accept patches to port to non-linux platforms, so both musl ports exist in forks today.
Why don't you want to just use wasi-libc or emscripten's libc?  Why start from scratch?  Note that both these existing musl ports avoid using the generic syscall function and instead implement each syscall individually as a separate call out the host (JS).     For example here is syscall that emscripten implements in JS: https://github.com/emscripten-core/emscripten/blob/c5c2714a438f3e51d2907c85c25e0c01f9385bde/src/library_syscall.js#L171-L174.
For wasi-libc the syscalls are the WASI APIs themselves, so you would need to imlement the preview1 syscalls.

I'll use anything that makes what I'm trying to do easier, but I do intend to intercept every system call. The example in emscripten tells me how to contribute a syscall implementation to emscripten, but I'm not sure how to use something like emscripten without the system call implementations that are already attached to it.

Another clarification, I'm not opposed to having some system calls implemented for me if I can still remove them one-by-one as I continue development on my kernel. That would really be a huge win, I'm just struggling a bit to figure out how to use wasi-sdk this way.

I found this repo which, while outdated, was enough of a starting point to get me where I wanted. Thanks!


Revamp Form styles

Our form styles having magic numbers all over and need to be cleaned up.

@Jeremy-Walton Since buttons have been revamped let's share a common height for the inputs and buttons to match one another in scale. Perhaps something more generic like --rm-input-height-small, etc... If we do this we should also move the tokens into the base_tokens.scss file.


Dynamic RNN, Initialization, Control Dependencies

I am trying to write a custom RNN Cell with regularized weights and am encountering a problem caused by the treatment of control flow dependencies.
I initialize variables in the RNNCell as follows:
with tf.variable_scope(scope):
w = tf.get_variable(..., reg=tf.layers.l2_reg())
and use the cell in a dynamic_rnn call.
At the end of graph construction, I retrieve all the regularized losses (using tf.GraphKeys.REGULARIZATION_LOSSES).
When I add the regularization losses to my cross entropy loss, I run into the following error: "InvalidArgumentError: The node 'Sum/input' has inputs from different frames." It seems that, because the variables are only created conditionally, they can't be used together with other tensors.
Could you please suggest a workaround or provide a mechanism for adding regularization to an RNN?

Is this in the call?  I believe there's a workaround for this. Sergio?

The variables and regularization should be created in advance.


Prefix caching and deallocation mechanism

This branch introduces caching of prefixes and deallocation of old prefixes.

For caching it introduces the concept of max_capacity in the prefix pool.
For deallocation, it deallocates prefixes that have been evicted from the prefix pool (using an LRU policy) and that are no longer in use by any SequenceGroup.

There was a certain complexity with the deallocation, because of the swap_in and swap_out mechanisms for blocks, meaning that the block.ref_count was not a good representation of how many sequences were sharing a prefix. Because of that, a new seq_ref_counter was introduced in the prefix class.

I have already added some tests to the PrefixPool class. Will be adding some extra tests for the caching and deallocation mechanisms.

@zhuohan123 I have added the prefix caching and deallocation of prefixes in this PR. Feel free to take a look. I will keep adding test cases to it, but I think that is in a state where we can start to review it.

Pardon the long comment that will follow below, but I am trying to be as precise and thorough as possible, striving to provide a solution that is correct. Below I describe two alternative methodologies for deallocating prefixes. In this PR, we are implementing solution 1.1. But as you will see, solution 1.1 has two issues, which I describe below. I discuss alternatives to solve those issues, and I conclude that solution <IP_ADDRESS>.3 is the simplest and most elegant alternative. I will be following up with a commit to implement that solution, but wanted to share with the group the thought process that took me there.

Description of two different methodologies for deallocating prefixes:
1.1. At the end of each step, call the prefix pool and ask it to provide all prefixes that have been evicted from the cache's OrderedDict (and moved to a list of prefix candidates to remove) that have also already been allocated and have a seq_ref_count == 0.  When a prefix P has seq_ref_count == 0 means that there is no sequence group that has already been removed of the waiting list, and that has not finished computing, and that shares prefix P, which means that is safe to deallocate prefix P.
1.1.1. But this methodology has two problems:
<IP_ADDRESS>: Consider a Sequence Group S that uses a prefix P still in waiting list when prefix P is deallocated because the prefix satisfied the conditions as described in 1.1.  When this sequence group S finishes computing or is aborted, at the end of the step (and in all other posterior steps), when we call the prefix pool for all the prefixes that can be deallocated, this prefix (which has been allocated for a second type already, but not added to the prefix pool for a second time) will not be returned for a second time for deallocating by the pool because it has already been removed from it.
<IP_ADDRESS>.1: One way of solving this is using methodology 1.2.
<IP_ADDRESS>.2: Another way of solving this is only adding a prefix to the prefix pool when it has been allocated, but this means modifying the the current code a little bit too much.
<IP_ADDRESS>.3: Another way of solving this is to also keep track, for a given prefix, of Sequence Groups in the waiting list, and, while that count is greater than 0, do not deallocate yet. (I am leaning towards this one, because will be simpler to implement than the previous two solutions.)
<IP_ADDRESS>: Consider a prefix P that is removed from the prefix pool's OrderedDict, but that is never allocated because every single Sequence Group that shares this prefix is always moved from the waiting list to the ignored list because it never satisfies the required conditions for allocation. The prefix is never allocated in the GPU, so it does not waste any memory there, but is also never removed from the prefix pool list of candidates to remove. This is not as big of a problem as <IP_ADDRESS>, but is still a small memory leak because this list of prefix candidates to remove will grow over time with other prefixes in this same condition.
<IP_ADDRESS>.1: One way of solving this is implementing what is described in <IP_ADDRESS>.3, which is presented as a solution to situation <IP_ADDRESS>.  But also, implementing <IP_ADDRESS>.3 removes the necesity of having the "it must have been allocated already" condition in order to deallocate a prefix, which means that situation <IP_ADDRESS> will never happen.
1.2. Instead of at the end of each step asking the sequence group to provide a list of prefixes that can be deallocated, simply for each sequence group that either finishes computing or is aborted, check if its prefix has already been removed from the prefix pool's OrderedDict, and if it has, deallocate it.
1.2.1. But this methodology has a problem: Suppose that the last Sequence Group ever sent to the server that uses a given prefix P finishes computing, but prefix P has not yet been evicted from the prefix pool, then this prefix will never be deallocated from memory.
<IP_ADDRESS>. Methodology 1.1 does not have this issue. So one potential solution is to use both methodology 1.2 and methodology 1.1 in conjunction, for deallocating prefixes.  But honestly, methodology 1.2 is presented here in the first place as a fix to the issue of methodology 1.1, but honestly, I am leaning towards implementing what is described in <IP_ADDRESS>.3 because is simpler to do.

Pardon the long comment that will follow below, but I am trying to be as precise and thorough as possible, striving to provide a solution that is correct. Below I describe two alternative methodologies for deallocating prefixes. In this PR, we are implementing solution 1.1. But as you will see, solution 1.1 has two issues, which I describe below. I discuss alternatives to solve those issues, and I conclude that solution <IP_ADDRESS>.3 is the simplest and most elegant alternative. I will be following up with a commit to implement that solution, but wanted to share with the group the thought process that took me there.
1. Description of two different methodologies for deallocating prefixes: 1.1. At the end of each step, call the prefix pool and ask it to provide all prefixes that have been evicted from the cache's OrderedDict (and moved to a list of prefix candidates to remove) that have also already been allocated and have a seq_ref_count == 0. When a prefix P has seq_ref_count == 0 means that there is no sequence group that has already been removed of the waiting list, and that has not finished computing, and that shares prefix P, which means that is safe to deallocate prefix P. 1.1.1. But this methodology has a problem: <IP_ADDRESS>: Consider a Sequence Group S that uses a prefix P still in waiting list when prefix P is deallocated because the prefix satisfied the conditions as described in 1.1. When this sequence group S finishes computing or is aborted, at the end of the step (and in all other posterior steps), when we call the prefix pool for all the prefixes that can be deallocated, this prefix (which has been allocated for a second type already, but not added to the prefix pool for a second time) will not be returned for a second time for deallocating by the pool because it has already been removed from it. <IP_ADDRESS>.1: One way of solving this is using methodology 1.2. <IP_ADDRESS>.2: Another way of solving this is only adding a prefix to the prefix pool when it has been allocated, but this means modifying the the current code a little bit too much. <IP_ADDRESS>.3: Another way of solving this is to also keep track, for a given prefix, of Sequence Groups in the waiting list, and, while that count is greater than 0, do not deallocate yet. (I am leaning towards this one, because will be simpler to implement than the previous two solutions.) 1.2. Instead of at the end of each step asking the sequence group to provide a list of prefixes that can be deallocated, simply for each sequence group that either finishes computing or is aborted, check if its prefix has already been removed from the prefix pool's OrderedDict, and if it has, deallocate it. 1.2.1. But this methodology has a problem: Suppose that the last Sequence Group ever sent to the server that uses a given prefix P finishes computing, but prefix P has not yet been removed from the OrderedDict of the prefix pool, then this prefix will never be deallocated from memory. <IP_ADDRESS>. Methodology 1.1 does not have this issue. So one potential solution is to use both methodology 1.2 and methodology 1.1 in conjunction, for deallocating prefixes. But honestly, methodology 1.2 is presented here in the first place as a fix to the issues of methodology 1.1. But honestly, I am leaning towards implementing what is described in <IP_ADDRESS>.3 because is simpler to do and also provides a way to solve problem <IP_ADDRESS>.

This issues have been removed by doing the following in the [Solves memory leak issue with prefixes in waiting list](https://github.com/vllm-project/vllm/pull/2511/commits/d7ee5498b3b2bb63ed172b2691e08e21b1e90fd0) commit:

Whenever a prefix is removed from the list of candidates to free in the prefix pool, mark such prefix as expired.
Create a @property method for prefix in SequenceGRoup class that sets self._prefix to None if self._prefix is expired. Return self._prefix. Now, when a sequence group is on the waiting list, but its prefix has been removed from PrefixPool from some reason, and hence expired, when is the turn to allocate this prefix pool, it effectively does not have a prefix, and hence things go the normal way of things without a potential reallocation of the already expired prefix that can cause a memory leak.

@WoosukKwon @simon-mo @zhuohan123  I think that this PR is ready for review. All issues regarding memory leaks and sync with the master branch have been solved.

Thanks for the contribution! However, we are moving to a more automated method as in #2614 and #2762. Feel free to comment more over there!


Using idf.py without network connectivity (IDFGH-8834)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.0-dev-4037-g9b8c558e63-dirty
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
No response
Development Kit.
Custom board
Power Supply used.
External 5V
What is the expected behavior?
Hi,
Working with idf.py on poor network connectivity seems complicated because idf.py seems to download updates by itself on startup. Is there a way to disable that? We are sometimes working on very low network connectivity (or sometimes not at all).
$ idf.py monitor
... hangs ...
^C
Downloading https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.0.txt
Destination: /home/markand/.espressif/espidf.constraints.v5.0.txt.tmp

What is the actual behavior?
Provide a way to avoid automatic downloading.
Steps to reproduce.
Any command from idf.py without networking.
Debug Logs.
No response
More Information.
No response

Could you please try the latest v5.0 version? This has already been fixed in 737cdcbaa6fb7089791c2a954e8e96f4beb9c835

Thanks, I'll try in a couple of minutes.


easy_install doesn't work

The README file says to do this to install:
easy_install --upgrade oauth2client
However, I get the error "Couldn't find a setup script". This is both with a clone of the git repo and also the tarball.

Thank you for creating this issue, however, this project is deprecatedand we will only be addressing critical security issues. You can read moreabout this deprecation here.
If you need support or help using this library, we recommend that you ask yourquestion on StackOverflow.
If you still think this issue is relevant and should be addressed, pleasecomment and let us know!


[Bug]: REPORT 10: ALL CITIES BY COUNTRY

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Name
Bobby Walters
Description of the bug?
1.Output column titles need formatting to ALL CAPS
2. When The COUNTRY China was entered, the cities for the United States are displayed.
Version
Develop Branch
Steps to Reproduce the Error
Enter Country
china
Cities by Country: china

City                                Country                                  District                       Population
New York                            United States                            New York                       8008278
Los Angeles                         United States                            California                     3694820
Chicago                             United States                            Illinois                       2896016

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Corrected with bugfix


Error including Servo.h

Hi, when I add a new servo related block the #include <Servo.h> is incomplete:

Hi Carlos, thanks for reporting this. The fix has been delivered in https://github.com/carlosperate/ardublockly/commit/0b4e3e460a58cf2149e1e03e89de350dbfa769cd, so it should be working with the latest master. I'll make sure to update the online demo as well.

Thanks @carlosperate .


Relaying problem still exists!!! :( sadge

After recent hauler updates, is this resolved? Only thing I can think of is excessive remote haulers making a breadline after recent updates.
@CarsonBurke


esp32 + SPIRAM issue

Hi, on esp32 wrover with SPIRAM turned on in menuconfig NVS storage partition is not initialized to read thing key and cert. Here you can see logs:
I (3222) WIFI: SYSTEM_EVENT_STA_GOT_IP
7 3128 [IP-task] vDHCPProcess: offer c0a82ba2ip
8 3134 [iot_thread] [INFO ][DEMO][3134] Successfully initialized the demo. Network type for the demo: 1
9 3134 [iot_thread] [INFO ][MQTT][3134] MQTT library successfully initialized.
10 3136 [iot_thread] [INFO ][Shadow][3136] Shadow library successfully initialized.
11 3136 [iot_thread] [INFO ][DEMO][3136] Shadow Thing Name is test (length 4).
12 3685 [iot_thread] [ERROR][NET][3685] Failed to establish new connection.
13 3686 [iot_thread] [ERROR][MQTT][3686] Failed to establish new MQTT connection, error NETWORK ERROR.
14 3686 [iot_thread] [ERROR][DEMO][3686] MQTT CONNECT returned error NETWORK ERROR.
15 3686 [iot_thread] [INFO ][Shadow][3686] Shadow library cleanup done.
16 3686 [iot_thread] [INFO ][MQTT][3686] MQTT library cleanup done.
17 3686 [iot_thread] [INFO ][DEMO][3686] Demo minimum ever free heap: 4273540 bytes.
18 3693 [iot_thread] [INFO ][COMMON][3693] Common libraries cleanup done.

and here are logs with SPIRAM turned off:
7 3116 [IP-task] vDHCPProcess: offer c0a82ba2ip
8 3122 [iot_thread] [INFO ][DEMO][3120] Successfully initialized the demo. Network type for the demo: 1
9 3122 [iot_thread] [INFO ][MQTT][3122] MQTT library successfully initialized.
10 3122 [iot_thread] [INFO ][Shadow][3122] Shadow library successfully initialized.
11 3122 [iot_thread] [INFO ][DEMO][3122] Shadow Thing Name is test (length 4).
I (3768) PKCS11: Initializing NVS partition: "storage"
12 8139 [iot_thread] [INFO ][MQTT][8139] Establishing new MQTT connection.
13 8140 [iot_thread] [INFO ][MQTT][8140] Anonymous metrics (SDK language, SDK version) will be provided to AWS IoT. Recompile with AWS_IOT_MQTT_ENABLE_METRICS set to 0 to disable.
14 8142 [iot_thread] [INFO ][MQTT][8142] (MQTT connection 0x3ffd292c, CONNECT operation 0x3ffd2a44) Waiting for operation completion.
15 8444 [iot_thread] [INFO ][MQTT][8444] (MQTT connection 0x3ffd292c, CONNECT operation 0x3ffd2a44) Wait complete with result SUCCESS.

As you can see in failed case we are missing NVS initialization from PKCS11 I (3768) PKCS11: Initializing NVS partition: "storage"
Setup:

esp32 wrover
aws-freertos ble-beta branch commit 4fa09aac8140ac05e89d3b7fb88571a6c8318e55

Looking at the code I think the only way that it would behave like this would be if the call to mbedtls_ssl_config_defaults from TLS_Connect in aws_tls.c returns an error. Regretably we are not printing an error message in this case so we will go ahead and add some code to print this error when it happens.
Going a bit deeper it looks like this could fail on a memory allocation error inside of mbed_tls, but I cannot confirm this without reproducing the problem.
I am not 100% sure which version of the code you are using. If you can let me know which commit on which branch I can try to reproduce it and also give you a specific line number, but can you please try the following in the meantime?
Add a print message in aws_tls.c around line 653 to print failure of this call and let us know if this is what you are seeing and what the return error code is.
 /* Start with protocol defaults. */
    if( 0 == xResult )
    {
        xResult = mbedtls_ssl_config_defaults( &pxCtx->xMbedSslConfig,
                                               MBEDTLS_SSL_IS_CLIENT,
                                               MBEDTLS_SSL_TRANSPORT_STREAM,
                                               MBEDTLS_SSL_PRESET_DEFAULT );

        if( 0 != xResult )
        {
            TLS_PRINT( ( "ERROR: Failed to set ssl config defaults %d \r\n", xResult ) );
        }
    }

Hi, thanks for your assistance.
You can find commit that i am using in OP: https://github.com/aws/amazon-freertos/commit/4fa09aac8140ac05e89d3b7fb88571a6c8318e55
I will add logs you are suggesting and let you know.

Hello Chegewara,
Have you been able to get the log as cobusve sugguested?

Hi,
currently i switched to master/release-1.5 and i didnt test it yet. I will close this issue and re-open it when i have more info.


arcyd fsck: continue on failure when fixing clones

When bringing up a new instance of Arcyd that has many repos to clone,
it's useful to be able to continue if some of them fail to clone.
The repositories are independent of each other and it can save time to
clone all that can be cloned at once, then later deal with all the
failures as a batch.
Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/test_shell.sh
    $ cd ../arcyd2/

    # Check that fsck --fix works as expected
    $ rm -rf var/repo/localhost_fs*
    $ arcyd fsck --fix
    .. fixed ..
    $ echo $?
    0

    # Check that fsck --fix continues on fail
    $ rm -rf var/repo/localhost_fs*
    $ rm -rf ../origin/
    $ arcyd fsck --fix
    .. fail on origin1 ..
    .. fix origin2 ..
    $ echo $?
    1

    # Check that origin2 no longer needs fixing
    $ arcyd fsck --fix
    .. fail on origin1 ..

LGTM

Thanks!


Update dependencies to non-vulnerable versions

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[ ] I have tried the npm run clear or yarn clear command.
[ ] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[ ] I have tried creating a repro with https://new.docusaurus.io.
[ ] I have read the console error message carefully (if applicable).

Description
Two packages required by docusaurus are outdated and are throwing security warnings in dependabot.
Please update:

path-to-regexp to 0.1.10
ws to 8.17.1 (ws)

Reproducible demo
No response
Steps to reproduce
This is a dependabot alert. It tries to upgrade dependent packages to non-vulnerable versions.
Expected behavior
Docusaurus packages would be secure and updated.
Actual behavior
Security alerts
Your environment

Public source code:
Public site URL:
Docusaurus version used: 3.5.2
Environment name and version (e.g. Chrome 89, Node.js 16.4):
Operating system and version (e.g. Ubuntu 20.04.2 LTS):

Self-service

[ ] I'd be willing to fix this bug myself.

When evaluating whether something is a vulnerability, you have to look at the attack vector and the respective cost of upgrading.
The first one, path-to-regexp.
$ yarn why path-to-regexp
yarn why v1.22.15
[1/4] 🤔  Why do we have the module "path-to-regexp"...?
[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
=> Found<EMAIL_ADDRESS>info Reasons this module exists
   - "_project_#@docusaurus#core#serve-handler" depends on it
   - Hoisted from "_project_#@docusaurus#core#serve-handler#path-to-regexp"
info Disk size without dependencies: "40KB"
info Disk size with unique dependencies: "40KB"
info Disk size with transitive dependencies: "40KB"
info Number of shared dependencies: 0
=> Found<EMAIL_ADDRESS>info This module exists because "_project_#@docusaurus#core#react-router" depends on it.
info Disk size without dependencies: "40KB"
info Disk size with unique dependencies: "64KB"
info Disk size with transitive dependencies: "64KB"
info Number of shared dependencies: 1
=> Found<EMAIL_ADDRESS>info This module exists because "_project_#@docusaurus#core#webpack-dev-server#express" depends on it.
info Disk size without dependencies: "16KB"
info Disk size with unique dependencies: "16KB"
info Disk size with transitive dependencies: "16KB"
info Number of shared dependencies: 0
✨  Done in 0.64s.

It's depended on by three paths. serve-handler and webpack-dev-server are both dev-only dependencies, so they will never compromise your production environment.
react-router is a production dependency, but if you look at the attack vector, you have to craft your path pattern in a specific way to trigger this ReDos attack. Docusaurus does not output wildcard paths in this format, so it's not a problem for any Docusaurus site unless you also have XSS, in which case you have other problems to worry about.
We do intend to upgrade to react-router v6, but that's a separate project and not done in the name of security. It's a much bigger project too and we haven't gotten to it, but it has always been on our roadmap.
Similarly, ws.
$ yarn why ws
yarn why v1.22.15
[1/4] 🤔  Why do we have the module "ws"...?
[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
=> Found<EMAIL_ADDRESS>info Has been hoisted to "ws"
info Reasons this module exists
   - "workspace-aggregator-12ee0c5d-4f4d-4ef3-b8ab-8f0789939fa5" depends on it
   - Hoisted from "_project_#jest-environment-jsdom#jsdom#ws"
   - Hoisted from "_project_#@docusaurus#core#webpack-dev-server#ws"
   - Hoisted from "_project_#website#<EMAIL_ADDRESS>   - Hoisted from "_project_#website#<EMAIL_ADDRESS>info Disk size without dependencies: "180KB"
info Disk size with unique dependencies: "180KB"
info Disk size with transitive dependencies: "180KB"
info Number of shared dependencies: 0
=> Found<EMAIL_ADDRESS>info This module exists because "_project_#@docusaurus#core#webpack-bundle-analyzer" depends on it.
info Disk size without dependencies: "168KB"
info Disk size with unique dependencies: "168KB"
info Disk size with transitive dependencies: "168KB"
info Number of shared dependencies: 0
✨  Done in 1.15s.

Not going to explain it further but all of these are dev dependencies.
As a closing remark, https://overreacted.io/npm-audit-broken-by-design/ is worth a read on why you should generally not worry about dependabot alerts in Docusaurus projects. We build a static website and the attack vector is extremely narrow, if it even exists.

Partial output of npm audit fix
path-to-regexp  2.0.0 - 3.2.0
Severity: high
path-to-regexp outputs backtracking regular expressions - https://github.com/advisories/GHSA-9wv6-86v2-598j
No fix available
node_modules/serve-handler/node_modules/path-to-regexp
  serve-handler  *
  Depends on vulnerable versions of path-to-regexp

Note No fix available.
advisory GHSA-9wv6-86v2-598j

Affected versions
Patched versions

< 0.1.10
0.1.10

>= 0.2.0, < 1.9.0
1.9.0

>= 2.0.0, < 3.3.0
3.3.0

>= 4.0.0, < 8.0.0
8.0.0

This advisory states that an update to version 3.3.0 is available. Apparently, npm does not know that this version is available.
A manual install can be performed:
npm --prefix ./tmp install<EMAIL_ADDRESS>After this, the newly installed files need to be moved to node_modules/serve-handler/node_modules/path-to-regexp.
Once this is done for several vulnerable packages npm audit shows no more vulnerability notifications. A build showed no errors and the site works ok.

It's depended on by three paths. serve-handler and webpack-dev-server are both dev-only dependencies, so they will never compromise your production environment.

I'd like to bring up a different side, even though I understand that it's an intentional decision not to update development dependencies.

This issue in question has caused all my projects that depend on a cron (not an external bot), to stop working, because npm ci or npm i ends with exit code 1 when detecting vulnerabilities that cannot be fixed by npm audit fix.
For now, I think the only way is to ignore the exit code, but it could allow automatic commits for different errors.
Regardless, thanks in advance for your attention 🦖💙

For context:

@wellwelwel we do accept PRs to fix warnings yes. Just don't overestimate the work it might require just to fix an harmless warning. If we don't fix it immediately, the reason is usually because it's not trivial at all, likely because the dependency is transitive and can't be upgraded without handling breaking changes of another larger library.

It's depended on by three paths. serve-handler and webpack-dev-server are both dev-only dependencies, so they will never compromise your production environment.

@Josh-Cena
I'm looking at the code on npm, and it seems like serve-handler and webpack-dev-server are both dependencies instead of dev-only dependencies?

They are dev dependencies to you—that is they won't be executed in the production environment. But they are real dependencies to us—that is they need to be transitively installed when you install the package. Dev dependencies declared in package.json won't be installed when published.

If serve-handler is used in docusaurus serve and vulnerable to a RegExp DOS attack.
First, we don't particularly recommend using docusaurus serve in production, so at best you are more likely to DOS yourself in dev if only you found a way to exploit this.
Second, path-to-regexp is only used for the serve-handler rewrites/redirects feature, that we don't even use.
So it's technically impossible that even if you tried to DOS yourself using this vulnerability you'd succeed to do it without modifying our internal code.
For this reason, we don't consider this kind of vulnerability to be worth fixing. At least we don't prioritize them unless proven dangerous.
DOS vulnerabilities for a SSG are usually harmless because there's no runtime once the build succeeded. At best your CI job will fail due to the vulnerability.

Hi @slorber - I hope this message finds you well. First, I would like to express our gratitude for your hard work in maintaining docusaurus.
I completely understand your point about the low risk posed by the vulnerability in question, especially given that it's a "dev" dependency and should not be deployed in production environments. However, I would like to offer some perspective from our end, as an organization that must adhere to strict compliance and security standards.
Like many organizations today, we rely heavily on automated security and compliance tooling to ensure the integrity of our software supply chain. These tools often flag any vulnerabilities in our dependencies, whether dev or production, without allowing for much distinction in risk level. Unfortunately, this can place us in a difficult position, as we are obligated to address these flags to meet internal and external security policies.
While the actual risk of this particular issue might be minimal, having a clean security slate across all dependencies—even those only used in development—makes it significantly easier for us to maintain our compliance posture, which is becoming an increasingly important requirement for SaaS platforms like ours.
I kindly ask if you might reconsider updating the sub dependency in question. While I understand this may seem like a minor or low-priority task, this change could make a meaningful difference for organizations in heavily regulated sectors like ours.
Thank you again for your hard work, and I hope you understand our position. We look forward to continuing to use and support docusaurus.

Consider either resolving the dependency to a different version and hoping it works, patching the package locally, or sending a PR to us to update it. As we said, we have priorities and we are not going to invest extra time ourselves simply because some companies have bad security models. We will get to it one day, but the driving force of fixing issues caused by your workflow is ultimately you.

@ryanv-knack I understand your point of view, but we have limited bandwidth and have to arbitrate between shipping meaningful improvements for all Docusaurus users, or investing time fixing warnings for those companies that have strict security requirements like yours.
Your company has strict security requirements and inflexible policies that do not acknowledge the fact a vulnerability could actually be harmless. That's your company's problem, not ours.
Instead of penalizing the Docusaurus ecosystem by reducing our bandwidth to implement new features and useful bug fixes, you should advocate for your company to change its security policies.
I understand that's not what you want to hear, but we don't plan to redirect our efforts to fixing those harmless warnings. Don't underestimate the cost for us to fix all the security warnings we have. Even if they are harmless, fixing all of them could take months, freeze the development of Docusaurus, and lead us to release breaking changes.
If you still want to use Docusaurus and don't plan to fix the inflexible security policies, there are options:

Send us good quality PRs fixing these warnings
Send us money or sponsor a contributor to work on it

It turns out that companies in regulated sectors that have such security policies are usually well-funded and can afford to contribute to the OSS software they use.

It's depended on by three paths. serve-handler and webpack-dev-server are both dev-only dependencies, so they will never compromise your production environment.

[!CAUTION]
What if the dev environment got compromised, which lead to a compromise of the developer's laptop, which further lead to the compromise of the production environment.

High profile cases like this have already happened. FreeBSD comes to mind.

If you still want to use Docusaurus and don't plan to fix the inflexible security policies, there are options:
Send us good quality PRs fixing these warnings
Send us money or sponsor a contributor to work on it

That's probably the attitude that leads to these type of break-ins.
And it doesn't make sense coming from a company with a $1.5 trillion dollar market capitalization.
Perhaps it's time to bring this topic up at the next major security-related event.

Caution
What if the dev environment got compromised, which lead to a compromise of the developer's laptop, which further lead to the compromise of the production environment.
High profile cases like this have already happened. FreeBSD comes to mind.

If a dev environment can be compromised, we'll consider it a top priority to fix. That's not the case here, unless proven otherwise.
As far as I know, the reported vulnerabilities are RegExp DOS that can at best slow down / freeze the dev environment, not compromising it.
 If you have a malicious teammate with Git access, this is more scary than having a local DDOS.

If you still want to use Docusaurus and don't plan to fix the inflexible security policies, there are options:
Send us good quality PRs fixing these warnings
Send us money or sponsor a contributor to work on it

That's probably the attitude that leads to these type of break-ins.
And it doesn't make sense coming from a company with a $1.5 trillion dollar market capitalization.
Perhaps it's time to bring this topic up at the next major security-related event.

You misunderstand how Meta allocates budget to OSS projects, and what it means to adopt MIT-licensed projects.
Let's remind you: https://github.com/facebook/docusaurus/blob/main/LICENSE

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

If these terms do not satisfy you, try another software with paid support and SLAs.

Note serve-handler published v6.1.6 which upgrades path-to-regexp from v2 to v3 and remove one of those "vulnerable" dependencies (path-to-regexp v2).
We'll force all projects to upgrade in Docusaurus v3.6 but you can still upgrade this transitive dep independently.
See also https://github.com/facebook/docusaurus/pull/10587

npx create-docusaurus@latest my-website classic --package-manager npm --javascript
cd my-website
npm audit

If you still have npm audit warnings under v3.5 it's because your transitive dependencies are not resolved to the latest versions. You can regenerate your lockfile.


Deterministic IDs for ExecutionPlan

Is your feature request related to a problem or challenge?
Currently execution plans do not have an id associated with them this makes comparison of metrics across the runs. Additionally we would like to add a UI to our project to display the metrics as well snapshot our plans.
Looking at the code, it seems to me that the the physical_planner does record the node index which is not passed down to map_logical_node_to_physical.
Describe the solution you'd like
It would quite trivial to pass the node index to ExecutionPlan creation step and add additional field operator_id plan_id to ExecutionPlanProperties.
Describe alternatives you've considered
We looked into using task_id field, but it always seems to be set to None.
Additional context
No response

During planning there are couple of physical optimization rules which modify the ExecutionPlan (rules can be found in the link).
Hence, I think proper place to generate id for an ExecutionPlan is the end of all optimizations where ExecutionPlan is finalized (doing this during the conversion from logical plan to physical plan may be premature).
I guess, once ExecutionPlan is finalized, we can generate an id for the plan using TreeNode API.

@ozankabak @alamb taking a look at this again as we are working on snapshotting and UI for Denoramlized. It seems to me that the ideal place to add these is in the PlanProperties with something like
pub struct PlanProperties {     /// See [ExecutionPlanProperties::equivalence_properties]     pub eq_properties: EquivalenceProperties,     /// See [ExecutionPlanProperties::output_partitioning]     pub partitioning: Partitioning,     /// See [ExecutionPlanProperties::execution_mode]     pub execution_mode: ExecutionMode,     /// See [ExecutionPlanProperties::output_ordering]     output_ordering: Option<LexOrdering>,     /// See [ExecutionPlanProperties::node_id]     node_id: Option<usize>, }
with a method on ExecutionPlan to set the node_id (as this isnt available when the compute_properties() is called on the node at creation time.
    /// Sets the node_id for thisExecutionPlannode if it supports node_ids     fn with_node_id(&mut self, _node_id: usize) {} }
Once the final physical plan is generated in create_physical_plan() after all the optimizer passes, we can then visit all the nodes and call "with_node_id" on them. Does this sound like a reasonable approach?

Once the final physical plan is generated in create_physical_plan() after all the optimizer passes, we can then visit all the nodes and call "with_node_id" on them. Does this sound like a reasonable approach?

I do think this sounds reasonable
Some questions and thoughts:

What would be the default value of id (if with_node_id wasn't called)?
You might want to consider an API like pub fn with_node_id(self: Arc<...>, node_id: usize if you can as the ExcutionPlan nodes are almost always Arcd)
I would recommend not showing this id in the explain plan if they change / are not deterministic

Overall sounds reasonable, I will circle back tomorrow after discussing with Synnada folks. Maybe we can upstream some code to help.

What would be the default value of id (if with_node_id wasn't called)?

so was thinking if this isn't set, simply letting it be None in the default. this will be mostly to account for UserDefined ExecutionPlans that haven't overridden that method.

Just cut a PR based on feedback from @alamb

We have been thinking about this, I will reply in the PR


Test Pull request

Fixing licensing

Coverage decreased (-34.04%) to 65.957% when pulling e23a0cf69fff8676ee988185603d3ce394106dc5 on fix-licensing into 0138202aa385c975f9aa606e1bd08c78c74cb187 on master.


Update troubleshoot-dynamic-groups.md to clarify placement of whitesp…

…ace in rule
Pull request guidance
Thank you for submitting your contribution to our support content! Our team works closely with subject matter experts in CSS and PMs in the product group to review all content requests to ensure technical accuracy and the best customer experience. This process can sometimes take one or more days, so we greatly appreciate your patience.
We also need your help in order to process your request as soon as possible:

We won't act on your pull request (PR) until you type "#sign-off" in a new comment in your pull request (PR) to indicate that your changes are complete.

After you sign off in your PR, the article will be tech reviewed by the PM or SME if it has more than minor changes. Once the article is approved, it will undergo a final editing pass before being merged.

@msmimart Thanks for your contribution. I made the change in this PR via a private PR#5461 that's already merged. So, I close this public PR.


Keyboard Input logic

Bevy version
0.4.0
The release number or commit hash of the version you're using.
Operating system & version
Windows 10 with msvn toolchain
What you did

Code Used
use bevy::prelude::*;

fn main(){
    App::build()
        .add_plugins(DefaultPlugins)
        .add_startup_system(setup.system())
        .add_system(player_movement.system())
        .run();
}

fn setup(commands: &mut Commands, mut materials: ResMut<Assets<ColorMaterial>>){
    print!("setup...");
    commands
        .spawn(Camera2dBundle::default())
        .spawn(SpriteBundle{
            material: materials.add(Color::rgb(0.2,0.2,0.8).into()),
            transform: Transform::from_translation(Vec3::new(0.0,0.0,0.0)),
            sprite: Sprite::new(Vec2::new(32.0, 32.0)),
            ..Default::default()
        })
        .with(Player{speed: 200.0});
    println!("  Complete");
}

struct Player{
    speed: f32,
}

fn player_movement(time: Res<Time>,keyboard_input: Res<Input<KeyCode>>,
                   mut query: Query<(&mut Transform, &Player)>){
    for (mut transform, player) in &mut query.iter_mut(){
        let translation = &mut transform.translation;
        let mut direction = Vec2::new(0.0, 0.0);

        if keyboard_input.pressed(KeyCode::Right) {direction.x += 1.0}
        if keyboard_input.pressed(KeyCode::Left) {direction.x -= 1.0}
        if keyboard_input.pressed(KeyCode::Up) {direction.y += 1.0}
        if keyboard_input.pressed(KeyCode::Down) {direction.y -= 1.0}

        translation.x += time.delta_seconds() * direction.x * player.speed;
        translation.y += time.delta_seconds() * direction.y * player.speed;
    }
}

What you expected to happen
If you press two opposites able to move in the other directions, ei right and left pushed movement up and down should be possible.
What actually happened
right and left pressed only able to move down
up and down pressed only able to move right
Additional information
Somethings that I thought would be my fault for Issue, boxes checked if I tried it.

[X] Removed time and speed variables to test
[X] Tried if-statements in different orders
[ ] Tried without Vec2

Just copied and pasted your code above. I'm on windows, bevy 0.4.0 as well. In release and debug builds it works as you've described in your expected behavior (up / down movement is possible with right and left held down).

It's likely that you've discovered the wonderful world of n-key rollover. Some keyboards, mainly old and non-gaming keyboards, are limited in what key combinations they can understand.
Try testing a game and see if pressing the arrow keys acts the same way it does in bevy. Maybe try WASD as well.
And to be fair to keyboard makers they are pretty smart about choosing what combinations do work. Holding two opposing arrow keys is almost always useless, so they assume you wouldn't do that c:

Changing to WASD fixes moving up and down while opposing side to side can't move when up and down at all.
@Devil-Ira Thanks did not know keyboard did that.


Search Sinopia BF Works, Instance, and Items

Currently, options exist for searching all Sinopia resources and selected QA authorities.
For this ticket, add searches for:

"Sinopia BIBFRAME work resources": Search where type="http://id.loc.gov/ontologies/bibframe/Work"
"Sinopia BIBFRAME instance resources": Search where type="http://id.loc.gov/ontologies/bibframe/Instance"
"Sinopia Bibframe Items": Search where type="http://id.loc.gov/ontologies/bibframe/Item"

we still need the filter so that you can filter your search results after the fact, like if you get too many results and want to narrow it down. plus the filter lets you filter by the classes in your search result set, not just BF classes

So, how is this different than just searching Sinopia and then filtering to the desired class?

if you already know in advance what you want to search for, you can do it this way. also this arose when @justinlittman and I were thinking about how to implement #3268, and one idea was that it would be easier to show relationships if we were only showing them for one class at a time, thus user might want to filter results ahead of time. that is no longer part of #3268....but still, we do offer these subsets of Sinopia resources as lookups in templates so it's nice to have the symmetry of them being search options as well

If we implement this, would we want to show a different result display, possibly without the class showing and without the filter for classes (which would likely be redundant)?

Possibly -- let's implement this, see how it looks, and then ticket any additional tweaks (e.g., not showing type filter when only one type in results).

"Sinopia Bibframe Items" is hereby be amended to "Sinopia Bibrame item resources" per https://github.com/LD4P/sinopia_editor/pull/3277#issuecomment-957791122


Fix RuboCop performance offences

Fix Performance/StringReplacement

delete([other_str]+) -> new_str
Returns a copy of str with all characters in the intersection of its
arguments deleted. Uses the same rules for building the set of characters as
String#count.

See http://ruby-doc.org/core-2.0.0/String.html#method-i-delete.

Better performance and I think it actually is more clear :) :+1:


Exercise 4 ImList of ImList

Do I need to do a ImList of ImList...? That's my first instinct but it seems to be very hard to implement, and unnecessarily change ImList code

hi I thought of the same thing initially and yes it will be very hard to implement and also you will run into problems later on when trying to implement your class Puzzle . It will be better if you simply do the formatting in your toString to get the necessary output but leave your Grid2D as a simple ImList

ImList of ImList is possible but I did it using one ImList

Could you explain a little bit why it's not exactly hard to implement? I tried it using OP's said method and I am struggling badly with the add() method    :(

Could you explain a little bit why it's not exactly hard to implement? I tried it using OP's said method and I am struggling badly with the add() method :(

lol did it with just the toString method, got A. no need to touch ImList at all :D

@Wenbo-J
For Grid2D::add() to be easier, you'll need a certain 'trick' that requires you to implement a similar constructor to Grid2D(List<E> list, int numOfCols).

Could you explain a little bit why it's not exactly hard to implement? I tried it using OP's said method and I am struggling badly with the add() method :(

lol did it with just the toString method, got A. no need to touch ImList at all :D

Lol I can imagine how much less troublesome it'd be if I were to restart with a single ImList and just manipulate the toString hhaha

@Wenbo-J
For Grid2D::add() to be easier, you'll need a certain 'trick' that requires you to implement a similar constructor to Grid2D(List list, int numOfCols).

Perhaps a constructor that takes in a Grid2D or an ImList of ImList?
But the time complexity might suffer right?

@Wenbo-J
Those are reasonable guesses!
Time complexity shouldn't be an issue in this module, unlike in CS2040.

Those are reasonable guesses!
Time complexity shouldn't be an issue in this module, unlike in CS2040.

@wilsonwid
Alrighty hhahah i'll go and try

For more detail on Wilson's suggestion, #65 discusses solutions more explicitly!


Find ideas we can reuse from "Commons Lab" (similar app on Play store)

I recently came across "Commons Lab" which is also an Android app with the description "Upload photos, videos, and audios directly from your phone to Wikimedia Commons. No need to transfer your files to your desktop to upload on Wikimedia anymore." I haven't seen this before but the information from Play store states the app was last updated in Oct 2017.
I tried using the app and to be honest the UI seems very nice. It's very simple and allows you to upload Photos, Audio and Video. Also it shows your contributions. It does seem to have it's own bugs. I'm not sure who is maintaining the app but just found it in the wild and noted that it seems to be an app which seems very similar to the "Wikimedia Commons" app. It doesn't seem to have been updated in a while though. So, I thought I could bring it to the notice of people here.
Has anyone heard/seen it before?

Yes I tried it a long time ago, I remember it was lacking in the area of categorization but otherwise a nice app.
Don't hesitate to post more findings about it, things that we should get inspiration from, and screenshots :-) Thanks!

Don't hesitate to post more findings about it, things that we should get inspiration from, and screenshots :-) Thanks!

I think I really should've got the screenshots. The app appears to be gone from play store now. My search to find some other way to get the APK, didn't go well either. So, closing this for now. Do re-open if you find any other way to try out the app.


Failed to use generate when extends from a GitHub repo

Environment
RootDir: C:/Users/esoubiran/dev/ArmoniK.Api/.docs                                                                                15:19:52
Nuxt project info:                                                                                15:19:52

Operating System: Windows_NT
Node Version:     v18.12.1
Nuxt Version:     3.0.0
Nitro Version:    1.0.0
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      app, extends, studio, content
Runtime Modules:  -
Build Modules:    -

Reproduction

Create a project
Push it to GitHub
Create another command
Extends the second from the first using `extends: "github:<1_project_name>"
Run npm run generate in the second project

Describe the bug
 ERROR  [vite]: Rollup failed to resolve import "vue/server-renderer" from "../../../.cache/c12/github_esoubiran-aneo_armonik-docs-theme/components/global/Logo.vue".           15:19:42
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`

 ERROR  [vite]: Rollup failed to resolve import "vue/server-renderer" from "../../../.cache/c12/github_esoubiran-aneo_armonik-docs-theme/components/global/Logo.vue".           15:19:42
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`

  This is most likely unintended because it can break your application at runtime.
  If you do want to externalize this module explicitly add it to
  `build.rollupOptions.external`
  at onRollupWarning (/C:/Users/esoubiran/dev/ArmoniK.Api/.docs/node_modules/vite/dist/node/chunks/dep-5605cfa4.js:45832:19)
  at onwarn (/C:/Users/esoubiran/dev/ArmoniK.Api/.docs/node_modules/vite/dist/node/chunks/dep-5605cfa4.js:45603:13)
  at Object.onwarn (/C:/Users/esoubiran/dev/ArmoniK.Api/.docs/node_modules/rollup/dist/es/shared/rollup.js:23263:13)
  at ModuleLoader.handleResolveId (/C:/Users/esoubiran/dev/ArmoniK.Api/.docs/node_modules/rollup/dist/es/shared/rollup.js:22158:26)
  at /C:/Users/esoubiran/dev/ArmoniK.Api/.docs/node_modules/rollup/dist/es/shared/rollup.js:22119:26

Additional context
No response
Logs
No response

Just a note that if you clone the repo locally and point directly to it the generate command works as expected.

@danielroe , sorry to bother you, I need to choose a scheme between git submodule and extends with github as base repo, and need work with vercel. so, will this problem be fixed in the near future, if not, then I can only choose submodule

Hi @danielroe, reproduction for nossie on Discord.

Project extending: https://stackblitz.com/edit/nuxt-starter-supewq?file=nuxt.config.ts,pages%2Findex.vue
The nuxt layer: https://stackblitz.com/edit/nuxt-starter-mrvhpg?file=README.md,components%2Fcool-component.vue
The nuxt layer (repo): https://github.com/miclgael/nuxt-repro-layers-2

A different (better?) error is produced on Stackblitz with Nuxt 3.6.1
❯ npm run generate

> generate
> nuxt generate

Nuxi 3.6.1                                                          7:02:08 pm
Nuxt 3.6.1 with Nitro 2.5.1                                         7:02:08 pm

[7:02:10 pm]  ERROR  request to https://github.com/miclgael/nuxt-repro-layers-2/archive/main.tar.gz failed, reason: socket hang up

  at FetchBaseError (node_modules/node-fetch-native/dist/shared/node-fetch-native.d7878b77.mjs:4707:9)
  at FetchError (node_modules/node-fetch-native/dist/shared/node-fetch-native.d7878b77.mjs:4735:3)
  at fetch/</< (node_modules/node-fetch-native/dist/shared/node-fetch-native.d7878b77.mjs:6405:11)
  at EventEmitter.prototype.emit (https://nuxtstartersupewq-zip2.w-corp.staticblitz.com/blitz.a19575a2.js:35:143926)
  at v.prototype.emit (https://nuxtstartersupewq-zip2.w-corp.staticblitz.com/blitz.a19575a2.js:35:2139960)
  at socketOnEnd (https://nuxtstartersupewq-zip2.w-corp.staticblitz.com/blitz.a19575a2.js:35:1419556)
  at EventEmitter.prototype.emit (https://nuxtstartersupewq-zip2.w-corp.staticblitz.com/blitz.a19575a2.js:35:144042)
  at v.prototype.emit (https://nuxtstartersupewq-zip2.w-corp.staticblitz.com/blitz.a19575a2.js:35:2139960)
  at endReadableNT (https://nuxtstartersupewq-zip2.w-corp.staticblitz.com/blitz.a19575a2.js:35:545422)
  at _0x3ddf8a (https://nuxtstartersupewq-zip2.w-corp.staticblitz.com/blitz.a19575a2.js:42:151241)
  at _0x4ea91e/< (https://nuxtstartersupewq-zip2.w-corp.staticblitz.com/blitz.a19575a2.js:42:150983)

thanks for tagging me ! @miclgael
so to be sure there is no issue when using a mono repo or npm package (because the code is  located next or inside your project ), but when using the external github/gitlab repo extend it breaks on build

AFAIK, that sounds about correct to me @nossienl :)


continue causes an infinite loop in a switch with fallthrouhghs inside a loop

Using "continue label;" fallthrough in a switch inside a loop changes behavior of the continue statements used inside the switch to continue with the loop. This is happening because of the "for (; true;)" loop generated by the dart2js compiler to implement the switch fallthrough.
For example, in the program below, switch in func1() works, but switches in func2() and func3() cause infinite loops when compiled with dart2js version 2.1.1-dev.3.2 on Linux and run in Chrome.
The difference is that switches in func2 and func3 have a fallthrough statement in case 0, while the switch in func1 does not have fallthroughs.
If it can't be fixed, it would be great to generate either a warning or a compile-time error to detect these infinite cases at compile time.
---------- Test case ------------------------------------------
import "dart:html";
main()
{
func1();
func2();
func3();
}
/////////////////////////////////////
void func1()
{
for( int i=0; i<3; ++i )
{
switch( i )
{
case 0:
window.alert( "case 0" );
break;
   case 1:
     window.alert( "case 1" );
     continue;    /***** Works *****/

   case 2:
     window.alert( "case 2" );
     break;
  }

}
window.alert( "Done 1" );
}
/////////////////////////////////////
void func2()
{
for( int i=0; i<3; ++i )
{
switch( i )
{
case 0:
window.alert( "case 0" );
continue case1;
   case1:
   case 1:
     window.alert( "case 1" );
     continue;    /***** Causes infinite loop *****/

   case 2:
     window.alert( "case 2" );
     break;
  }

}
window.alert( "Done 2" );
}
/////////////////////////////////////
void func3()
{
loop_label:
for( int i=0; i<3; ++i )
{
switch( i )
{
case 0:
window.alert( "case 0" );
continue case1;
   case1:
   case 1:
     window.alert( "case 1" );
     continue loop_label;     /***** Causes infinite loop *****/

   case 2:
     window.alert( "case 2" );
     break;
  }

}
window.alert( "Done 3" );
}

Adjusting the example with a few changes that allow for execution on the command line (with the vm and with dart2js), we get this:
// Cf. SDK issue #36416.
// Variant of the code that will run on the command line.

main() {
  func1();
  func2();
  func3();
}

void func1() {
  for (int i = 0; i < 3; ++i) {
    switch (i) {
      case 0:
        print("case 0");
        break;
      case 1:
        print("case 1");
        continue; // Works.
      case 2:
        print("case 2");
        break;
    }
  }
  print("Done 1");
}

void func2() {
  for (int i = 0; i < 3; ++i) {
    switch (i) {
      case 0:
        print("case 0");
        continue case1;
      case1:
      case 1:
        print("case 1");
        continue; // Loops.
      case 2:
        print("case 2");
        break;
    }
  }
  print("Done 2");
}

void func3() {
  loop_label:
  for (int i = 0; i < 3; ++i) {
    switch (i) {
      case 0:
        print("case 0");
        continue case1;
      case1:
      case 1:
        print("case 1");
        continue loop_label; // Loops.
      case 2:
        print("case 2");
        break;
    }
  }
  print("Done 3");
}

This program runs and terminates on the VM, but it loops when translated with dart2js. So this is a dart2js bug (because the continue statements marked Loops should continue the enclosing loop). Labeled it as such.

continues with fall-through inside switch statement leads to infinite loop in  dart
please fix it
switch(weekDays){
      monday:
    case "monday": print("monday");
      continue thursday;
    case "tuesday":
    case "wednesday":
      thursday:
    case "thursday":print("thursday");
      continue monday;
    case "default":print("default");
  }

continues with fall-through inside switch statement leads to infinite loop in  dart
please fix it
switch(weekDays){
      monday:
    case "monday": print("monday");
      continue thursday;
    case "tuesday":
    case "wednesday":
      thursday:
    case "thursday":print("thursday");
      continue monday;
    case "default":print("default");
  }


bug

Bug Report
Check to see if a bug report already exists.  If you still want to create a new issue please include the information below.
Loading...
(0/6) Loading siad...
(1/6) Loading gateway...
(2/6) Loading consensus...
(3/6) Loading transaction pool...
(4/6) Loading wallet...
(5/6) Loading host...
(6/6) Loading renter...
Finished loading in<PHONE_NUMBER>68 seconds
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111340...
Wallet: scanned to height 111354...
Done!
goroutine 1 [running]:
runtime/debug.Stack(0x1043947, 0x0, 0xc4222a35c0)
/usr/local/go/src/runtime/debug/stack.go:24 +0x79
runtime/debug.PrintStack()
/usr/local/go/src/runtime/debug/stack.go:16 +0x22
github.com/NebulousLabs/Sia/build.Critical(0xc4222a3930, 0x1, 0x1)
/home/luke/go/src/github.com/NebulousLabs/Sia/build/critical.go:16 +0xa7
main.startDaemon(0x0, 0x0, 0x7fff5fbffcef, 0xe, 0x7fff5fbffd1b, 0x5, 0x7fff5fbffd0a, 0x5, 0x0, 0x7fff5fbffd78, ...)
/home/luke/go/src/github.com/NebulousLabs/Sia/siad/daemon.go:311 +0xaa9
main.startDaemonCmd(0xc420089200, 0xc420019310, 0x0, 0x5)
/home/luke/go/src/github.com/NebulousLabs/Sia/siad/daemon.go:335 +0x162
github.com/spf13/cobra.(*Command).execute(0xc420089200, 0xc42000e0d0, 0x5, 0x5, 0xc420089200, 0xc42000e0d0)
/home/luke/go/src/github.com/spf13/cobra/command.go:653 +0x299
github.com/spf13/cobra.(*Command).ExecuteC(0xc420089200, 0x16fce88, 0x3b, 0xc4201588c0)
/home/luke/go/src/github.com/spf13/cobra/command.go:728 +0x339
github.com/spf13/cobra.(*Command).Execute(0xc420089200, 0x1aefba0, 0x16e58f7)
/home/luke/go/src/github.com/spf13/cobra/command.go:687 +0x2b
main.main()
/home/luke/go/src/github.com/NebulousLabs/Sia/siad/main.go:174 +0x7aa
Critical error: accept tcp <IP_ADDRESS>:9980: accept: too many open files in system
Please submit a bug report here: https://github.com/NebulousLabs/Sia/issues
Closing renter...
Environment

Sia version:
OS:

Any useful logs
Feature Request
Check to see if the feature is on the roadmap.  If it is not on the roadmap then clearly describe your feature request and why it would benefit Sia.
Sia roadmap

Duplicate of #2406


Using suiteName?

Awesome work, thx for sharing!
I looked at the source code and read your blog post about it, but couldn't figure a good way to extend for optionally using suiteName. Do you have any suggestions for making this work with NSUserDefaults(suiteName: "my.storage.key")?
It doesn't seem like it would be a trivial change because synchronize() would have to be called in every set, and also still allow to use NSUserDefaults.standardUserDefaults() optionally.
I did something like this here, but I really like your API :). Maybe something like Defaults[SUITE_NAME_CONSTANT][.username]?

One way is to just define in your app:
var SomeOtherDefaults = NSUserDefaults(...)
and use that instead of Defaults.
Would that fix it for you? Or do you need the ability to quickly switch between arbitrary suites?

Ah I didn't realize Defaults is a global variable created for convenience. Do you think in the source code we'll have to add synchronize() after the switch in the set?:
    public subscript(key: String) -> Any? {
        get {
            // return untyped Proxy
            // (make sure we don't fall into infinite loop)
            let proxy: Proxy = self[key]
            return proxy
        }
        set {
            switch newValue {
            case let v as Int: setInteger(v, forKey: key)
            case let v as Double: setDouble(v, forKey: key)
            case let v as Bool: setBool(v, forKey: key)
            case let v as NSURL: setURL(v, forKey: key)
            case let v as NSObject: setObject(v, forKey: key)
            case nil: removeObjectForKey(key)
            default: assertionFailure("Invalid value type")
            }
            synchronize()
        }
    }

From my experience, it won't hurt to call synchronize() even if the user defaults is not using a suiteName.

I think it'd be handy to set global suiteName once, somewhere early (e.g.  in AppDelegate):
Defaults.suiteName = "group.my.appGroup"
And all consecutive calls to Defaults would then return NSUserDefaults object created for this specific suite. From my experience, you rarely need to keep multiple different sets of user defaults (and when you want that, @radex's method of introducing another global variable is probably the best).
But for most use cases (e.g. sharing Defaults with app extensions), I believe juggling with two different Defaults objects is suboptimal because it's possible to end up with wrong defaults object which may be a source of obscure bugs.
A technical note, I don't think this would be possible without subclassing NSUserDefaults which is not as elegant as having Defaults as a global variable and may introduce a set of other issues.

Similarly, Defaults.synchronizeOnChange = true would be awesome. Calling synchronize on every change all the time may introduce performance issues in certain cases because it actually saves to disk behind the scenes. But when you run in the debug mode or in app extension's target, you may loose data saved to defaults unless you manually call Defaults.synchronize() each time you change something because the system may kill the process suddenly to the best of my understanding (and in the case of running from Xcode, if you stop the project just at the right time, it won't save either).
So, giving this option to the user would be more elegant than synchronizing manually.

I think it'd be handy to set global suiteName once, somewhere early (e.g. in AppDelegate):
Defaults.suiteName = "group.my.appGroup"

I'd much prefer the declarative version:
var Defaults = NSUserDefaults(suiteName: ...)

This is cleaner to me, and has the advantage that you can put it in a separate file you can share between targets...

you may loose data saved to defaults unless you manually call Defaults.synchronize() each time you change something because the system may kill the process suddenly, to the best of my understanding (and in the case of running from Xcode, if you stop the project just at the right time, it won't save either).

You could be right, but all I keep hearing (from @Catfish-Man on Twitter, mostly) is that calling synchronize() is essentially not necessary.

Yes, synchronize is mostly a relic of a bygone age. These days, setting a value immediately calls xpc_connection_send_message() with the data, so you'd have to be really fast on the stop button to lose it.

@Catfish-Man Thank you for the info!

Ok, so:

synchronize seems to be unnecessary save for some very extreme conditions, so I don't see a reason to add it to SUD
you can define a var Defaults = NSUserDefaults(suiteName: ...) in your own module to shadow the Defaults shortcut defined by the library.

I'm closing this for now, but let me know if I missed something from the discussion.

so for example on the init of my viewcontroller i just need to do var Defaults = NSUserDefaults(suiteName: ...) on each viewcontroller or class that needs the access to the userdefaults?

i see a method named .addSuiteNamed can i just use that on the appdelegate?


patch merge_views to handle missing case

When vm1 is contiguous and size of vm1 and vm2 match, then merge_views(vm2, vm1) must be vm2 reshaped to vm1 , if the reshape is possible.
benchmarks:
SEED=6961 CNT=10000 CHECK_NEQ=1 FUZZ=plus PYTHONPATH="." python3 test/external/fuzz_shapetracker_math.py

with SEED=6961,
master:
same but unequal 5.54%
branch:
same but unequal 5.42%
with SEED=5115,
master:
same but unequal 6.05%
branch:
same but unequal 5.90%

this feels quite marginal, does it fix all vm1.contiguous case?

this feels quite marginal, does it fix all vm1.contiguous case?

No it doesn't. And yeah this is marginal, but don't we care about correctness, as we wanted to remove st.real_strides() from merge_views? https://github.com/tinygrad/tinygrad/issues/3163

@chenyuxyz Ideally, this shouldn't even be a case as reshapes would merge the views if its possible. This is probably due to the way we are comparing the ShapeTrackers using st_equal (we add backup to the front of the other shapetracker and then simplify...)

Is there a more generic way to write this? I don't think it's worth the marginal gain


DataLoader2 with reading service

For user dev and onboarding experience of the data component, we will provide examples, tutorials, up-to-date documentations as well as the operational support. We added a simple train loop example. This is to further track adding the uscase and example of DataLoader2 with different reading services.

Closing this as documentation has been added. If additional content is needed, please comment on #763.

Yeah, this makes sense. Thanks. We can also refer to the train loop under examples folder.


clicking on the window, group entry should reveal /focus that window

Testing #196195
I have two windows open with no editors and cannot access them from this view.

Nice.


[MRG] DOC: incomplete example

Looks like part of the example was accidentally deleted in #254 . This is just bringing it back

Codecov Report

Merging #273 (6c03536) into master (7f050b9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #273   +/-   ##
=======================================
  Coverage   52.83%   52.83%
=======================================
  Files          24       24
  Lines        2843     2843
=======================================
  Hits         1502     1502
  Misses       1341     1341

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 7f050b9...6c03536. Read the comment docs.

Please go for it! I'm on #255 now :)

Alright, merging now, assuming we don't need 2 reviews on PRs of this extent :)


Passing dynamic settings

Hi, would it be possible to pass settings dynamically when starting the worker? For example:
def start(
    settings_obj: dict = None,
    settings: Path = None,
    web: bool = False,
    extra_web_settings: list[str] | None = None,
    port: int = 8080,
) -> None:
    if settings_obj is None:
        settings_obj = import_settings(settings)

This would allow starting the worker from another process with dynamic settings, instead of writing them to a file and then passing the path.
Also, as an aside, I think we could pass the settings as a Path object rather than a string.
thanks!

possibly? feel free to make a non-breaking PR that demonstrates this


Unavailable in FDroid

Hello, I was looking for the app in FDroid and it is unavailable.
Could you solve this?
I have also found a GreenTooth app from GTPL in Google play store, so maybe you could change the name of your app to avoid legal issues.
Thank you.

Hi,
This isn't the home of the original app, just a small modification to
Nicklas Bergman's work. You can find the actual repository here:
https://gitlab.com/nbergman/greentooth
Anyway, apparently the proper Greentooth was moved to the F-Droid Archive
repository. If you enable the F-Droid Archive repository in your client, it
should show up, or you can get an APK directly from here:
https://apt.izzysoft.de/fdroid/index/apk/com.smilla.greentooth?repo=archive
On Mon, 14 Oct 2024 at 08:35, DR4C0L1CH @.***> wrote:

Hello, I was looking for the app in FDroid and it is unavailable.
Could you solve this?
I have also found a GreenTooth app from GTPL in Google play store, so
maybe you could change the name of your app to avoid legal issues.
Thank you.
—
Reply to this email directly, view it on GitHub
https://github.com/qwerty12/greentooth/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACLOEA6F7MDDZBIELUP6BLZ3NX3JAVCNFSM6AAAAABP4LVQUSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU4DKMBYGIYDQNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Windows support?

Hi, your readme is a little confusing - it says "This is a little C library for Linux based operating systems", however there does seem to be some Windows-specific stuff in here.
I want to be able to read input from an SC in my remapping application (UCR) which is a Windows C# app.
Would it be possible to use this library to read input from the SC from arbitrary C# code?

To clarify, if I try to run the C# test app, I get

I notice that the dlls are baked into the repo, so I am not sure the Test app is targetting the right SteamController.dll?:

Finally got it all building. Cleaned up the repo a bit too.
https://github.com/evilC/steamcontroller

Finally got it all building. Cleaned up the repo a bit too.
https://github.com/evilC/steamcontroller

Thank you so much for this, I have it running on Windows 10 desktop.

Finally got it all building. Cleaned up the repo a bit too. https://github.com/evilC/steamcontroller

Hi!, Sorry for this late question.. I'm having the same Sytem.EntryPointNotFoundExeption error on your repo too. How you managed to fix this? I'm on VS 2022.
Thanks.

Finally got it all building. Cleaned up the repo a bit too. https://github.com/evilC/steamcontroller

Hi!, Sorry for this late question.. I'm having the same Sytem.EntryPointNotFoundExeption error on your repo too. How you managed to fix this? I'm on VS 2022. Thanks.

Never mind.. The release SteamController.dll wasn't working for me, I,ve used CMake to build from source and it's working now.


Fix Missing link to the Host page from the HANA Cluster page

Fix Missing link to the Host page from the HANA Cluster page
Resolves #155


Use newest version of HighCharts

It looks like the versions of Vue and HighCharts are locked to this:
  "dependencies": {
    "highcharts": "^5.0.7",
    "vue": "^2.1.0"
  },

Is this correct, if yes - how do I use different/newest versions?

I can now see that this has nothing to do with the version that's actually imported and used :) Sorry


chmod +x moonstrap.sh

kinda ultimately superfluous. how hard is it to sh moonstrap.sh?

I think it's expected behavior for scripts like this.


Filter Preflight only headers v2 + allowCredentials option

Simular to #32 but without style changes

@infernalmaster Thank you!

Thanks to @SteveALee and #32 for leading the initiative.


No code hints

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.63.2 (Universal)
OS Version: macOS Monterey 12.0.1

Steps to Reproduce:

No code hints;
No JS or TS code prompts for reinstalling software or reconfiguring settings.json files;

Does this reproduce in the latest VS Code insiders build with all extensions disabled?
/needsMoreInfo


shaded jar lose necessary bk jar to execute

BUG REPORT

Please describe the issue you observed:

What did you do?
run LocalDLMEmulator using shaded/bk-shade jar
What did you expect to see?
no failure
What did you see instead?
bookie start fail

the failure test is here
https://github.com/ArvinDevel/shennong/issues/1


JSON file causing infinite loop?

json_parse_file() seems to get hung parsing the JSON file downloaded from this web page:
https://clublog.freshdesk.com/support/solutions/articles/3000064883-list-of-club-log-and-lotw-users
I'm using the sources from:  kgabis-parson-0341880.zip
I was able to parse it no problem in Perl.

It works but takes forever because parson uses an array instead of a dictionary to implement objects. So adding a value to object takes O(n) and this file has over 150k objects. I know it's terrible and after a certain number of keys current implementation should be replaced with a dictionary but I don't plan on doing this because implementing it would take a lot of time and possibly introduce many bugs.

Thanks.


Add instruction to see effect of Http404 in action

I added a short but clear instruction to describe how the Http404 page can be displayed.
For that I used previous parts and terminonogies of the tutorial.

Closing per ticket-32931.


#866 [HxAutosuggest, HxSearchBox] Clickable area for reset input is too small, #604 [HxTreeView] Collapse area smaller than expand

I chose to use the second suggested solution as this is already done this way in HxSearchBox.


Copying groups from one dartboard to another doesn't bring their constraints along.

Missing this option too

So it the new method in the main branch now?

Yes.

Thank you so much!


Detailed architecture of ReadOut and code for MDNSal?

Thanks for the nice work.
Could you please release the code for MDNSal?
"The readout architecture con- sists of a convolutional layer to reduce the number of channels followed by a ReLU. " But the detailed number of channels and kernel size is not clear. Thanks.

Could you please release the code for MDNSal? Thanks!


Deeplinks being rendered as plain text

Issue Summary
Sengrid does not render deeplinks in emails. The links are rendered as plain text
Steps to Reproduce

Create a transactional template on the dashboard
Add a text/button with a href having an intent for example:
intent://myapphere#Intent;scheme=http;package=com.app;end
Send this via email and the text/button only has text. Its no longer a link

Any other information you want to share that is relevant to the issue being reported. Especially, why do you consider this to be a bug? What do you expect to happen instead?
Technical details:

sendgrid-nodejs Version: 6.3.1
Node.js Version: 10.5.0

Hello @ikiugu,
Thanks for submitting a GitHub issue! We are very sorry that you are running into this problem. In order to better serve you, as this does not present itself as a library specific issue, we would like to ask that you reach out to our support team at https://support.sendgrid.com.
Thank you!
SendGrid DX Team


Dockerfile.saithrift-client has a static tag in the FROM instruction

The idea is that we are pulling the latest image of saithrift-client-bldr to build local saithrift-client container.
So when there are any updates in Dockerfile.saithrift-client-bldr, its md5 is changed and a new image is built - and saithrift-client has to use it.
But, since Dockerfile.saithrift-client has a static tag pointing to the 220819 tag, the new bldr container won't be used.

Not a bug, paves the way for self-maintaining build environment (nice to have)


Documentation not being displayed properly in Chrome - 16.04

Chrome: Version 72.0.3626.96
Pb: After
make doc

when going to
doc/doxygen-html/md_doc_a-features_a-spatial.html

I got the following blank page:

Where as it is displayed properly on Firefox.
Any idea why ?
Branch devel, commit 3ffa704d9612dc87fbdbbeeda8df8d070f8dd0d3

This is surprising because the doc is working properly in Chrome on my (old) Macbook (El Capitan).

The developer tools contains a tab that lists the errors. Can you provide them ?

Nothing more than this:
MathJax.js:32 WARNING: cdn.mathjax.org has been retired. Check https://www.mathjax.org/cdn-shutting-down/ for migration tips.

Not sure that this is really related.

I will close this issue. @olivier-stasse feel free to reopen it if needed.


Warn Language key

Loading libraries, please wait...

[16:31:26] [Server thread/INFO]: Starting minecraft server version 1.14.4
[16:31:26] [Server thread/INFO]: Loading properties
[16:31:27] [Server thread/INFO]: This server is running CraftBukkit version git-Spigot-9de398a-9c887d4 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)
[16:31:27] [Server thread/INFO]: Debug logging is enabled
[16:31:27] [Server thread/INFO]: Server Ping Player Sample Count: 12
[16:31:27] [Server thread/INFO]: Using 4 threads for Netty based IO
[16:31:27] [Server thread/INFO]: Default game type: SURVIVAL
[16:31:27] [Server thread/INFO]: Generating keypair
[16:31:28] [Server thread/INFO]: Starting Minecraft server on *:25565
[16:31:28] [Server thread/INFO]: Using default channel type
[16:31:53] [Server thread/WARN]: Plugin MVdWPlaceholderAPI v3.0.1 does not specify an api-version.
[16:31:53] [Server thread/WARN]: Plugin PermissionsEx v1.23.4 does not specify an api-version.
[16:31:53] [Server thread/WARN]: Plugin PrisonRanksX v2.5.8 does not specify an api-version.
[16:31:56] [Server thread/WARN]: Plugin QuickBoard v4.3.0 does not specify an api-version.
[16:31:56] [Server thread/INFO]: [MVdWPlaceholderAPI] Loading MVdWPlaceholderAPI v3.0.1
[16:31:56] [Server thread/INFO]: [PlaceholderAPI] Loading PlaceholderAPI v2.10.5
[16:31:56] [Server thread/INFO]: [PermissionsEx] Loading PermissionsEx v1.23.4
[16:31:56] [Server thread/WARN]: [PermissionsEx] This server is in offline mode. Unless this server is configured to integrate with a supported proxy (see http://dft.ba/-8ous), UUIDs may not be stable!
[16:31:56] [Server thread/INFO]: [ChatControl] Loading ChatControl v5.8.7
[16:31:56] [Server thread/INFO]: [LangUtils] Loading LangUtils v2.2.22
[16:31:56] [Server thread/INFO]: [Vault] Loading Vault v1.7.2-b107
[16:31:56] [Server thread/INFO]: [PrisonRanksX] Loading PrisonRanksX v2.5.8
[16:31:56] [Server thread/INFO]: [MyCommand] Loading MyCommand v5.6.2
[16:31:56] [Server thread/INFO]: [ProtocolSupport] Loading ProtocolSupport v4.29-dev
[16:31:57] [Server thread/INFO]: [ProtocolSupport] Detected Spigot server implementation type
[16:31:57] [Server thread/INFO]: [ProtocolSupport] Login threads keep alive time: 60
[16:31:57] [Server thread/INFO]: [ProtocolSupport] Status threads max count: 2, keep alive time: 60
[16:31:57] [Server thread/INFO]: [ProtocolSupport] Assume 1.5.2 ping delay: 100
[16:31:57] [Server thread/INFO]: [ProtocolSupport] Assume legacy ping delay: 200
[16:32:23] [Server thread/INFO]: [ProtocolSupport] Compression level: 3
[16:32:23] [Server thread/INFO]: [ProtocolLib] Loading ProtocolLib v4.5.0
[16:32:24] [Server thread/INFO]: [Shopkeepers] Loading Shopkeepers v2.9.2
[16:32:25] [Server thread/INFO]: [Shopkeepers] Loading config.
[16:32:25] [Server thread/WARN]: [Shopkeepers] Could not find language file 'plugins\Shopkeepers\language-es.yml'!
[16:32:25] [Server thread/INFO]: [Shopkeepers] Registering defaults.
[16:32:25] [Server thread/INFO]: [Essentials] Loading Essentials v<IP_ADDRESS>
[16:32:25] [Server thread/INFO]: [EssentialsProtect] Loading EssentialsProtect v<IP_ADDRESS>
[16:32:25] [Server thread/INFO]: [QuickBoard] Loading QuickBoard v4.3.0
[16:32:25] [Server thread/INFO]: [EssentialsChat] Loading EssentialsChat v<IP_ADDRESS>
[16:32:25] [Server thread/INFO]: [EssentialsAntiBuild] Loading EssentialsAntiBuild v<IP_ADDRESS>
[16:32:25] [Server thread/INFO]: [EssentialsSpawn] Loading EssentialsSpawn v<IP_ADDRESS>
[16:32:25] [Server thread/INFO]: [NyaaCore] Loading NyaaCore v7.0.341
[16:32:25] [Server thread/INFO]: [NyaaCore] NyaaCore internalMap loaded: en_US
[16:32:25] [Server thread/INFO]: [NyaaCore] NyaaCore internalMap loaded: zh_CN
[16:32:25] [Server thread/INFO]: [RPGItems] Loading RPGItems v3.8-16
[16:32:25] [Server thread/INFO]: [RPGItems] Plugin serial: '0', native version: 'null', server version: '1.14.4'.
[16:32:25] [Server thread/INFO]: [RPGItems] Loading powers...
[16:32:26] [Server thread/INFO]: [RPGItems] Powers loaded.
[16:32:27] [Server thread/INFO]: [Vault] Enabling Vault v1.7.2-b107
[16:32:27] [Server thread/INFO]: [Vault] [Economy] Essentials Economy found: Waiting
[16:32:27] [Server thread/INFO]: [Vault] [Permission] PermissionsEx found: Waiting
[16:32:27] [Server thread/INFO]: [Vault] [Permission] SuperPermissions loaded as backup permission system.
[16:32:27] [Server thread/INFO]: [Vault] [Chat] PermissionsEx found: Waiting
[16:32:27] [Server thread/INFO]: [Vault] Enabled Version 1.7.2-b107
[16:32:27] [Server thread/INFO]: [ProtocolSupport] Enabling ProtocolSupport v4.29-dev
[16:32:27] [Server thread/INFO]: [ProtocolLib] Enabling ProtocolLib v4.5.0
[16:32:27] [Server thread/INFO]: [ProtocolLib] Started structure compiler thread.
[16:32:27] [Server thread/WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
[16:32:27] [Server thread/WARN]: The server will make no attempt to authenticate usernames.  Hooked on Vault 1.7.2-b107
[16:36:06] [Server thread/INFO]: | Command file(s) found : 1
[16:36:06] [Server thread/INFO]: | Config : Ready.
[16:36:06] [Server thread/INFO]: | PlaceholderAPI: Hooked, Ok.
[16:36:06] [Server thread/INFO]: | Custom commands loaded : 5
[16:36:06] [Server thread/INFO]: | Version: 5.6.2
[16:36:06] [Server thread/INFO]: | Author : emmerrei a.k.a Ivanpro
[16:36:10] [Thread-8/WARN]: [PermissionsEx] The updater could not find any files for the project id 31279
[16:36:10] [Server thread/INFO]: | You are running the latest version of MyCommand.
[16:36:10] [Server thread/INFO]: -=-=-=-=-=-=-=-=-=-   Done!   -=-=-=-=-=-=-=-=-=-=-
[16:36:10] [Server thread/INFO]: [Shopkeepers] Enabling Shopkeepers v2.9.2
[16:36:10] [Server thread/INFO]: [Shopkeepers] Config already loaded.
[16:36:10] [Server thread/INFO]: [Shopkeepers] Language file already loaded.
[16:36:10] [Server thread/INFO]: [Shopkeepers] Spigot-based server found: Enabling Spigot exclusive features.
[16:36:10] [Server thread/INFO]: [Shopkeepers] Defaults already registered.
[16:36:11] [Server thread/INFO]: [Shopkeepers] Loading data of 1 shopkeepers..
[16:36:13] [Server thread/INFO]: [Essentials] Enabling Essentials v<IP_ADDRESS>
[16:36:14] [Server thread/INFO]: [Essentials] Using 1.8.3+ BlockStateMeta provider as mob spawner provider.
[16:36:14] [Server thread/INFO]: [Essentials] Using 1.13+ flat spawn egg provider as spawn egg provider.
[16:36:14] [Server thread/INFO]: [Essentials] Using 1.9+ BasePotionData provider as potion meta provider.
[16:36:15] [Server thread/INFO]: Loaded 21018 items from items.json.
[16:36:15] [Server thread/INFO]: Using locale es
[16:36:15] [Server thread/INFO]: [Essentials] ServerListPingEvent: Spigot iterator API
[16:36:15] [Server thread/INFO]: [Essentials] Starting Metrics. Opt-out using the global bStats config.
[16:36:15] [Server thread/INFO]: [Vault] [Vault][Economy] Essentials Economy hooked.
[16:36:15] [Server thread/INFO]: [Essentials] Using Vault based permissions (PermissionsEx)
[16:36:15] [Server thread/INFO]: [EssentialsProtect] Enabling EssentialsProtect v<IP_ADDRESS>
[16:36:15] [Server thread/INFO]: [EssentialsProtect] Continuing to enable Protect.
[16:36:15] [Server thread/INFO]: [QuickBoard] Enabling QuickBoard v4.3.0
[16:36:15] [Server thread/INFO]: [QuickBoard] ------------------------------
[16:36:15] [Server thread/INFO]: [QuickBoard]           QuickBoard
[16:36:15] [Server thread/INFO]: [QuickBoard] Listeners registered
[16:36:15] [Server thread/INFO]: [QuickBoard] Loading scoreboards
[16:36:15] [Server thread/INFO]: [QuickBoard] Loaded 'scoreboard.default.yml' with permission 'scoreboard.default'
[16:36:15] [Server thread/INFO]: [QuickBoard] Scoreboards loaded
[16:36:15] [Server thread/INFO]: [QuickBoard] Config registered
[16:36:15] [Server thread/INFO]: [QuickBoard] Update Tasks started
[16:36:15] [Server thread/INFO]: [QuickBoard] Command 'quickboard' enabled
[16:36:15] [Server thread/INFO]: [QuickBoard]           QuickBoard
[16:36:15] [Server thread/INFO]: [QuickBoard] ------------------------------
[16:36:15] [Server thread/INFO]: [EssentialsChat] Enabling EssentialsChat v<IP_ADDRESS>
[16:36:15] [Server thread/INFO]: [EssentialsAntiBuild] Enabling EssentialsAntiBuild v<IP_ADDRESS>
[16:36:15] [Server thread/ERROR]: º4═tem desconocido 10 en protect.alert.on-placement lista.
[16:36:15] [Server thread/ERROR]: º4═tem desconocido 11 en protect.alert.on-placement lista.
[16:36:15] [Server thread/ERROR]: º4═tem desconocido 46 en protect.alert.on-placement lista.
[16:36:15] [Server thread/ERROR]: º4═tem desconocido 327 en protect.alert.on-placement lista.
[16:36:15] [Server thread/ERROR]: º4═tem desconocido 327 en protect.alert.on-use lista.
[16:36:15] [Server thread/ERROR]: º4═tem desconocido 10 en protect.blacklist.placement lista.
[16:36:15] [Server thread/ERROR]: º4═tem desconocido 11 en protect.blacklist.placement lista.
[16:36:15] [Server thread/ERROR]: º4═tem desconocido 46 en protect.blacklist.placement lista.
[16:36:15] [Server thread/ERROR]: º4═tem desconocido 327 en protect.blacklist.placement lista.
[16:36:15] [Server thread/ERROR]: º4═tem desconocido 327 en protect.blacklist.usage lista.
[16:36:15] [Server thread/INFO]: [EssentialsSpawn] Enabling EssentialsSpawn v<IP_ADDRESS>
[16:36:15] [Server thread/INFO]: [NyaaCore] Enabling NyaaCore v7.0.341
[16:36:15] [Server thread/ERROR]: [NyaaCore] CraftBukkit Mapping changed! Use with caution!
[16:36:15] [Server thread/INFO]: [RPGItems] Enabling RPGItems v3.8-16
[16:36:17] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
[16:36:17] [Server thread/INFO]: [PlaceholderAPI] Placeholder expansion registration initializing...
[16:36:17] [Server thread/INFO]: [RPGItems] Loading RPGItems...
[16:36:18] [Server thread/WARN]: [RPGItems] Missing language key: message.item.empty_dir
[16:36:18] [Server thread/INFO]: MISSING_LANG<message.item.empty_dir>#<plugins\RPGItems\items>
[16:36:18] [Server thread/INFO]: [RPGItems] Done
[16:36:18] [Server thread/INFO]: Done (230.431s)! For help, type "help"
[16:36:18] [Craft Scheduler Thread - 2/INFO]: [Vault] Checking for Updates ...
[16:36:19] [Craft Scheduler Thread - 4/INFO]: Trying to get new version of QuickBoard...
[16:36:19] [Craft Scheduler Thread - 1/INFO]: [PlaceholderAPI] 169 placeholder expansions are available on the cloud.
[16:36:20] [Craft Scheduler Thread - 2/INFO]: [Vault] No new version available
[16:36:22] [Craft Scheduler Thread - 4/INFO]: Current QuickBoard version: 4.3.0
[16:36:22] [Craft Scheduler Thread - 4/INFO]: Web QuickBoard version: 4.3.0
[16:41:29] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 11798ms or 235 ticks behind
[16:49:32] [LoginProcessingThread/INFO]: UUID of player xJRGreen15 is 282ace81-7d21-3333-9a65-981fce6f9b15
[16:49:40] [Server thread/INFO]: xJRGreen15[/<IP_ADDRESS>:54305] logged in with entity id 115 at ([world]356.95992042340293, 70.83289016850279,<PHONE_NUMBER>1731643)
[16:49:41] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 8550ms or 171 ticks behind
[16:50:41] [Server thread/INFO]: xJRGreen15 issued server command: /day
[16:50:42] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 30650ms or 613 ticks behind
[16:50:58] [Server thread/INFO]: xJRGreen15 issued server command: /mobkill all
[16:51:08] [Server thread/INFO]: xJRGreen15 issued server command: /fly
[16:51:11] [Server thread/INFO]: [Shopkeepers] Player xJRGreen15 is interacting (HAND) at entity at Location{world=CraftWorld{name=world},x=328.5,y=63.99999999999999,z=402.5,pitch=0.0,yaw=-53.772854}
[16:51:11] [Server thread/INFO]: [Shopkeepers]   Cancelling entity interaction
[16:51:11] [Server thread/INFO]: [Shopkeepers]   Ignoring InteractAtEntity event
[16:51:11] [Server thread/INFO]: [Shopkeepers] Player xJRGreen15 is interacting (HAND) with entity at Location{world=CraftWorld{name=world},x=328.5,y=63.99999999999999,z=402.5,pitch=0.0,yaw=-53.772854}
[16:51:11] [Server thread/INFO]: [Shopkeepers]   Cancelling entity interaction
[16:51:11] [Server thread/INFO]: [Shopkeepers] Opening UI 'trading' ...
[16:51:11] [Server thread/INFO]: [Shopkeepers] UI 'trading' session started for player 'xJRGreen15'.
[16:51:20] [Server thread/INFO]: [Shopkeepers] Player xJRGreen15 closed UI 'trading'.
[16:51:20] [Server thread/INFO]: [Shopkeepers] UI 'trading' session ended for player 'xJRGreen15'.
[16:51:21] [Server thread/WARN]: Can't keep up! Is the server overloaded?  Is the server overloaded? Running 24226ms or 484 ticks behind
[16:52:42] [Server thread/INFO]: xJRGreen15 left the game
[16:57:50] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 8473ms or 169 ticks behind
[17:07:50] [Craft Scheduler Thread - 11/INFO]: [PrisonRanksX] Saving data...
[17:07:50] [Craft Scheduler Thread - 11/INFO]: [PrisonRanksX] Data saved, took (9 ms).
[17:07:51] [Craft Scheduler Thread - 11/INFO]: Trying to get new version of QuickBoard...
[17:07:52] [Craft Scheduler Thread - 11/INFO]: Current QuickBoard version: 4.3.0
[17:07:52] [Craft Scheduler Thread - 11/INFO]: Web QuickBoard version: 4.3.0

Ignore it.  It is not done yet.

Sorry my spelling but English is not my language , I use google to translate xd, but what do you mean Ignore it. Not done yet?

The language yml template is compatible for 3.8 .

That version 3.8 works with spigot 1.14.4, if so please would you like me to pass a link or something to search and download. Thank you


Create a date calculator widget as a web component

Overview
A widget for calculating the date should be placed in bottom right of the application. It would like like a chat widget which we see in many apps. It should be possible to hide and show the component.
Design needs to be finalized.
Advantage of creating it as web component is that, it can be imported in other epic.xxx applications if required.

@dinesh-aot @maria-kuzmenko @dinesh-aot  What about the design? do we have designs for this?


BUG: Stop building ncurses for now

@tacaswell reports that build #7 (the current build in
auto-build-tagged-recipes is causing segfaults.  He will work on fixing
this, but the solution for now is to use build #6.

I have removed the build 7 package from nsls2-tag and am going to self-merge so that this build that is causing segfaults does not re-appear.  Sorry for the hassle.


Allow customizing the tokenField

We should allow the client to use any fieldname in place of accessToken.  It's currently hard coded to accessToken, here: https://github.com/feathersjs/feathers-authentication-client/blob/master/src/passport.js#L235
I propose setting up a tokenField option to allow this.  This would solve https://github.com/feathersjs/feathers-authentication/issues/478

Could you not just use a client side hook to translate to and from accessToken to the key name you want? I kind of wanted to reduce the number of config options because we had issues with so many in the last auth version. Also, when we bring in refresh token support I'd want to norm on refreshToken.
I'm not totally averse to having these customizable but I think it's less likely that people would need to do so.  feathersjs/feathers-authentication#478 seems to be a bit of an edge case.

Oh, good point @ekryski.
@prime-ralph, can you try this before you finish your PR?

It just so happened that, while we may have these norms, there are existing endpoint implementations that deviate from those, and well, there are some of us who take the brunt of it. But yeah, it is an edge case lol.
Yeah, suddenly it clicked for me as well, the use of client side hooks. I hadn't thought of that. Thanks for the guidance! 😄

Yeah, let us know if that works for you. If not, we can totally investigate further but in order to pursue the custom option we'll likely need the option server side as well and we'd need to try and toss some intelligent warnings/errors in the event that people set the value only on the server or the client.
Let us know how it goes...

Here's how it ended up for me. https://github.com/feathersjs/feathers-authentication/issues/478#issuecomment-293169501

Thanks @prime-ralph.  I'm glad it worked.
I no longer feel like it's necessary to implement this as an option.  A hook offers infinite flexibility.  I'd prefer to steer folks to use hooks, since this works great.  I'm going to close this, but feel free to reopen @ekryski.

Nope. I agree that hooks are a better option (they usually are once you remember you can use them on the client too).