Does this support sparse vector - matrix operation?

What I am particular interested in is multiplying dense matrix with sparse vector

@amartya18x , we didn't support sparse vectors or matrices.

What would you recommend I use for this particular type of operation I mentioned? I would love to continue using BLAS .

I don't know which library supports your operation. You can implement it.
Or, fille the zero in your sparse vector and call gemv.

Okay.
I was looking for a wrapper to sparse blas but maybe I can implement by
filing out the zeros as you said and calling gemv.
On Mon, Oct 12, 2015 at 5:12 PM Zhang Xianyi<EMAIL_ADDRESS>wrote:

I don't know which library supports your operation. You can implement it.
Or, fille the zero in your sparse vector and call gemv.
—
Reply to this email directly or view it on GitHub
https://github.com/xianyi/OpenBLAS/issues/665#issuecomment-147464307.

--
Amartya Sanyal
Third Year Undergraduate
Dept. of Computer Science And Engineering
IIT Kanpur
"You sort of start thinking anything’s possible if you’ve got enough
nerve." - Ginny Weasley

I don't think sparse blas supports the multiplication of dense matrix and sparse vector.

yes, it doesn't. Have been searching the whole day for something. I am not
sure but maybe transposing the whole expression and using level 3 matrix -
matrix operations along with transposing  might work, but I am not sure
whether representing the vector as a matrix in the format would actually
help in optimizing.
On Mon, Oct 12, 2015 at 5:16 PM Zhang Xianyi<EMAIL_ADDRESS>wrote:

I don't think sparse blas supports the multiplication of dense matrix and
sparse vector.
—
Reply to this email directly or view it on GitHub
https://github.com/xianyi/OpenBLAS/issues/665#issuecomment-147466028.

--
Amartya Sanyal
Third Year Undergraduate
Dept. of Computer Science And Engineering
IIT Kanpur
"You sort of start thinking anything’s possible if you’ve got enough
nerve." - Ginny Weasley

The standard about spblas(the sparse blas defintion) ( See "I. Duff, M. Heroux, R. Pozo, "An Overview of the Sparse Basic Linear Algebra Subprograms: The New Standard from the BLAS Technical Forum," ACM TOMS, Vol. 28, No. 2, June 2002, pp. 239-267" ) only focuses on sparse vector-vector operations and on sparse matrix with dense vector operations. Looking into the documentation of the MKL will tell you the same. But I think a possible (and efficient) workaround to implement
x :=  alpha * A * y + beta *x

where y is a sparse vector stored as y_data and  y_idx will by something like
for j in length(y_idx)
    AXPBY(alpha*y_data(j), A(:,y_idx(j)), beta, x)
endfor

The AXPBY operation ( which is also not officially in the reference BLAS ) is supported by OpenBLAS.
Another way is to create a intermediate copy of A containing only the affected columns and the run the norm GEMV operation on it.
The question is, do we need this special operation in OpenBLAS or not. From my experience operations where sparse vectors appear are not very common, we do need it.

In recent times, a lot of work is being done in Sparse Recovery,
Compressive Sensing etc and in these sparse vector is quite common, so I
think we should be incorporating this one.
On Tue, Oct 13, 2015 at 9:32 AM Martin Köhler<EMAIL_ADDRESS>wrote:

The standard about spblas(the sparse blas defintion) ( See "I. Duff, M.
Heroux, R. Pozo, "An Overview of the Sparse Basic Linear Algebra
Subprograms: The New Standard from the BLAS Technical Forum," ACM TOMS,
Vol. 28, No. 2, June 2002, pp. 239-267" ) only focuses on sparse
vector-vector operations and on sparse matrix with dense vector operations.
Looking into the documentation of the MKL will tell you the same. But I
think a possible (and efficient) workaround to implement
x :=  alpha * A * y + beta *x
where y is a sparse vector stored as y_data and y_idx will by something
like
for j in length(y_idx)
AXPBY(alpha*y_data(j), A(:,y_idx(j)), beta, x)
endfor
The AXPBY operation ( which is also not officially in the reference BLAS )
is supported by OpenBLAS.
Another way is to create a intermediate copy of A containing only the
affected columns and the run the norm GEMV operation on it.
The question is, do we need this special operation in OpenBLAS or not.
From my experience operations where sparse vectors appear are not very
common, we do need it.
—
Reply to this email directly or view it on GitHub
https://github.com/xianyi/OpenBLAS/issues/665#issuecomment-147662971.

--
Amartya Sanyal
Third Year Undergraduate
Dept. of Computer Science And Engineering
IIT Kanpur
"You sort of start thinking anything’s possible if you’ve got enough
nerve." - Ginny Weasley

I do not think this should be directly incorporated in OpenBLAS, at least not until it has been adopted by the reference BLAS implementation.
Doing so will expose a non-standard routine in a library following standards. I think this is sub-optimal.
Better use/create a 3rd party library which can link to standard BLAS libraries.

Because of the fact, that the reference BLAS will only change slowly, if it changes. I would say as long as the MKL(on one of the other major BLAS implementations)  does not provide this feature as a reference it is better to build your own implementation on top of basic operations from  OpenBLAS or MKL. For my own software projects I use my own extension-BLAS library implementing such operations that are BLAS like but not in the standard.
I would implement both ideas I stated above and run  a micro benchmark to determine the best performing one.

moved to the faq in the wiki


[Bug]: T8203 Image Preview Aspect Ratio all Wrong

Version
1.3.5
Node version
18.15.0
Operating System type
Other
Operating system version
HAOS 10.1
Describe the bug
This might be more of a feature request, but the aspect ratio of the camera snapshot for doorbell dual is wrong, I suspect the aspect ratio might be right for other devices.
The image looks fine when streaming but terrible when idle.  I retrieved the image directly from api/camera_proxy/... and have attached two examples (streaming vs idle).

To reproduce

Go to '...'
Click on '...'
Scroll down to '....'
See error

Screenshots & Logfiles
No response
Additional context
No response

This project does not interfere in any way with the aspect ratio of the image, so the cause must lie somewhere else.


:sparkles: implement krakend audit parser

Implement a parser for KrakenD audits

@Maffooch why is this unittest failing? And: Since a couple of releases I can't test unitests locally anymore.
I always get the following error:
`
ERROR: unittests (unittest.loader._FailedTest.unittests)
ImportError: Failed to import test module: unittests
Traceback (most recent call last):
File "/usr/local/lib/python3.11/unittest/loader.py", line 162, in loadTestsFromName
module = import(module_name)
^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'unittests'
`

I just wanted to reopen this to retrigger the pipeline. This is not working anymore. Could you please reopen this @mtesauro ?

@manuel-sommer Hmm not sure on that one. I have not see it before. Also just ran unit tests a few moments ago on another PR. How are you running unit tests?

@manuel-sommer Hmm not sure on that one. I have not see it before. Also just ran unit tests a few moments ago on another PR. How are you running unit tests?

@Maffooch I run unittests of a specific parser like this:
./dc-unittest.sh --profile postgres-rabbitmq --test-case unittests.tools.test_npm_audit_7_plus_parser.TestNpmAudit7PlusParser


WHOQOL, WHOQOL-BREF and EQ-5D

Add DDs for WHOQOL, WHOQOL-BREF and EQ-5D. It would be useful to have these defined for a variety of applications in the pipeline.
Perhaps take a look at the library versions in https://redcap.vanderbilt.edu/consortium/library/search.php as a starting point?

Closing as other QoL questionnaires/PROMS are used for now.


[bug] Python wheel contains two copies of LICENSE

Download ast_grep_cli-0.14.2-py3-none-macosx_10_7_x86_64.whl from https://pypi.org/project/ast-grep-cli/#files and run the following command:
unzip -l ast_grep_cli-0.14.2-py3-none-macosx_10_7_x86_64.whl

Output:
  Length      Date    Time    Name
---------  ---------- -----   ----
     6207  12-03-2023 07:34   ast_grep_cli-0.14.2.dist-info/METADATA
      102  12-03-2023 07:34   ast_grep_cli-0.14.2.dist-info/WHEEL
     1077  12-03-2023 07:34   ast_grep_cli-0.14.2.dist-info/license_files/LICENSE
     1077  12-03-2023 07:34   ast_grep_cli-0.14.2.dist-info/license_files/LICENSE
 32865880  12-03-2023 07:34   ast_grep_cli-0.14.2.data/scripts/sg
 32865880  12-03-2023 07:34   ast_grep_cli-0.14.2.data/scripts/ast-grep
      639  12-03-2023 07:34   ast_grep_cli-0.14.2.dist-info/RECORD
---------                     -------
 65740862                     7 files

The LICENSE file is listed twice. I didn't know zip files could do that!
I'm pretty sure this doesn't actually matter - the wheel installs just fine. I only noticed this because I got this message when I tried to unzip the wheel myself:
unzip ast_grep_cli-0.14.2-py3-none-macosx_10_7_x86_64.whl

Archive:  ast_grep_cli-0.14.2-py3-none-macosx_10_7_x86_64.whl
  inflating: ast_grep_cli-0.14.2.dist-info/METADATA
  inflating: ast_grep_cli-0.14.2.dist-info/WHEEL
  inflating: ast_grep_cli-0.14.2.dist-info/license_files/LICENSE
replace ast_grep_cli-0.14.2.dist-info/license_files/LICENSE? [y]es, [n]o, [A]ll, [N]one, [r]ename:

Hi Simon! Thanks for reporting. I will investigate it when I have time :)
By the way, I truly appreciate your words on HN. I am so grateful you find the ast-grep's packaging useful. I spent a lot of time designing and making the tool usable for many scenarios.

It's really cool!
I blogged it https://simonwillison.net/2023/Dec/10/ast-grep/ and sent it out in my newsletter too: https://simonw.substack.com/p/datasette-enrichments-a-new-plugin

Found the issue coming from https://github.com/PyO3/maturin/issues/861

I created an upstream issue for duplicate license. https://github.com/PyO3/maturin/issues/2066
Track the issue in the maturin repo and close the issue for now.

Instead of using license-file, I tried include = ["/src/", "/tests/", "../../LICENSE"] but it doesn't work according to the output of cargo package --list --allow-dirty. So maybe relative paths aren't supported under include? I could get it working by copying the root license file into the cli crate.


How to add search functionality inside the country code select menu.

Hi there, I have to add search country code functionality inside the select menu of the country code. I was reading the documentation but not be able to figure out any solution. How i can do that?

I have attached a screenshot at the top of this menu i have to add the search input where user will type the country name and it will search the country from the menu.

#Duplicated with https://github.com/viclafouch/mui-tel-input/issues/39


Page should be under LINQ, instead of under expression trees

Broadly speaking, I think there are two primary use cases for expression trees:

Using C# VB.NET code to control some API. Most prominently -- but not limited to -- LINQ.
Creating compiled code from some arbitrary input, such as a DSL

In the context of querying, it makes sense to talk about constructing expression trees -- that's one of the ways in which we can query based on runtime state, by constructing varying expression trees at runtime.  But I would suggest this page should be replaced with some examples of:

additional APIs controlled by C#/VB.NET code via expression trees, and/or
a simple DSL which would show off compiling code from arbitrary structured input

Related #28003
ping @BillWagner  @gewarren

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

ID: 38e7c92f-899d-506e-dced-ade9245fa231
Version Independent ID: 0f232a4f-3c75-7736-7c70-c409d3cf5ab5
Content: Querying based on runtime state (C#)
Content Source: docs/csharp/programming-guide/concepts/expression-trees/how-to-use-expression-trees-to-build-dynamic-queries.md
Product: dotnet-csharp
Technology: csharp-advanced-concepts
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for raising both these issues @zspitz
The same comment applies here: These are good ideas, and I want to look at them as we update our LINQ and expression tree content.


merlin occurrences doesn't understand bucklescript string interpolation

Renaming a variable that is mentioned inside an interpolation literal {j|...|j} removes the substitution syntax around the variable name. For example:
Before:
let foo = 123;
{j| Foo 1: $(foo)|j};
{j| Foo 2: $(foo)|j};

After:
let bar = 123;
{j| Foo 1: bar|j};
{j| Foo 2: bar|j};

Are you doing this string interpolation in a Bucklescript project? As far as I'm aware, Reason doesn't support string interpolation directly (and neither does OCaml).
The renaming functionality in this extension works via merlin so I'm guessing there is something about the way the string interpolation is implemented that merlin doesn't understand.
I could perhaps do some sort of postprocessing to try and detect when this happens but that's a hack I'd rather avoid. This is an issue that should be fixed upstream if possible.
@chenglou @bobzhang @jordwalke @let-def any thoughts on how to deal with this?

As far as merlin is concerned, the solution would be to not include the $( ) in the expression location.
However this is clearly not a case that I had in mind when implementing this feature :).

I've created an issue for this upstream here.


Get URL for media content types

This PR handles an issue reported here for media pickers, when the string representation of the object was returned on polling.
With this update I've took into consideration the two media pickers with aliases: Umbraco.MediaPicker3 and Umbraco.MediaPicker(legacy).
Because the package requires a minimum version of 8.5.4, I've moved the constants locally, as MediaPicker3 was introduced with 8.14.0 and could not access it directly from Umbraco.Core.Constants.PropertyEditors.Aliases.MediaPicker.

The PR will be merged after version 1.0.4 has been released.


[Feature] Callback when finishing a sequence / pattern

Hi there,
this is a feature request to get a callback when the pattern or sequence that's currently playing has finished.
I'm in the situation where I have a play button to play a sequence and when it plays I'm changing the label to "playing". Once the sequence stops I need to reset that label.
There doesn't seem to be any way to have a callback that's executed when the sequence stops so I'm having to calculate the duration of the sequence and then stop manually which is quite flakey.
Any chance to get this?
Thanks
David

It seems like this should be possible to do outside of Tone.js without setting a timeout or computing the duration of the sequence. Sequence/Pattern are already giving you a callback. So if you'd like to know when those sequences end, i would add it in that callback. Then you'll have both a callback and the precise time when the sequence ends.
Here's a way to do it by creating a counter and waiting until the count hits the length of the sequence.
let index = 0
const noteSeq = ['C4', 'G5', 'A2', 'B3']
const sequence = new Tone.Sequence((note, time) => {
  index++
  if (index === noteSeq.length){
    console.log('sequence ended')
  }
}, noteSeq)

Another way to do this would be add some kind of special indicator at the end of your sequence so you could wait for that event and then you would know when the sequence is over.
const sequence = new Tone.Sequence((note, time) => {
  if (note === 'END'){
    console.log('sequence ended')
  }
}, ['C4', 'G5', 'A2', 'B3', 'END'])


Add FAQs to documentation

Some starting ideas:

What implementations support Service APIs?

Are Service APIs going to replace the Ingress API?

How do I get involved?

/assign @jpeach


Disabled failing Transform dialect tests with LLVM bump

PR #9610 has some failures w.r.t to tests that involve use of the transform dialect

compiler/src/iree/compiler/Dialects/Flow/Transforms/test/dispatch_linalg_transform_dialect.mlir
llvm-external-projects/iree-dialects/test/python/dialects/iree_structured_transform.py

I think the Python tests passes. Dont know why it was failing for me locally.

@nicolasvasilache Hey Nicolas, have you had a chance to review this? Can you help to add a priority?

@nicolasvasilache Please help to triage this issue by adding a priority.

Fixed in #9674 9674


Use callback functions on DataTables->init [from source project]

Hi @ypnos-web ,
I've taken this question from the base project @fheider .
I've folloowed what you've written up there because i have the exact functionnality discribed : drawing a small block with a color to display rather than the css hexa code.
[ 			'title' => __('Color'), 			'name' => 'Structures.color', 			'data' => 'color', 			'render' => 'callback:renderColor', 		],
Here is the line describing the column. Is there something wrong in there ?
Thank you again for your time.
Stefan.

The new API still needs to be documented, but in the new API you would do
'render' => $this->DataTables->callback('renderColor')

Worked like a charm, thank you again for your time and advices :) :+1:


Package upb libs, which have been renamed since our last fork sync

Description
swift-firebase depends on these libraries.
Testing
Presubmit workflow

Type of Change
Place an x the applicable box:

[x] Bug fix. Add the issue # below if applicable.
[ ] New feature. A non-breaking change which adds functionality.
[ ] Other, such as a build process or documentation change.

contents of the out/ directory were unintended?

Yep, my mistake. Just force pushed to delete them.


mWeb - Task - After deleting task and tapping on back button, user is not redirected to LHN

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/49991
PROPOSAL: https://github.com/Expensify/App/issues/49991#issuecomment-2386006862
Tests
Same as QA Steps

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

Offline tests
Same as QA Steps
QA Steps

Open any group chat.
Tap on the "+" button.
Tap on "Assign Task"
Write any title for the task.
Tap on "Next"
Tap on "Confirm Task"
Open the created task report.
Tap on the header.
Tap on "Delete"
Once back in the chat, tap on the arrow on the top left corner.
Verify you are redirected to LHN.

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

PR Author Checklist

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

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

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

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

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

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

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/366b1392-42d8-40c5-a6b3-722f7ca27088

Android: mWeb Chrome
https://github.com/user-attachments/assets/0f0c2b64-947d-465a-8ec2-4e20ae579eac

iOS: Native
https://github.com/user-attachments/assets/483ee867-d536-48a4-87d6-9de5cfd3b348

iOS: mWeb Safari
https://github.com/user-attachments/assets/7a883b78-f35f-4c62-9bb4-afec3fa2eebb

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/0df19ebf-1647-4510-aaed-d7a56349d18c

MacOS: Desktop
There is no back button on the desktop version, so I use Button 4 on the mouse to go back
https://github.com/user-attachments/assets/fbc34a32-682a-4be5-a975-b11b719d7f2b

Reviewer Checklist

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

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

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

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

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

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

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

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

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/d7c4d939-ed20-4337-bb06-6a89db38c555

Android: mWeb Chrome

iOS: Native

https://github.com/user-attachments/assets/2b6055d3-0495-4199-a909-a328c65793fb

iOS: mWeb Safari

https://github.com/user-attachments/assets/109efbba-cb59-4d4e-9c0d-e207d2a03537

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/38f44590-1e7f-49e0-8256-ab50207c5ab9

MacOS: Desktop
https://github.com/user-attachments/assets/835fb6cc-0cdc-4f61-b7f4-37b237e9d204

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


Not doing anything

I am using gulp-remember which clearly states to use gulp-order if order is to be maintained, I am trying but gulp-order is not doing anything. I created the exact repo to outline the problem available here.
https://github.com/newtonianb/gulp-order-problem
npm install && bower install && gulp js and see output in public/scripts.js. The coffeescript file (a.coffee) is being concatenated after the js file (b.js) eventhough the order states a should come first.
'use strict';
var gulp = require('gulp');
var $ = require('gulp-load-plugins')();

gulp.task('js', function (callback) {

    var coffeeFilter = $.filter(['**/*.coffee']);

    var src = [
        'resources/assets/bower/jquery/dist/jquery.min.js',
        'resources/assets/bower/jquery-migrate/jquery-migrate.min.js',
        'resources/assets/scripts/util/a.coffee',
        'resources/assets/scripts/b.js'
    ];

    var destName = 'scripts.js';
    var dest = 'public/assets';

    return gulp.src(src)

    .pipe(coffeeFilter)
    .pipe($.cached('coffee'))
    .pipe($.coffee())
    .pipe($.remember('coffee'))
    .pipe($.order(src, { base: process.cwd() }))
    .pipe(coffeeFilter.restore())

    .pipe($.concat(destName))
    .pipe(gulp.dest(dest));
});

I realized my order array was with .coffee but it the list of stream files was with .js


Add more rules for multipurpose indicator

More rules involving the multipurpose indicator need to be implemented.  It is #177 in the green book. "viii" and "ix" need implementing, although I don't know why the examples in "viii" aren't omission symbols.
This one (from AN INTRODUCTION TO BRAILLE MATHEMATICS Using UEB and the Nemeth Code Provisional Online Edition 2017) needs to be implemented.

This is probably the highest priority. It is a bit like "iv" (consecutive comparison operators) and "ix" (consecutive ~s).

Fully fixed with https://github.com/NSoiffer/MathCAT/commit/9016d566b9a41ac25e77ed9abdcd4134c886a8dc


Cilium Status OUTPUT: "Cluster Pods:     0/13 managed by Cilium"

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I just Installed Cilium on k3s server and two worker k3s agents,but
The output of Cilium Status is the below.
Cluster Pods:     0/13 managed by Cilium

This means that I succesed to install Cilium but out Pods aren't managed by Cilium?
There are no our k3s installation options specified,so I think that defalut CNI Flannel is working.
below cilium install commands
 helm upgrade --install cilium cilium/cilium \
    --namespace kube-system \
    --set sctp.enabled=true \
    --set hubble.enabled=true \
    --set hubble.metrics.enabled="{dns,drop,tcp,flow,icmp,http}" \
    --set hubble.relay.enabled=true \
    --set hubble.ui.enabled=true \
    --set hubble.ui.service.type=NodePort \
    --set hubble.relay.service.type=NodePort

Thank you in advance.
Cilium Version
cilium-cli: v0.14.8 compiled with go1.20.4 on linux/amd64
cilium image (default): v1.13.3
cilium image (stable): v1.13.4
cilium image (running): v1.13.4
Kernel Version
5.15.0-76-generic
Kubernetes Version
v1.27.3+k3s1
Sysdump
No response
Relevant log output
No response
Anything else?
No response
Code of Conduct

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

### Tasks

I investigated into Cilium Operator log and found out that coredns is in the repected status of "running" and "Terminating".

It's a little old now, but https://cilium.io/blog/2020/04/29/cilium-with-rancher-labs-k3s/ suggests that k3s moves the default sockets for containerd to new places, and so requires some extra flags.
Could you check the k3s docs and see if these extra helm options are still correct?
    --set global.containerRuntime.integration="containerd" \
    --set global.containerRuntime.socketPath="/var/run/k3s/containerd/containerd.sock"

It's a little old now, but https://cilium.io/blog/2020/04/29/cilium-with-rancher-labs-k3s/ suggests that k3s moves the default sockets for containerd to new places, and so requires some extra flags.
Could you check the k3s docs and see if these extra helm options are still correct?
    --set global.containerRuntime.integration="containerd" \
    --set global.containerRuntime.socketPath="/var/run/k3s/containerd/containerd.sock"

@youngnick
sorry for my late replay.
I am going to see if extra helm options solve my issue.


Adding help button to play page and vice versa

Added help button to the play page. Added a play button to the help page. Made the help page look clean and finished.
Closes #100

These are part of Travis Chrome Headless issues. The changes are fine.


Lem does not work when started from Qlot

When I start Lem like that: qlot exec lem it ignores all environment variables set by Qlot. Because of this, when I load some library in the REPL, it is loaded not into the quicklisp folder in the current directory, but searched in the directories like ~/common-lisp/, ~/.roswell/local-projects, etc.
What I was expected is that Lem will use a quicklisp folder, created by qlot and will ignore all other places.
This issue makes Lem completely unusable for me because, in my workflow, I pin libraries versions using Qlot for each project I'm working on.
Here is some information for diagnostic
Content of Qlot's configs
[art@art-osx5:~/projects/lisp/test-lem]% cat qlfile
[art@art-osx5:~/projects/lisp/test-lem]% cat qlfile.lock
("quicklisp" .
 (:class qlot.source.ql:source-ql-all
  :initargs (:distribution "http://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest)
  :version "2019-03-07"))

Env variables which Qlot sets
[art@art-osx5:~/projects/lisp/test-lem]% env | grep -i -e QUICK -e CL_
[art@art-osx5:~/projects/lisp/test-lem]% qlot exec env | grep -i -e QUICK -e CL_
SBCL_HOME=/Users/art/.roswell/impls/x86-64/darwin/sbcl-bin/1.4.12/lib/sbcl
ROS_OPTS=(("program""(:eval\"(ros:asdf)\")")("uname-m""x86-64")("uname""darwin")("asdf""<IP_ADDRESS>")("patchdir""/Users/art/usr/roswell/etc/roswell/patch/")("lispdir""/Users/art/usr/roswell/etc/roswell/")("verbose""0")("homedir""/Users/art/.roswell/")("wargv0""/Users/art/usr/roswell/bin/ros")("argv0""ros")("quicklisp""/Users/art/.roswell/lisp/quicklisp/")("impl""sbcl-bin/1.4.12")("script""\"/Users/art/.roswell/bin/qlot\"\"exec\"\"env\"")("lisp""sbcl-bin")("*lisp""sbcl-bin")("ecl.version""16.1.2")("sly.version""git")("ccl-bin.version""1.11.5")("# asdf.version""3.3.1")("# asdf.version""<IP_ADDRESS>")("asdf.version""<IP_ADDRESS>")("emacs.type""sly")("slime.version""2018.08.31")("sbcl.version""1.4.16")("setup.time""3758445694")("sbcl-bin.version""1.4.12")("default.lisp""ccl-bin"))
QUICKLISP_HOME=quicklisp/
CL_SOURCE_REGISTRY=/Users/art/projects/lisp/test-lem/

Same variables taken from the plain SBCL started by Qlot
(values (uiop:getenv "SBCL_HOME")
(uiop:getenv "ROS_OPTS")
(uiop:getenv "QUICKLISP_HOME")
(uiop:getenv "CL_SOURCE_REGISTRY"))
[art@art-osx5:~/projects/lisp/test-lem]% qlot exec ros run -L sbcl
* (values (uiop:getenv "SBCL_HOME")
             (uiop:getenv "ROS_OPTS")
             (uiop:getenv "QUICKLISP_HOME")
             (uiop:getenv "CL_SOURCE_REGISTRY"))
"/Users/art/.roswell/impls/x86-64/darwin/sbcl/1.4.16/lib/sbcl"
"((\"program\"\"(:eval\\\"(ros:asdf)\\\")(:eval\\\"(ros:quicklisp)\\\")\")(\"uname-m\"\"x86-64\")(\"uname\"\"darwin\")(\"asdf\"\"<IP_ADDRESS>\")(\"patchdir\"\"/Users/art/usr/roswell/etc/roswell/patch/\")(\"lispdir\"\"/Users/art/usr/roswell/etc/roswell/\")(\"verbose\"\"0\")(\"homedir\"\"/Users/art/.roswell/\")(\"wargv0\"\"/Users/art/usr/roswell/bin/ros\")(\"argv0\"\"/Users/art/usr/roswell/bin/ros\")(\"quicklisp\"\"/Users/art/.roswell/lisp/quicklisp/\")(\"impl\"\"sbcl/1.4.16\")(\"lisp\"\"sbcl\")(\"ecl.version\"\"16.1.2\")(\"sly.version\"\"git\")(\"ccl-bin.version\"\"1.11.5\")(\"# asdf.version\"\"3.3.1\")(\"# asdf.version\"\"<IP_ADDRESS>\")(\"asdf.version\"\"<IP_ADDRESS>\")(\"emacs.type\"\"sly\")(\"slime.version\"\"2018.08.31\")(\"sbcl.version\"\"1.4.16\")(\"setup.time\"\"3758445694\")(\"sbcl-bin.version\"\"1.4.12\")(\"default.lisp\"\"ccl-bin\"))"
"quicklisp/"
"/Users/art/projects/lisp/test-lem/"
*

These variables, taken from Lem's REPL, stated like this
qlot exec lem
M-x start-lisp-repl

CL-USER> (values (uiop:getenv "SBCL_HOME")
             (uiop:getenv "ROS_OPTS")
             (uiop:getenv "QUICKLISP_HOME")
             (uiop:getenv "CL_SOURCE_REGISTRY"))
"/Users/art/.roswell/impls/x86-64/darwin/sbcl-bin/1.4.12/lib/sbcl"
"((\"program\"\"(:eval\\\"(ros:asdf)\\\")(:eval\\\"(ros:quicklisp)\\\")\")(\"unam\
e-m\"\"x86-64\")(\"uname\"\"darwin\")(\"asdf\"\"<IP_ADDRESS>\")(\"patchdir\"\"/Users/\
art/usr/roswell/etc/roswell/patch/\")(\"lispdir\"\"/Users/art/usr/roswell/etc/ros\
well/\")(\"verbose\"\"0\")(\"homedir\"\"/Users/art/.roswell/\")(\"wargv0\"\"/User\
s/art/usr/roswell/bin/ros\")(\"argv0\"\"ros\")(\"quicklisp\"\"/Users/art/.roswell\
/lisp/quicklisp/\")(\"impl\"\"sbcl-bin/1.4.12\")(\"script\"\"\\\"/Users/art/.rosw\
ell/bin/lem-ncurses\\\"\")(\"lisp\"\"sbcl-bin\")(\"*image\"\"lem-ncurses\")(\"*li\
sp\"\"sbcl-bin\")(\"image\"\"lem-ncurses\")(\"ecl.version\"\"16.1.2\")(\"sly.vers\
ion\"\"git\")(\"ccl-bin.version\"\"1.11.5\")(\"# asdf.version\"\"3.3.1\")(\"# asd\
f.version\"\"<IP_ADDRESS>\")(\"asdf.version\"\"<IP_ADDRESS>\")(\"emacs.type\"\"sly\")(\"sl\
ime.version\"\"2018.08.31\")(\"sbcl.version\"\"1.4.16\")(\"setup.time\"\"37584456\
94\")(\"sbcl-bin.version\"\"1.4.12\")(\"default.lisp\"\"ccl-bin\"))"
"quicklisp/"
"/Users/art/projects/lisp/test-lem/"
CL-USER>

Seems all the same, but…
When I load cl-strings from Lem's REPL, it searches it somewhere in the ~/common-lisp/ folder:
CL-USER> (ql:quickload :cl-strings)
To load "cl-strings":
  Load 1 ASDF system:
    cl-strings
; Loading "cl-strings"

(:CL-STRINGS)
CL-USER> (ql:where-is-system :cl-strings)
#P"/Users/art/common-lisp/weblocks/quicklisp/dists/quicklisp/software/cl-strings-\
20180131-git/"

And when I do the same from the raw SBCL's REPL, it loads the library into the local quicklisp folder:
[art@art-osx5:~/projects/lisp/test-lem]% qlot exec ros run -L sbcl
* (ql:quickload :cl-strings)
To load "cl-strings":
  Load 1 ASDF system:
    asdf
  Install 1 Quicklisp release:
    cl-strings
; Fetching #<URL "http://beta.quicklisp.org/archive/cl-strings/2018-01-31/cl-strings-20180131-git.tgz">
; 10.82KB
==================================================
11,078 bytes in 0.00 seconds (10818.36KB/sec)
; Loading "cl-strings"
[package cl-strings]...
(:CL-STRINGS)
* (ql:where-is-system :cl-strings)
#P"/Users/art/projects/lisp/test-lem/quicklisp/dists/quicklisp/software/cl-strings-20180131-git/"

Are there any ideas why does this happen?

One more thing. I noticed that in raw SBCL's REPL:
* asdf:*central-registry*
(#P"/Users/art/projects/lisp/test-lem/quicklisp/quicklisp/")

But in Lem's REPL:
CL-USER> asdf:*central-registry*
(#P"/Users/art/.roswell/lisp/quicklisp/quicklisp/")

Probably it just burned into the Lisp image during Lem's installation.

Use a process different from lem for qlot.
For example, use the (M-x slime) command.

Ok, will use this as a workaround. Thank you!


Fixed grammar mistakes in the getting started documentation

Two small copy edits to correct the first sentence under "Code IDEs".  I've added the word "use" and changed "there" to "their".

Thanks, I really appreciate it, it got fixed as part of another PR <3


Tapping distance not being strictly applied

The attached test case specifies a 14um tapping distance, which is not being strictly applied
tapping_distance_issue.tar.gz
To reproduce, run the attached script and check the distances between taps/end-caps, which exceed the specified 14um.
Moreover, it's not completely clear to me what type of tap spacing rule is being targeted by the tool, but I believe that
it should eventually implement (or support) the worst case scenario (end-of-tap to end-of-cell spacing).

The fix for this issue is already available at the master branch.

The fix for this issue is already available at the master branch.

The fix improves things, but the same test case still fails (distance is still being above the specified 14um).


replace isB256 to use from ts-sdk instead of inside wallet repo

Motivation
After ts-sdk/645 gets merged, we should replace the isB256 created in this repo
Usage example
No response
Possible implementations
No response

this was already done in refactors during other PRs


minor changes to facilitate A/B testing player names on onboarding process

What's this PR do?
Minor changes in service of A/B testing player names on onboarding process.
How should this be manually tested?
Doesn't really need to be. Just changed the official name of what the beta_joined_notify_other_betas_oip is named in the config file.

:+1:


Feature: support legacy_symbols

@comius Do you want me to cut a new release right away or are you planning to send more changes?

Let me do more tests first and I'll let you know.

Let me do more tests first and I'll let you know.

I'm good for another release.


I expect all the bars that have the same timestamp to be stacked against each other.
What is happening instead?

The step in the timeseries is 1h, trimmed to hour ( it is 1:00:00.000, 2:00:00.000, and so on) so when plotting, the values for 2 overlapped stacks are ( as far as I know ) exactly the same. However, if you look at 2 examples:
3 Dec, 19:00 -> two stacked bars are well placed
3 Dec, 21:00 -> the two stacked bars are overlapping

What error message are you getting?
No error message

Keep in mind that the series is irregular, so as for the two examples:
19 -> the values are for User 2 and 3 and the value is the first and only for them
21 -> User 5 is the first entry, User 9 is the fourth entry in their respective data

Hello, @junedchhipa
First of all, I want to say that this is a kind reminder about this issue, no worries
Second, I want to ask you to acknowledge this issue as a valid issue and tell me if there is any context that I might be missing in isolating the bug.
Can it be a problem because it's an irregular series specifically and when the bar size is calculated, it looks on the series based on the index, not value?
If there is anything I can do, please do tell

I also experienced this issue when creating a time-series stacked chart.
I found that the way to avoid it is to place your timestamps in the "cathegories" prop, and to have arrays of values (without timestamps) in the series property.
However this causes some different (smaller) issues with the xaxis labels.
I think that for now. The only way to avoid all bugs is just to disable the "datetime" option and to set and format the date categories manually.

Also, this is a duplicate of #860
Let's discuss the issue there 😄


[BOT PR] to update dependencies of istio

This PR will be merged automatically once checks are successful.
none

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: istio-testing
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
If they are not already assigned, you can assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
03f8face62908f6a01ad7f142ccfa9cfc3fa136e
link
/test istio-integ-k8s-tests

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

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
03f8face62908f6a01ad7f142ccfa9cfc3fa136e
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
03f8face62908f6a01ad7f142ccfa9cfc3fa136e
link
/test istio-pilot-multicluster-e2e

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


Make gridemissions available on conda

See https://github.com/conda-forge/staged-recipes/pull/26621

@zaneselvans FYI


Incorrect Declaration Map Source

Current Behavior
I am currently using tsdx to run the core package within my monorepo. When I import something from the core package and click through in my editor I end up in the declaration file - not the source file as I would expect.
Source file (packages/core/src/):
import base from './palette.json';

const use = {
  background: {
    primary: base.aliceBlue,
    secondary: base.white,
    tertiary: base.mirage,
  },
  text: {
    primary: base.mineShaft,
  },
};

const colors = { base, use };

export default colors;

Declaration file (packages/core/dist/config/colors.d.ts.map):
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["colors.ts"],"names":[],"mappings":"AAiBA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC;AAE7B,eAAe,MAAM,CAAC"}

Expected behavior
When I click-through on a variable imported from a tsdx package, I am taken to the source file - rather than the definition file.
Declaration file (packages/core/dist/config/colors.d.ts.map):
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/config/colors.ts"],"names":[],"mappings":"AAiBA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC;AAE7B,eAAe,MAAM,CAAC"}

Suggested solution(s)
I have this working using the following rollup config, not sure how well this transfers to tsdx:
import camelCase from 'lodash.camelcase';
import commonjs from 'rollup-plugin-commonjs';
import json from 'rollup-plugin-json';
import resolve from 'rollup-plugin-node-resolve';
import sourceMaps from 'rollup-plugin-sourcemaps';
import typescript from 'rollup-plugin-typescript2';
import ts from 'typescript';

const pkg = require('./package.json');

const libraryName = 'vulk-core';

export default {
  input: `src/${libraryName}.ts`,
  output: [
    {
      file: pkg.main,
      name: camelCase(libraryName),
      format: 'umd',
      sourcemap: true,
    },
    { file: pkg.module, format: 'es', sourcemap: true },
  ],
  // Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash')
  external: [],
  watch: {
    include: 'src/**',
  },
  plugins: [
    // Allow json resolution
    json(),
    // Compile TypeScript files
    typescript({
      useTsconfigDeclarationDir: true,
      typescript: ts,
    }),
    // Allow bundling cjs modules (unlike webpack, rollup doesn't understand cjs)
    commonjs(),
    // Allow node_modules resolution, so you can use 'external' to control
    // which external modules to include in the bundle
    // https://github.com/rollup/rollup-plugin-node-resolve#usage
    resolve(),

    // Resolve source maps to the original source
    sourceMaps(),
  ],
};

Your environment

Software
Version(s)

TSDX
0.5.11

TypeScript
3.4.5

Browser
N/A

npm/Yarn
yarn (with workspaces)

Operating System
MacOs

i think this is because tsdx is meant to be for libraries you publish, where this is typically the default behavior (in particular, you might not publish the typescript source files). you might just be using tsdx beyond its intended purpose.
however it might allow you to extend rollup config in future if jared wants this https://github.com/palmerhq/tsdx/issues/110

hey @Braden1996 could you please review https://github.com/palmerhq/tsdx/pull/183 and see if your rollup config works here? if you'd like some stuff included by default (e.g. sourcemaps plugin?) please mention there too


pkg/trace/metrics: make the statsd client thread-safe to access.

What does this PR do?
This commit adds a RWMutex around the client to serialize access.
Motivation
We discovered a race on setting/accessing the metrics client which occurred while running tests.
Describe how to test/QA your changes
Run the agent and make sure metrics continue to show up in the UI as expected.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Looks good to me! Are there any concerns here with the performance cost of needing to RLock for every stats call now? I believe that a good number of these calls are in fairly hot paths for the trace-agent. (The answer can just be, "We have to pay the cost to ensure race-free access")

I am concerned about the RLock. I'm also hoping that this can be closed without merging, if we can determine the source of the race. My theory is that it is parallel tests clobbering each other, but that remains to be seen.


Recognize when a diagram has been edited externally and the new version uploaded as an attachment to the Confluence page

[ x ] I agree to follow the Code of Conduct that this project adheres to.
[ x ] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

I would like to be able to edit a local copy of a diagram and upload the file as an attachment to the wiki page.  Currently, when I upload a new version of a file, the editor does not recognize the new version and uses the last version it saved.  This requires me to copy/paste updates into the editor in Confluence.  This prevents use of Atlassian Companion and automated updates to diagrams.
I would like to be able to upload a draw.io file to the wiki page and see the diagram updated in the preview and editor.
If I were an admin of the site, I'd download the wiki text to see if the version number is stored there and update that to point to my uploaded file version.

Atlassian companion is more meant for file types that cannot be natively edited within Confluence. What's the workflow case you're trying to solve exactly?

Hi David,
For Atlassian companion, the scenario is when I need to edit a document while I'm offline or have an unstable connection.  I can edit with the desktop app and then upload it when done and reconnected.
The automation scenario has the most value for me.  I've been generating dependency diagrams in for our services.  I've been generating to the drawio format because I can control the layout, colors and I can add useful tooltips to each component.  To get these back into confluence, I have to open each diagram locally and in Confluence and then copy & paste, which is not scalable.  Ideally, the same tool could upload the diagram to the page and the update would be recognized by the drawio plugin.

Thanks for the clarification. Let me explain the architecture.
A diagram on a Confluence page is a drawio macro, that macro contains the name of the page attachment that contains the data and which revision of that attachment that is currently active.
In your case the attachment revision will increment, but the macro will still point at the previous revision. There's no event that we can listen to that tells us the attachment we depend on has been updated.
The revision parameter is there to maintain a correct audit history across page revisions. If you revert to a previous page the macro (assuming the diagram was changed) will hold the previous revision number.
Problem 1 is that case looks exactly like the external edit case. The macro revision is one behind the attachment revision. If we say always use the latest attachment we break the page history.
Maybe that could be solved with a tag from the external write, though I'm not sure exactly how the desktop build could write a tag.
Problem 2 is that the companion tool with always take the latest attachment version, even if it's not the latest that's being displayed due to page revert.
It's a complex problem that we haven't thought about in enough detail, tbh.
Are you on server or cloud?

Storing the diagram version to associate with page revisions makes a lot of sense.  And I can see how where AC always using the latest version would be an issue.  I'd guess that will be an issue with any type of file that can be edited with macros and I can see why it would be better to only use it for files that can't be edited within Confluence.
If it's possible to update the tag for an attachment from the API, we could do that with the automated tool.  However, if we can also get access to edit pages programmatically, then we could edit the version in the page which seems like a better choice.
Another option could be to add a version chooser to the editor to let us pick a newer version and this could be highlighted when newer versions exist without a draw.io tag.  May seem a bit messy though.  Just spit-balling ideas.

Apologies, looks like I forgot to answer your question.  We're on server.

OK, I've had a think about both cases and I'd say (2) is the bigger problem. If link the diagram version to a page version there isn't a way to resolve this without changing the way in which you manual edit diagrams.
You might argue that's very rare, but it's data loss when it does happen, even if we find a workaround for (2).
So, for now my suggestion is to change the workflow. To copy a diagram out of Confluence open the diagram in the draw.io editor and copy and paste it out into the desktop tool. Same process in reverse to save it back.
(2) might be possible to do something in code, but it's a non-trivial amount of testing to ensure all the cases are covered. It will probably be hard to justify the investment, given Atlassian's pro-cloud strategy. But, I'll leave the ticket open in case there is further interest.

Fair enough.    If so, I think that would be adequate to solve the automation issue.  Alternatively, #1851 would allow me to upload SVG with the benefit of the tooltips.

Yes, there is a write page API call.


Fix InvocationError when building the docs

Coverage remained the same at 76.252% when pulling e41eba2c6dbaaa179b13fe7d24dec2f98e8ce56b on mvinoba:develop into 1a3794802d83b985efe141baf7eccd331d073d5a on alcarney:master.


Support extracting metadata from fooocus log.html and appending to images

Is your feature request related to a problem? Please describe.
The author of fooocus does not want to include metadata inside images. This makes me unable to publish to civitai, which requires metadata, at minimum the model itself. Otherwise image posts end up in limbo, and nobody will find them.
Describe the solution you'd like
Fooocus does provide metadata in a separate file, log.html, which is present in every folder with gens. It would be great to have a tool to feed that metadata back into images and being able to publish and get feedback from civitai peers.
Describe alternatives you've considered
Not using Fooocus.
Additional context
The format of log.html is many blocks of html like this.

2023-12-13_07-22-12_6644.png

Prompt: epic sports car night shot reflections, road

Negative Prompt:

Fooocus V2 Expansion: epic sports car night shot reflections, road, modern, intricate, elegant, highly detailed, extremely sharp focus, fantastic composition, cinematic, fine classic, beautiful, full color, epic light, inspired, rich vivid colors, ambient background, dynamic, strong dramatic professional, glowing, perfect symmetry, atmosphere, best, imposing, clear, aesthetic, very inspirational, varied, creative

Styles: ['Fooocus V2', 'Fooocus Enhance', 'Fooocus Sharp'], Performance: Speed

Resolution: (1024, 1024), Sharpness: 2

Guidance Scale: 1, ADM Guidance: (1.5, 0.8, 0.3)

Base Model: turbovisionxlSuperFastXLBasedOnNew_tvxlV20Bakedvae.safetensors, Refiner Model: None

Refiner Switch: 0.5, Sampler: dpmpp_sde

Scheduler: karras, Seed: 3953053316333445986

I know, it's a big pain. Currently Diffusion toolkit doesn't do this, but the way to do it would be to use the LOG file from the folder where the images are saved in Fooocus , and open it in your browser - this opens the metadata and the relevant images. You can then manually paste metadata using Exiftool or something (if you really want to go this route)
Else, use RuinedFooocus which does embed metadata.

DiffusionToolkit supports loading metadata from paired image/text files - the text files can be written in either the A1111 style or the Stable Diffusion style. This gist is a python script you can run from the same folder as the fooocus run.bat script which will read your logs and try to produce these text files in the A1111 style (or delete them if the image no longer exists).
It is not perfect because there isn't a 1:1 relationship between the fooocus and a1111 tags, but it does the job well enough for me, and lets me do prompt searching. It uses nothing outside of the standard library, so you can run it using the copy of embedded python that ships with the windows install of fooocus.


Want to support watermark component

Want to support watermark component, Thanks!
https://github.com/ant-design/pro-components/tree/master/packages/layout/src/components/WaterMark

Hello @codeox-he , I would like to support this feature, but we have no plans at the moment.  If you are interested, you are more than welcome to help us add this feature.

I am working on a software related to finance and have strong requirements for watermarks. If possible, can I pay you to complete this component?

Ok, my wechat is JamesYeungMVP

hi @codeox-he
Is the watermark component completed? can be share? thanks

This effect is really good, I am currently using global CSS style to make do with it.
Take a look at our product. It is an integrated CRM call center platform that has been developed and maintained for over 10 years. Widely used in government, enterprises and institutions.

Due to the requirements of "Xinchuang", an overall upgrade has to be carried out.
If it weren't for your AntDesign, we wouldn't have chosen Blazor. Thank you for your efforts!

Hello @chrcao , are you using AntDesign Blazor on your company product? Please add your showcase in the post https://github.com/ant-design-blazor/ant-design-blazor/discussions/1693


Add support for passing flags as strings

resolves #51
There is no support for Flags structs as provided by the regress crate. But a string can be passed down and is converted to Flags by the with_flags constructor.
Exposing flags as a struct/enum adds significant complexity deemed not worth the additional code at this time. (See #51 for more details.)
A python test verifies that the alternate constructor pattern works and provides support for the "u" flag.
EDIT: :shushing_face: minor force-push. I botched the style rule by removing a line of whitespace by mistake.

I'll try to look at this tomorrow, but just because it's a common thing to forget (until PyO3/pyo3#2454 is resolved) -- can you update the rpds.pyi as well for this?

I just pushed a change for the type-stubs. I didn't realize that was independent of the pyo3 process.
It also allowed me to solve another issue I've run into -- RegressError not being exposed. I included it in the changeset.

OK, let's go with this for now then, can always give the other implementation another shot down the line. Appreciated as usual!


update to 1.5.0

RFR @webwurst @marians
WFM on minikube and l8 cluster

Looks simple enough, but I'd rather let Tobias verify this than give a LGTM myself. It's been a long time since I had this up and running.


Also publish a :debug docker image

When you get a panic in a docker environment right now it's not easy to switch to a debug image to get a better stack trace.
So the idea here is to have a docker image like :latest but with the debug flag on. So docker run ghcr.io/tigerbeetledb/tigerbeetle:debug

LGTM.

Is that different in effect than squash and merge?

Ah, that's what I meant :facepalm:

np! I try to always squash and merge

Oh sorry @sentientwaffle, I dismissed your review to make the push bit in line with the existing push. I don't actually understand what it means by != pull_request since I think I saw other pull request branches in here. But I figured might as well keep it the same as the existing docker push condition.

Thanks!


bugfix/NLU-4049 - Add ISO codes to currency prefix

{currency code} {number} is not being correctly identified. Works with V1 but not V3.
This PR adds the missing ISO codes to currency prefix list.
Also noticed a range of python tests are skipped for currency. I have tested them all and unskipped them as required.

Pipeline run: https://jenkins.ininica.com/job/NLU/job/Recognizers-Text/401/


{% trans %} is not parsed by makemessages in Django 1.8 RC1

All translations that use the {% trans %} template tag are not included in the PO files after makemessages was run. In fact, all existing phrases were removed from the PO file. Very unfortunate :-P
Translation of the templates works if the phrases in question are inserted manually into the PO file.
_("...") works fine, though.

Do you have django_jinja in installed apps? The django makemessages command does not handles the jinja translations. For it django_jinja comes with own makemessages command that extends the django's one for work with jinja2 trans tags.

Sure, it's installed correctly and typical _('...') translation strings are captured as expected. Only the {% trans ... %} strings are lost. And it's a project that's been running on django_jinja for months now - this is merely the transition to Django 1.8.

Hmm, very strange, maybe django 1.8 introduces some additional changes. Ok, I'll review it ;)

Thanks!
It's a pretty huge project we're transitioning - with lots and lots of code and 26 languages ... that's probably why we're detecting some issues. We're using django_jinja on Pixabay.com for every HTML template, serving over 1.5 million pages per day ;-)

I just tried to rewrite all {% trans %} tags into _('...') tags and noticed, the actual problem is different than what I first reported: We use "trans" for all translations containing variables, e.g. {% trans name='foo' %}. So, that's what doesn't seem to be working properly. Also when writing the same phrases in the other form  {{ _('... %(name)s ...', name='foo') }}, makemessager doesn't find them.
Any idead or news on the issue? Would be really helpful and much, much appreciated.

Hi @SimonSteinberger
I have tested the current master version with django 1.8 and it parses all {% trans %} and {{ _("") }} perfectly, maybe you are doing something wrong?
This is a command that I have executed:
python manage.py makemessages -v3 -e .jinja

I have tested it with this template: https://github.com/niwibe/django-jinja/blob/master/testing/testapp/templates/i18n_test.jinja

That's already helpful. I just tested another project, and it worked there, too. So it seems to be something wrong with just our main site. Although settings and usage of templates is the same. I'll keep digging and post as soon as I find the cause.

That hint was already very helpful. And very embarrassingly I must admit a bad mistake on my part that I just tracked down: I forgot to include 'django_jinja' in INSTALLED_APPS. Surprisingly everything except this single feature worked perfectly.


Two roots for Carbon Dioxide at standard conditions?

Hi there
Any idea why the following gives a root in the liquid phase? I'd like to use this for determining the phase (and density) for differing P and T, but seems that it's not able?
import numpy as np
from pint import UnitRegistry
import pyforfluids as pff

model = pff.models.GERG2008()
ureg = UnitRegistry()
Q_ = ureg.Quantity

fluid = pff.Fluid(model, {"carbon_dioxide": 1.0}, temperature=Q_(0, ureg.celsius).to(ureg.kelvin).m, pressure=Q_('1 atm').to('Pa').m)

The last line gives a UserWarning: Two roots were found! Vapor-phase value will be used.
Ref the diagram below, 0 Celsius and 1 atm looks to me like it's well within the gas phase, so why is a fluid phase root being determined?

>>> fluid.density_iterator(Q_('1 atm').to('Pa').m)
(20.16256859062894, 0.044918356427274264, False)

Hello! Thanks for using the package!
This two root problem could be related to the model itself, the GERG equation of state has some weird roots sometimes (still I don't find it logic for a system so simple as this one)
Could you draw an isotherm to better show what the model predicts?
import numpy as np
import matplotlib.pyplot as plt

densities = np.linspace(0.001, 25, 1000)
isotherm = fluid.isotherm(densities)

plt.plot(isotherm["density"], isotherm["pressure"])

Thanks for making the package and for the quick response!
As requested...

I see, there you can see that there are two roots (in the model world, not necessarily the real world) at those conditions.
I'm not sure if the GERG model accurately predicts pure carbon dioxide properties (it's a model developed for natural gas - high in CH4 - mixtures). I'll give this a look later and give you a better hindsight :)

Looks like there's 5?

Those are unstable roots, part of the mathematical model (like with classic cubic eos where you have one unstable root under critical temperatures)

Thank you. Is the process then to work inward from the ends and find the first root and stop and if there's a vapor root to use that in preference of a liquid?

The more robust way is to get both roots and calculate either the Gibbs energy or fugacity at those roots (you can get both roots and set the different densities with density_iterator as you've shown. You can check Gibbs energy with fluid["gibbs_energy"]. Or just get the root that you want (either liquid or vapor) and use that

Hi @fedebenelli
With the following code:
fluid = pff.Fluid(model, {"carbon_dioxide": 1.0}, temperature=Q_(10, ureg.celsius).to(ureg.kelvin).m, pressure=Q_('1 atm').to('Pa').m)
liquid_density, vapor_density, single_phase = fluid.density_iterator(Q_('1 atm').to('Pa').m)

and then:
>>> fluid.set_density(liquid_density)
>>> fluid.calculate_properties()
>>> print(f"liquid phase:\n{fluid.density = }, {fluid.properties.get('gibbs_free_energy') = }")
liquid phase:
fluid.density = nan, fluid.properties.get('gibbs_free_energy') = nan

followed by:
>>> fluid.set_density(vapor_density)
>>> fluid.calculate_properties()
>>> print(f"vapor phase:\n{fluid.density = }, {fluid.properties.get('gibbs_free_energy') = }")
vapor phase:
fluid.density = 0.043298915227438006, fluid.properties.get('gibbs_free_energy') = -5930.668659357086

It seems that the result is not valid if the liquid_density is utilized in the above example - so can't an internal check be done to determine this to prevent an invalid result being returned for the density - I don't think the user should be left to have to check for this?
Is there any way to return the state for a given condition (vapor, liquid, solid or super critical)?

Sorry, right now we don't have an option to get a desired root by default (I agree in that it should be integrated).
As a temporary fix, you could use a function like:
def get_liquid(fluid):
    density_liquid = fluid.density_iterator(fluid.pressure)[0]
    fluid_liquid = fluid.copy(density=density_liquid)
    return fluid_liquid

def get_stable(fluid):
    density_liquid, density_vapor, single_phase = fluid.density_iterator(fluid.pressure)
    if not single_phase:
        fluid_liquid = fluid.copy(density=density_liquid)
        fluid_vapor = fluid,copy(density_density_vapor)
        g_v, g_l = fluid_vapor["gibbs_free_energy], fluid_liquid["gibbs_free_energy"]
        if g_v < g_l and not np.isnan(g_v):
            return fluid_vapor
        elif g_l < g_v and not np.isnan(g_l):
             return fluid_liquid
    else:
        return fluid

This whole package is on a whole rework how the models work so we aren't focusing on the user API (for now). But in better ways to include more models.  But that can be a little hack for you for now.
Thanks again for using the package and giving some hindsight!

Sure thing! Any contribution is welcome :)
Just make sure to satisfy our CI, we use tox for that: tox


Allow long server names

Proposed changes
This commit increases the default server_names_hash_bucket_size to 256 and server_names_hash_max_size to 1024 to support hostnames longer than 47 characters.
Tested locally using the hostname abcdefghijklmn.too.long.server.name.example.org. Verified before the change, we get the error could not build server_names_hash, you should increase server_names_hash_bucket_size: 64, and after the change, there are no errors using this hostname.
Closes https://github.com/nginxinc/nginx-kubernetes-gateway/issues/632
Checklist
Before creating a PR, run through this checklist and mark each as complete.

[x] I have read the CONTRIBUTING doc
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have checked that all unit tests pass after adding my changes
[ ] I have updated necessary documentation
[x] I have rebased my branch onto main
[ ] I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

This echo command is getting long. We should prioritize the FIXME on line 98

I was actually looking at maybe cleaning this up for focus day.


How to Sortable grid to Desc

How to change default grid show from asc to desc.

use Grid::SORT_DESC
ex.
(new FieldConfig('xyz'))
    ->setLabel('xyz')
    ->setSortable(true)
    ->setSorting(Grid::SORT_DESC)

Nice.. thq..


Amazon storage part 2

This update migrates all images and audio files to S3 storage for better scalability and management. Files are now uploaded to S3 in categorized folders and referenced via public URLs in the application.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 30.76923% with 27 lines in your changes missing coverage. Please review.

Files with missing lines
Patch %
Lines

manager/views.py
16.66%
15 Missing :warning:

participant/views.py
23.07%
10 Missing :warning:

manager/models.py
75.00%
1 Missing :warning:

manager/utils/aws_s3_storage.py
66.66%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Flag
Coverage Δ

unittests
73.21% <30.76%> (-0.61%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines
Coverage Δ

participant/models.py
96.11% <100.00%> (+0.03%)
:arrow_up:

manager/models.py
78.40% <75.00%> (+0.20%)
:arrow_up:

manager/utils/aws_s3_storage.py
44.44% <66.66%> (+4.44%)
:arrow_up:

participant/views.py
57.95% <23.07%> (-5.02%)
:arrow_down:

manager/views.py
39.11% <16.66%> (-0.09%)
:arrow_down:

... and 2 files with indirect coverage changes

Amazon amazing

Good work , Tai Tanawut.


Update vqa_prompt.py

Auto download the blip models from hf via repo-id. It will benefit the auto-deploy for some comfy-engine

Thanks for this work


Update of Azure Server SDK v.2.0.0 in Mobile App backend targeting FW 4.5.2. not possible

Hi,
Today I wanted to update from Microsoft.Azure.Mobile.Server v<IP_ADDRESS> to Server SDK v2.0.0 but failed with that message:

Could not install package 'Microsoft.Azure.Mobile.Server 2.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.5.2', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

How can I update the Server SDK?
Thanks,
Eric

After targeting to FW 4.6 and not FW 4.6.1 it worked. But I have 3 remaining packages that causes compilation errors when I attempt to update and recompile:

at that line in my CustomAuthController
var token = AppServiceLoginHandler.CreateToken(claims, _signingKey, _audience, _issuer, TimeSpan.FromDays(30));
Show I stick with that versions ?

v2.0.0 deliberately re-targetted so that we could progress and keep pace with the updates in dependent packages.
You can update Microsoft.* - however, System.IdentityModel.Tokens.Jwt v5.x is for .NET Core and not compatible with the SDK.  So leave that one alone.

@AdrianHall Thanks, I will leave System.IdentityModel.Tokens.Jwt on v.4.*  and update the rest.


Example can't run

Masonry/Pods/Target Support Files/Pods-Masonry iOS Examples-Masonry/Pods-Masonry iOS Examples-Masonry-prefix.pch' file not found
I don't know why

You need install cocoapods first, then go the directory and run "pod install".

@yhdevelop this is now fixed on master


Check optimallity of loadData.py

The loadData.py script takes to long to execute, it took me 1.5 hours to complete. We need to optimize it somehow. @NataliaSpartinou will do the quality assurance.

Problem with optimize file. We might have to switch back to the old one. Thanks for noticing @manosdell

Spectacular job @NataliaSpartinou !!!


Allows concurrent calls to SPI

When sending two calls to one SPI connection, the connection would
confuse the second call with the response to the first. The bug came
about because the receive block had a catch-all for errors, but that
was catching the new incoming request. Removing the catch-all allows
both requests to process.
closes #55 and #53
Amos King @adkron<EMAIL_ADDRESS>

There are moduledoc tags. I'm not sure why it is still complaining.

@adkron Thanks - Don't worry about Ebert. Ebert seemed like a good idea at the time, but I need to disable or update it's configuration.
What I'd like to do is get the receive fix in without the test refactoring. I like the idea, but want to discuss it separately and make sure that the strategy applies to GPIO and I2C as well. Also, @mattludwigs is helping me with some lower level things to get started with Elixir ALE 2.0. That seems like a great opportunity to introduce the testability improvements.
I'll pull in the receive fix when I get back later tonight.

Closing this PR since the fix to the original issue has been added. I want to continue the discussion on testing in #55 and get a solution in for I2C and GPIO as well.


support make install-crc #1410

solves #1410
In the future, we can try to leverage https://github.com/code-ready/crc/issues/1230 to have something similar to what is done for minishift install. I'll add a note on the website once merged. Thanks!
Release Note
NONE

Thanks! We may want to mention it in the release note.


Chronograf: Create Template Variable should allow flux in addition to influxQL

Proposal:
When the query is in flux, template variables should be possible in flux, too.
Current behavior:
Template variables only support influxQL
Desired behavior:
optionally allow flux.
Alternatives considered:
n/a
Use case:
influxQL will be replaced by flux

moving to the Chronograf repo.


vulkan: Use image row pitch

When importing a Vulkan external image, query and
pass OpenCL a row pitch if OpenCL is assuming linear for the imported external handle type.  Additionally fix a bug where OpenCL is being told to create mipmapped images at all times.

The change itself looks fine to me, but will double check with @saurabhnv and unblock here.

Merging as discussed in the October 22nd teleconference.


Imou flood light & siren

Works with Imou camera (IPC-C26E), wondered if it would be possible to have it have a switch for the siren and or the floodlight built into the camera?
Thanks

This won't be supported unfortunately as I don't have access to a device to test and this app is more focussed on delivering event notifications rather than controlling devices.


request.POST.get("var1") yields None

Hi, I am having a bottle controller which accepts a POST request and extracts 3 variables from POST data and performs a mysql write
@route("/followuser", method="POST")
def post_followuser():
    follower_id = request.POST.get("follower_id")
    followee_id = request.POST.get("followee_id")
    item_id = request.POST.get("item_id")

    if follower_id and followee_id and item_id:
        sql = """INSERT INTO followuser (follower_id, followee_id,
                     item_id) VALUES(%s,%s,%s)"""
        try:
            data = cursor.execute(sql, (follower_id,followee_id,item_id))
            cursor.connection.commit()
        except pymysql.err.IntegrityError:
            data = 0 # already created
        return {"status": data}
    abort(404)

When I was simulating a load test on this controller I found that about 20% of my request hit 404. After I added some try  / except and log statements I found that even though the request.POST is a MultiDict with all 3 parameters, follower_id (being the first parameter) is turning out to be None while other 2 variables are getting the right values. This is pretty confusing .....

Closing as "Not a bug".


fix #943

fix #943 空白符问题.

Current coverage is 91.43% (diff: 100%)

Merging #949 into master will increase coverage by 0.01%

@@             master       #949   diff @@
==========================================
  Files           114        114
  Lines         16715      16714     -1
  Methods           0          0
  Messages          0          0
  Branches       3928       3927     -1
==========================================
+ Hits          15280      15282     +2
+ Misses          694        692     -2
+ Partials        741        740     -1

Powered by Codecov. Last update 3bb7773...f35a2e6


Add ip-forward-policy to deamon configuration

Due to this issue https://github.com/docker/docker/issues/14041 this PR introduced  default forward DROP policy instead of ALLOW, this doesn't allow to on docker for windows (and I assume for mac) to access internal docker network from developer's machine which is really useful in development mode with docker, the issue: https://github.com/docker/for-win/issues/221
If to change this policy to ALLOW in MobyLinuxVM, forwarding routing start to work. I propose to add a param that could override default behaviour of this policy.

It doesn't apply to Mac as there is currently no route to the VM IP address.

On windows there is too no route, one should add this to routing table, though it is onetime action.

@whitecolor on Mac you cannot add a route, there is no shared network stack.

@justincormack have to be another way?

@whitecolor
Following up from https://github.com/docker/for-win/issues/221 I just have one big pile of kudo for you.
Thanks for all the efforts put in this, because, guess what, I'm facing the exact same issue (win 10dev machine / linux based containers / SOA). I know it would be just simpler to have nux dev machine or that I could run a VM to run docker but ... one cannot always choose the company OS and running a docker based dev environment inside vm also comes with a productivity cost.
So I also think that and ip-forward-policy config set to DROP by default with all the necessary warnings about changing it is indeed a must, even if this does only address this specific use case (eg not mac)
Note that I'm not saying that a feature was broken here, I'm aware of the specificity of the matter. I'm just saying that it seems to me that such a config entry would not represent much work or risk to implement and would be a life saver for at least some (well, the insane ones using win dev machines to work with nux based infra).

The problems is that docker may drop even such opportunity (changing the policy) to solve the issue if I get it right from the comment https://github.com/docker/for-win/issues/221#issuecomment-272143387, I wonder why they don't see this as an important dev use case.

OK, we have to go politics on that then.
Elect my request because :
why would you have put so much efforts into docker for windows otherwise ?
I mean, that's cool to see MS interest into MS container but I do think that the life saver use case is to be able to run nux container efficiently on windows. So a part from the adventurous ones, who is going to promote docker on windows the most ?
the pro/cons ratio
I fully understand why the policy was changed, and it is a good thing. But, this breaks something that used to work (again, I'm not advocating that anything was broken since it was indeed kind of a hack anyway but ...) and that does still work for the lucky ones who can use nux dev machines.
In other words, if all it takes to make it possible to have the same dev comfort on nux and windows (we can see the add route as insignificant) is to make one property configurable, it looks to me that the pros are winning.
It's not even a security risk as it would of course comes with the default DROP value.
Please docker, I worked hard to convince people at my company to use docker, really I did ^^

@justincormack
At least on mac it works with Docker ToolBox (with Virtual Box VM), no problems with adding needed route to Docker machine VM, and it works without need of policies changes.
Probably the same will be for Windows Docker Toolbox.

Let me close this ticket for now, as it looks like it went stale.


Replace lazy_static with OnceLock

@mediocregopher Feel free to pull this.
I replaced it in the tests and the benchmark even though those files are still out of date and not working. The example seems to still work fine though, which is what matters.

Just pulled the commit, thanks!


Add data/video links from Robert from slack to the main repo

I have already tested one or two links from slack in its media player.

@dydgus9011 hey all the codecs are working and we are able to get the video level information , much more precise than what it is given us in the title. So thats good

It has been implemented and tested there is new flag added in the main which can be set to true or false to let the application run over the network or fully locally without any network parameter


Jrennie

This now fits the rules we now know about.

I still don't like the variable name "red" but otherwise, it's great! I won't merge with master since we don't need it right now.


Increment version for digitaltwins releases

Increment package version after release of azure_digitaltwins_core

@chidozieononiwu another case of the package version bumping not working as expected because of the amend.
@drwill-ms we have a bug in our version bumping automation so you might need to do the version bump manually for this release.

I'm closing this in favor of the new GA version which invoked just fine. Thanks for taking care of any lingering issues Dozie.


Fix pagination in last-notification-page-buttons

fixes #6218
Tested via npx web-ext run --target=chromium and https://github.com/notifications?query=repo%3Aprisma%2Fprisma+is%3Aunread where the problem manifested for me.

I finally got around to fixing that. Thanks again


Model flash address setting in common_config.h

Hi, currently I'm trying to upload more than one model in tflm_yolov8_od scenario app . However, when I coded like tflm_fd_fm, I'm facing an issue about model flash address setting in common_config.h.
From my knowledge, if I want to upload like 3 models at the same time, I have to make sure that we have enough memory for the models to load. For example, if I have models with size of 100,000 bytes, 200,000 bytes, and 300,000 bytes, I have to set the model flash address something like:
#define MODEL_1 (BASE_ADDR_FLASH1_R_ALIAS+0x200000)  // 100,000 bytes model
#define MODEL_2 (BASE_ADDR_FLASH1_R_ALIAS+0x2186A0)  // 200,000 bytes model
#define MODEL_3 (BASE_ADDR_FLASH1_R_ALIAS+0x2493E0)  // 300,000 bytes model
with 0x200000 reserved memory for firmware image
But it turned out that it's didn't work as I expected, all I got was either failed in flash process or printed like the log provided below.
xmodem_send bin file done!!
xmodem_send bin file result =  True
b'\x06'
b''
b'Do you want to end file transmission and reboot system? (y)'
b'\x001st BL Modem Build DATE=Nov 30 2023, 0x0002000b'
b'Please input any key to enter X-Modem mode in 100 ms'
b'waiting input key...'
b'slot flash_offset 0x00000000'
b'New MemDesp himax_sec_SB_image_process PASS'
b'set_memory_s_ns'
b'bl_status = 0x800000, HX_DSP_FLAG 1'
b'bl_status = 0x800000'
b'jump_addr=0x10000000'
b'Compiler Version: ARM GNU, 13.2.1 20231009'
b'wakeup_event=0x0,WakeupEvt1=0x0, freq=400000000'
b'ori_clk src info, 0x56100030=4077'
b'ori_clk src info, 0x56100034=0'
b'ori_clk src info, 0x56100038=c1a4'
b'clk src info, 0x56100030=4037'
b'clk src info, 0x56100034=0'
b'clk src info, 0x56100038=c1b8'
b'__GNUC'
b'mm_start_addr address: 3401f000'
b'YOLOv8n object detection'
b'TA[3401f000]'
b'[TEST] gray image arena: 3412f000'
b'232'
b'Ethos-U55 device initialised'
b'237'
b'244'
b''
b'Entering BusFault_Handler interrupt!'
b'SCB->CFSR:0x00008200'
b'SCB->BFAR:0x23c214f9'
b'SCB->HFSR:0x00000000'
Can you help me figure out how to set common_config.h to upload customized models?
Thanks in advance!

Hi @jeremypai
You can reference here.
The model starting address should be 4KB aligned.
So, your model can be placed like
#define MODEL_1 (BASE_ADDR_FLASH1_R_ALIAS+0x200000) // 100,000 bytes model, already aligned
#define MODEL_2 (BASE_ADDR_FLASH1_R_ALIAS+0x219000) // 200,000 bytes model, aligned up
#define MODEL_3 (BASE_ADDR_FLASH1_R_ALIAS+0x24A000) // 300,000 bytes model, aligned up

Thanks,
Kris

Thanks for your response, that's help a lot!


Change css (in ur profile window)

.inner-small-hex:before {   border-right: 6px solid #181919 ; } -   it looks 	queerly
.inner-small-hex:before {   border-right: 7px solid #181919 ; } - it looks good^^

What os/browser are you using? Are you zoomed at all?

Chrome, and yes it was zoomed^^


feat(release) release process for the installer

release process will be controlled by a Spinnaker pipeline
the public install script uploaded to (https://s3-us-west-2.amazonaws.com/armory-web/install/release/kubernetes-installer/public-installer.sh) will get a dns name, suggestions on the name?

Please don't merge yet! envsubt and aws-cli isn't available on jenkins. I'll need to run this in a container.

@andrewbackes added the container runner: https://github.com/armory-io/k8s-installer/pull/151/commits/89e5f72c07e406bd729c9114a6d2b5d84f2efaa7


Custom RL Environment Issue with GymNE

When making a problem like this:
problem = GymNE(
    env = env,
    network="Linear(obs_length, act_length)",
    observation_normalization=True,
    num_episodes=20, # each solution evaluated on 20 episodes
    num_actors="max",
)

where env is a gym environment made with gym.make("CartPole-v1"), I get the following error.

I modified the GymNE file as shown below, and it fixed the problem. There might be a better way to do it, but this works.

That actually did not work :) I updated the def _make_env() function instead as follows, and that worked.

Hi @pkrobinette . Thanks for raising this issue! I'll talk to @engintoklu to see if the fix you presented here should be the general default behavior. As far as I can tell, the assumption is 'if env is not callable, then it's already an environment instance, so return it.

Hello @pkrobinette,
Thank you for your feedback, and for using EvoTorch!
Looking at your modification, I think I understand the same thing with @NaturalGradient: your aim is to see whether or not the environment is callable (handled via try in your implementation). If it is not callable (the except case), then the environment itself is returned.
While I understand the underlying idea, I would like to point out that the error you receive by the unmodified version of EvoTorch is intentional. We have designed the API of GymNE in such a way that the argument env expects not a gym.Env instance, but one of these:

Environment id as string
A function which makes and returns the environment
A class which inherits from gym.Env

The motivation of this interface is to make sure that GymNE knows how to re-create the target environment. This allows the parallelization procedures of GymNE to go smoothly, without having to worry about the picklability of the environment (indeed, the environment could have an underlying simulator which is not picklable/clonable). In more details, when GymNE is transferred to a remote actor for parallelized evaluation (with num_actors=N, N being "max" or an integer bigger than 1), the environment is re-created there.
I think that you wish to eventually work with a custom environment. May I suggest the following:
def make_custom_env() -> gym.Env:
    # User's preferred way of instantiating the custom environment goes here
    # my_new_env = ...
    my_new_env = gym.make("CartPole-v1")
    return my_new_env

problem = GymNE(
    env=make_custom_env,
    ...
)

Would you like to try it like this? I hope it will work for your case?
Thanks & happy coding!

Let's close for now. Feel free to reopen if you have further questions.

Hello @engintoklu ,
I seem to be having the same issue as pkrobinette.
The fix you provided does not work in my situation as I get this error:
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/evotorch/core.py", line 170, in evaluate_batch_piece
    return piece_index, self.evaluate_batch(batch_piece)
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/evotorch/core.py", line 154, in evaluate_batch
    self._problem.evaluate(solution_batch)
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/evotorch/core.py", line 2546, in evaluate
    self._start_preparations()
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/evotorch/core.py", line 2466, in _start_preparations
    self._prepare()
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/evotorch/neuroevolution/gymne.py", line 355, in _prepare
    self._get_env()
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/evotorch/neuroevolution/gymne.py", line 325, in _get_env
    self._env = self._instantiate_new_env()
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/evotorch/neuroevolution/gymne.py", line 318, in _instantiate_new_env
    env = _make_env(self._env_maker, **env_config)
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/evotorch/neuroevolution/gymne.py", line 61, in _make_env
    return env(**kwargs)
  File "/home/xxx/Desktop/yyy/main.py", line 14, in make_custom_env
    my_new_env = gym.make("CustomEnvironment-v0", render_mode="human")
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/gymnasium/envs/registration.py", line 741, in make
    env_spec = _find_spec(id)
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/gymnasium/envs/registration.py", line 527, in _find_spec
    _check_version_exists(ns, name, version)
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/gymnasium/envs/registration.py", line 393, in _check_version_exists
    _check_name_exists(ns, name)
  File "/home/xxx/Desktop/yyy/venv/lib/python3.8/site-packages/gymnasium/envs/registration.py", line 370, in _check_name_exists
    raise error.NameNotFound(
gymnasium.error.NameNotFound: Environment `CustomEnvironment` doesn't exist. Did you mean: `GymV26Environment`?

pkrobinette's fix seems to work for me however. Any idea how I could fix this without having to modify the _make_env function?

Hello valhallen13,
Thank you for trying EvoTorch!
From the error message, it looks like gymnasium cannot find your custom environment in its default registry, most probably because your custom environment needs to be imported from its module.
Perhaps you could try referring to your environment with the module name prefix, like shown below?
problem = GymNE(
    env="name_of_your_module:CustomEnvironment-v0",
    ...
)

If that doesn't work, then you could try writing a helper function and providing that function as env instead of the environment ID:
import gymnasium as gym

...

def make_custom_env() -> gym.Env:
    # Local imports for making sure that your custom environment is registered
    import name_of_your_module

    my_new_env = gym.make("CustomEnvironment-v0")
    return my_new_env

problem = GymNE(
    env=make_custom_env,
    ...
)

I hope this helps! Feel free to let us know whether or not these suggestions worked.

Very interesting, it seems to work when I import the environment locally as you mentioned, but not when the environment is imported at the top of the file.
Thank you for the help! Your solution worked.