rough dev landing experience

Hey, guys! First of all: amazing project, I love the idea!
I was trying to give it a quick test, but alas, I couldn't find any demo page for it to get an impression of its capabilities.
Also, neither the example code in README works (it has syntax problems), nor did I manage to run the /example/ code in an online playground. And there are no actual instructions on how to install/add the package to an existing project.
I'm not well familiar with pixijs so I might be missing some obvious stuff here. npm i puxi.js and then import default or all from "puxi.js"? what version of pixijs is required?
It'd be cool to have some online editable demo for a quick overview and a short intro to pixi-ui installation and its concepts!
Thanks!

Heya, PixiJS UI has been dormant for a while. Feel free to make any PRs and I'll review it for sure.


Fix Add new tags for single entity

Bugfix for #51
The support of new tags was limited to multiple entries. This should do the trick for the single entity as well.
Please note I also removed a query in the transform function as it seemed useless but I didn't understand the comment.
I am happy to modify this if you can provide more insight about the usage.
Moving forward, it may be of interest to have a parent class as a lot of code is duplicated between EntityToPropertyTransformer and EntitiesToPropertyTransformer.
Thanks!

Thanks, I'll look at this in the next few days.  I remember that query when it was added by another PR.  I'll take a look and see if it serves a purpose.

Sorry @mitch10593, I got confused seeing your same comment on two different PRs. I will add your custom object manager code back, hopefully in the next day or so.  My mistake for not checking the PRs carefully enough.


Example 1 and Example 2 are showing same results in comparison to calculation as per system

Example 1 and Example 2 given in the page are showing same result. but as per the base consumer price index, the actual calculation done by the system is
Example 1
On the Recurring contract billing parameters page, you set the Consumer price index calculation field to Base Consumer price index.
For the period January 1, 2021, the first escalation amount is calculated in the following way, based on the initial amount:
1,000 + (110.5 – 105.65) ÷ 105.65 × 1,000 = 1,045.91
For the period January 1, 2022, the escalation amount is calculated in the following way:
1,045.91+ (114.25 – 105.65) ÷ 105.65 × 1,000 = 1,127.31
The example 2 is working as per the system.
Please verify the same at your end and make necessary changes.

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

ID: 57d56d04-fe2b-063c-08a2-5cdc3c6d03cb
Version Independent ID: 57d56d04-fe2b-063c-08a2-5cdc3c6d03cb
Content: Consumer price index schedule - Finance | Dynamics 365
Content Source: articles/finance/accounts-receivable/cpischedules.md
Service: dynamics-365-finance
Product: ****
Technology: ****
GitHub Login: @JodiChristiansen
Microsoft Alias: jchrist

Bug 787049 has been logged to address this issue.

@Neeraj2912, thank you for the feedback. The content will be updated.


support for wasm32-unknown-unknown

Are there plans for adding support for rust's native support for web asm? Currently compiling with --target=wasm32-unknown-unknown results in an error being thrown that the target is not supported

#395


Data Transfer Object (DTO) refresh

Data Transfer Object (Dto) refresh will bring a way where we can write refresh parser, that does not depend on the order of parsing of the APIs (therefore, can be parsed in parallel) and a generic saving code that is able to save the tables based on the dependencies (and can also be saved in parallel)
Steps for Testing/QA [Optional]
The refresh of Amazon Network manager should not change.

Things I like:

Replacing the Hash interface to EMS Refresh with actual objects

Things I don't like

The name DTO is too general.  Perhaps RefreshDTO or EmsRefreshDTO or EmsRefresh::DTO or something.  Not sure.  I like the string "DTO", but I feel it needs a qualifier.
I don't think I like the graph definition being spread across the models.  I've run into problems with this before with respect to C&U parent definitions and it gets extremely complicated to describe the graph to people because they have to hunt down these definitions.  On the other hand, subclassing and pluggability give a provider a nice way to override these values.  I think I'd prefer the definition in one place, and perhaps, if necessary, we can provide some sort of interface to it to providers to manipulate it.

Other things

Replacing the custom unique references with [ems_id, ems_ref] or perhaps a new column so it will be [ems_id, ems_refresh_unique_thing].  As discussed, the ems_ref's purpose is to hold the native id of the provider.  I don't really like overloading ems_ref with multiple responsibilities, hence the "new column" idea.  We may also want to just use uid_ems, whose purpose sort of started out as this "alternate unique reference".  You may want to do this first before we complete this PR in order to make this PR simpler.
This PR only implements the DTO strategy for Amazon NetworkManager, which is fine.  However, before we move on to alternate ways to leverage the DTO strategy, I think we should spread it out to more managers (i.e. try it for Azure NetworkManager (same manager type), and then try RHEV InfraManager (different manager type))

@Fryguy agreed, things you don't like: working on that. Other things we will start with unique references also on one place, then we will go from there. The POC for this would we probably Amazon cloud + network, I don't know the rest of the refreshes that well
@Fryguy @kbrock the first batch of benchmarks, I hacked together stubbed specs and made it a benchmark tool. It is not measuring time spent waiting on API. That is TBD
https://docs.google.com/spreadsheets/d/1E9SNP3DskmZVWuifon6St_0IJXwX8Ma1H8mvCzXvVJE/edit?usp=sharing
I did fix a nasty O(n^2) in https://github.com/Ladas/manageiq/blob/8fd3ff026c2378fa3ed665a5eddec9079df4b53f/app/models/ems_refresh/save_inventory_helper.rb#L112
then the dto refresh saves about 10-20% faster than the old one and this is without any performance tweaks. So more is to come, I needed a way to measure it first. :-)
But as you see from graph, if I scale number of objects in the provider, the number of objects in the DB raises with N^2. Then according to number of our objects, the saving code performs O(N)
So, O(N) for time processing data and saving to database, based on number of objects is pretty bad. The memory requirements are also pretty huge, for bigger number (with scaling 100, I stopped it on 10GB). So with that in mind, my end game is probably dividing it in multiple tasks and processing in parallel, putting down memory and bumping speed in the process. :-)

@agrare can you review please? This should be mergeable as a first draft, we will need it merged so the CI in AWS passes. I am tracking the features @Fryguy and @kbrock  wants in https://github.com/ManageIQ/manageiq/issues/11901
It's configuration based now, so it doesn't affect the old code. Only specs for this will be in AWS for now, testing both old refresh and new refresh.


fix(JsonSafe): handle nested structures and arrays

Update JsonSafe<T> type to recursively handle nested objects and arrays

I wasn't sure the best place for a test. Please see:
TS Playground

tsd test
import { expectType } from 'tsd';

// Old version of JsonSafe
type JsonSafeOld<T> = {
  [Prop in keyof T]: T[Prop] extends Uint8Array | bigint | Date ? string : T[Prop];
};

// New version of JsonSafe
export type JsonSafe<T> = T extends Uint8Array | bigint | Date
  ? string
  : T extends Array<infer U>
  ? Array<JsonSafe<U>>
  : T extends object
  ? { [K in keyof T]: JsonSafe<T[K]> }
  : T;

const queryDelegatorUnbondingDelegationsResponse = {
  unbondingResponses: [
    {
      entries: [
        {
          creationHeight: BigInt(1),
          completionTime: {
            seconds: BigInt(123456789),
            nanos: 123456789,
          },
        },
      ],
    },
  ],
};

// Old JsonSafe doesn't handle nested bigint correctly
type SafeUndelegationsQueryOld = JsonSafeOld<typeof queryDelegatorUnbondingDelegationsResponse>;
expectType<{
  unbondingResponses: Array<{
    entries: Array<{
      creationHeight: bigint; // Still bigint, not converted to string
      completionTime: {
        seconds: bigint; // Still bigint, not converted to string
      };
    }>;
  }>;
}>(null as unknown as SafeUndelegationsQueryOld);

// New JsonSafe handles nested bigint correctly
type SafeUndelegationsQuery = JsonSafe<typeof queryDelegatorUnbondingDelegationsResponse>;
expectType<{
  unbondingResponses: Array<{
    entries: Array<{
      creationHeight: string; // Correctly converted to string
      completionTime: {
        seconds: string; // Correctly converted to string
      };
    }>;
  }>;
}>(null as unknown as SafeUndelegationsQuery);

const msgUndelegateResponse = {
  completionTime: {
    seconds: BigInt(123456789),
    nanos: 123456789,
  }
};

// Old JsonSafe doesn't handle nested bigint correctly
type SafeMsgUndelegateResponseOld = JsonSafeOld<typeof msgUndelegateResponse>;
expectType<{
  completionTime: {
    seconds: bigint; // Still bigint, not converted to string
  };
}>(null as unknown as SafeMsgUndelegateResponseOld);

// New JsonSafe handles nested bigint correctly
type SafeMsgUndelegateResponse = JsonSafe<typeof msgUndelegateResponse>;
expectType<{
  completionTime: {
    seconds: string; // Correctly converted to string
  };
}>(null as unknown as SafeMsgUndelegateResponse);


Illegal offset type using InCondition and DbExpresion

What steps will reproduce the problem?
Trying to make use of IN condition and dbexpression to be able to use a json column
Model::find()
    ->where(new InCondition(new Expression("data->>$.name"),'IN',["Mike","Jonh"]))
    ->all();

What is the expected result?
You would expect that using a DbExpression as the first operand would work correctly just as it does with other operators
What do you get instead?

yii\base\ErrorException: Illegal offset type in yiisoft/yii2/db/Connection.php:970
Stack trace:
#0 yiisoft/yii2/db/Connection.php(970): yii\base\ErrorHandler->handleError(2, 'Illegal offset ...', '/var/www/vhosts...', 970, Array)
#1 yiisoft/yii2/db/conditions/InConditionBuilder.php(91): yii\db\Connection->quoteColumnName(Object(yii\db\Expression))
#2 yiisoft/yii2/db/QueryBuilder.php(288): yii\db\conditions\InConditionBuilder->build(Object(yii\db\conditions\InCondition), Array)
#3 yiisoft/yii2/db/QueryBuilder.php(1580): yii\db\QueryBuilder->buildExpression(Object(yii\db\conditions\InCondition), Array)
#4 yiisoft/yii2/db/QueryBuilder.php(1357): yii\db\QueryBuilder->buildCondition(Object(yii\db\conditions\InCondition), Array)
#5 yiisoft/yii2/db/QueryBuilder.php(235): yii\db\QueryBuilder->buildWhere(Object(yii\db\conditions\InCondition), Array)
#6 yiisoft/yii2/db/ActiveQuery.php(328): yii\db\QueryBuilder->build(Object(yii\db\Query))
#7 yiisoft/yii2/db/Query.php(249): yii\db\ActiveQuery->createCommand(Object(yii\db\Connection))
#8 yiisoft/yii2/db/ActiveQuery.php(133): yii\db\Query->all(NULL)
#9 frontend/views/site/map.php(24): yii\db\ActiveQuery->all()
#10 yiisoft/yii2/base/View.php(348): require('/var/www/vhosts...')
#11 yiisoft/yii2/base/View.php(257): yii\base\View->renderPhpFile('/var/www/vhosts...', Array)
#12 yiisoft/yii2/base/View.php(156): yii\base\View->renderFile('/var/www/vhosts...', Array, Object(frontend\controllers\SiteController))
#13 yiisoft/yii2/base/Controller.php(410): yii\base\View->render('map', Array, Object(frontend\controllers\SiteController))
#14 frontend/controllers/SiteController.php(80): yii\base\Controller->render('map')
#15 [internal function]: frontend\controllers\SiteController->actionMap()
#16 yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#17 yiisoft/yii2/base/Controller.php(181): yii\base\InlineAction->runWithParams(Array)
#18 yiisoft/yii2/base/Module.php(534): yii\base\Controller->runAction('map', Array)
#19 yiisoft/yii2/web/Application.php(104): yii\base\Module->runAction('site/map', Array)
#20 yiisoft/yii2/base/Application.php(392): yii\web\Application->handleRequest(Object(yii\web\Request))
#21 frontend/web/index.php(17): yii\base\Application->run()
#22 {main}

Additional info

Q
A

Yii version
<IP_ADDRESS>

PHP version
7.4

Operating system
Ubunut  18.04

Escaping: "data->>\$.name"

Model::find()
    ->where(new InCondition(new Expression("data->>\$.name"),'IN',["Mike","Jonh"]))
    ->all();

@bizley, Produces the same error

Hmm, sorry, I was too hasty about this. Question is if have that operand supported at all.

This looks like a case of using Expression as a $column argument for InCondition - this is not supported, it should be string|string[].

The problem is not that really, What I indicate is that it is not allowing the use of DBexpression with the IN condition.
//ok
Model::find()
    ->where(['LIKE',new Expression("name"),"Mike"])
    ->all();

//ok
Model::find()
    ->where(['=>',new Expression("name"),"Mike"])
    ->all();

//error -> Illegal offset type
Model::find()
    ->where(['IN',new Expression("name"),["Mike","Jonh"]])
    ->all();

It is similar to this https://github.com/yiisoft/yii2/issues/18134 but for the IN condition


Remove some inline assembler and non-standard constructs.

The goal is to minimize maintenance burden by eliminating somewhat
obscure platform-specific tweaks that are not viewed as critical for
contemporary applications. This affects Camellia and digest
implementations that rely on md32_common.h, MD4, MD5, SHA1, SHA256.
SHA256 is the only one that can be viewed as critical, but given
the assembly coverage, the omission is considered appropriate.
[extended tests]

What a terrible moment to run test... I mean everything is going to be red, and it's all should be unrelated...

Red crosses from travis are expected and being addressed in #6509.

It's not a bug fix, but recognition of the fact that it costs less to remove than maintain. I mean modifications were suggested, and it boiled down to why bother. Still go?

I would still like to see this done.

I agree...  if you want to classify, I think "cleanup" and "technical debt" are good enough.


[json] "There is no formatter for 'json'-files installed." for a specific (large) JSON document

VSCode Version: 1.21.1
OS Version: Win10Pro 1709

Steps to Reproduce:

Open json file https://data.cdc.gov/api/views/6vp6-wxuq/rows.json?accessType=DOWNLOAD (378mb)
Shift-Alt-F to format document

Observe:  Error message: "There is no formatter for 'json'-files installed."
Other json files will format just fine.

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

@aeschli i think the reason might be that we don't sync large files to extension host.

Can we improve the error message then?

not so easy...

Seeing same issue here with latest build.  Thought that it was perhaps a limitation of the 32-bit version so I replaced it with the 64-bit version but I am still seeing the same (subtle) error message.  How is it possible that a 64-bit application can't handle formatting a 30 MB JSON file?  Since these are data files and the world is embracing "big data", I would expect a 64-bit application to be able to handle files up to the limits of the machine's virtual memory (albeit, potentially slowly), but certainly with no issues if the file fits in RAM, which this one easily does (machine has 64 GB RAM).  Thanks.

Same issue here.

Seeing same wiht a small local file.

This is very annoying, especially for small JSON files that were saved as "one liners" and need to be quickly viewed in a more human-readable format.
I'm using version 1.24.0 if that matters.
Could the message be changed to suggest a plug-in that, at a minimum, will perform some default formatting?  Bonus points if the plug-in allows some customization.

so far I never had this problem.
Today I updated from VS Code 1.24 to 1.24.1 and now I get the same error - for any size JSON file.

It's possible to disable the JSON formatter with "json.format.enable": false. Can you check your settings?

@fmorriso VSCode always had and still has a built-in JSON formatter. Also it works for me.
Reasons for not getting the formatter:

JSON extension disabled: Go to the extensions viewlet and enter @disabled in the search field. JSON language support should not show up
"json.format.enable": false: Please set to true
the file you have open is not associated with the JSON mode: Please verify that the editor shows 'JSON' in the lower right corner
It's a huge file. Please also try with a small file to verify that this is the problem

I get the error message when I open the .json file using the "Open with Code" context menu option in Windows Explorer. If I open VS Code and then open the file, the formatter works.

@aeschli I verified all of your above points and the formatter is not working with the aforementioned error message.
I am using version 1.24.1 and the json file has 9KB

@rweyand Interesting. So it looks like the JSON language server is not started. Whan you see this again, can you also check the log views in the output view:
e.g.

Also the output of the Log (window) view is interesting.

I created the following tiny one-liner in VS Code 1.24.1 ::
{ "root": { "sublevel1": { "a": "1" } } }
I then pressed Shift+Alt+F
Nothing happens.  No error.  Nothing happens.
How can I get VS Code to reformat the above to a more readable form ::
{
"root": {
"sublevel1": {
"a": "1"
}
}
}

I was trying to change the tab spacing settings for json files from 4 to 2 spaces by setting all of the following in my user settings:
"editor.tabSize": 2,
"json.format.enable": true,
"[json]": {
"editor.tabSize": 2
}
But seems the tabSize setting doesn't take, and then I saw this error pop-up. It does actually do some formatting though. So maybe this is a false-error?

I have the same issue, but my JSON files are way much smaller (around 500 lines). What solved a problem for me was removing the first and the last square brackets from JSON, so then Shift+Alt+F worked for me.

@joem-msft That sounds like an different issue. Can you file a new issue with a sample and steps?

When I try Shift-Alt-F I am getting the following error on large files. Sometimes it fixes itself if I restart VS Code.
[Error - 10:01:45] Request textDocument/rangeFormatting failed. Error: Connection got disposed. 	at Object.dispose (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\main.js:825:25) 	at Object.dispose (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-languageclient\lib\client.js:57:35) 	at LanguageClient.handleConnectionClosed (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-languageclient\lib\client.js:1983:42) 	at LanguageClient.handleConnectionClosed (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-languageclient\lib\main.js:126:15) 	at closeHandler (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-languageclient\lib\client.js:1970:18) 	at CallbackList.invoke (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\events.js:71:39) 	at Emitter.fire (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\events.js:135:36) 	at closeHandler (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\main.js:221:26) 	at CallbackList.invoke (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\events.js:71:39) 	at Emitter.fire (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\events.js:135:36) 	at IPCMessageReader.AbstractMessageReader.fireClose (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\messageReader.js:135:27) 	at ChildProcess.<anonymous> (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\messageReader.js:253:61) 	at emitTwo (events.js:111:20) 	at ChildProcess.emit (events.js:194:7) 	at maybeClose (internal/child_process.js:899:16) 	at Socket.<anonymous> (internal/child_process.js:342:11) 	at emitOne (events.js:96:13) 	at Socket.emit (events.js:191:7) 	at Pipe._handle.close [as _onclose] (net.js:510:12) [Error - 10:01:45] Request textDocument/hover failed. Error: Connection got disposed. 	at Object.dispose (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\main.js:825:25) 	at Object.dispose (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-languageclient\lib\client.js:57:35) 	at LanguageClient.handleConnectionClosed (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-languageclient\lib\client.js:1983:42) 	at LanguageClient.handleConnectionClosed (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-languageclient\lib\main.js:126:15) 	at closeHandler (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-languageclient\lib\client.js:1970:18) 	at CallbackList.invoke (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\events.js:71:39) 	at Emitter.fire (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\events.js:135:36) 	at closeHandler (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\main.js:221:26) 	at CallbackList.invoke (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\events.js:71:39) 	at Emitter.fire (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\events.js:135:36) 	at IPCMessageReader.AbstractMessageReader.fireClose (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\messageReader.js:135:27) 	at ChildProcess.<anonymous> (c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\node_modules\vscode-jsonrpc\lib\messageReader.js:253:61) 	at emitTwo (events.js:111:20) 	at ChildProcess.emit (events.js:194:7) 	at maybeClose (internal/child_process.js:899:16) 	at Socket.<anonymous> (internal/child_process.js:342:11) 	at emitOne (events.js:96:13) 	at Socket.emit (events.js:191:7) 	at Pipe._handle.close [as _onclose] (net.js:510:12)

I just hit this issue as well. Here is what I noticed.
Open large file (vscode disables language features)
Close large file.
Open small file (vscode formatting won't respond).
Restart vscode.
Open small file again (vscode formatting working again).

I ran into the same problem with 1.27.2.  Following @jarrettv's steps solved the problem.

Issue report I reported earlier also gets fixed with @jarrettv's steps as a workaround.

Just upgraded to latest version of VS Code (1.28.1) and it still fails to format large (e.g., 100 MB) JSON file.  When looking for data errors / anomalies in .json files, it is much easier to spot them if the file is nicely formatted.  Given that VS Code can read these "large" files and manipulate them with ease, it is a shame that it can not format them.
Given the comment above by @dbaeumer about "[not] sync[ing] large files to extension host" is there some way to control the size at which this happens and/or to perform the formatting operation locally (it can't be that computationally intensive).  Thanks.

it looks there has been a regression here, as in 1.36.1 this fails even for 100kb files

I have experienced a similar issue, when loading a 15MB json file, the extension host keeps crashing, which ends up making it so that I can't format the json file, and all other files. Should this be a separate ticket?

@Adondriel A separate issue with steps to reproduce the crash would be very helpful!

After selecting the filetype manually to JSON, I got the warning below:

Then, I set editor.maxTokenizationLineLength to be higher.
It worked just fine without performance degradation for me since it was a 4k lines JSON object.

Just ran into this with a 3.17MB file of JSON I wanted to format.
Steps:

Save a JSON file of that length to disk with .json extension and open with VS Code (or paste into a new VS Code tab and save as x.json)
Get same error message as @rodrigo4244 above.
Alt + Shift + F no longer works, saying that no .json file formatter is installed.

If the warning message about the tokenization is related, e.g. formatter isn't found because tokenization is off, then at the very least that warning message could be updated to include "Formatters will not work. "?

fixed through #71652.


Fix helm for resources in container agent; add helm for resources to node agent

Fixes #173
Adds resource support to .Values.node.daemonset.resources.
Technically the old version of the container agent would support resourcing if you passed .Values.resources but the values file has the resources under .Values.container.resources (which would not have worked had someone used it).  Moving those resources to the intended place is technically a breaking change, so bumping the version to 1.18 as well.

Thank you for opening this PR. We do not support setting resouces at all on the daemonset because of the very nature
that it is a kernel module. See https://github.com/CrowdStrike/falcon-helm/discussions/146

@redhatrises I will.  This seems like a misunderstanding of the nature of resource requests.
The resource requests are for the scheduler to make room so the pod always has space to run.  It's more about setting the minimum than the maximum.

@redhatrises I will. This seems like a misunderstanding of the nature of resource requests.
The resource requests are for the scheduler to make room so the pod always has space to run. It's more about setting the minimum than the maximum.
When karpenter (our cluster autoscaler) detects unschedulable workloads, it provisions a new node to fit those workloads on it.
For example, if I have 2Gi of memory requests that the scheduler cannot fulfill, karpenter provisions an instance that provides (2Gi + daemonset requests) of memory. If the falcon sensor does not participate in this calculation, my nodes are undersized by whatever amount of resource utilization the falcon sensor would require, and either a daemonset pod is unschedulable (very bad) or a workload pod is unschedulable, causing me to create another instance which is then subject to the same problem again (also bad, but differently).
So I and others need to be able to specify the resource requests for all pods, daemonset or otherwise.

If anything at this point in time, limits won't be supported. requests could be supported. It just needs to be supported officially.

@redhatrises that would be completely acceptable, thank you.

@redhatrises that would be completely acceptable, thank you.

@jcogilvie make sure to make the request for the daemonset sensor to provide the minimum cpu/mem requirements to run as a pod in kubernetes and not around helm support. Once those requirements have been provided, helm support can be added through a pull request like this one.

I can back that data out of the running cluster, but I can add it to a
support case if it's helpful.
It's unconventional for a helm chart to be opinionated about resource
requirements given the wide variety of cluster contexts one can find
oneself in. That's why the convention is to just let me, the operator,
handle it.
On Tue, Nov 8, 2022, 10:34 AM Gabe Alford @.***> wrote:

@redhatrises https://github.com/redhatrises that would be completely
acceptable, thank you.
@jcogilvie https://github.com/jcogilvie make sure to make the request
for the daemonset sensor to provide the minimum cpu/mem requirements to run
as a pod in kubernetes and not around helm support. Once those requirements
have been provided, helm support can be added through a pull request like
this one.
—
Reply to this email directly, view it on GitHub
https://github.com/CrowdStrike/falcon-helm/pull/174#issuecomment-1307409630,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFF3APNDYRFJZZO6D4F5MLWHJXIFANCNFSM6AAAAAARZOFWOY
.
You are receiving this because you were mentioned.Message ID:
@.***>

I can back that data out of the running cluster, but I can add it to a support case if it's helpful. It's unconventional for a helm chart to be opinionated about resource requirements given the wide variety of cluster contexts one can find oneself in. That's why the convention is to just let me, the operator, handle it.

This is where the misunderstanding is. It isn't a helm chart problem at all. It is a sensor problem that has to be addressed at the sensor level BEFORE it can be enabled in the helm chart.

Can you elaborate?
What problems would be caused by saying, "in the past week the kubernetes-reported memory usage for the falcon-sensor container has not grown beyond 20MiB and the cpu usage has held constant at 200-300mcores, so provision those going forward"?  (Just to take the reported metrics used from one of these node agents.)
Most daemonset pods that I'm aware of, including very important and deeply-buried ones like CNI plugins, don't require introspective knowledge of their own memory configuration.  Is there something that makes this one different?

Closing this until this is supported. The falcon sensor is a kernel module which is buried deeper than a CNI plugin.

It shouldn't matter how "deep it is buried". I believe we could add support for resource requests, even if the kernel module or the eBPF mode sensor don't honour it. The point would be to allow compute provisioners (like https://karpenter.sh/) to calculate the capacity requirements somewhat more accurately at the least.
Also, it looks like there's only the appearance of this being a repository that expects community contributions. If they're not welcome, this helm chart may as well be closed source.

Here's the ID of the idea board submission:  IDEA-I-9590
I second what @gazal-k said; I don't really care about kernel module memory/cpu.  I'm no expert on k8s kernel modules, but it appears there's already a built in reserved capacity for that.  So the heart of my request is still as it was:  let me tell Karpenter how much Node Allocatable (to use the term from the link) space this pod needs.

I agree with @jcogilvie, this simple DS improvement is required for proper resource management for cluster-autoscaler or karpenter. I'm ok with no limits, but requests are really needed.

Any updates for resources for daemonset mode for helm chart v1.19.x?


Implement custom DNS search domain support into our CloudInit config

Unless you manually change it on each VM manually, the automatic setting is to use thehostname.lan search domain. This task is targeted at adding additional support for a custom list of search domains (useful for AD Windows servers and on-prem deployments)

This feature had been implemented within Jails, VMs, and DNS server itself. It simply requires a new config flag in the host_config.json file:
"dns_search_domain": "zimaboard.io"

Full file example:
{
    "public_vm_image_server": "https://images.yari.pw/",
    "active_datasets": [
        "tank/vm-encrypted",
        "tank/vm-unencrypted",
        "hast_shared"
    ],
    "dns_servers": [
        "<IP_ADDRESS>"
    ],
    "dns_search_domain": "zimaboard.io",
    "host_ssh_keys": [
        {
            "key_value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqTNYq8R51GcpWF2QKecgtlBlpjw2uQ3ex2QExoq/IqorHwmd/bP1j6qMekA8yaZOg9zP8zlsbsatWJgB5hEBFVkxWlwzRFEyz/bICHW6YMUyYy5mSIwMT7W3K2EpaofPoxyZuW5t94BZoxbgHt6Tf3LR7DfvjaDxtZnDRLCg3uZ7x/g0GlAy24D3TyVYSZvembTN2ZThiJrJfALdbyby1l59QSOPVBzkaeYNmUA0grz2GavErKjcz2chF9WRmRjgRgp+ddK/8UQ62gL5sFCgmROHbqoOaGciIp7QVKekmEtxvo4ynAEnaiCH/i2LJIl09OGEQg91XnE0ERl3+m2QMncDJj98R0apAvP6kkaK9sFIbhQnDBdfcfyorTDKV/yThYF+/dGdHi1Ngof+z6OWGIudin+mRod/+0CdP9DvnrVJrqe0INDppcO9Ii4qEynmj/wjYa394Xil7xXDoJBHExc60gRYxMELb8R2+GcFpnbdYzZumBNqhYQnOI9H2p7+SHCmjrqPcvVTjb4Lr4tzMk7QtP+vSUfi7y2vnduM6OHBMeiu1PRdL2TsolWHo4WOSWc7bqWF5P/J+8/q/eFcOWRKmv+qMyhNt3ec14yzqvI8O1oFpkp8a6V3ZyvKBpKd95AwuymiRhXNGcsOqX9BOgKhyh8Ih5qukU4uvA+rAoQ== root@hoster-zimaboard-0101",
            "comment": "Host Key"
        }
    ]
}


RE2022-217: Workspace uploader performance

save_assemblies_from_fastas_integration_test.py::test_import_fasta_mass_timing Start uploading to 69141 in test_import_fasta_mass_timing fn
validating parameters
The following files are passed in _import_fasta_mass fn:

GCA_002506415.1_ASM250641v1_genomic.fna.gz
GCF_000007065.1_ASM706v1_genomic.fna.gz
GCF_000970165.1_ASM97016v1_genomic.fna.gz
GCF_000970185.1_ASM97018v1_genomic.fna.gz
GCF_000970205.1_ASM97020v1_genomic.fna.gz
GCF_000970245.1_ASM97024v1_genomic.fna.gz
GCF_000979375.1_gtlEnvA5udCFS_genomic.fna.gz
GCF_000979555.1_gtlEnvA5udCFS_genomic.fna.gz
GCF_000980105.1_gtlEnvA5udCFS_genomic.fna.gz
GCF_000980175.1_gtlEnvA5udCFS_genomic.fna.gz

staged 10 files in 5.6641364097595215 seconds
parsing FASTA file: /kb/module/work/tmp/import_fasta_0955b238-9e96-4095-9172-dddd4dfff0c6/GCA_002506415.1_ASM250641v1_genomic.fna
parsed 130 contigs, 3839682 bp
parsing FASTA file: /kb/module/work/tmp/import_fasta_878d8535-ea93-404b-b9a3-d43e67ca5f69/GCF_000007065.1_ASM706v1_genomic.fna
parsed 1 contigs, 4096345 bp
parsing FASTA file: /kb/module/work/tmp/import_fasta_b4a1b8e1-2164-4822-8e8e-4bd984d722ca/GCF_000970165.1_ASM97016v1_genomic.fna
parsed 1 contigs, 4096482 bp
parsing FASTA file: /kb/module/work/tmp/import_fasta_c05de458-98ad-447f-b3ed-735a2595c73b/GCF_000970185.1_ASM97018v1_genomic.fna
1693955669.0551195: uploading file /kb/module/work/tmp/import_fasta_878d8535-ea93-404b-b9a3-d43e67ca5f69/GCF_000007065.1_ASM706v1_genomic.fna into shock node
1693955672.2739327: uploading done into shock node: d5e6b96b-d3f1-493f-a9b6-c9ba9bfb29b2
1693955672.2740831: uploading file /kb/module/work/tmp/import_fasta_b4a1b8e1-2164-4822-8e8e-4bd984d722ca/GCF_000970165.1_ASM97016v1_genomic.fna into shock node
1693955677.3947856: uploading done into shock node: 6ce559d9-e733-448d-a11e-84dbaaeed99e
parsed 1 contigs, 4066551 bp
parsing FASTA file: /kb/module/work/tmp/import_fasta_7135350e-3363-493c-8360-b6c68c7d9b2a/GCF_000970205.1_ASM97020v1_genomic.fna
parsed 1 contigs, 4142816 bp
parsing FASTA file: /kb/module/work/tmp/import_fasta_65828b11-6633-4270-ab27-985ae2eab967/GCF_000970245.1_ASM97024v1_genomic.fna
parsed 1 contigs, 4166241 bp
parsing FASTA file: /kb/module/work/tmp/import_fasta_9da2a649-9a60-42e5-832f-052fcad14ea5/GCF_000979375.1_gtlEnvA5udCFS_genomic.fna
parsed 136 contigs, 4092300 bp
parsing FASTA file: /kb/module/work/tmp/import_fasta_fac65d9a-860e-41ad-b63f-0f1fe08f374b/GCF_000979555.1_gtlEnvA5udCFS_genomic.fna
parsed 185 contigs, 4078931 bp
parsing FASTA file: /kb/module/work/tmp/import_fasta_259d4045-4384-433f-9ca2-718ac1d61227/GCF_000980105.1_gtlEnvA5udCFS_genomic.fna
parsed 260 contigs, 4079204 bp
parsing FASTA file: /kb/module/work/tmp/import_fasta_23bb941d-b645-41df-9f3f-ff06c174330c/GCF_000980175.1_gtlEnvA5udCFS_genomic.fna
parsed 142 contigs, 4085981 bp
parsed 10 FASTA files in 5.011489391326904 seconds
saving assemblies to KBase
Uploading FASTA files to the Blobstore
1693955663.00 - CallbackServer: Subjob method: DataFileUtil.file_to_shock_mass JobID: 2dbd1842-ff75-44dc-ba4c-705610b5fda6
node
1693955699.9393437: uploading done into shock node: 1e25e7bd-6c27-4f07-aabd-fff1df1a9989
1693955699.9401429: uploading file /kb/module/work/tmp/import_fasta_259d4045-4384-433f-9ca2-718ac1d61227/GCF_000980105.1_gtlEnvA5udCFS_genomic.1693955663.00 - CallbackServer: WARNING: Module DataFileUtil was already used once for this job. Using cached version:
url: https://github.com/kbaseapps/DataFileUtil
node
1693955699.9393437: uploading done into shock node: 1e25e7bd-6c27-4f07-aabd-fff1df1a9989
1693955699.9401429: uploading file /kb/module/work/tmp/import_fasta_259d4045-4384-433f-9ca2-718ac1d61227/GCF_000980105.1_gtlEnvA5udCFS_genomic.1693955699.9401429: uploading file /kb/module/work/tmp/import_fasta_259d4045-4384-433f-9ca2-718ac1d61227/GCF_000980105.1_gtlEnvA5udCFS_genomic.fna into shock node
1693955703.332774: uploading done into shock node: c243eeee-63c7-45b1-bb37-b2f3efdce2ee
1693955703.3329513: uploading file /kb/module/work/tmp/import_fasta_23bb941d-b645-41df-9f3f-ff06c174330c/GCF_000980175.1_gtlEnvA5udCFS_genomic.fna into shock node
1693955705.995946: uploading done into shock node: a62d7640-2cd1-46e6-93ca-d3b9c785dff0
saved 10 files to the Blobstore in 58.62708044052124 seconds
built 10 assembly objects in 0.15749096870422363 seconds
Saving Assemblies to Workspace
1693955721.81 - CallbackServer: Subjob method: DataFileUtil.save_objects JobID: 67f4e667-ffae-415f-8462-632141a7d8a9
1693955721.81 - CallbackServer: WARNING: Module DataFileUtil was already used once for this job. Using cached version:
url: https://github.com/kbaseapps/DataFileUtil
commit: 6268e0f87425cdd96901299e618d6778aa44425a
version: 0.2.0
release: release

1693955723.5434816: Shock url: https://ci.kbase.us/services/shock-api

saved 10 assemblies to the Workspace in 5.342104434967041 seconds
PASSEDDeleted shock node 784cdab7-3bdd-41d7-a09b-353c38c9f752
Deleted shock node d5e6b96b-d3f1-493f-a9b6-c9ba9bfb29b2
Deleted shock node 6ce559d9-e733-448d-a11e-84dbaaeed99e
Deleted shock node 5e46fbd1-2522-4de7-8c87-95234efa2246
Deleted shock node edb2e4aa-ef0a-4b10-87d5-75970d36c436
Deleted shock node cf4dc0d1-3ab0-4595-a285-82177ddbac77
Deleted shock node ec866e05-9337-4e12-8fc1-0bd526f4f9c5
Deleted shock node 1e25e7bd-6c27-4f07-aabd-fff1df1a9989
Deleted shock node c243eeee-63c7-45b1-bb37-b2f3efdce2ee
Deleted shock node a62d7640-2cd1-46e6-93ca-d3b9c785dff0

----------- coverage: platform linux, python 3.6.3-final-0 -----------
Coverage HTML written to dir htmlcov
Coverage XML written to file coverage.xml
========================= 1 passed in 83.58s (0:01:23) =========================
Shutting down callback server...
1693955730.77 - CallbackServer: Shutting down executor service

I highlight the key time statistics from above log:

staged 10 files in 5.6641364097595215 seconds
parsed 10 FASTA files in 5.011489391326904 seconds
saved 10 files to the Blobstore in 58.62708044052124 seconds
built 10 assembly objects in 0.15749096870422363 seconds
saved 10 assemblies to the Workspace in 5.342104434967041 seconds

Update since last code review:

All queue stuff is deleted and batching logic && parallelization are moved to AssemblyUtil
Use a list of nameTuples as suggested to avoid buggy code
Add 2 new CLI: jr_max_tasks and au_service _ver
Add containers.conf file setup so we can get logs from the callback server

https://github.com/kbaseapps/AssemblyUtil/pull/91

Note to self - I skipped from the _gen call to the function and forgot to go back up. Cover that next time

Ugh, I hate how github deals with making comments on other comments when you're in review mode

Note to self: all my comments above this point have been addressed

We are getting really close to merge this PR. Maybe after Podman test ...

Are we planning to refactor it and upload genome all together in the future?

yep

Currently, workspace downloader is expecting every Assembly has an associated Genome obj.

There's no toggle to choose to d/l genomes or not?

There's no toggle to choose to d/l genomes or not?
As far as I understand, no option to ignore genome existence. Looks to me, it doesn't really download the genome obj. It just saves the genome_upa to the meta file.

Yeah, it needs that for exporting genome sets. There's no real need for the genome data proper in the pipeline as yet


Handle unsupported message types

Addresses this issue. We simply return when someone sends an unsupported message type. A better approach probably is to ask the bot to formulate a good response here.

This change nullifies this PR


Not able to get it running

I am able to load the "/host" page, but it just looks like a static page saying "Host Home". Also the "/" page is the same as the host one. Do I need to add an .env file? What should that look like?

Thanks for opening an issue on this repo! It's awesome that you found this!
The simple answer to your question is, this repo is a bit half baked at the moment, and there is a lot of missing features. I just created this repo the day before a presentation, so there are a lot of "quick and dirty" implementations.
I'm a bit busy this week, and quite frankly I don't exactly remember the particular implementation I did around host pages, but let me check it out and get back to you as soon as I can!

@Mdkar the main functionality to view/start a quiz is on the "/host/dashboard" route. From there you can start the quizzes.

bash $ npm run dev

><EMAIL_ADDRESS>dev
> next dev

  ▲ Next.js 14.2.10
  - Local:        http://localhost:3000

 ✓ Starting...
bash $

After Starting..., program just exited.


Add a new property "title-class"

I suggest to create a new property "title-class" that will add the class to the element.  Can I create PR with my changes?

Added to release v1.0.5


[Feature request] Allow to choose more photos after limited access Android 14

Platforms
dart, Android
Description
I need to allow users to change their photos selection if they decide to add more photos after Select photos and videos.
Or force them to allow access to all photos if it's possible.

Right now I get PermissionState.authorized status after calling PhotoManager.requestPermissionExtend
Why
No response

Forced access to all pictures is not possible due to system version restrictions.
If "limited access" has been set, you need to call the PhotoManager.presentLimited() method to repick asset by user.


Support hfh 0.10 implicit auth

In huggingface-hub 0.10 the token parameter is deprecated for dataset_info and list_repo_files in favor of use_auth_token.
Moreover if use_auth_token=None then the user's token is used implicitly.
I took those two changes into account
Close https://github.com/huggingface/datasets/issues/4990
TODO:

[x] fix tests

We should wait hfh 0.10 to be relased first to make sure it works correctly before merging

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

@lhoestq it is now released so you can move forward with it :)

I took your comments into account @Wauplin :)
I also bumped the requirement to 0.2.0 because we're using set_access_token
cc @albertvillanova WDYT ? I edited the CI job to also check for our minimum supported version of hfh at the same time as the minimum pyarrow version

@lhoestq great, thanks ! :)


[HOLD PR #11684] [Bug] After typing even a mildly long comment in the Android compose box, the whole app starts to hang

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

Action Performed:

Open a chat -- even an empty one
Just start typing a ton on the keyboard.  Not copy/pasting, just finger-smash the keyboard for about 30s

Expected Result:
App should respond quickly
Actual Result:
After typing even a mildly long comment in the Android compose box, the whole app starts to hang.
Workaround:
unknown
Platform:

Where is this issue occurring?

Android

Version Number: 1.2.3-0
Reproducible in staging?:
Reproducible in production?:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: @JmillsExpensify @quinthar
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1663172358453739
View all open jobs on GitHub

Hmm I believe this should be able to be investigated by contributors so I'll make it External, but at the moment I'm having trouble reproducing - I logged in on my Android device, mashed the keyboard for a long time, didn't see any slowdown 🤔  It seems this might have to happen in a HT account, even thought it seems like @mvtglobally tried testing on a HT account already?

@Beamanator I was able to repro this on an asus phone with android 12, but it took quite a long message (40k characters).

https://www.upwork.com/jobs/~01ada9667fd1d8d5a9
https://www.upwork.com/ab/applicants/1576766472536219648/job-details

I am so confused, this is incredibly easy to reproduce with 100% consistency on my Pixel 5 within about 10 seconds.  Just:

Open the app and sign into an account (or create a new one)
Open any chat, even a new one
Just drum your fingers over the keyboard repeatedly
After about 10s it should hang
If that doesn't work, just find a long message, and hold down backspace -- then it'll quickly hang

Are you saying that those steps do not reproduce it for you?

Hmm I'm on a Samsung Galaxy A72 and I followed your exact steps, didn't see anything hang or really slow down at all 🤷

Just did a fresh uninstall/reinstall, created a new account, and was able to reproduce in about 15 seconds:

The keyboard is still working in that I am still able to press keys, but the input box is hung and no new input actually goes into it.  I suspect it has something to do with saving the draft too quickly?  Do we batch changes to the draft, or save fresh with every keystroke?

Interesting, I was able to reproduce on a Pixel 4 simulator! Though after mashing the keyboard of my Samsung Galaxy A72 for literally a minute, I still didn't see any slowdown 🤷
As for saving the draft to Onyx, it looks like we do debounce here: https://github.com/Expensify/App/blob/1a42cf8a48bcb51b7b469f342a3f122de7aaef34/src/pages/home/report/ReportActionCompose.js#L117
That ^ debounce looks like it's working properly, so I'm not sure what else would be causing this, I think this should be part of the WhatsApp Quality project so I'll add it there

Waiting on proposals, I think we can double this to make it more enticing @kadiealexander

Price doubled!!

Aren't we already working on resolving this issue with this PR?

@sobitneupane , do you think the fix for this will also fix https://github.com/Expensify/App/issues/11954?

Both the issues are related to long text and looks like we already have a  PR up for improving input performance. So, I suggest holding both the issues.
cc: @Beamanator @mallenexpensify

Hey guys, I have already tested with @quinthar manually if https://github.com/Expensify/App/pull/11684 fixes this issue. Unfortunately, it doesn't.
Up until today i wasn't able to reproduce that issue myself. @Beamanator you said you were able to reproduce the issue with a Pixel 4 simulator, that sounds great. Can you share the specs?
I really would like to fix this bug, but def need a reproduction 👍

Hey @hannojg ! Yes I'll re-test on the Pixel 4 simulator and keep you posted :D

Can you share the specs/ .ini file of your emulator?

Hmm how can I find this file? 😅

Looks like Github doesn't support those .ini file format, I can upload to Google Drive or Slack

@Beamanator Usually your emulators are stored in your home directory under the following path:
.android/avd/YOUR_EMULATOR_NAME.avd/config.ini
in addition to that your .android/avd/YOUR_EMULATOR_NAME.ini file would be interesting!

I can upload to Google Drive or Slack

Oh yeah sure, or you just create a code comment with ``` and post it here as text 😊

Note: On the simulator, after smashing the keyboard for a while and experiencing the app pretty much hanging, if I close the report, navigate to another, then navigate back, it didn't seem slow anymore. The video from my test didn't save 🙃 so I'll try again in a bit
Here's the config.ini file:
AvdId = Pixel4
PlayStore.enabled = true
abi.type = arm64-v8a
avd.ini.displayname = Pixel4
avd.ini.encoding = UTF-8
disk.dataPartition.size =<PHONE_NUMBER>
fastboot.chosenSnapshotFile =
fastboot.forceChosenSnapshotBoot = no
fastboot.forceColdBoot = no
fastboot.forceFastBoot = yes
hw.accelerometer = yes
hw.arc = false
hw.audioInput = yes
hw.battery = yes
hw.camera.back = virtualscene
hw.camera.front = emulated
hw.cpu.arch = arm64
hw.cpu.ncore = 4
hw.dPad = no
hw.device.hash2 = MD5:6b5943207fe196d842659d2e43022e20
hw.device.manufacturer = Google
hw.device.name = pixel_4
hw.gps = yes
hw.gpu.enabled = yes
hw.gpu.mode = auto
hw.initialOrientation = Portrait
hw.keyboard = yes
hw.lcd.density = 440
hw.lcd.height = 2280
hw.lcd.width = 1080
hw.mainKeys = no
hw.ramSize = 1536
hw.sdCard = yes
hw.sensors.orientation = yes
hw.sensors.proximity = yes
hw.trackBall = no
image.sysdir.1 = system-images/android-33/google_apis_playstore/arm64-v8a/
runtime.network.latency = none
runtime.network.speed = full
sdcard.size = 512M
showDeviceFrame = yes
skin.dynamic = yes
skin.name = pixel_4
skin.path = /Users/alexbeaman/Library/Android/sdk/skins/pixel_4
tag.display = Google Play
tag.id = google_apis_playstore
vm.heapSize = 256

And here's my Pixel4.ini file:
avd.ini.encoding=UTF-8
path=/Users/alexbeaman/.android/avd/Pixel4.avd
path.rel=avd/Pixel4.avd
target=android-33

Thx! may i ask on which OS your computer is on? (if its macOS, are you running on an M1?)

https://user-images.githubusercontent.com/3885503/196717445-590c1d88-8c87-4076-9b2a-38fcd9df1d4c.mov

may i ask on which OS your computer is on? (if its macOS, are you running on an M1?)

Sure thing, yes I'm on a macOS (12.6), Chip: M1 Max

Oh great yes, that's exactly what I'm experiencing!

@hannojg  any luck?  Excited for this one!

Not yet, will work on it this week, will keep y'all updated 😊

Note: Something similar happened here(but the chat count is extremely high 51k so I suppose this is expected) but it will be good to counter all the platforms and not just Android.

Assigning @hannojg so your comments also clear the Overdue status :D

@hannojg don't forget to apply on Upwork so we can issue payment when it's due! :)

Any luck with this?  This issue makes the app entirely unusable for me.

Hey, I spend some more hours on this. I can exclude now more parts that aren't causing the issue, but still can't tell which one it is exactly.
It's a bit hard to estimate, but I think after ~5 more hours I should find the bug.
Do you want me/us to continue investigating in that issue (asking because it becomes a bit of a time sink) @quinthar ?

Yes please do. Thanks!
 I can exclude now more parts that
aren't causing the issue, but still can't tell which one it is exactly.
It's a bit hard to estimate, but I think after ~5 more hours I should find
the bug.
Do you want me/us to continue investigating in that issue (asking because
it becomes a bit of a time sink) @quinthar https://github.com/quinthar ?
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1297078734,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNUQ4ADBV3WAQ5LK4D3LWF7BQZANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@hannojg any update? Would love to get this fixed for ~DB~ Android users, there are also other issues held on this fix.  Bumping to Daily

Haven't continued yet, you can expect results latest by the end of this week!

Haha, thank you.  I'd love to be able to, you know, use our own app.
On Wed, Nov 2, 2022 at 9:25 AM Hanno J. Gödecke @.***>
wrote:

Haven't continued yet, you can expect results latest by the end of this
week!
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1300827127,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNUWNWNN5Q25WGRJYHBDWGKIWVANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Awesome!
On Thu, Nov 3, 2022, 3:10 AM Hanno J. Gödecke @.***>
wrote:

Okay, I found the cause for the ANR. When removing the ReportsActionList
it stopped happening. I then checked more specifically, and when removing
the inverted prop in the BaseInvertedFlatListlist, the ANR isn't
happening anymore.
I don't have an explanation yet for why the inverted list is causing the
issue. Will continue to investigate and to find a fix. Will keep you updated
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1301879813,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNUWTZ2I4KLXNWMZ33YDWGOFPZANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Nice one! @quinthar have you had a chance to take the APK for a spin yet? Does that resolve your issue?

I have not, can you send me a link?
On Thu, Nov 3, 2022, 3:42 PM Jason Mills @.***> wrote:

Nice one! @quinthar https://github.com/quinthar have you had a chance
to take the APK for a spin yet? Does that resolve your issue?
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1302760052,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNURIZ7BGGH5DKN5SWETWGQ5VDANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Ah ya, it's here: https://drive.google.com/file/d/1HvRg_d97D-R0YlGD49MEqr-ByC9VYBXU/view?usp=sharing

Wooohooo!!!!  Seems to work!!!!!!! (but shows messages in the wrong order)
On Thu, Nov 3, 2022 at 4:22 PM Jason Mills @.***> wrote:

Ah ya, it's here:
https://drive.google.com/file/d/1HvRg_d97D-R0YlGD49MEqr-ByC9VYBXU/view?usp=sharing
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1302783819,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNUWLLQMEVPDJKN7I3J3WGRCLRANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@hannojg is making great progress! 👍 (just updating Melvin)

Just updated this issue, so not overdue Melvin 🙃

Latest on this in Slack HERE

See above, not overdue.

Hey guys, going to continue looking for a fix today. So we just know the cause of the issue, but don't have a fix yet.
Working on it 😼 😊 !

@hannojg still working on a fix! 👍

On that note, @hannojg it would be good to circle back on the plan from here. I don't see a PR linked to this issue, are you working on that somewhere else?

Hey, I am still nailing down a fix. The issue is present in react-native (so not specific to expensify code usage), and it might be an android bug, so I will have to create an issue ticket. Will link PRs and external issues as soon as I am there, but so far there are no code changes to expensify that I could share. Still working on it and will provide results today! 😊

Here is the react native issue: https://github.com/facebook/react-native/issues/35350
Will now check whether this is to fix in react native's code or whether its an android bug.

Update: I am still looking for a fix within the react-native source code. I don't think it's an android native bug, as I am unable to reproduce the issue just using android native.

Okay, I have a proposal available for a workaround until I get to fix the issue upstream at react native.
The workaround is a bit ugly, involves changing the react-native source code … BUT I am a bit uncertain how long it will take to get the issue fixed upstream.
Until then I think the workaround will be valuable enough (android 13 users can't really use the app rn).
Will put up a PR in a moment …

It's 100% fine to fix our fork of RN; we don't really care if it gets
merged upstream.  We would always prefer to fix the bug where it actually
happens, even if it's never merged into mainline.
On Wed, Nov 16, 2022 at 2:29 PM Hanno J. Gödecke @.***>
wrote:

Okay, I have a proposal available for a workaround until I get to fix
the issue upstream at react native.
The workaround is a bit ugly, involves changing the react-native source
code … BUT I am a bit uncertain how long it will take to get the issue
fixed upstream.
Until then I think the workaround will be valuable enough (android 13
users can't really use the app rn).
Will put up a PR in a moment …
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1317759106,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNUSDCKPN4PDPU77MZ4DWIVN3RANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Yes, a 100%, it's just that the workaround isn't a fix. For the fix itself, I have to dive deep into react native's code. However, for the workaround, I still need to modify some react-native code - so that's only temporarily until we have a proper fix.

to clarify, do you have an actual fix?  Why do the workaround?
On Wed, Nov 16, 2022 at 2:35 PM Hanno J. Gödecke @.***>
wrote:

Yes, a 100%, it's just that the workaround isn't a fix. For the fix
itself, I have to dive deep into react native's code. However, for the
workaround, I still need to modify some react-native code - so that's only
temporarily until we have a proper fix.
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1317764812,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNUQYCZT7O3ELSYKTU4TWIVOR3ANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

No, i don't have a proper fix yet.
We can also wait until I have a proper fix.

Oh if we don't have a fix, then yes, let's do the workaround.
On Wed, Nov 16, 2022 at 2:39 PM Hanno J. Gödecke @.***>
wrote:

No, i don't have a proper fix yet.
We can also wait until I have a proper fix.
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1317769114,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNUWTA47F5DD3AZFSUITWIVPCRANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

A draft is up for circumventing the issue until a proper fix is implemented:
https://github.com/Expensify/App/pull/12820

Can you describe the underlying problem at a high level, as well as how the
workaround works?
On Thu, Nov 17, 2022, 4:21 AM Hanno J. Gödecke @.***>
wrote:

A draft is up for circumventing the issue until a proper fix is
implemented:
#12820 https://github.com/Expensify/App/pull/12820
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1318556842,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNUTUNFBZUQ4AKGDJG2TWIYPK5ANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

The underlying problem
To achieve the inverted list effect react native simply flips the FlatList vertically with scaleY: -1. It then also flips all items with the same transformation.
On the native side this translates to the following transformation commands, which get applied to the view:

transformX: 0
transformY: 0
rotate: 180
rotateY: 0
rotateX: 180 (now the view looks as usual again as we reverted the previous rotation)
scaleX: 0
scaleY: -1

The problem now is, that on android 13 a bug was introduced that causes ANRs when rotateX and scaleY are set and we simultaneously render stuff (animations, entering text). It's a bit hard to tell exactly what's going wrong on the android side, but that's also nothing we can really help with.
I am currently in the process of filing a bug report to the android OSS project. Will link soon.
How the workaround works
We manually set the styles for the FlatList and its items to achieve the inverted effect. However, we add a scaleX: -1, which changes the transform operations on the native side to skip rotateX: 180 (it's then only rotateY: -180). This way we circumvent the bug.
When doing this the only issue is, that as we have mirrored the FlatList on the X-Axis the ScrollBar will be on the wrong side. That's why I added a prop called verticalScrollbarPosition to the ScrollView, so we can change its position.
Long term
I think it would be best to get the issue fixed on android and then revert the workaround. Another solution could be to modify how react native applies transformations, something I want to look into as well (its a bit redundant to apply transformations that are not really needed).

Wow, very interesting!
On Thu, Nov 17, 2022 at 9:07 AM Hanno J. Gödecke @.***>
wrote:

The underlying problem
To achieve the inverted list effect react native simply flips the FlatList
vertically with scaleY: -1. It then also flips all items with the same
transformation.
On the native side this translates to the following transformation
commands, which get applied to the view:

transformX: 0
transformY: 0
rotate: 180
rotateY: 0
rotateX: 180 (now the view looks as usual again as we reverted the
previous rotation)
scaleX: 0
scaleY: -1

The problem now is, that on android 13 a bug was introduced that causes
ANRs when rotateX and scaleY are set and we simultaneously render stuff
(animations, entering text). It's a bit hard to tell exactly what's going
wrong on the android side, but that's also nothing we can really help with.
I am currently in the process of filing a bug report to the android OSS
project. Will link soon.
How the workaround works
We manually set the styles for the FlatList and its items to achieve the
inverted effect. However, we add a scaleX: -1, which changes the
transform operations on the native side to skip rotateX: 180 (it's then
only rotateY: -180). This way we circumvent the bug.
When doing this the only issue is, that as we have mirrored the FlatList
on the X-Axis the ScrollBar will be on the wrong side. That's why I added a
prop called verticalScrollbarPosition to the ScrollView, so we can change
its position.
Long term
I think it would be best to get the issue fixed on android and then revert
the workaround. Another solution could be to modify how react native
applies transformations, something I want to look into as well (its a bit
redundant to apply transformations that are not really needed).
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1318944507,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNUSGV6FKY6KEIBRTRFDWIZQ6TANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I'm curious if you have an ETA for when this workaround can be merged?

Closing the loop. PR is here. Discussion also happening in slack.

Yep 👍  PR is approved, just need to get a quick change to our react-native fork published, then we can incorporate that change in App 👍

The PR has been merged 🎉  lets wait to see how this will perform in staging

Looks like this is on production at this point. @quinthar Has mobile performance improved for this case?

yes, this seems to be fixed, it's miraculous, thank you!
On Sat, Nov 26, 2022 at 6:27 PM Jason Mills @.***>
wrote:

Looks like this is on production at this point. @quinthar
https://github.com/quinthar Has mobile performance improved for this
case?
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/11321#issuecomment-1328156297,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMNUUJIL65N4XQUCH6RO3WKLBIDANCNFSM6AAAAAAQWMQIPE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Woo! Go team. @kadiealexander We should make sure that contributors and related are paid out before closing the issue. Thanks!

https://expensify.slack.com/archives/C01SKUP7QR0/p1669595062240009

The old Upwork job closed, so please apply here @hannojg and @sobitneupane and I'll issue payment for you both. :)
https://www.upwork.com/jobs/~015cde3e5ee4ee738f
https://www.upwork.com/ab/applicants/1597366602525372416/job-details

Sorry @kadiealexander, but I can't open any of those links 😅 can you help me get access to it? (I am part of #expensify-margelo and #expensify-open-source on slack)

Ah! To receive this bonus you may need to set up a profile in Upwork, which is how we typically pay our freelance contributors.

@kadiealexander I didn't review the proposal and PR. So, I am not eligible for payment.

@adelekennedy I think we have some confusion here, sorry if I caused it. @hannojg is working with on a special engagement. And then it sounds like @sobitneupane did not review the linked PR, so when I say "make sure" I mainly meant let's double check we're all good here before closing.

@hannojg after internal discussion, you're eligible for the $500 bonus for this issue if you wish. You'll just need to create an Upwork profile to process the payment. Please let me know how you wish to proceed!

Discussing payment delivery here.

Payment is handled separately through a invoice by Margelo!

In that case we can close this one, nice job @hannojg!

@hannojg Thank you so much for your work on this, it solved a major problem we were having with our messenger for Android 13 devices.


@grpc/proto-loader and readFileSync fails to load files in Vercel/Netlify

Hi!
I'm struggling with including files in my api functions. Specifically I want to include proto files, but everything is failing now...
All code works flawless when running next dev, but failing on Vercel and on Netlify, also when running netlify dev
All code is here: https://github.com/richard87/protoloader
I have created a simple reproduction of the error, and deployed it at Vercel and Netlify to test:
https://protoloader.vercel.app/api/json / https://protoloader.vercel.app/api/grpc
https://protoloader-test.netlify.app/api/json / https://protoloader-test.netlify.app/api/grpc
This is my grpc.js api function:
const protoLoader = require('@grpc/proto-loader');

const grpcOptions = {
  keepCase: true,
  longs: String,
  enums: String,
  defaults: true,
  oneofs: true
};

const protoFile = "test.proto";

export const config = {
  unstable_includeFiles: ['test.proto'],
};

export default function handler(req, res) {
  const packageDefinition = protoLoader.loadSync( protoFile, grpcOptions);
  res.status(200).json(packageDefinition)
}

And my vercel.json file:
{
  "functions": {
    "api/json.js": {
      "includeFiles": "test.json"
    },
    "api/grpc.js": {
      "includeFiles": "test.proto"
    }
  }
}

With the error log:
Vercel:
2021-11-07T19:43:37.835Z	dd740350-1ac3-43c1-819b-cfcfe848babc	ERROR
	Error: ENOENT: no such file or directory, open 'test.proto'
   at Object.openSync (fs.js:498:3)
    at Object.readFileSync (fs.js:394:35)
    at fetch (/var/task/node_modules/protobufjs/src/root.js:172:34)
   at Root.load (/var/task/node_modules/protobufjs/src/root.js:206:13)
   at Root.loadSync (/var/task/node_modules/protobufjs/src/root.js:247:17)
    at Object.loadProtosWithOptionsSync (/var/task/node_modules/@grpc/proto-loader/build/src/util.js:66:29)
    at Object.loadSync (/var/task/node_modules/@grpc/proto-loader/build/src/index.js:194:31)
    at handler (/var/task/.next/server/pages/api/grpc.js:38:43)
    at Object.apiResolver (/var/task/node_modules/next/dist/server/api-utils.js:102:15)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

 {  errno: -2,  syscall: 'open',  code: 'ENOENT',  path: 'test.proto'}

Netlify:
{
  "errorType": "Runtime.UnhandledPromiseRejection",
  "errorMessage": "Error: ENOENT: no such file or directory, open 'test.proto'",
  "trace": [
    "Runtime.UnhandledPromiseRejection: Error: ENOENT: no such file or directory, open 'test.proto'",
    "    at process.<anonymous> (/var/runtime/index.js:35:15)",
    "    at process.emit (events.js:314:20)",
    "    at processPromiseRejections (internal/process/promises.js:209:33)",
    "    at processTicksAndRejections (internal/process/task_queues.js:98:32)"
  ]
}

I have looked at clues for a solution in
https://github.com/vercel/nft/issues/194
https://github.com/vercel/next.js/issues/8251
Extra:
Adding this netlify.toml solved the issue on Netlify, but the problem still persists on Vercel
[functions]
  # Includes all Markdown files inside the "files/" directory.
  included_files = ["test.json", "test.proto"]

I think that unstable_includeFiles isn't used for Next.js APIs yet, only Pages. cc @ijjk
The easiest way to get nft to include a file is to read it like this:
import { readFileSync } from 'fs'
import { join } from 'path'

const file = readFileSync(join(process.cwd(), 'test.proto'));

This will fix it https://github.com/Richard87/protoloader/pull/1


Add _experimental_spawn function

Describe your changes
Adds a new _experimental_spawn function to the client which allows users to spawn up to 1 million inputs.
Previously users could enable this functionality by setting the env var MODAL_SPAWN_EXTENDED, but setting env vars correctly can be tricky. By adding a new method, we hope to make it more explicit and less error prone.
I've left the MODAL_SPAWN_EXTENDED mechanism in place since we've already communicated to some users that it exists, but can remove if that's preferred.
Closes SVC-169.

Check these boxes or delete any item (or this section) if not relevant for this PR.

[X] Client+Server: this change is compatible with old servers
[X] Client forward compatibility: this change ensures client can accept data intended for later versions of itself

Note on protobuf: protobuf message changes in one place may have impact to
multiple entities (client, server, worker, database). See points above.

Changelog

@prbot automerge


Popup doesn't close when clicking outside

Version(if relevant): 3.0.0
Environment(if relevant): Angular 4.3.3
Code(if relevant):
      <select2 [data]="options"
               [value]="selectedId"
               (update)="select($event)"
      >
      </select2>

Expected:
popup to close when clicking outside
Actual:
popup only closes if you click outside and then move the mouse over the popup, probably has to do with ChangeDetectionStrategy.OnPush
I have been able to workaround this issue in an ugly way when I click outside I mark the component for check after 200 ms...

Which browser?
For latest chrome and firefox on mac os x, the demo didn't reproduce your posted bug: https://plantain-00.github.io/select2-component/demo/angular/index.html

I'm using chrome on windows, the demo doesn't reproduce the bug on my machine either, but its happening on my codebase, probably because I have ChangeDetectionStrategy.OnPush on my entire component tree.

My proposal probably correct this point.

v3.0.1 should fix this now.

Can confirm, works great!


fix(apps/pano): generated suffix for usernames are floats instead of …

…integers
Description
A simple one-liner that turns generated suffix into an integer.
Checklist

[X] discord username: bumshaqalaqa#2973
[X] Closes #328
[X] PR must be created for an issue from issues under "In progress" column from our project board.
[X] A descriptive and understandable title: The PR title should clearly describe the nature and purpose of the changes. The PR title should be the first thing displayed when the PR is opened. And it should follow the semantic commit rules, and should include the app/package/service name in the title. For example, a title like "docs(@kampus-apps/pano): Add README.md" can be used.
[X] Related file selection: Only relevant files should be touched and no other files should be affected.
[X] I ran npx turbo run at the root of the repository, and build was successful.
[X] I installed the npm packages using npm install --save-exact <package> so my package is pinned to a specific npm version. Leave empty if no package was installed. Leave empty if no package was installed with this PR.

How were these changes tested?
Changes are not tested for this pr

LGTM ✨


Specific instructions for K3s, Rancher environments

Hello,
in order to understand better how Entando's open platform works in a K3s environment.
Is it in plan a specific guide for install Entando on Rancher?
Thanks a lot.
Gaetano.

Hi, @Tudor44 . We weren't planning on a specific guide for this use case, although it should be pretty close to our default guide - https://developer.entando.com/v7.1/docs/getting-started/. In a plain k8s setup (not k3s), you also need these settings just like in our other cloud install guides:
                entando.requires.filesystem.group.override: "true"
    		entando.ingress.class: "nginx"


global unit with sidekick

I saw the if I define a global unit, the MachineOf option is not valid
At this situation, how to define the sidekick unit for the global unit?

define a global unit with the same MachineMetadata used in the main unit.

thanks


Adding facebook dlrm in SHARK/tank

WIP: dlrm lowering through shark.
Failing to lower to Torch right now.
Exception:
Lowering TorchScript IR -> Torch Backend IR failed with the following diagnostics:
error: found a non-value tensor type, this is likely due to a missing case in the MaximizeValueSemantics pass
note: see current operation: %25 = "torch.copy.to_tensor"(%24) : (!torch.vtensor) -> !torch.tensor

Hi @vid-999 I saw in the torch IR that there are some lowering of the OPs missing like   %32:4 = torch.operator "aten.embedding_bag.padding_idx"(%31, %30, %29, %false, %int0, %true, %none, %false, %none) : (!torch.tensor<[4,2],f32>, !torch.tensor<[3],si64>, !torch.tensor<[1],si64>, !torch.bool, !torch.int, !torch.bool, !torch.none, !torch.bool, !torch.none) -> (!torch.tensor<[1,2],f32>, !torch.tensor<[0],si64>, !torch.tensor<[1],si64>, !torch.tensor<[1],si64>) and hence the above issue is common. Could you add all the missing lowerings and then try? I see there are two torch.operator s.

Hi @pashu123 thanks for pointing that out. I am actually in the process of writing the linalg lowering for the aten.embedding_bag.padding_idx op.
The only other torch.operator that I see is aten.to.device which I think I should be able to remove from the model code.

Hi @pashu123 thanks for pointing that out. I am actually in the process of writing the linalg lowering for the aten.embedding_bag.padding_idx op. The only other torch.operator that I see is aten.to.device which I think I should be able to remove from the model code.
Also, maybe I misunderstood but when you say "try" you mean try to lower from TORCH to LINALG ?

Yes, I mean torch to linalg. Also, since torch.operator is present, that op is not even registered in torch-mlir so the lowering means first adding it to torch-mlir and then lowering to linalg.

Yup. I have already registered it. I'm working on a branch.
Here is a draft PR. Haven't pushed the latest changes here though. https://github.com/llvm/torch-mlir/pull/1066

Yup. I have already registered it. I'm working on a branch.
Here is a draft PR. Haven't pushed the latest changes here though. llvm/torch-mlir#1066

Cool!

We can save the generated linalg, input, and golden output in the shark tank and then enable the tests.

We can save the generated linalg, input, and golden output in the shark tank and then enable the tests.

should just add to the gen_shark_tank.py script right ? the upload should happen via @dan-garvey nightly build change.

I added 2 manual tests for QrEmbedding and PrEmbedding modes.
It was hard to get(make) artificial inputs for dlrm that would run those modes.
But the code is representative of the code in the actual model (from the function create_emb)
For the QrEmbedding mode, one more op needs to be implemented:
torch.operator "aten.remainder.Scalar"


Document how to do a review

Currently our docs only very briefly talk about pull request reviews, mostly in relation to our rules. I think it would be nice if we had a "How to review" section that describes the usual process, any expectations, helpful commands and so on, to encourage more people to do a review.

I vaguely remember @gregorydlogan doing a webinar/conference talk about this. Maybe I'm wong?

Yes, and so did I (in German). It's what I've been linking for the Review Friday, but some of the information is out of date and also I think it would be nice to have this in written form as well (if maybe not so detailed).


[FLINK-14120][API/Datastream] Fix testImmediateShutdown

What is the purpose of the change
The subtle asynchronous bug appearing in testImmediateShutdown() in SystemProcessingTimeServiceTest is fixed.
Brief change log

add exception handling to avoid asynchonous error appearing in unexpected parts of test

Verifying this change
This change is already covered by existing test (verified by 10k runs with 0 fails).
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Totally agree.
But I think another thing we're testing here is that timer.registerTimer(...) and timer.scheduleAtFixedRate(...) are resulting in an Exception immediately after calling timer.serviceShutdown() (and not waiting for the underlying task to respond to interruption).
So, I suppose we should add assertion which wait for a CompletableFuture to finish with InterruptedException in the very end of the test (to verify that underlying task was eventually interrupted).

So, I suppose we should add assertion which wait for a CompletableFuture to finish with InterruptedException in the very end of the test (to verify that underlying task was eventually interrupted).

yes this should work.


v1.7 fix - test/bpf: use nproc --all instead of nproc -all

When the NR_CPUS definitions were change to use nproc --all in commit
6247cc5990fd ("bpf: Use nproc --all for NR_CPUS") via #12363 the
change in test/bpf/Makefile was missing a -, leading to the following
error message in the v1.8 build:
make -C test/bpf/
nproc: invalid option -- 'a'
Try 'nproc --help' for more information.
While this is uncritical for the tests and the build, but fix it
nevertheless to get rid of the error message.

test-backport-1.7


Add audio tag in Exclude list #deleteExclusionTags

My pluxml plugin,
make an insert with pluxml medias manager
to publish images, videos & audios elements in SunEditor panels
At first time, all audio publisheds in panel play well :)
After save the doc, the  audio tags is in published html source :)
But with SunEditor 2.15.3 after load & wysiwyg ready,
all audio tags is removed in editors panel :/
Images & videos are ok :)
This list of delete Exclusion Tags solve this problem.
Thanks @magoyo for this pathway & @JiHong88 to accept ;)

Hi @sudwebdesign
Thanks for using this editor.
Also thank you for your PR :)


Replace Optim.jl with Optimization.jl

I think it is a good idea to replace Optim.jl with Optimization.jl to allow for more flexibility (the optim.jl solver are included in Optimization.jl), but also utilize it performance the SciML packages are constantly striving for.

Sounds good with me.


Clean in the first step of FlakyTestQuarantine build

https://gradle.slack.com/archives/C01SUR5709G/p1668387610973599
Otherwise, we may see potential problems when re-mapping the project directory to another disk with Windows subst:
Output property ‘destinationDirectory’ file P:\subprojects\base-annotations\build\classes\java\main has been removed.
Output property ‘destinationDirectory’ file P:\subprojects\base-annotations\build\classes\java\main\org has been removed.
Output property ‘destinationDirectory’ file P:\subprojects\base-annotations\build\classes\java\main\org\gradle has been removed.
Not cacheable	Overlapping outputs: Gradle does not know how file ‘build\classes\java\main’ was created (output property ‘destinationDirectory’).

Overlapping outputs: Gradle does not know how file 'build\classes\java\main' was created (output property 'destinationDirectory'). Task output caching requires exclusive access to output paths to guarantee correctness (i.e. multiple tasks are not allowed to produce output in the same location).

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


issues installing puppet enterprise SUT rhel 6

I am having some issues getting started with Beaker, our current installation is windows server  2012 r2 standard with cygwin installed. the SUT is rhel 6
I have downloaded and successfully ran tests for puppetlabs/mysql with no errors.
Mysql host file :
HOSTS:
master-vm:
roles:
- master
platform: el-6-x86_64
snapshot: ssh
hypervisor : vsphere
CONFIG:
log_level: debug
type: git
but when I try and do this for puppet enterprise I have the following issue which i captured in this gist  https://gist.github.com/dec-pupop/b2141355dda81708ba44
hostfile :
HOSTS:
master-vm:
roles:
- master
- dashboard
- database
- agent
platform: el-6-x86_64
snapshot: ssh
hypervisor : vsphere
CONFIG:
log_level: debug
pe_dir: c:\puppet\

Could you do an update to beaker-rspec 5.0.1 - the windows serverspec support in beaker-rspec 5.0.0 was busted.

Hm yeah, and the failure of the puppet server to start could indicate that your master node is underpowered, I've had that happen on low memory/low cpu test boxes.

I have upgraded puppet-rspec to 5.0.1 and upgraded memory to 12gb and cpus to 4,
I am still getting the same error, looking through the log i supplied in the gist, I notice when the environment file is being set up it references ruby. I have had ruby installed previously but all foss tests failed until I removed it. does the rhel vm need ruby install on it and if yes what version?
the environment file created by beaker looks like :
RUBYLIB=
PATH=/opt/puppet/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/vmware/bin

Standard ruby should be more than enough. that's what i use on my test hosts.
But it seems ruby is installed just fine but the 'puppet master service' failed to start.
Best to login after its been provisioned and see why it won't startup.

when I execute :
[root@master-vm ~]# service pe-httpd start
Starting pe-httpd: no listening sockets available, shutting down
Unable to open logs
[FAILED]
[root@master-vm ~]#
I don't see any logs created in   /var/log/pe-httpd/ or /var/log/pe-console-services/

hmm okay. open file limit issue or something like that?

I don't know what is causing it not to start. is this an issue you have encountered before?
i would imagine a simple reboot should clear any open file limit issue.

I must admit i've never seen this issue with pe-httpd.

is there any good beaker vagrant examples with either centos or rhel 6. I can take a look at the initial vagrant box set up and see if that runs sucessfully locally I guess.

The
Starting pe-httpd: no listening sockets available, shutting down
Could indicate that the port requested by pe-httpd is already in use.  Is apache also running?

No there is no apache running on this vm. this is a completely clean vm.
where is the setting stored to tell pe-httpd to use a specific port, I can try changing it and seeing if that work.

https://docs.puppetlabs.com/pe/latest/console_config.html

it seem thats /etc/puppetlabs/httpd/conf.d/puppetdashboard.conf was empty,
so this was the issue, also /opt/puppet/share/puppet-dashboard/certs/pe-internal-dashboard.cert.pem does not exist.
seems the installation was not complete.

I tried an older version of puppet 3.3.1 this got me a bit further, seems now I am onto a new error on the windows side though.
Question about cygwin on windows, should its directory be in path so commands are accessible from standard cmd?
I have an updated gist for this :
https://gist.github.com/dec-pupop/2557d1a99b0f46e2f573
you'll see it fails on the windows when it issues commands :
master-vm-win 03:52:32$ cd C:/cygwin64/tmp/2015-02-02_03.51.10.DCr1aJ && cmd /C 'start /w msiexec.exe /qn /L*V 2015-02-02_03.51.10.DCr1aJ.log /i puppet-enterprise-3.3.1.msi PUPPET_MASTER_SERVER=master-vm PUPPET_AGENT_CERTNAME=master-vm-win'

master-vm-win executed in 0.25 seconds

master-vm-win 03:52:32$ cmd.exe /c puppet agent --configprint node_name_value
'puppet' is not recognized as an internal or external command,
operable program or batch file.

any suggestions for this?

This has been followed up over email.
Closing.


The order of validation / errors

Let's take a look, for example, at the errors order in Uint8Array.fromBase64 at string parsing:

Sure, all of those errors are SyntaxError, but for better debugging, it seems in implementations they will have different error messages. And here we have 2 problems:

It will cause problems for parsing in 1 pass
The order of error is strange - for example, in case of the string with wrong length and symbols with another encoding (+-\_), with base64 encoding we will have the error with length, with base64url - with wrong symbols

Because the spec does not specify messages, from the point of view of the spec any choice of ordering is legal. There's a NOTE about this in the spec:

NOTE: The order of validation and decoding in the algorithm below is not observable. Implementations are encouraged to perform them in whatever order is most efficient, possibly interleaving validation and stripping whitespace with decoding, as long as the behaviour is observably equivalent.

Ok, let it be -) I thought that this note did not apply to the entire subsequent algorithm.


Multi execution of step actions/step based on the number of rows in excel

Is your feature request related to a problem? Please describe.
I am trying to execute a simple test case with two inputs i.e Username and Password. Now, it needs to check this with different set of data from excel. But, I am not able to execute the step multiple times without making a duplicate copy of the step.
Describe the solution you'd like
Use the excel column name as variable in the test steps/Step-Action. Based on the number of rows in the excel, repeat the STEP and fetch data on each iteration from excel and pass it to the mapped variables.
More Details:-

Excel contains 3 rows with two columns named as Username and Password.
Use the excel column name as variable in Step-Actions> "set text" for username and password.
Run the scenario and it should execute 3 times.
In first run, username and password should be fetched from first row, in the second run, data should be fetched from second row and so on.

Describe alternatives you've considered
I have tried to copy paste step actions and then used two excel action and filtered the inputs. But, it is hectic if we have lot many rows of data to test.
Additional context
Its been couple of days since I am working on ginger. So, if I missed this feature then kindly let me know.

Hi,
Sorry for late respond.
If I got you right, you just want to iterate over a data set (UserName, Password) values so your generic Automation flow will use unique data set each time.
You have few options to do that, I will describe 2 of those below:
1-	Prepare the Data Source in one of below options:
a.	Use built in Data Source (Recommended)-
i.	Go to Resources-> Data Sources
ii.	Add Custom table and add “UserName” and “Password” columns to it
iii.	Add data rows to it and save

b.	Use Excel sheet with you own columns but add extra column to be used for marking the row as used
2-	Add Actions to pull the data from Source:
a.	In Case you decided to go with built in Data Source  so you do not need special Action for pulling the data
b.	In case you decided to go with Excel so:
i.	Use the Excel Action for pulling the data set and store it into Variables (you supposed to do that in the Action ‘Output Values’ tab)
ii.	Use the “Set Data Used Value” field to mark the row data pulled from in this iteration as “Used”
3-	Run Automation Flow with the Data
a.	In case of Data Source – use Value Expression (“…” button next to input field) for pulling the data from the Data Source table into your Action input field- mark to set the pulled data as “Used”

b.	In case of Excel- use Value Expression (“…” button next to input field) for setting the Variable containing the data into the Action input field
4-	Use Flow Control for creating a Loop:
a.	For Data Source- Add “Data Source Action” at end of you flow which will check if extra un used rows exists using the “Flow Control” tab and if extra rows do exists so add Flow Control Action which will create a loop by jumping to the first Action in flow

b.	For Excel you probably will need to add few actions which will do the flow control looping
For full details, please use latest official release 3.1 + please click F1 to open the Help Library and read about: “Data Source”, “Excel”, “Flow Control”

Hi MeniKadosh1,
I have tried the data source but getting one problem in implementing it.
I have simplified the scenario to better understand it.
Scenario:- Visit 2 urls based on the URLs fetched from the DB source.
Now, I have followed the above steps but once the two execution is completed there is one more execution that runs and system throws error. Please check the below configuration and error:-

I have tried with both rerun the step and rerun step-action in flow control. Same error.
Is it a bug or I am doing something wrong. Please suggest.
I am not able to test it with Excel but I will definitely try that.
In the end, thanks for your valuable inputs.

hi,
Error says that no UnUsed/Available row was found (you can see for both rows 'GINGER_USED' cell is checked)- so it return empty URL and then the Browser Action fails and show Error that URL is not valid (empty).
what you need to do is to add DataSource action on begining/end of the flow which will mark all table rows as Unused so you will be able to run the flow on it again and start from row 1.
see below how to configure that action:

Hi MeniKadosh1,
Thanks for the inputs. With bit of adjustment in the Flow control and from the above action, i am able to achieve the expected.


Add doctests in data.py

This PR complements #3302, by fixing a bug in data.py (L697 and L713), where the chunk and classify modules where missspelled as "chunker" and "classifier".
It also adds doctests to all the "switch_" functions, in order to fully document the transition away from the old pickled classes.

The many CI failures are not related to this PR, but are caused by the recent breaking change in the output order of all WordNet relations.


Add post function

Hello, is it possible to post with the reddit api ?
if yes, is it possible to add this function ?
thank you

You can post with the Reddit API, but to do that, you should use the reddit npm module directly.


fix typo in transformer option documentation

Property name transformer in the README now matches the code.

Thanks!


[WIP] SILGen: Capture address-only lets with the in_guaranteed convention.

Fixes rdar://problem/40828667. If we capture a let as inout_aliasable, then definite initialization mistakes capture of the let from a defer closure as an inappropriate inout use.

@swift-ci Please smoke test

@swift-ci Please test source compatibility

Unfortunately this appears to cause a lot of downstream breakage in the optimizer I can't cleanly detangle. I might have to look for a more targeted fix for the DI regression.

Can one of the admins verify this patch?

Please update the base branch to main by Oct 5th otherwise the pull request will be closed automatically.

How to change the base branch: (Link)
More detail about the branch update: (Link)


Added voting to the governance SCORE

A first draft for voting functionality with only the vote to enable dividends distribution possible.

Deployed and tested on testnet with vote creation. checkVote gives an error though due to the revert in the stakedBalanceOfAt method on the balance token SCORE. Thinking that we should avoid reverts in readonly methods and just return a zero in this case.


Suggestion, maybe you need Hyperformula

Excelent initiative, thank's for this.
You know that Formula Parser is deprecated, so may be you can consider integrate to Hyperformula component.
Hyperformula, is a complete, open-source Excel-like calculation engine written in TypeScript. Includes 380+ built-in functions. Maintained by the team at Handsontable.
https://github.com/handsontable/hyperformula/
Thank's a lot.

Thanks for your suggestion.
We do have considered Hyperformula, but it's API makes it harder to be integrated into this project currently, and it's code size seems to be a lot larger.
May be we will switch to Hyperformula after some rounds of refactors.

Thank's!

Hyperformula's license GPLv3 is not compatible with the MIT license of fortune-sheet. Moreover, GPLv3 in this project could be used only for non-commercial or open-source use. Therefore, it directly collides with either MIT or plain GPLv3 licenses.


Object in query string parameters do not trigger "route change" if its properties changes

Version
2.5.3
Reproduction link
http://jsfiddle.net/6znsr5wd/3/
Steps to reproduce

Access fiddle and click on Access Home
Enter any value on the input

it will be the object property used on query string

Click on Update route button

it will replace the route, using the object on query string
the query string will be rendered in the <code> tag

Change the value on the input and click on Update route again

What is expected?
The query string is updated with the new value on the object property.
What is actually happening?
The query string remains the same, ignoring the change on object's property.

After some digging in the code, I think I found the object comparison method used in confirmTransition method (which uses isSameRoute), and it does a simple "non-deep" comparison of properties on query string. Since it's using an Object on the query string, it should do a deep (recursive) comparison of Object properties.

dup of #1421
FYI, vue-router does not support nested queries by default, but you can use a lib like qs: http://jsfiddle.net/posva/y5boz2jf/1/
There's already a PR for this at #1425

Thanks, @posva.


missing or invalid package binary for binary-only package when  buildmode=plugin

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.8.3 linux/amd64
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN="/root/work/go/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/root/work/go"
GORACE=""
GOROOT="/usr/local/go1.8.3"
GOTOOLDIR="/usr/local/go1.8.3/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build055567438=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.

I have one file in /root/work/go/src/say named say.go

package say
import "fmt"
func Say(s string) string {
	return fmt.Sprintf("hello %s", s)
}

I try to build it to .a file go build -i -o $GOPATH/pkg/linux_amd64/say.a

change /root/work/go/src/say/say.go to

//go:binary-only-package

package say

another file /root/work/go/src/say/work/v1.go

package v1
import (
	"fmt"
	"say"
)
func SayToBob() {
	fmt.Println(say.Say("Bob"))
}

the main file /root/work/go/src/say/work/main.go

package main
import (
	"say/work/v1"
)
func main() {
	v1.SayToBob()
}

run main.go go run  /root/work/go/src/say/work/main.go

go run main.go
hello Bob

that's right

but in fact, i need to build SayToBob as plugin to hot reload,run
go build -buildmode=plugin -o /root/work/go/src/say/work/v1/plugin.so /root/work/go/src/say/work/v1/v1.go

missing or invalid package binary for binary-only package say
What did you expect to see?
can build plugin
What did you see instead?
can't build plugin
missing or invalid package binary for binary-only package say
did I do something wrong? thanks!

In general don't run commands like go build -i -o $GOPATH/pkg/linux_amd64/say.a.  Instead, run go install say.
The error binary-only package say implies that some .go file in that directory has a comment //go:binary-only-package.
Closing because I don't think there is a Go bug here.  For questions about using Go, please see https://golang.org/wiki/Questions .

I had the same problem
my golang version is 1.9.2
How can I solve this problem

go build -buildmode=plugin -o test.so *.go
missing or invalid package binary for binary-only package

hello jerrybean
Have you solved the problem

hello jerrybean
Have you solved the problem
I had the same problem
my golang version is 1.9.2
How can I solve this problem
go build -buildmode=plugin -o test.so *.go
missing or invalid package binary for binary-only package

@twyvip This issue is closed.  To ask questions, please use a forum; see https://golang.org/wiki/Questions.   Thanks.


[stable1.43 cherry-pick] Move identity experiment icon to correct folder. (#3046)

This seems incorrect. This needs to be stable1.3

Algo is simple. Look at the release version. Major.Minor version is your stable branch

Ah that's good to know thanks.

Same for pxt. Stable6.8 is your stable version as that is what is released to the wild.