Add clearer directions for custom test suite vars in Makefile.

resolves #6689
Description
The makefile is being used by community members after all! Hooray! Except, it's unclear how to use it. Booo.
Fixing that up:

more explicit comments
a dedicated spot in the Makefile for users to add "overrides"

History
I remember now! We did it this way because at the time it was super unclear how to inline an if-else in 1976's GNU Make. Well, I found a jacked up way to do it with filter!
Checklist

[ ] I have read the contributing guide and understand what's expected of me
[ ] I have signed the CLA
[ ] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[ ] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[ ] I have run changie new to create a changelog entry

For testing this, I made sure with echo that the command was being rendered properly.

1. `make integration`
2. `USE_DEFAULT_FLAGS=true make integration`
2. `USE_DEFAULT_FLAGS=false make integration`

Additional test case since I realize I should show how the new system works when you've commented the custom ci flags var in the Makefile.

Yeah, that's one way to do it. With so many though, and thinking how unix environment variable overriding might not be the most intuitive thing, that dbt users might prefer a way to just load up their Makefile and forget about it rather than reconstructing the massive env_var string on the command line every time. 🤷♀ Like what you said is true, and I wish I would have said in the PR originally that I had considered this.
But suffice to say, my guess was that wasn't the right solution for here since we like to template out everything for users.
If we trust that anyone using the Makefile is a power user who can be bothered to futz around with Bash and write their own scripts/aliases (not sure I'm confident about that), then sure, I'd prefer what you wrote.

Also what you wrote uses := which is fine, but we'd have to explain to people how that works since the standard is to set env vars ahead of the executable; which requires use of the ?= operator.
tl;dr let's decide upon a use of syntax that is consistent across all tooling.

Alright @dbeatty10 what about this scheme? Trying for best of all worlds, with more complicated code to support a user-friendly, no expertise required override entrypoint (makefile.text.env).
When it's empty or not made, here's the result of CI_FLAGS:

With an override:

Also, don't mind missing quotes. They are present in actual jobs. No I don't understand why it displays it that way 😭


The "transfer closed with outstanding read data remaining" error is not thrown when abort stream connection

I try to handle HTTP stream errors.
Steps to Reproduce
When some error occurred I want to abort response stream using:
res.connection.destroy(new Error('INVALID_END_OF_STREAM'));

Below is a simple stream source example.
const express = require('express');
(function () {
    const app0 = express();

    app0.get('/errdata', (req, res, next) => {
        let i = 0;
        res.setHeader('Transfer-Encoding', 'chunked');
        res.setHeader('Content-type', 'application/json; charset=utf-8');
        res.write('[');
        const descriptor = setInterval(
            () => {
                if (++i > 3) {
                    clearInterval(descriptor);
                    console.log(new Date(), 'close connection');
                    // when some error occurred I want to abort response stream
                    res.connection.destroy(new Error('INVALID_END_OF_STREAM'));
                    return;
                }

                res.write(JSON.stringify({i: i, item: i}));
                res.write(',');
            },
            1000);
    });

    app0.listen(1000, () => console.log('app0:', 1000));
})();

The stream consumer is another node process which uses the request library to handle the stream:
const xSrc = request({url: 'http://localhost:1000/errdata', method: 'GET', timeout: 10000});
xSrc.on('error', (err) => {
        console.log('ERROR: ', err);
    })
    .on('data', (chunk) => {
        console.log('CHUNK: ', chunk.toString().length);
    })
    .on('end', () => {
        console.log('END');
    });

Expected Behavior
I expect to see something like below since response stream is not closed properly:
> CHUNK: xx
> ...
> CHUNK: xx
> ERROR: NET::ERR_INCOMPLETE_CHUNKED_ENCODING

Current Behavior
Currently I don't see any error. Request just ends without any marker of incomplete stream.
> CHUNK: xx
> ...
> END

While requesting URL from Chrome I've got request status:
(failed) NET::ERR_INCOMPLETE_CHUNKED_ENCODING

Request from CURL also gives an error:
>curl -i --raw http://localhost:1000/errdata
HTTP/1.1 200 OK
X-Powered-By: Express
Transfer-Encoding: chunked
Date: Tue, 30 May 2017 08:35:10 GMT
Connection: keep-alive

1
[
10
{"i":1,"item":1}
1
,
10
{"i":2,"item":2}
1
,
10
{"i":3,"item":3}
1
,
curl: (18) transfer closed with outstanding read data remaining

Workaround
At the moment I found a workaround to raise an error on client side by violating HTTP chunked transfer encoding. It is handled properly but I dislike this approach as a dirty hack.
res.write('[');
res.write('{"i": 1, "item": 1}');
...
// when error - violate chunked transfer by writing size-less chunk directly to connection
res.connection.write('INVALID_END_OF_STREAM');
res.end();

Summary
Do you think it should be considered as a bug? Let me know if I missed something.
Thanks in advance.

Any updates?

+1

#3326


Localization.Culture filter does not work

Hi!
We use "OrchardCore.Application.Cms.Targets" Version="1.0.0-rc1-12653" and
"OrchardCore.Translations.ru" Version="1.0.0-rc1-105368"
We have a dictionary which has fields: title and localization.  We get an error when we make query in GraphQl with filter by Localization.Culture.
Query which we make:
query MyQuery {
  localizationDictionary(where: {localization: {localizationSet: "", culture: "ru"}}) {
    localization {
      culture
      localizationSet
    }
    displayText
  }
}

Answer from server which we get (error message translated from Russian):
"extensions": {
        "code": "POSTGRES",
        "data": {
          "Severity": "ERROR",
          "InvariantSeverity": "ERROR",
          "SqlState": "42703",
          "MessageText": "column LocalizedContentItemIndex.culture is not found",
          "Hint": "Perhaps a column reference was supposed \"LocalizedContentItemIndex.Culture\".",
          "Position": 385,
          "File": "d:\\pginstaller.auto\\postgres.windows-x64\\src\\backend\\parser\\parse_relation.c",
          "Line": "3294",
          "Routine": "errorMissingColumn"
        }
      }

Do you know what is the problem?

That's a duplicate. Issue is related with PostgreSQL case sensitivity.
The correct column name is LocalizedContentItemIndex.Culture


updates links

to docs-internal.rockarch.org for systems-info-sheet links

This line does not actually link to the systems info sheet (I'm not sure it should, but if not, it shouldn't be a link).
https://github.com/RockefellerArchiveCenter/archivematica-local/blob/cb24cf9fab7545d5c60a8ca81c99e5c2b645a4e4/index.md?plain=1#L13

I'd add instructions on where to look at logs on the Storage Service here:
https://github.com/RockefellerArchiveCenter/archivematica-local/blob/cb24cf9fab7545d5c60a8ca81c99e5c2b645a4e4/administration.md?plain=1#L68


Gemini scrollbars do not display in Firefox/Linux/KDE

Ran into this issue while using an application that uses gemini scrollbars - they won't display in my browser, instead falling back to native scrollbars. Here's a screenshot from the demo page.

Browser is Firefox 44.0.2 on Kubuntu 15.10 w/ KDE Neon repos, in case any of that is relevant.

Thanks for the heads-up :+1:

This may be related to a Firefox issue where using the developer tools and starting touch-simulation mode (e.g. in responsive view), turns on a flag, which is then is not disabled automatically.
https://bugzilla.mozilla.org/show_bug.cgi?id=970346


Namespace edit not possible

Rancher versions:
rancher/server or rancher/rancher: 2.0.6
rancher/agent or rancher/rancher-agent: 2.0.6
Infrastructure Stack versions:
healthcheck: n/a
ipsec: n/a
network-services: n/a
scheduler: n/a
kubernetes (if applicable): 1.10.5
Docker version: (docker version,docker info preferred)
17.3.2
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
NAME="Ubuntu"
VERSION="16.04.5 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.5 LTS"
VERSION_ID="16.04"
4.4.0-131-generic
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
VMs on Hyper-V
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Single Node Rancher (internal DB)
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Kubernetes
Steps to Reproduce:
Chose project of k8s Cluster > Namespaces > View/Edit YAML > Make a change or "Read from File"
Results:
Changes will not take effect (neither when editing the file nor when uploading a new file)

I have always found it weird that View/edit YAML  on a namespace does not return the YAML of the namespace resource but returns the equivalent of kubectl get all --namespace X. It's unexpected from user point of since for all other resources the View/edit YAML action will return the resource itself. It also prevents from editing the namespace resource itself, e.g. adding labels, etc...

This was intentional and mirrors exporting a stack in 1.x, as there is no other way to bulk export.  And other than the occasional annotation, there is virtually nothing on the namespace itself to view or edit.

Close in favor of https://github.com/rancher/rancher/issues/23348


afterEhlo function doesn't throw correct message

Q
A

Bug report?
yes

Feature request?
no

RFC?
no

How used?
Laravel5.5

Swiftmailer version
6.0.2

PHP version
7.1.3

Observed behaviour
In vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php file afterEhlo function, if authentication fails it always throw error message 'Failed to authenticate on SMTP server with username $usename using $count possible authenticators'. The error message from mail server is caught in $authenticator->authenticate() function but never passes here.
Therefore, no matter the error is caused by wrong password or is caused two step authentication is enabled, the error messages are the same.
Expected behaviour

Example

Can you have a look at #1096? I've not tested it yet but I think it fixes your issue.

Thank you, it looks like exactly what I asked for.


Parallel load and run in MySQL cluster

Hi,
I would like to know how to load data and run  Workloads A and C in parallel in MySQL NDB  Cluster with two nodes?
Thank you in advance.

closing as duplicate of #1311


Track all read references in semantic model

Summary
Historically, we've only tracked the most recent read reference for a given binding. To be a little more specific, we tracked the most recent "runtime", "typing-only", and "synthetic" reference (where a "synthetic" reference exists as a bit of a hack to implement always-used references, like from foo import bar as bas-style explicit re-exports).
For the flake8-type-checking autofix, I need to know the first usage of a given symbol. And in general, we need to track all references to every symbol in order to support a class of behaviors (like symbol renaming).
This PR modifies the semantic model to support full read-reference tracking. The design is such that we store all references on the model, and each binding stores a list of IDs for its read references.
I've left the reference categorization untouched to make this a non-behavioral change, but modified the behavior to remove the "synthetic" concept in https://github.com/charliermarsh/ruff/pull/4612.
In my lazy hyperfine testing, there wasn't a noticeable regression here, but let's see what the PR benchmarks say.

I'm game to try speeding this up, but I am a little skeptical that the difference is so great in practice. In my hyperfine benchmarks (which are less precise, but in some ways (?) more representative), there's basically no difference:
❯ cargo build --release && hyperfine --warmup 10 --runs 100 "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent -e" && cargo build --release && hyperfine --warmup 10 --runs 100 "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent -e" && git co main && cargo build --release && hyperfine --warmup 10 --runs 100 "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent -e" && cargo build --release && hyperfine --warmup 10 --runs 100 "./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent -e"
    Finished release [optimized] target(s) in 0.20s
Benchmark 1: ./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent -e
  Time (mean ± σ):     228.6 ms ±   4.5 ms    [User: 1795.1 ms, System: 68.5 ms]
  Range (min … max):   222.5 ms … 255.6 ms    100 runs

    Finished release [optimized] target(s) in 0.13s
Benchmark 1: ./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent -e
  Time (mean ± σ):     230.3 ms ±   4.6 ms    [User: 1804.0 ms, System: 68.4 ms]
  Range (min … max):   223.7 ms … 251.9 ms    100 runs

Switched to branch 'main'
Your branch is up to date with 'origin/main'.
   Compiling ruff_python_semantic v0.0.0 (/Users/crmarsh/workspace/staging/crates/ruff_python_semantic)
   Compiling ruff v0.0.269 (/Users/crmarsh/workspace/staging/crates/ruff)
   Compiling ruff_cli v0.0.269 (/Users/crmarsh/workspace/staging/crates/ruff_cli)
   Compiling ruff_dev v0.0.0 (/Users/crmarsh/workspace/staging/crates/ruff_dev)
   Compiling flake8-to-ruff v0.0.269 (/Users/crmarsh/workspace/staging/crates/flake8_to_ruff)
   Compiling ruff_wasm v0.0.0 (/Users/crmarsh/workspace/staging/crates/ruff_wasm)
    Finished release [optimized] target(s) in 1m 50s
Benchmark 1: ./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent -e
  Time (mean ± σ):     236.7 ms ±  12.1 ms    [User: 1773.4 ms, System: 70.6 ms]
  Range (min … max):   220.5 ms … 283.3 ms    100 runs

    Finished release [optimized] target(s) in 0.15s
Benchmark 1: ./target/release/ruff ./crates/ruff/resources/test/cpython/ --no-cache --silent -e
  Time (mean ± σ):     229.1 ms ±   7.0 ms    [User: 1805.6 ms, System: 72.1 ms]
  Range (min … max):   221.0 ms … 267.1 ms    100 runs

  Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet PC without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.

(Great feedback, thank you.)


Windows - App is not showing the staked amount nor rewards, even right after funding

pearl_logs_2024-09-05T160839.556Z-0.1.0-rc125.zip
2 Pearl users cannot view their funds, nor OLAS, nor xDAI

there are no services in these logs

@iasonrovis this will be fixed moving forward by #323 (currently testing for rc126)
however, may require @jmoreira-valory's support to fix


JNI ERROR (app bug): global reference table overflow (max=51200)

java_vm_ext.cc:675] JNI ERROR (app bug): global reference table overflow (max=51200)global reference table dump:
java_vm_ext.cc:675]   Last 10 entries (of 51200):
java_vm_ext.cc:675]     51199: 0x136440e0 com.caoccao.javet.interop.callback.JavetCallbackContext
java_vm_ext.cc:675]     51198: 0x13644000 com.caoccao.javet.interop.callback.JavetCallbackContext
java_vm_ext.cc:675]     51197: 0x13643ee8 com.caoccao.javet.interop.callback.JavetCallbackContext
java_vm_ext.cc:675]     51196: 0x13643b90 com.caoccao.javet.interop.callback.JavetCallbackContext
java_vm_ext.cc:675]     51195: 0x13643ab0 com.caoccao.javet.interop.callback.JavetCallbackContext
java_vm_ext.cc:675]     51194: 0x136439d0 com.caoccao.javet.interop.callback.JavetCallbackContext
java_vm_ext.cc:675]     51193: 0x136438b8 com.caoccao.javet.interop.callback.JavetCallbackContext
java_vm_ext.cc:675]     51192: 0x13643560 com.caoccao.javet.interop.callback.JavetCallbackContext
java_vm_ext.cc:675]     51191: 0x13643480 com.caoccao.javet.interop.callback.JavetCallbackContext
java_vm_ext.cc:675]     51190: 0x136433a0 com.caoccao.javet.interop.callback.JavetCallbackContext
java_vm_ext.cc:675]   Summary:
java_vm_ext.cc:675]     49118 of com.caoccao.javet.interop.callback.JavetCallbackContext (49118 unique instances)
java_vm_ext.cc:675]      2067 of java.lang.Class (850 unique instances)
java_vm_ext.cc:675]         2 of dalvik.system.PathClassLoader (1 unique instances)
java_vm_ext.cc:675]         2 of java.lang.ThreadGroup (2 unique instances)
java_vm_ext.cc:675]         1 of com.caoccao.javet.interop.V8Runtime
java_vm_ext.cc:675]         1 of com.goldenduo.freetest.Device$1
java_vm_ext.cc:675]         1 of com.goldenduo.freetest.Device$2
java_vm_ext.cc:675]         1 of miui.process.MiuiApplicationThread
java_vm_ext.cc:675]         1 of android.app.UiAutomation$IAccessibilityServiceClientImpl
java_vm_ext.cc:675]         1 of java.nio.ByteOrder
java_vm_ext.cc:675]         1 of java.lang.String
java_vm_ext.cc:675]         1 of java.lang.ref.WeakReference
java_vm_ext.cc:675]         1 of dalvik.system.VMRuntime
java_vm_ext.cc:675]         1 of android.os.Binder
java_vm_ext.cc:675]         1 of android.hardware.input.InputManager$InputDevicesChangedListener

//Jni error happens if a large list send back to javet
//v8Runtime.converter = javetProxyConverter
public ArrayList<Point> findAllColor(String color){
        return new ArrayList(BackendCat.INSTANCE.findColor(color,null));
    }

Please avoid passing such large collection to Javet because the JNI table limit on Android is strict.

I dont understand，why not acquire and release reference one by one in native C?

I dont understand，why not acquire and release reference one by one in native C?

The current implementation relies on the JNI global reference table to expose the Java object references to the Javet binary. The limit on Android is quite small.
I think that can be worked around by adding a map caching these references, but with certain performance overhead. I haven't made the decision yet. Your comment is appreciated.

I dont understand，why not acquire and release reference one by one in native C?

The current implementation relies on the JNI global reference table to expose the Java object references to the Javet binary. The limit on Android is quite small.
I think that can be worked around by adding a map caching these references, but with certain performance overhead. I haven't made the decision yet. Your comment is appreciated.

That is implemented in this commit at the dev branch. Please wait for the next release or contact me for a private Android build at discord.


Peek definition finding 2 definitions when there is only 1

Having a very annoying problem in the most recent update (Update 1.23.1) that seems similar to one that other people have been reporting.
The most common example is this, where vscode is getting confused between a React Component, and the cached typescript definition of a React Component (in my root directory)
https://imgur.com/a/ZwOSOOi
However I have also seen a stranger problem (see screenshot below), where vscode is detecting 2 separate definitions in the same line of code:
https://imgur.com/a/pPCLIZu
Have downgraded to April release to fix this for now!

dupicate of #51489


⚠ Secret Website 3 has degraded performance

In f180187, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2700 ms

Resolved: Secret Website 3 performance has improved in c376827.


Change chat "new" messages behaviour

If OpenSlides is opened in several tabs (Tab A and Tab B) and the chat has a new message the new message is displayed as new in all tabs. If the message is viewed in tab A, tab B does not update the chat and still displays the messages as new.
Wanted behaviour:
If the message is viewed in one tab every other open tab should then stop displaying the message as new

I would favor a client-side solution. Would this be possible e.g. via local storage or the shared worker? @bastianjoel you had some ideas here, could you elaborate them here?

I don't think utilizing the shared worker is needed for that. I would suggest using the storage event or a broadcast channel.

See #2618 for other chat related bugs.

As discussed, we want a server-side solution for this, as the client-only solution proved to be not powerful enough.
Proposal for the required changes: We introduce a new model last_read_message (or some other name) with the following fields:
last_read_message:
  id:
    type: number
    constant: true
  meeting_user_id:
    type: relation
    to: meeting_user/last_read_message_ids
    required: true
    constant: true
  chat_group_id:
    type: relation
    to: chat_group/last_read_message_ids
    required: true
    constant: true
  message_id:
    type: relation
    to: chat_message/last_read_message_ids
    required: true
  meeting_id:
    type: relation
    to: meeting/last_read_message_ids
    required: true
    constant: true

(and additional reverse relations)
For each meeting user and chat group, such a model is created as soon as the chat group is opened for the first time if at least one message exists for this group. The most recent chat message is used as the message_id. Whenever a new message arrives in an open chat group or a chat group is opened with new messages, the respective last_read_message model for this user and group is updated with the most recent message_id.
The new collection has the following "can see" restriction: A user can see the model if the linked meeting user belongs to them. This means that the reverse relations are automatically filtered so that a user only receives this model for himself and not for other users. The client can then use this information to display the information in the same way it currently does (currently, the "last read message" is simply saved into local storage per chat group). Therefore, little work should be required in the client to implement this solution.
The backend will need an additional action chat_group.set_last_read_message, which takes a chat_group_id as well as a chat_message_id and creates or updates the respective last_read_message model for the combination of request user and chat group. Additionally, when a chat message is created, the backend should update the last read message for the request user and the group of the message to the newly created message. No other backend changes should be necessary.


Typescript typings: incorrect type for ResponseData.statusCode

What is your Test Scenario?
Create a typescript test where statusCode is checked against a string eg. '200'
What is the Current behavior?
The typescript compiler will show no Error as ResponseData.statusCode is expected to be a string as typed in testcafe's index.d.ts typings
As the actual runtime value is a number, these tests always fail
What is the Expected behavior?
ResponseData.statusCode should be typed as a number
What is your web application and your TestCafe test code?
See sample below

Your complete test code (or attach your test files):

import { Selector, RequestLogger, ClientFunction, Role } from 'testcafe'

const testUrl = 'https://devexpress.github.io/testcafe/documentation/using-testcafe/common-concepts/browsers/browser-support.html'

fixture`test url for 200 statusCode as number and as string`.page(testUrl)

test('test url for 200 statusCode using expect inline check', async t => {
    const genericLogger = RequestLogger(testUrl)
    await t.addRequestHooks(genericLogger)
        .navigateTo(testUrl)
        .expect(genericLogger.contains((r:Request) => r.response.statusCode === '200'))
        .ok('This should pass if statusCode is indeed a string, but fails as it is checked against the number 200 ')
})

Your complete test report:

arend@vn7:testcafeTypingsIssue$ npx testcafe chrome myTest.ts
 Running tests in:
 - Chrome 74.0.3729 / Linux 0.0.0

 test url for 200 statusCode as number and as string
(node:4766) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
 ✖ test url for 200 statusCode using expect inline check

   1) AssertionError: This should pass if statusCode is indeed a string, but fails as it is checked against the number 200 : expected false to be truthy

      Browser: Chrome 74.0.3729 / Linux 0.0.0

          9 |test('test url for 200 statusCode using expect inline check', async t => {
         10 |    const genericLogger = RequestLogger(testUrl)
         11 |    await t.addRequestHooks(genericLogger)
         12 |        .navigateTo(testUrl)
         13 |        .expect(genericLogger.contains((r:Request) => r.response.statusCode === '200'))
       > 14 |        .ok('This should pass if statusCode is indeed a string, but fails as it is checked against the number 200 ')
         15 |})

         at Object.<anonymous> (/home/arend/Documents/dev/playground/testcafeTypingsIssue/myTest.ts:14:10)
         at <anonymous> (/home/arend/Documents/dev/playground/testcafeTypingsIssue/myTest.ts:7:71)
         at __awaiter (/home/arend/Documents/dev/playground/testcafeTypingsIssue/myTest.ts:3:12)
         at test (/home/arend/Documents/dev/playground/testcafeTypingsIssue/myTest.ts:9:73)
         at markeredfn (/home/arend/Documents/dev/playground/testcafeTypingsIssue/node_modules/testcafe/src/api/wrap-test-function.js:17:28)
         at <anonymous> (/home/arend/Documents/dev/playground/testcafeTypingsIssue/node_modules/testcafe/src/api/wrap-test-function.js:7:5)
         at fn (/home/arend/Documents/dev/playground/testcafeTypingsIssue/node_modules/testcafe/src/test-run/index.js:242:19)
         at TestRun._executeTestFn (/home/arend/Documents/dev/playground/testcafeTypingsIssue/node_modules/testcafe/src/test-run/index.js:238:38)
         at _executeTestFn (/home/arend/Documents/dev/playground/testcafeTypingsIssue/node_modules/testcafe/src/test-run/index.js:291:24)

 1/1 failed (5s)
arend@vn7:testcafeTypingsIssue$

Screenshots:

Steps to Reproduce:

save the sample code in a file called myTest.ts
Execute this command testcafe chrome myTest.ts
See the error...

Your Environment details:

testcafe version:                   1.1.4

node.js version:                   v11.1.0

command-line arguments:  chrome myTest.ts

browser name and version: Version 74.0.3729.157 (Official Build) (64-bit)

platform and version:         Linux vn7 4.20.0-042000-generic #201812232030 SMP Mon Dec 24 01:32:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux / Ubuntu 18.10

Hi @arenddeboer
Thank you for your remark. I've changed TestCafe type definitions in this PR.

Thanks @miherlosev for looking into it and the PR.


Feature/register by invitation

Coverage decreased (-0.86%) to 94.04% when pulling b2b426f071f2671354da5bb344172de3d55bd8e7 on feature/register-by-invitation into f35c4759360fd105d3b7b7e352b846cf7d890610 on master.

Coverage decreased (-1.01%) to 93.89% when pulling 607e917032f98698fd14d961b0fd9d120de7f300 on feature/register-by-invitation into f35c4759360fd105d3b7b7e352b846cf7d890610 on master.


Bug: Syslog Source Interface not working as intended

Hi devs,
I have been trying to configure syslog on OPNsense 17.1.1 to point to a central syslog server and I have been having great difficulties with the syslog "Source Address" setting under "Remote Logging Options".
I have a number of interfaces on my firewall:

WAN
LAN
DMZ
OpenVPN <- not strictly an interface listed under "Interfaces" in the web GUI.

I have the "Source Address" configured to be the LAN address, but for some reason the OpenVPN interface is seen on syslog entries on my syslog server coming from the firewall.
What I do find strange is that sometimes the firewall decides to use the LAN address so it has me baffled.
My first thoughts is that there is some race condition when the service starts and the OpenVPN is the first interface that is ready.
I understand that the syslog service is getting an overhaul with #1206 and I am merely wanting to report this bug for the benefit of others with the same problem.
Regards,

timeout due to inactivity


XDoc: CSS/JavaScript Styling for Documenter HTML exports

Is there anything left to be done for this one?


add full-parser, like full-lexer

Currently it does not seem to be possible to get an AST with comments attached?

That will be a good feature if you need one.
Since I don't think you will need NonLogicalNewline, maybe just comment feature?

I tried looking into ways to add comments but could not quickly figure out how to best add it to the grammar.
Then I looked at ruff cause they do formatting now as well and use this parser (although it seems they vendor/ fork it) and here is some code which does it for them https://github.com/astral-sh/ruff/tree/9cb5ce750e9dead53eb8235e8cfb7cff653a1cd2/crates/ruff_python_formatter/src/comments
( https://github.com/astral-sh/ruff/blob/9cb5ce750e9dead53eb8235e8cfb7cff653a1cd2/crates/ruff_python_formatter/src/comments/mod.rs#L319-L332 ) but not in a way which integrates into the parser but it seems to be retrofitted after parsing as far as I can see (maybe adding it the grammar is not trivial after all?).

Since I don't think you will need NonLogicalNewline, maybe just comment feature?

Yes that would be enough for me, it does not have to be a perfect reproduction, but I'd want to preserve the meaning/ content of the comments.

Fitting comments into the grammar will be difficult because comments can appear in almost all positions.
Ruff's comment handling is specific to the formatter and not a general purpose solution.
I recommend taking a look at how oxc handles comments
https://github.com/web-infra-dev/oxc/blob/main/crates/oxc_ast/src/trivia.rs
An entirely different approach is to use a cst similar to rome/biome/Roslyn/swift
https://boshen.github.io/javascript-parser-in-rust/blog/rome/


Add product pages

Issue: #272

@shahzaib834 can we close this PR?

@umairwaheed Yes Sir, we can as we have all these required changes in the newly created PR of the product page.


lab 13 worksheet

Worksheet Number: 13
Worksheet Link: https://drive.google.com/file/d/1Y06JMgHUFDOsKudSW4tQr-pcb4N_IX-i/view?usp=sharing

Updated _config.yml for worksheet 13 link:

Worksheet: Lab 13 Worksheet


GitHubClient: Introduce client for GitHub API

Abstract a simple GitHub client module exposing just the GitHub REST API endpoints required by the GitHub codemod client.
Art:
const pr = await client.NewPR(prOptions)

const commit = await pr.NewCommit(commitOptions)
await commit.patchJSON("change", "/key", value)
await commit.writeFile("/package.json", JSON.stringify({}))
await commit.finish() // { commit: "abcdefg" }

console.log(await pr.finish()) // { pr: 284 }

Blockers:

https://github.com/EthanThatOneKid/github_api_types/issues/4
https://github.com/EthanThatOneKid/github_api_types/issues/1

I got the following snippet from ChatGPT.
class PR {
  constructor(private options: PROptions) {}

  async NewCommit(commitOptions: CommitOptions): Promise<Commit> {
    const commit = new Commit(commitOptions);
    // Perform any additional operations related to creating a new commit
    return commit;
  }

  async finish(): Promise<{ pr: number }> {
    // Perform any necessary actions to finish the PR
    return { pr: 284 }; // Replace with actual result
  }
}

class Commit {
  private jsonPatches: { path: string; value: any }[] = [];
  private filesToWrite: { path: string; content: string }[] = [];

  constructor(private options: CommitOptions) {}

  patchJSON(op: string, path: string, value: any): void {
    // Add JSON patch operation to the list
    this.jsonPatches.push({ op, path, value });
  }

  writeFile(path: string, content: string): void {
    // Add file to the list of files to be written
    this.filesToWrite.push({ path, content });
  }

  async finish(): Promise<{ commit: string }> {
    // Perform any necessary actions to finish the commit
    return { commit: "abcdefg" }; // Replace with actual result
  }
}

// Define type interfaces for options
interface PROptions {}
interface CommitOptions {}


RAG in Arabic using document store

Discussed in https://github.com/FlowiseAI/Flowise/discussions/3252

Originally posted by aboodmanna September 25, 2024
Hi,
I am creating a Flowise RAG model using document store for some Arabic documents, I have tried the same model for English documents and it worked fine, but for the Arabic documents it is not giving a response and not searching inside
the Arabic documents.
Does any body know how to fix this?

try specifying prompt and explicily ask LLM to return and read in your language:


when roomba gets stuck outside its docking , homebridge has problems - accessories no response

Expected Behavior

Current Behavior
roomba gets stuck outside its docking , after some time homebridge has problems to get the battery status update. homebridge is still running but the accesories in homekit start to receive no reponse status. i did bring the roomba back to its docking , and restarted homebridge all did work and issue gone
Steps to Reproduce (for bugs)
stop roomba manually outside its docking, keep it there for 1+hr after some time when u open homekit on iOS all accesories connected via homebridge get no response status
Versions

Homebridge: `trid on 1.1.6 , 1.1.7, 1.2.2.,1.2.3 1.2.5 still the same issue
Node:       node --version
Plugin:     homebridge-roomba-stv v1.6.0

Configuration

Homebridge Log / Command Output

Solved in this fork:
https://github.com/iRayanKhan/homebridge-roomba2#readme

THANK The news version works Perfect!


FIX: time conversion and add span name when importing zipkin data from elastic to otel

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Will check the data ingestion again once the Id issue is resolved.


issue #24644 add copy constructor with partial value override

I have created a small pull request that provides the necessary functionality that I wrote about in my feature request #24644. I have added isUTC copying as well.
I have already submitted the CLA for stuff I did for angularDart.

@pcornelissen, can you take a look at the questions from @whesse, please?

Closing this as no response has been received in the above questions. @pcornelissen you are most welcome to re-open it should you have a chance to address the questions.

Well I just wanted to provide some code to help you improve the developer experience, if you don't want it ok. Feel free to use this or do something similar. I don't care ;-)

The idea is good, but instead of making it a constructor, I think it fits
better as a method on the source DateTime. We have a CL for this (
https://codereview.chromium.org/1472803003/), but it's currently blocked on
naming.


⚠ Bofrost.at has degraded performance

In a9e919f, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1720 ms

Resolved: Bofrost.at performance has improved in c374e78 after 11 minutes.


Issue 7020 - Exception thrown across DLL is not caught.

http://d.puremagic.com/issues/show_bug.cgi?id=7020
Added the comparison by the TypeInfo name.

Does this also fix bug 1693? It sounds very similar.

Thank you for comment.
Issue 7020 is surely similar to Issue 1693.
The sample is old and does not work in the current environment, but is the try that is approximately equal to my sample as far as I check source. I'll mark Issue 7020 as duplication.
About Issue 1693, it will be fixed by this PullRequest, too.

1693 might be different for D1.

I thought TypeInfo comparison by name had beed added ages ago.  This one must have been missed.


[Pipeline] Directions for Github Enterprise direct to incorrect place to create application

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
I am using an on-prem Github Enterprise server, but I get the same thing if I follow the same directions on my GitHub account.
Follow the steps at https://rancher.com/docs/rancher/v2.x/en/tools/pipelines/configurations/
On the page to add a new Github repo, the directions say:
For standard GitHub, click here to go applications settings in a new window.
 -   For Github Enterprise, login to your account. Click on Settings, then Applications.

When I go to my Github account > Settings > Applications, there is no option for Register new application.
If you go to the click here link for standard GitHub, the URL is https://github.com/settings/developers, but the link I get to following the directions is https://github.example.com/settings/installations.  Right under the Applications link, is a Developer settings link that takes you to the page https://github.example.com/settings/developers where there is a link to Register a new application.
The directions should say
For Github Enterprise, login to your account. Click on Settings, then Developer settings.

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI):
Installation option (single install/HA): 2.1.0

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Custom
Machine type (cloud/VM/metal) and specifications (CPU/memory): VM
Kubernetes version (use kubectl version): 1.11.3

Version - 2.2 master 11/4
Verified fixed


[Bug] I used the facade's setEditable() method to change the workbook to read-only, but the workbook is still editable

Before you submit this issue, have you checked the following

[X] Is this really a problem?
[X] I have searched the Github Issues for similar issues, but did not find anything.

Affected packages and versions
0.2.3
Reproduction link
https://github.com/awesome-univer/sheets-react-demo.git
这是提供的react的demo，我只加了只读的代码
const unvierAPI = FUniver.newAPI(univer);
const workbook = unvierAPI.getActiveWorkbook()
if (!workbook) {
console.log('workbook not found')
return
}
workbook.setEditable(false)

Expected behavior
工作簿只读
Actual behavior
工作簿可查看和可编辑
System information
System:
OS: Windows 10 10.0.19045
CPU: (6) x64 Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz
Memory: 2.38 GB / 19.79 GB
Binaries:
Node: 18.20.0 - D:\Program Files\nodejs\node.EXE
npm: 10.5.0 - D:\Program Files\nodejs\npm.CMD
pnpm: 9.1.0 - D:\Program Files\nodejs\pnpm.CMD
Browsers:
Edge: Chromium (126.0.2592.102)
Internet Explorer: 11.0.19041.4355

看之前帖子要放到setTimeout中执行才能有效，这玩意也困扰我好久

@ybzky Should have a look 👀

确实加个延时就好了


Label the ADX virtual network

Can I suggest labelling the "ADX virtual network" in the various diagrams on this page as "ADX managed virtual network" or similar to make it clear that it is not a regular virtual network.

Also the statement in the Managed private endpoint section around "when a cluster is created Azure provisions a managed virtual network in the Microsoft backbone infrastructure which is hidden from users " I think needs to be added to the leading section at the top of the manage. Furthermore that leading section needs to mention managed private endpoints as well. At the moment that first section is talking about ingress to ADX only.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2af34f52-e08b-55b0-bfdd-6081b808e585
Version Independent ID: 4e61b826-27ab-67be-e921-1656ec7f2777
Content: Private endpoints for Azure Data Explorer
Content Source: data-explorer/security-network-private-endpoint.md
Service: data-explorer
GitHub Login: @shsagir
Microsoft Alias: shsagir

@pnarsi Thank you for sharing feedback. We are actively validating it. We will share updates soon.

@pnarsi Thanks for contacting us with feedback about our product documentation. Depending on the complexity, it could take from a few business days to a few weeks to look further into your question, issue, or suggestion. We'll contact you if we need further information, and you'll receive an email message each time we "@mention" you in a comment.
Thanks again for submitting your feedback. Your suggestions help improve our documentation.

@pnarsi  Thanks for your feedback. We've submitted a documentation change based on your suggestion, and the updated article should be live by tomorrow. Please let us know if there's anything more we can do for you. To follow up on this issue, leave us a comment with an @mention.
#please-close


Is it possible to disable registration for users?

I'm running a nomp mininig pool.
And it allows to connect to it just with an address, without any account or passwords.
It is possible just disable registration?

If NOMP is your share processor too, you don't need MPOS at all. NOMP has MPOS support though, that way you can run with regular users and let NOMP handle authentication through the user database.
There is currently no way to disable registration in MPOS nor is it a planned feature at this time.


Move resample to separate language fragment?

I think this actually has to be moved to a separate SMC language fragment. The reason is that we might want a PPL without nested inference, but with resample hints for SMC.
https://github.com/miking-lang/miking-dppl/blob/454d0d03647e9d285232693fb87becc5410e4cfa/coreppl/smc.mc#L10-L11

I believe this is now oudated, so I'm closing this


fix deadline square bracket

fixes #239

Codecov Report

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

@@            Coverage Diff            @@
##             master     #248   +/-   ##
=========================================
  Coverage     41.44%   41.44%
  Complexity      550      550
=========================================
  Files           112      112
  Lines          2763     2763
  Branches        395      395
=========================================
  Hits           1145     1145
  Misses         1509     1509
  Partials        109      109

Impacted Files
Coverage Δ
Complexity Δ

.../seedu/address/logic/commands/DeadlineCommand.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

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 dc8bb58...92993c7. Read the comment docs.


Walk faster

The faster walk has one of the biggest effects on the speed of the get algorithm.  A simple removal of function calls when not needed has made a huge difference.

Roughly a 20 - 33% speed up on primed cache requests depending on the platform (node vs device).


Player movement bug is fixed

As of https://github.com/pmmp/PocketMine-MP/commit/76ceddf266f4b78f405559d2ae064bdea379eea1, the rotation being ignored is now fixed. Those deltas were ridiculously high. I make this issue to mention that the hacks added for this problem will be able to be removed in the upcoming ALPHA6 update.

@dktapps Can you please explain to me what the hacks are / what can be removed again? I am unable to find information regarding movement hacks in this plugin

https://github.com/falkirks/Specter/blob/master/src/specter/Specter.php#L89

Interesting, i will cut this out


feat: add default pp asset

add a default post processing asset that's autoloaded into new scenes.

dfkm. 😭


Automated Package Upgrade

:tada: This PR is included in version 25.6.107 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix deleting "static" chars for react text mask (#230, #483, #778 etc.)

Remove unnecessary componenDidUpdate

Add PureComponent for unnecessary re-render

Add test for correct deleting "static" chars

I've tested my solution in my own project and with all examples from the website.
The problem was in the unnecessary updating mask value in the componentDidMount, because firstly textMaskInputElement.update() called in onChange method, and then in componentDidMount.
The tree of calls:

StatefulComponent.render()
MaskedInput.render()
MaskedInput.componentDidMount() (where calls textMaskInputElement.update() in initTextMask)
Make changes in input
MaskedInput.onChange(event) (calls textMaskInputElement.update())
StatefulComponent.onChange() (calls setState)
StatefulComponent.render()
MaskedInput.render()
MaskedInput.componentDidUpdate (where calls textMaskInputElement.update() in initTextMask) //and this step is unnecessary, because we already apply mask update in onChange event

I hope it's clear explanation, if not, feel free to clarify :)

Pulled down your branch and can confirm it fixes the problem for our project as well. Thank you 👍 😄 💃

@mzedeler @lozjackson could you take a look at my PR and give your opinion?
At the moment react-text-mask installs from my branch with that fix, but would like to take from npm repository, as other users :)
Thank you!

Thanks for your contribution!
I have taken a look at the code and haven't seen anything that looks wrong. It would be nice if you could find out if there are any other scenarios that would benefit from react testing, but if the answer is "no", then I think we should merge this fix.

@mzedeler I see one problem, but this is not critical, as what I fixed already.
Other problem, as I see, that value in onChange(event) //event.target.value is different with value in input element after textMaskInputElement.update()

Initial (123) 4
Delete 4
event.target.value === "(123) "
After textMaskInputElement.update() input.value === "(123", but event.target.value stays with "(123) "

That not critical, but it can surprise some developers :)
For that I would like make separate PR...

Maybe just add a note in the documentation for this?

Yeap, note in the documentation is a good idea!

Could you include the change to the documentation in this PR?

LGTM :-)
@lozjackson?

@lozjackson yes, sure, I will do what you propose, but in a few days, as I have many work right now :(

@lozjackson is it OK now?


does not reload filter data in NgTableParams

hi I am using ng-table and need to put a drop down country filter inside grid.
{{policy.country}}
I have check in my console list of countries are there in countries object but not showing on grid.

Can you paste a code sample of what you are trying? I had an issue at first where I was using i.e. ['foo', 'bar'] and that wasn't working, so I had to do [{id: 1, title: 'foo'}, {id: 2, title: 'bar'}]. You may be experiencing the same.

Thanks scott [{id: 1, title: 'foo'}, {id: 2, title: 'bar'}] work for me


Add ignore file option

📖 Description and reason
Add an option to use a file for ignoring CVEs
Similar to bundler audit config file
https://github.com/rubysec/bundler-audit?tab=readme-ov-file#configuration-file

👷 Work done
[x] add option to get ignore-file path
[x] default file (if found) in .mix-audit-skips, similar to to sobelow lib (feel free to propose a better name)
[ ] tests
[x] Documentation
Additional notes
I would like to add some tests, but as far as I understood there are not so many covering the cli. Do you think is important to add some tests?
🎉 Result
Correctly ignoring CVEs stored in .mix-audit-skips file (if correctly formatted)
🦀 Dispatch
#dispatch/elixir

🦀 Requesting reviewers for this pull request:

@bducharme (reviewer for the elixir stack)

🦀 Mentionning users for this pull request:

@mathlavlam (learner for the elixir stack)

Awesome idea 🙌 I just left a small comment regarding the backward-compatibility (ie. what if the .mix-audit-skips doesn’t exist.

I would like to add some tests, but as far as I understood there are not so many covering the cli. Do you think is important to add some tests?

You’re right, tests for the CLI part are non-existent. I should get on that 🙂 So no tests are fine for this PR.

@baldarn @sgessa Thank you guys! 2.1.3 has now been released with --ignore-file 🥳


Exception thrown using HttpClient with handler

I have an HttpClient which is meant to propagate trace information:
var handler = TraceHeaderPropagatingHandler.Create(tracer);
httpClient = new HttpClient(handler);

Unfortunately when I call GetStringAsync I get an exception:
System.InvalidOperationException occurred
  HResult=-2146233079
  Message=The inner handler has not been assigned.
  Source=System.Net.Http
  StackTrace:
       at System.Net.Http.DelegatingHandler.SetOperationStarted()
       at System.Net.Http.DelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
       at Google.Cloud.Diagnostics.Common.TraceHeaderPropagatingHandler.<SendAsync>d__3.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Net.Http.HttpClient.<GetContentAsync>d__32`1.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at Google.NextTalk.Web.Backends.JsonBackend.<GetLanguagesAsync>d__6.MoveNext() in

(It's just possible that this is due to me using Result from the async result, which isn't ideal... will fix that and see if it helps, although I suspect not.)

Hmm... the same code in an integration test is fine. I'm very confused at this point.

Aha - it was fixed in 7e0191ebb7a4f5e4ede3bc99adf4d24d0dfae58f.
New release should sort it :)


included the enable-api command in step 5

Proposed changes:

Added enable-api to Step 5 so users following the documentation enable the API server before running the curl command in the next set of code.

Status (please check what you already did):

[ ] added some tests for the functionality
[x] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[TS migration] Migrate 'ReportActionComposeFocusManager.js' lib to TypeScript

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/24808
PROPOSAL: N/A
Tests

[ ] Verify that no errors appear in the JS console
[ ] Verify that the focus works as expected:

[ ] Go to the Report screen
[ ] Send a message, enter the edit mode of the message. Verify that the focus behavior matches the production.
[ ] Open the context menu on the message. Click "Reply in thread". Verify that the focus behavior matches the production.

Offline tests

N/A
QA Steps

[x] Verify that no errors appear in the JS console
[ ] Tests from above

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/104823336/cad4179a-1607-49c5-97df-8071052313a8

Mobile Web - Chrome
https://github.com/Expensify/App/assets/104823336/565b5d65-4808-4d91-bec2-5356732c379c

Mobile Web - Safari
https://github.com/Expensify/App/assets/104823336/23d651f3-7639-4260-8b28-a916084b06ce

Desktop
https://github.com/Expensify/App/assets/104823336/09c0f04d-84e7-4459-bc6e-a991ec4f6314

iOS
https://github.com/Expensify/App/assets/104823336/3cb7fdb6-7c94-4592-938a-4c0cbbe41178

Android
https://github.com/Expensify/App/assets/104823336/094f6d02-8048-442b-ac36-0bf6b144ea8d

@rushatgabhane can you do the checklist?

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/20051562/5573cae8-2ad5-45ac-8d77-e0173646601b
https://github.com/Expensify/App/assets/20051562/76022457-4f92-4dc2-bfec-a0b47debb49f

Desktop
https://github.com/Expensify/App/assets/20051562/1b0fa325-ae5c-4f8c-a5db-2e2b61f1d6e1

Mobile Web - Chrome
https://github.com/Expensify/App/assets/20051562/7413d030-58e0-409a-9c69-470ddf650506

Android
https://github.com/Expensify/App/assets/20051562/e4152040-aa70-4a10-9c5d-0cbaca60d552

Mobile Web - Safari
https://github.com/Expensify/App/assets/20051562/a7f54102-0e3e-490f-8226-601df2870b05

iOS
https://github.com/Expensify/App/assets/20051562/19febb12-6485-43ee-afd3-fcf3d74360d3

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/arosiclair in version: 1.3.68-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Remove redundant code

Some of the checks placed here were to support Jekyll 2.x and is no longer necessary since we're requiring Jekyll 3.1+ now
Not sure why the following has a check since Jekyll has always had Site constant defined.. So leaving that as is..
https://github.com/jekyll/github-metadata/blob/2c350b2fea29ee5fe18243ff84040a755a9de508/lib/jekyll-github-metadata.rb#L37-L39

@jekyllbot: merge +minor


Wrong types

I'm using Node with TypeScript and I'm facing an issue with types when starting the debugger as suggested in the Quick Start section:
import debugAgent = require('@google-cloud/debug-agent');
debugAgent.start({ allowExpressions: true });

It seems the type definition is wrong and more params (other than allowExpressions) are required:
Argument of type '{ allowExpressions: true; }' is not assignable to parameter of type 'DebugAgentConfig | StackdriverConfig'.

Thank you for letting us know about this.  This issue is being addressed in PR #370.

Thanks for the fix, @DominicKramer!

@google-cloud/debug-agent version 2.3.1 addresses this issue.

@agmontpetit Please let me know if you still have any issues using version 2.3.1.  Thanks.

@DominicKramer It works perfectly! Thanks!

No problem.  I'm glad to help.


JSONArray not well analysed

Hi, may be an issue or a bad usage.
please could you help?
Following fails because JSONArray is not analysed as an arrays in IsEqual class.
JsonContent
{"message":
{ "content": [
104,
101,
108,
108,
111,
87,
111,
114,
108,
100],
"contentType": "application/octet-stream"}
}
byte[] expectedByte = "helloWorld".getBytes(StandardCharsets.UTF_8);
Assert.assertThat(JsonContent , hasJsonPath("$message.content", equalTo(expectedByte)));

You may have missed a dot in json path, between $ and message, i.e. "$.message.content"


CentOS 7 /var/run/sensu doesn't survive a restart on CentOS 7

On CentOS 7 (at least the AWS image) /var/run is a tmpfs. Apparently, this is not a bug. http://www.linuxbase.org/betaspecs/fhs/fhs.html#runRuntimeVariableData
Also, /run is root:root 0o755 apparently because security. So, installing Sensu creates /var/run/sensu (/var/run is --> /run) but if the system is restarted (because EC2 says my hardware is being decommissioned or whatever) when it comes back /run/sensu doesn't exist and sensu won't start. Try it!
Ok so anyway apparently the fix is to do:
execStartPre=mkdir /var/run/sensu && chown sensu:sensu /var/run/sensu and to specify
PermissionsStartOnly=true in the service file. This way the execStartPre will run as root.

Hi @robertlabrie
This issue has been reported in the past and we were able to fix it by adding a tmpfilesd config file. Are you running an older version of Sensu by chance?
See: https://github.com/sensu/sensu-omnibus/issues/110 and https://github.com/sensu/sensu-omnibus/blob/master/config/templates/sensu-gem/tmpfilesd/sensu.conf.erb

@amdprophet Thanks, I'll check into this over the weekend and let you know. My sensu version is:
sensu.x86_64                           1:0.29.0-11.el7                  @sensu
I don't have an /etc/tempfiles.d
CentOS Linux release 7.2.1511 (Core)

@amdprophet that did it, thanks. I package my own RPM using FPM, starting with sensu 0.29.0 as a base. I didn't know tmpfiles.d was a thing so that file was missed. 100% my fault and very thankful for the assist.


ERROR:  unknown shorthand flag: 'o' in -ostname=my-app.ngrok.io

Unknown error in regards to the deployment of a NGROK docker image in a TrueNAS setup.  NGROK had been working for at least a year before this.  Less than 48 hours ago something changed (might of been an update to the image).  Unfortunately I am not a programmer, but I am good at following instructions.  So any assistance that can be provided to me would be most appreciated.  I am using a NGROK paid account.

Also, what does "failed to created fsnotify watcher: too many open files" mean?

We're having the same issue and can't do some major maintenance on our repo until this is resolved (or we find a different docker image to use)(

Appreciate the response.  I am not great (or even good at this stuff), so I am slightly hopeful that this can get solved since the problem isn't necessarily me.

We're having the same issue and can't do some major maintenance on our repo until this is resolved (or we find a different docker image to use)(

Did you come up with a solution?  Still having a problem myself.

@mbonig I'm sure you've probably moved past this by now, but for you or anyone else who may be having this problem with this image, we were having the same issue so I identified it and fixed it.  Well, I should say I fixed it as far as my needs go.  Presumably it will work for anyone.  Literally just a couple missing dashes in the entrypoint.sh file.  Anyway, since the maintainers here haven't responded and there are a couple open PRs in this repo that have been open for a while with no response, I had to assume this issue wouldn't be fixed soon, so I just cloned the repo and created my own image.  It's exactly the same as this one, works in exactly the same way, just fixed.  So if you need it, it's here: https://hub.docker.com/r/mrhattyhat/ngrok.  I may submit the PR for it on this repo.  Just couldn't wait for it.

@ryan-hansen thank you for providing that image, that's solved my issue as well. Do you have a github repo up some where? I'd also like to point out that if you provide NGROK_BINDTLS as 'true' in both wernight/ngrok and mrhattyhat/ngrok images as an ENV var, a similar error appears like ERROR: unknown shorthand flag: 'b' in -bind-tls . My guess is that ngrok no longer supports that option? Once I remove setting that ENV var the error goes away and the ngrok tunnel still uses https.
I suppose that ENV var reference in the README can probably be removed as well as the associated code.
fyi @wernight


add new acapy instance, rename values and secrets, add todos

catenax-managed-identity-wallets-acapy-secrets must be changed and new secrets keys and values must be added in the vault for acapy.endorser and acapy.mt.
each environment requires now 2 Acapy Seeds. The DID and Verkey of these Seeds must be registered on the ledger as endorser

A rather general comment: fixing the linter issues is very recommended as exactly this check is done in later stages as well.


CI test flake? failed to setup network for sandbox; cni0: file exists

Opening this per discussion in Slack with @Random-Liu.
From time to time the CRI tests cause a random failure in containerd/containerd CI. Restarting CI usually works and the failure has no known trigger; sometimes many PRs go through CI with no failures, and sometimes it fails more often. (one example after a merge of a successful PR to master: https://travis-ci.org/containerd/containerd/jobs/480505949)
The CRI test log usually looks like this:
BeforeEach] [k8s.io] Security Context
  /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/framework/framework.go:50
[BeforeEach] [k8s.io] Security Context
  /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/validate/security_context.go:52
[It] runtime should support ContainerPID
  /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/validate/security_context.go:220
STEP: create podSandbox with PID set to container
Jan 16 18:15:18.720: INFO: Pid namespace is "CONTAINER"
STEP: create NamespaceOption podSandbox
E0116 18:15:31.438909   14622 remote_runtime.go:96] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed to setup network for sandbox "413532d612ba284bcfb2acedc7c7f34b6ac00267c03d1343e72fd886fc36838c": failed to set bridge addr: could not add IP address to "cni0": file exists
Jan 16 18:15:31.439: INFO: Unexpected error occurred: rpc error: code = Unknown desc = failed to setup network for sandbox "413532d612ba284bcfb2acedc7c7f34b6ac00267c03d1343e72fd886fc36838c": failed to set bridge addr: could not add IP address to "cni0": file exists
[AfterEach] [k8s.io] Security Context
  /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/framework/framework.go:51
[AfterEach] [k8s.io] Security Context
  /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/validate/security_context.go:57
• Failure in Spec Teardown (AfterEach) [12.721 seconds]
[k8s.io] Security Context
/home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/framework/framework.go:72
  NamespaceOption
  /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/validate/security_context.go:72
    runtime should support ContainerPID [AfterEach]
    /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/validate/security_context.go:220
    failed to create PodSandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "413532d612ba284bcfb2acedc7c7f34b6ac00267c03d1343e72fd886fc36838c": failed to set bridge addr: could not add IP address to "cni0": file exists
    Expected error:
        <*status.statusError | 0xc000321920>: {
            Code: 2,
            Message: "failed to setup network for sandbox \"413532d612ba284bcfb2acedc7c7f34b6ac00267c03d1343e72fd886fc36838c\": failed to set bridge addr: could not add IP address to \"cni0\": file exists",
            Details: nil,
        }
        rpc error: code = Unknown desc = failed to setup network for sandbox "413532d612ba284bcfb2acedc7c7f34b6ac00267c03d1343e72fd886fc36838c": failed to set bridge addr: could not add IP address to "cni0": file exists
    not to have occurred
    /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/framework/util.go:152

The containerd log entry related to the cni0: file exists usually just has this one line:
time="2019-01-16T18:15:31.431161983Z" level=error msg="RunPodSandbox for &PodSandboxMetadata{Name:NamespaceOption-PodSandbox-ae13df62-19ba-11e9-802e-42010a1402a5,Uid:cri-test-uidae1c2490-19ba-11e9-802e-42010a1402a5,Namespace:cri-test-namespaceae1c24ba-19ba-11e9-802e-42010a1402a5,Attempt:2,} failed, error" error="failed to setup network for sandbox \"413532d612ba284bcfb2acedc7c7f34b6ac00267c03d1343e72fd886fc36838c\": failed to set bridge addr: could not add IP address to \"cni0\": file exists"

@Random-Liu's fix on the plugins package has been merged and released as 0.7.6, and he has updated vendor.conf to consume the version (https://github.com/containerd/cri/commit/cda752fd59333d21e3de12e89efcdca800b8916c). So we are good now?

@kzys I think so.
Feel free to reopen if this happens again.


fix: Handling of rawSourceMap string type in webpack5-istanbul-loader

Hi Team,
I noticed a regression in the latest version v1.0.4. The same issue was previously reported here https://github.com/storybookjs/addon-coverage/issues/32, and fixed in https://github.com/storybookjs/addon-coverage/pull/33. However, it was reintroduced as part of Fix sourcemap generation for Webpack5 projects.
I hope you are okay to merge this patch and cut a bugfix release when you get a chance, please.
Thank you kindly,
Mike

Please merge this Pull Request!!!

Using this fix works like a charm!

Hey @mschimk1 thank you so much for this fix <3


Fixed stackoverflow problem of List.hashCode().

Unified HAMT.hashCode() for empty case.
Fixes #1795

Current coverage is 97.09% (diff: 100%)

Merging #1796 into master will decrease coverage by 0.01%

@@             master      #1796   diff @@
==========================================
  Files            87         87
  Lines         11246      11246
  Methods           0          0
  Messages          0          0
  Branches       1868       1868
==========================================
- Hits          10921      10919     -2
- Misses          204        205     +1
- Partials        121        122     +1

Powered by Codecov. Last update dbf59f6...bef1d73


Spelling fixes in german locale

This patch tries to fix a a most of the misspelled compound nouns, mostly by adding hyphens. There are a also a very few trivial message rewrites.

Just to let you know we have an excellent platform for doing translations. See:
https://translate.wavelog.org/

https://translate.wavelog.org/

Which I'll probably use next time. Right now I'm more interested in learning about github and pull requests.
I hope the patch is not too unwieldy for inclusion…

I will fix the issues. Next time please:

use the current dev branch to create your feature branch (not master)
use weblate for translations

In any case your contributions are very welcome.

I will fix the issues. Next time please:
* use the current dev branch to create your feature branch (not master)

I think I did. But then merged my feature branch into the master branch of my fork.
I'll try not to do this next time and

* use weblate for translations

for translations.

In any case your contributions are very welcome.

Thank you!


fix: populate components when navigating back

When navigating back from the previous page, the state is populated from the history API. However, the component's state wasn't properly initialized.

This fixes some regression introduced by #271. By adding the pagination state to the history state, the "terms" (search box) wasn't properly populated from the stored (and retrieved) state in the history. So the terms where present, but not visible in the text box.


Expire anonymous users when client disconnects

Anonymous users have the potential to stack up really quick. There should be some way of specifying a policy for deleting the users, or limiting how many are created etc.

I think with worker processes #368 and the user api, this should be implementable by developers. I don't know that any general purpose solution is going to be good for a majority of use cases, probably better to let the app developers decide whether to delete anonymous users.

In my opinion, an expiration time for anonymous users will be such a common requirement, that we should still consider making it an explicit option. It could be implemented internally based on #368, but I think from the developer's perspective it should still be its own option.

Ok, reopening


Change user-agent

Hello, please change user-agent to load mobile version of twitter.
Before

After

Hi, sorry for the very late reply. I'm not sure about setting this as the default for the extension - the mobile version is for small touchscreens after all. However I would be open to adding this to settings.
How do you suggest I override the user-agent?

Unfortunately, I could not open Twitter in mobile mode with any user-agents.
I think there is no solution for that.

The Twitter menu bar anchored to the left instead of bottom has been bugging me for a long time.
I don't think it is user-agent that controls the position of the menu bar. I've tried the responsive design mode in Firefox and the menu will adjust accordingly by narrowing the viewable space. I can't replicate this in a normal tab or window.

I think it will involve changing the user-agent (see  - I think this is how it works in responsive design mode) but I've had another look and I think this might be possible.
It seems that it's definitely possible to spoof the user-agent in a standard browser tab but it would be nice to limit this to just the sidebar, instead of affecting a user's other webpages. I'll investigate!

Setting the user-agent to any mobile device then increasing the width would send the bar to the left column. Viewport width under 500 px seems to be the transition point. So I still don't think the menu position is controlled by user-agent. Unfortunately digging through the page's source code is beyond my ability now.


Implement NPM Package Deployment Checks

Implement an automated NPM deployment script that:

Fetch the latest package from NPM and the current draft release
Extract contents  of both packages and check that from latest -> draft:

None of the supporting files (JS files, package.json, etc.) have changed
New network deployments were only added and nothing else was modified from the assets/**/*.json files

Publish the NPM package.

Note that we the exact specification may change and is related to #718

Closing as this task was split into two separate items for better tracking.


Incorect TBB test in cmake scripts

CMake Error at /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find TBB (missing: Tbb_LIB_COMPONENTS tbbmalloc_proxy) (found
  suitable version "2019.0", minimum required is "2017.0")

also having this issue with 2018.0

@yurivict / @aflecken what platforms are you running into this issue on, are you both on FreeBSD?

I am on FreeBSD.

Resolved by #749


Expenses - Old amount shown in overview until entering another section and going back

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Open the https://staging.new.expensify.com/
website
Tap on the search icon on the bottom of the page
Open any expense
Tap on the amount
Edit the amount
Tap on the arrow on the top left corner
Tap on the arrow on the top left corner again
Check if the amount was changed in the expense overview
Tap on another section
Go back to search section
Check if the amount was changed after this action

Expected Result:
Expense amount should be automatically updated in the overview, after being edited by the user
Actual Result:
Expense overview displays the previous amount until the user enters another section and goes back to the search section again
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/59ce22a2-bc77-4071-b022-47968898a439
View all open jobs on GitHub

@muttmuure  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Issue not reproducible during KI retests. (First week)


Filter district by searching

Is your feature request related to a problem? Please describe.
Users might need to scroll a long distance (especially on small screens) if they want to look for specific districts
Describe the solution you'd like
Create a simple search bar. Using component rendering of React, render only those district that contains the text in the search bar
Describe alternatives you've considered
Or, divide the districts by division and make them collapsable on click for easier searching.
Additional context
NONE
NOTE (will be deleted later): Now my API provides latest statistics (deaths, positives etc) from IEDCR. So no need to of scraping. ~Although it's missing 'tests conducted', but I will add it tomorrow.~ Also, your website is really well designed and efficient. I request you to share it in more platforms to reach more people

Searching through the district list is a good idea. I'm trying to implement this.
Thanks for providing stats in the API. Scrapping was too much heavy task for this small amount of data. :sweat_smile:

Added a search bar in the district table. :smiley:
Have a look at the preview from here.
And please let me know if you find any bug or you want to see any more features.
Thank you. :grin:

Please add a clear icon, which will clear the search text. And also, during the search, the whole district-data section changes it's vertical positioning as the number of rendered district changes (like a jumping effect). It's not an urgent issue, but it's distracting. To regenerate this: from a desktop screen, type a full district name like "Bogra" or "Rangpur". The search bar should keep it's position no matter what you search. Look into that too.


Turn on ipv6 everywhere

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

/test all

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test unit-tests_istio

integ-pilot-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-pilot-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test unit-tests_istio

integ-pilot-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-pilot-k8s-tests_istio

integ-distroless-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-distroless-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test unit-tests_istio

integ-pilot-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-pilot-k8s-tests_istio

integ-distroless-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-distroless-k8s-tests_istio

integ-telemetry-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-telemetry-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test unit-tests_istio

integ-pilot-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-pilot-k8s-tests_istio

integ-distroless-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-distroless-k8s-tests_istio

integ-telemetry-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-telemetry-k8s-tests_istio

integ-mixer-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-mixer-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test unit-tests_istio

integ-pilot-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-pilot-k8s-tests_istio

integ-distroless-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-distroless-k8s-tests_istio

integ-telemetry-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-telemetry-k8s-tests_istio

integ-mixer-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-mixer-k8s-tests_istio

integ-security-k8s-tests_istio
16352068248c6109c6cb02d5f8443f11f5451c70
link
/test integ-security-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Migrate subrequirement to typescript

Summary
While waiting on design for toggleable requirements, let me just migrate the file into TS first to reduce the potential PR size for toggleable requirements.
Test Plan
It's a type-only diff, and everything type checks.

Thank you @SamChou19815. How many more files are still not in TS?

probably still at least one third. even for files in TS, there are a lot of anys.


Use case: Introduce VersionInfo.coerce

Situation
Currently, if you parse a version string into a valid semver version, the version string has to consist of at least the major, minor, and patch parts.
However, in some use cases some parts could be missing, for example the patch part.
Proposed Solution
I propose a classmethod VersionInfo.coerce with the following signature:
@classmethod
def coerce(cls, version):
    """
    Convert an incomplete version string into a semver-compatible VersionInfo
    object

    * Tries to detect a "basic" version string (``major.minor.patch``).
    * If not enough components can be found, missing components are
      set to zero to obtain a valid semver version.

    :param str version: the version string to convert
    :return: a tuple with a :class:`VersionInfo` instance (or ``None``
        if it's not a version) and the rest of the string which doesn't
        belong to a basic version.
    :rtype: tuple(:class:`VersionInfo` | None, str)
    """

I've chosen coerce as it is a common function name in other semver implementations, for example, node-semver.
An example session:
>>> import semver
>>> semver.VersionInfo.coerce("v1.2")
(VersionInfo(major=1, minor=2, patch=0, prerelease=None, build=None), '')
>>> semver.VersionInfo.coerce("3.5rc1")
(VersionInfo(major=3, minor=5, patch=0, prerelease=None, build=None), 'rc1')

Questions:

Do you you think such a function could be useful?
Should the coerce function accept an integer value (=major)?  So coerce(2) would be the same as coerce("2") which would return VersionInfo(major=2, minor=0, patch=0, prerelease=None, build=None).
Anything else you miss, would change, ...?

See also
This issue is related to #137

To be honest - I'm not sure about this. Generally speaking it's a quite nice feature, but it's for someone who doesn't use semver correctly and I wonder if we should support such "non-semver" behavior.
Parsing versions in non-trivial task and there are a lot of problems with different version formats :)
https://www.python.org/dev/peps/pep-0386/

Thanks Karl for your feedback! :+1:
I agree, parsing a version can be difficult. However, when I've created this idea, I had one use case in my mind: what does a developer do when he has to deal with a version string that he or she doesn't control? From an outside source? How do we convert an invalid version to a valid semver version?
Currently, we don't have a solution. Sure, the developer could do some "manual massaging" of his version string, but should (s)he? Isn't that the task for a library (in this specific case: semver)?
With this PR we have an idea to discuss. :wink:  Of course, it is not meant to use it on a daily basis. I see this coerce function more as a "door opener" that our version string becomes a valid semver version.
Additionally, this function focuses on one very narrow version string: major and optional minor and/or patch. There are no prereleases or build and that's on purpose. If there are further information, this is returned as the second item.
Hope that clarifies it a bit.

@tomschr I see your point and I didn't mean to sound negative in my previous post - I only wanted to raise my concerns. If we are going to use such "lenient" approach (like in mentioned in #137) it would be a very nice feature. I'm a bit worried, however, that we may run into supporting some different and weird version formats (like mentioned in PEP 386 0.5b3) :)

@ppkt I see your point Karol. Don't worry, you didn't sound negative. :smile:  :+1:
Absolutely fine if you raise your concerns, :+1: that's why I've opened this issue for discussion and asked for feedback. :wink:
I agree, we shouldn't support "weird" version formats (well, what's "weird" is probably open for discussion). We can't support them all. On the other hand, should we "support" the conversion of some common ones at least (like the mentioned v1 etc.)? Should we help our developers in the conversion to a valid semver? Or should they do it on their own?
My concern is that we leave our developers in the dark when someone has to deal with "invalid" versions. What would be your solution when dealing with such versions?
I'm totally fine if we close this PR, but then we should clearly document the scope of this project and library. Additionally, we should give some recommendations what the developer could do in such a case.
Does this makes sense? :wink:

@ppkt I just had another idea: :bulb:
If you fear of we support "weird" versions when we merge this PR, why not just document how to deal with invalid/weird versions?
For example, we could introduce a new section "Dealing with Invalid Versions" where we could add this coerce function as an example (or another, similar function). Give some recommendations, but clearly state that we only support valid semver versions and it's out of scope for this library.
Would that be an option?
@scls19fr What do you think? Which one would you prefer? :wink: