NPE exception when using equalToDateTime matcher with truncate and actualFormat with just the day part of the date

Null Pointer Exception when using equalToDateTime matcher with truncate and actualFormat with just the day part of the date, example:
Given an API request payload using actual date (plus one day) as separated fields (year, month and day):
{
  "startDate": {
    "year": 2021,
    "month": 11,
    "day": 25
  }
}

When I create a stub using the request matching below:
 {
   "request" : {
    "url" : "/path",
    "method" : "POST",
    "bodyPatterns" : [
    {
      "matchesJsonPath" : {
        "expression" : "$.startDate.day",
        "equalToDateTime": "now +1 days",
        "actualFormat" : "dd",
        "truncateActual": "first hour of day"
      }
    }
 ]
  }

Then it should match a request correctly

[x]  WireMock version: 2.31.0
[x] How:
Run test com.github.tomakehurst.wiremock.matching.MatchesJsonPathPatternTest#matchesCorrectlyWhenUsingActualFormatWithJustTheDayPartOfTheDateAndTruncatingTheDateToo
[x] Failing test case that demonstrates the problem: PR

The issue with this is that actualFormat refers to the format used to parse the incoming value, so in the case the days field from the request JSON. Since a day on its own doesn't contain enough information to be resolved to a full zoned date, it can't be parsed. The resulting NPE is pretty bad, so that definitely needs to be improved.
I think what this needs is the ability to construct a date from multiple incoming values, as its seems really what you'd like to do is ensure that the entire date represented by day/month/year is tomorrow. Is that assumption correct?

yes, it should just match the request by verifying if the startDate field is in fact a compound object that represents the tomorrow date.


CMOR compliance

This branch implements the ability to work with CMOR files. The idea is to have a new dedicated interface file. One of the main issues to be solved is the ability to work with multiple separate file variable per variable.
Solves #25

The current version seems to be working well and is probably close to merge.
A small required change was in config.yml where now we have an explicit interface entry which selects the appropriate interface file. This is distinguished from "model" since that is the actual model name and many models can share the same interface (as for cmip output).  Some new options have been added to the command line,, like the "ensembles" option in order to allow to select among CMIP ensembles, versions etc. Some additional ones may have to be added.
A major change had to be included in c5b954622f126f4b6f886e06dad56ffc8e160c2c in order to allow merging in input separate files for derived variables.
A further change implemented is in the masks (land and sea). These are now 1 and 0 masks (no missing values) since often in cdo multiplying by a missing value fails. The masked_meansum now uses these directly just multiplying, while cdopipe.mask now uses more correctly the cdo operator ifthen.
Examples for usage (e.g. on mafalda)
./global_mean historical 1990 1999 -j 8
(it works because I have EC-Earth3 as model in my config.yml, I could also specify the option "-m EC-Earth3"
What is missing:

[ ] Currently only an interface for CMIP6 is provided, try and write also a CMIP5 one (I would merge before having done this though)
[ ] CMIP output can group years 'at random' (e.g 1990-1999, 2000-2009 etc). In these cases the current code would not find the correct year
[ ] What happens if more than one file match the search (e.g. multiple versions, multiple ensemble members)? To be checked.

Ok, the latest commit implements CMIP5 compatibility (try with with IPSL-CM5A-LR on mafalda):
./performance_indices.py historical 1990 1999 -e r1i1p1 -j 12 -m IPSL-CM5A-LR
we need to specify the ensemble since the default is r1i1p1f1 ....

Ok, all looks good. Time for a review ;)

To summarize, it can be tried on mafalda (where I have the necessary data in synda) with a config.yml like this one:
# Choice of interface
interface: CMIP6
# Choice of model name. It is printed in the output table
model:
   #name: IPSL-CM5A-LR
   name: EC-Earth3

dirs:
   exp: /work/datasets/synda/data
   tab: /home/jost/work/ece4/tab
   clm: /home/jost/work/ece4/ECmean4/climatology

at the moment choose IPSL-CM5A-LR to test CMIP5. So, assuming the right interface (CMIP5 or CMIP6) has been set in config (indeed an additional command line option to select the interface could be useful for this), we can run:
./global_mean.py historical 1990 1999 -j 12 -m EC-Earth3
or
./global_mean.py historical 1990 1999 -j 12 -m IPSL-CM5A-LR -e r1i1p1

I tried today to run it on Wilma. I see a minor weakness that is unfortunately a bit annoying, i.e. it assumes the directory structure as on the ESGF. this means that any other choiche, as the one I have on the archive, is completely incompatible. It would be better to have something as a find call to look for the required files within a defined folder. It would be slower, but it will find only the required files wherever they are (CMIP6 files are self-descriptive, so the path structure is irrelevant but for the version). I could see tomorrow if I can implement this...

Uhm, after checking the method used so far I see that it would be an extra level of complexity, really not necessary. It is easier to tweak the interface files in a way that is compatibile with the archive used on the local machine. It work quite smoothly.


Improved Before/After handling for Commands

Handle Before and After of Command without handling it as subCommand if there is no subCommand.

Apologies for the delay, this looks good and feels more consistent. Thank you for the contribution @blaubaer!


Rework Kubernetes deployment to use EKS+fargate for everything

Problem: Our current Kubernetes cluster is too expensive to run and also has manageability challenges.
This PR's goal is to fully document the new operationcode-backend EKS cluster, so that it can be rebuilt if there's ever a need.  Nearly everything runs "serverless" via Fargate, which should save a considerable amount of money.  The only exception is ArgoCD, which requires persistent volumes, must run on an EC2 node.
Add configs for:

external-dns controller
ALB ingress controller
vertical pod autoscaler

Remove:

default http backend
nginx ingress controller

Rework:

python backend ingress
ArgoCD
resource-api ingress

Fixes: #138
Fixes: #139
Signed-off-by: Irving Popovetsky<EMAIL_ADDRESS>

i am out of my depth on this one, @irvingpop - sorry!

one thought, regarding the infrastructure node.  Because of CNI limitations a t3a.small is limited to 8 pods total and is already at 7 out of 8 just running ArgoCD.
a t3.small is slightly more expensive but can run 12 pods if we ever need to run another persistent service.   There doesn't appear to be a way to split a namespace between fargate and EC2 nodes, it's all-or-nothing

Update:  So that the kops cluster isn't impacted, I've created a kops_stable branch in this repo and pointed all the deployments in the ArgoCD instance on kops at that branch.   Pretty sure this should be safe to merge now.

one thought, regarding the infrastructure node. Because of CNI limitations a t3a.small is limited to 8 pods total and is already at 7 out of 8 just running ArgoCD.
a t3.small is slightly more expensive but can run 12 pods if we ever need to run another persistent service. There doesn't appear to be a way to split a namespace between fargate and EC2 nodes, it's all-or-nothing

It's a difference of like $2 a month.  I say just go for it.


Support for proxy

As the title says
https://stackoverflow.com/questions/48498349/set-proxy-server-with-selenium-and-chrome

What does this mean

I'm trying to implement parallel downloading features - downloading multiple chapters at once, making download time a lot faster.
However, FFN won't like it if ParanoidFFD makes too much requests in a certain time frame, so with parallel downloading, I need proxy / vpn support.
Will implement this after finishing parallel downloading features (About halfway done)


A11y_VisualStudioCodeClient_Extensions_Name Role Value: No Name is provided for settings button.

[Check out Accessibility Insights!]- Identify accessibility bugs before check-in and make bug fixing faster and easier.
GitHubTags:
#A11yWCAG2.1; #A11yTCS; #A11ySev2; #DesktopApp; #Win32; #Visual Studio Code Client; #BM-VisualStudioCodeClient-Win32-Aug2023; #WCAG4.1.2; #Name Role Value; #Regressed:08-28-23;
Environment and OS details:
Visual Studio Code insider version 1.82.0
Microsoft Windows 11 Enterprise 22H2 Build 22621.1992
Repro Steps:

Open Visual Studio Code Insiders editor
Using "Ctrl+Shift+X" key navigate to the extension side view bar option.
Tab till settings button available on the extensions name.
Verify whether the name is provided for settings button or not.

Actual Result:
No name is provided for settings button.
Expected Result:
Name should be defined for settings button.
User Impact:
Screen reader users will face difficulty if No Name is defined for settings button.
Attachment:

@sandy081 I can repro, can you pls fix this by adding a label?

@sandy081 Can you please open this issue. This issue is only closed when verified and fixed.
Verified the issue in below version.
Version: 1.82.0-insider (user setup)
Issue is still repro'ing.

@AnKushSingh05 Fix is pushed today and will be available in next insiders. Please verify it then. We will close it as soon as we fix it and one can verify when it is available in the build. We can reopen if the fix is not working. Thanks.

Verified the issue in below version.
Version: 1.82.0-insider (user setup)
Issue is fixed. Hence closing the bug.


{AzureSignalR} fixes Azure/azure-cli#23538

Incorrect short summary description for az signalr upstream clear
fixes Azure/azure-cli#23538
Related command

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

AzureSignalR


LineEdit bug when removing text with align=right/center

Godot version:
3.1-stable
Issue description:
When removing text from a LineEdit that has its alignment set to "Center" or "Right" and contains more text than can be shown, the caret starts acting weird. This gif shows it:

As you can see, the text is not being aligned properly and too few characters are drawn. With alignment set to "Center", it behaves like alignment set to "Left", then suddenly jumps back to the correct alignment when only one character remains.
Steps to reproduce:
Delete text from a full LineEdit with "Align" set to "Center" or "Right" by pressing backspace.
Edit:
This is also happening with align set to "Center", the offset is wrong until theres only one remaining character.

Would this issue be stemming from line_edit.cpp? Or would it be coming from a more general file, like text_edit.cpp?

@samH-FIT This comes from LineEdit, TextEdit doesn't have alignment.
I'm assuming this is due to a wrong x offset in https://github.com/godotengine/godot/blob/9b691718f54e72854d137c9f7cb91b47d1e0d381/scene/gui/line_edit.cpp#L681

I discovered that the bug comes from window_pos. It's not updated properly for non-left aligns.

This isn't completetly fixed yet, as seen in the video below.
The order of the columns is in text alignment order, so the right column has align=right on it for example.
https://drive.google.com/open?id=1Lw4bwEbsztbKUkn5h8hkB3f8nM1QqkOR
As you can see, when removing text, there are still not enough characters drawn for center/right alignment. There are no more than 20 characters drawn at any point, even when it gets to the chars with a smaller width, which would allow for more characters drawn.

I can confirm the above case in a920f9727

I still see this issue for right align and for place holder text centered in Godot 3.2.2-beta4 on Linux and Android.


new parameter -Generator and -Length to Get-Random

hi guys !!
here an example

PS C:\> get-random -generator char -count 5
a
B
Z
i
m

PS C:\> get-random -generator int -count 5
5
120
3
7898
9

PS C:\> get-random -generator float -count 5
1.232
9.21
1.32
4.3
5.4

PS C:\> get-random -generator chars -count 5 -length 3
foo
prt
vgt
cAl
Noi

Just so we get a sense of what we would gain, let's look at how the same results can be achieved with the current features:
# (Near-)equivalent of:
#    get-random -generator char -count 5
get-random ('a'..'z') -count 5

# (Near-)equivalent of:
#    get-random -generator int -count 5
get-random -count 5 -Maximum 1000.0  # [int] is default, in the range 0..([int]::MaxValue-1)

# (Near-)equivalent of:
#    get-random -generator float -count 5
get-random -Minimum 0.0  -Maximum 1000 -count 5

Note that it usually makes sense to limit the range of values, as shown above, which requires explicit -Minimum and/or -Maximum arguments anyway, and you can use the type of these arguments to imply the output type.
Unfortunately, however, that works for [int], [double] and [long] only; for others, such as [byte] or [decimal], the fallback is [double] - see #3598; it was decided not to fix that, however, and the behavior is now documented in the Get-Random help topic.
Only your last example, get-random -generator chars -count 5 -length 3,  currently requires nontrivial extra work:
(1..5).ForEach({ -join ('a'..'z')[(Get-Random -Maximum 25 -Count 3)] })

However, I wonder whether a syntax like Get-Random -StringOfLength 3 -Count 5 would be sufficient.

Given that most of these can be achieved with existing syntax, and our push to drive new cmdlet functionality via Gallery/community modules, I'd encourage any experimentation for additional Get-Random helpers to be done in some sort of community-driven Get-Random2


How to pass tests when database doesn't support NULL ?

About You:
Name: Kartik Khare
Company: NA
Your question:
I am trying to run tdvt tests using JDBC driver for a datbase I am working on. Unfortunately, the database doesn't support NULL values and replaces them with defaults. e.g. For column int0 NULLS are replaced with 0 while storing data. Similarly for other columns.
This is leading to a lot of tdvt calcs test failures such as AVG since it doesn't filter out any NULL records in query.
What can be done in this case to pass the tests?

Hi Karthik,
Thanks for reaching out. Could you tell us which database is this and elaborate a little more about the applications and functions of this database? We are trying to reason out if the database does not support null values because there isn't a real case where they come into play or not relevant in real use of the system?
Please let us know.
Thanks &  Regards,
Vasanthi Neelagiri,
Product Manager, Tableau

Hi @VasanthiNeelagiri, I am writing a connector for Apache Pinot. It is a OLAP database. Native NULL values are not supported and instead are replaced by a default value such as "null" string or 0 for int columns etc. The database does keep track of NULL values in a seperate index so filters such as WHERE columnA IS NULL works fine.
My issue is tdvt expects NULL to be returned when input is NULL which is definitely not the case currently.

Thanks Karthik. Can you also share with us -TDVT expected vs actuals, log files etc for us to look further in to this issue.

Closing due to inactivity.


What's the correct way to set contentView background color and border?

Thanks for a cool library!
What is the correct way to set background color, border and corner radius on the inner content of the chart?  Is it correct that guides are being draw into the main chart view?
e.g. here is what i'm going for

Would love to have an answer for this as well. Looking for a different background color for the graph area only. Not the entire chart that includes the axes and labels.


Added dataSource for segments. IBOutlet datasource allows easy setup from IB

Added dataSource for segments. IBOutlet datasource allows easy setup from IB.

Merged, thanks for the PR!


change Allure suite name format (fixes #492)

change Allure suite name format from <testng-suite> to <testng-suite> : <testng-xml-test>

@MaxMoto1702 could you please add tests?

We are going to release 1.4.9 right now, and I would like to see this fix in it. So, I added a test and sent the PR #503
BTW @MaxMoto1702 thanks!


no recalibration or alert after mounting change

Describe the bug
After a recent change in my device mounting, openpilot should have automatically noticed a change and gone into soft disable while recalibrating. Instead, it remained engageable, and both UI path visualization and actual driving behavior were wrong during two decently long drives.
Calibration info in the UI settings menu continued to show pitch and yaw angles that were definitely not correct for its new position, and probably left over from its old position. It's possible the new temporary mounting position was outside acceptable parameters, but I would expect openpilot to throw calibrationInvalid and reject engagement.
Provide a route where the issue occurs
9ee0b6b5f0922277|2023-07-07--07-57-35
openpilot version
475a4a23a2bdf1c8cacececc959134fb4669d6ee
Additional info
No response

The new mounting position was indeed outside of the range.
The main issue here is that the previous mounting pitch and new pitch are very far, which confuses the model, and we rely on the model to trigger recalibration.
Looking into improving the reliability of this.

converting to a conversation because this is model related and doesn't track like a traditional issue.


extensions not loading from backpack

when you import a sprite or script from the backpack which contains blocks from extensions, nothing happens and the extensions wont load, but an error would appear in the console saying Uncaught (in promise) Sprite Upload Error: Error: Unknown extension: EXTENSION-NAME (EXTENSION-NAME is the name of the extension, for example utilities and lmsLooksPlus)

This is intentional; just load in the extension before importing a sprite or script.

this is a bug, this is not intentional

This is intentional; just load in the extension before importing a sprite or script.

this is bad design, the user should be prompted to add the extension once they run the code

This is intentional; just load in the extension before importing a sprite or script.

this is bad design, the user should be prompted to add the extension once they run the code, and maybe have a setting to just auto-import the extension

As pointed out by GarboMuffin, the maintainer of TW, this is considered a bug. It's not by design.

This is intentional; just load in the extension before importing a sprite or script.

this is bad design, the user should be prompted to add the extension once they run the code, and maybe have a setting to just auto-import the extension

I aplogize, I figured it was a feature however as GarboMuffin said, it is in fact a bug and will hopefully be patched out in the near future.

The same thing happens when uploading a sprite from local files.

This will be fixed in the next batch of updates for newly exported sprites
Unfortunately for sprites already exported or backpacked, the information needed to load the extensions just doesn't exist

Unfortunately for sprites already exported or backpacked, the information needed to load the extensions just doesn't exist

can i just load extensions, import the sprite and then export it back into the backpack?
Is it also gonna work with extensions that are loaded via text or files?

Yes and yes


Requirements may mislead macOS users

Now that the latest version of Visual Studio for Mac is 17.0, up from 8.10 in the previous release the prerequisites will have macOS users looking for a template that isn't there.

@soyfrien : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

Hey folks, pretty sure that VS for Mac supports Azure Function development.
https://docs.microsoft.com/en-us/visualstudio/mac/azure-functions?view=vsmac-2019
The obvious problem is that the UI is completely different so very little information related to "VS 2019" can apply to both VS for Windows and VS for Mac.
The reality is that if one reads something that doesn't explicitly state "VS for Mac" it is highly likely the information doesn't apply to it and only applies to VS for Windows which has always been referred to as just "VS" or "VS2019" whereas VS for Mac has never been referred to as just "VS" or "VS2019".
Does it make sense to now go back and update each reference to "VS2019" to explicitly say "VS 2019 for Windows only, no Mac"? That's probably a question for the v-team behind these changes.

I see, that makes sense if I look at VS for Mac as really needing the full title.

We can close this in light of Angelo's comment, https://github.com/MicrosoftDocs/azure-docs/pull/86137#issuecomment-1028471782. Many thanks


poretools occupancy - unable to find start times

Hello,
poretools occupancy seems to be unable to find the start times for the pores from the fast5 files.
I ran:
me@server$ poretools occupancy lambda_reads/epi2me_calls/pass/ --plot-type total_bp --saveas lambda2D_poreoccupancy.png
and got:
"
channel_number  start_time      duration
ERROR:poretools:int() argument must be a string or a number, not 'NoneType'
Traceback (most recent call last):
File "/home/me/.local/bin/poretools", line 11, in
load_entry_point('poretools==0.6.0', 'console_scripts', 'poretools')()
File "/data/software/Python/anaconda2/lib/python2.7/site-packages/poretools-0.6.0-py2.7.egg/poretools/poretools_main.py", line 538, in main
args.func(parser, args)
File "/data/software/Python/anaconda2/lib/python2.7/site-packages/poretools-0.6.0-py2.7.egg/poretools/poretools_main.py", line 55, in run_subtool
submodule.run(parser, args)
File "/data/software/Python/anaconda2/lib/python2.7/site-packages/poretools-0.6.0-py2.7.egg/poretools/occupancy.py", line 63, in run
start_time = fast5.get_start_time()
File "/data/software/Python/anaconda2/lib/python2.7/site-packages/poretools-0.6.0-py2.7.egg/poretools/Fast5File.py", line 570, in get_start_time
return int(exp_start_time) + int(node.attrs['start_time'])
TypeError: int() argument must be a string or a number, not 'NoneType'
"
Any suggestions?

See my fix for a similar issue #127


Issue #3: Use https by default to avoid redirects

Most likely a more elegant solution could be found for this

As mentioned in #3, the URLs you want to fix are generated by weblate. There you would need to change probably one or two settings. Here you would need a lot more, and it would easy to miss some, e.g. your PR missed a complete file
I would prefer if a problem is tackled at its source.


Remove differentiability

Removing the pretense of a working differentiable transient solve (see #60).  This might be revisited in the future, but for the initial release it seems unnecessary for baseline controller design.

We've discussed this and I don't think there's anything controversial here.  Going to go ahead and merge.


[SPARK-13677][MLLIB] Support Tree-Based Feature Transformation for mllib

JIRA: https://issues.apache.org/jira/browse/SPARK-13677
What changes were proposed in this pull request?
Enable TreeEnsambleModels to transform data by leaf-path
How was this patch tested?
manual tests

Test build #52465 has started for PR 11520 at commit f3fb542.

Test build #52466 has started for PR 11520 at commit 0bbf19e.

Test build #52467 has started for PR 11520 at commit e20f621.

Test build #52465 has finished for PR 11520 at commit f3fb542.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/52465/
Test FAILed.

Merged build finished. Test FAILed.

Test build #52466 has finished for PR 11520 at commit 0bbf19e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/52466/
Test FAILed.

Test build #52467 has finished for PR 11520 at commit e20f621.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/52467/
Test FAILed.

Test build #52470 has started for PR 11520 at commit cd45a7c.

Test build #52470 has finished for PR 11520 at commit cd45a7c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/52470/
Test PASSed.

Test build #53632 has started for PR 11520 at commit 8ed9e90.

Test build #53632 has finished for PR 11520 at commit 8ed9e90.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/53632/
Test PASSed.

Test build #53634 has started for PR 11520 at commit 4dc3b11.

Test build #53634 has finished for PR 11520 at commit 4dc3b11.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/53634/
Test FAILed.

Test build #53636 has started for PR 11520 at commit f859ff0.

Test build #53636 has finished for PR 11520 at commit f859ff0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/53636/
Test PASSed.

Merged build finished. Test PASSed.

Sorry about the inaction on this!  As you said on the JIRA, let's redo this for the DataFrame-based API.  In the meantime, could you please close this issue?  Thanks a lot.


Fn cli multi arch changes

Link to issue this resolves

What I did

How I did it

How to verify it

One line description for the changelog

One moving picture involving robots (not mandatory but encouraged)

您好，您的邮件已收到，谢谢。——熊宇飞

您好，您的邮件已收到，谢谢。——熊宇飞


WIP: Backporting simplified multi-degree interface

this backports the simplified multi-degree interface that I put into ACE1 0.11.x (and therefore ACE1pack 0.3.x). Maybe I'll add another test or two but then this can be merged. The branch dev-0.2.x can be used to backport any other important functionality (if any)

@wcwitt  ---  I'd like to merge this if you confirm that this doesn't interfere at all with how Gabor's group uses ACE1pack?

Sorry to be slow with this - what do you propose doing now since we've moved beyond 0.2.x?

close since no longer needed?


Floating Label collapse to textField irrespective of input value

Description

Floating Label collapse to textField irrespective of the input value
Expected Behavior

Floating Label should not collapse when input is present
Screenshots

@kushthedude would you like to tackle this one?


Images should not be allowed to grow outside the bounds of text.

I'm not sure why, but the maximum with of images is larger than the width of the text. This allows the image to grow to the right of the text. If that is intended, it should at least be centered. But I prefer a max-width of 100%.


Build mac target does not work. Cocos misses files

fter doing just
rapidgame create cocos2djs "Nme" id
and building (after adding header search paths, se issue #34). The build succeeds but when running I get the following error message:
cocos2d: fullPathForFilename: No file found at script/jsb_boot.jsc. Possible missing file.
jsb: ERROR: File /Users/stephan/Library/Developer/RapidGame/src/cocos2d-x/cocos/scripting/js-bindings/manual/localstorage/js_bindings_system_functions.cpp: Line: 65, Function: JSB_localStorageSetItem
Error processing arguments
JS: /Users/stephan/Library/Developer/Xcode/DerivedData/Test-grcaubmdrulrctcibswjgppgawkw/Build/Products/Debug/Test.app/Contents/Resources/Assets/lib/Game.js:336:Error: Error processing arguments
(evaluatedOK == JS_FALSE)

Sorry the cocos2d-js template is out of date.


[Technical Discussions-Media Push] Fault Tolerance

when: weekly
Day: Tuesday
Time: 6 am PDT (change to EU time)
Calendar
Twitter description
Answers: Why should I join and contribute to this project?

I have checked the minutes, @Emily-Jiang seems to be a constant on calls that took place. https://docs.google.com/document/d/12Tm_JP2Ws8W1fU5IIhhIbNHbrEIf27wgTbTIv80JoXY/edit?pli=1
Request is same as Starter git ticket

Please check the MicroProfile calendar. No future calls are sheduled and we are doing async communications. I believe it is true for many spec meetings.

I suggest you can close this issue.

Really good update Emily. Thank you.
Many calls are still listed so we will have to wait to see if there is a response or delete the events all together in April. :)


Regression test balance infinite spinner

Try out this version of the Hiro Wallet - download extension builds.

This is a regression test to look for infinite spinners on the status page. The test will log page load times and monitor slowness as well detect regressions in infinite spinners and throw failures. We will use this test as the first test for the regression test suite.
cc/ @aulneau @kyranjamie @fbwoolf @Eshwari007

Is this ready for review or still in development?

@markmhx ready for review and to me merged.


[Bug]: Database Backup for postgres database in the supabase stack failing

Description
The in-dashboard backup solution for supabase postgres database is not working
Minimal Reproduction (if possible, example repository)
After setting up a fresh new supabase stack, when you try to create a backup job using the coolify dashboard to the supabase-postgres-db container the execution of this always fails, presumably due to an error of the user, executing the backup not having enough rights. Tried locally and to S3, the problem occurs before it tries to save the backup somewhere.
Unfortunately I cannot see what user is executing the backup command nor change the rights for it. Additionally I had the idea to exclude the analytics schema from the backup, but that's also not possible from within the dashboard.
Exception or Error
Database: postgres
Status: failed
Started At: 2024-07-30 10:52:34
Message: pg_dump: error: query failed: ERROR: permission denied for schema _analytics pg_dump: detail: Query was: LOCK TABLE _analytics.schema_migrations IN ACCESS SHARE MODE
Size: 0 B / 0 kB / 0 MB
Location: N/A
Version
4.0.0-beta.319
Cloud?

[ ] Yes
[X] No

Instead of using the postgres user, use supabase_admin; it should work.

I would if it'd be possible to change the user that executes this action, but there is no option to do this, or I haven't found it. Neither do I know the supabase_admin password? But I think this might be found in the env-variables.

Update:
Although the original error still exists, where i cannot modify the backup process through the UI (neither can i set a User nor exclusions to make the backup work) i managed to create a backup with a decent size via this command:
PGPASSWORD=myVerySecurePassword pg_dump -h <IP_ADDRESS> -U supabase_admin -d postgres --exclude-schema=_analytics --clean --if-exists --no-owner --no-acl --format=plain | gzip > /tmp/backup-$(date +%Y%m%d-%H%M%S).sql.gz
this would be ideal to transfer to my s3 backup bucket, but neither aws, wget nor curl is installed within the container x(

I am experiencing the same issue with v4.0.0-beta.323 and getting an error
pg_dump: error: query failed: ERROR: permission denied for schema _analytics pg_dump: detail: Query was: LOCK TABLE _analytics.schema_migrations IN ACCESS SHARE MODE

I don't see a possibility to change the backup process pg credentials. Where is it @fabioallexandr3 ?
Thanks!

I fixed it with given rights to postgres user right from supabase SQL interface.
GRANT USAGE ON SCHEMA _analytics TO postgres;
GRANT SELECT ON ALL TABLES IN SCHEMA _analytics TO postgres;

GRANT USAGE ON SCHEMA _realtime TO postgres;
GRANT SELECT ON ALL TABLES IN SCHEMA _realtime TO postgres;

GRANT USAGE, SELECT ON SEQUENCE _analytics.billing_accounts_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.billing_counts_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.endpoint_queries_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.oauth_access_grants_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.oauth_access_tokens_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.oauth_applications_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.partner_users_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.partners_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.payment_methods_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.plans_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.rules_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.saved_search_counters_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.saved_searches_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.source_backends_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.source_schemas_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.sources_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.system_metrics_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.team_users_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.teams_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.users_id_seq TO postgres;
GRANT USAGE, SELECT ON SEQUENCE _analytics.vercel_auths_id_seq TO postgres;

but looks like a hack for me, would be happy to have a proper solution, thanks!

Maybe it could work like this:
This way, you could customize the pg_dump command. However, I'm unsure about how to configure it to save directly to an S3 bucket. Does anyone have insights on this?

Please upgrade to the latest version of v4 and retest if this issue persists. If this is still a problem please let me know

Thanks for addressing this issue and for the update in the latest release. After upgrading to the v4.0.0 Stable Release, the backup process seems to be working smoothly now. I appreciate the effort put into resolving this and the guidance shared by the community.
Keep up the great work!


Add macOS build instructions

In reference to my original pull requests (see https://github.com/NXPmicro/mfgtools/pull/206 and https://github.com/NXPmicro/mfgtools/pull/217 ) I had another go at improving the macOS build setup.

No more changes to CMake; use a variable at build time instead
I added a newer version of macOS to the Travis CI Job and changed some of the existing toolchain in there

the git depth of 300 does not appear to actually work according to the Travis CI documentation: "Travis CI can clone repositories to a maximum depth of 50 commits […]"
brewfile instructions appear to be unnecessary because this project doesn't use a Brewfile
installing pkg-config via brew appears to be easier from my perspective compared to exporting a hard coded location

I updated the readme to use code syntax where actual code is supposed to be executed, e.g. the build instructions, and stripped trailing whitespace
Flashing something with the uuu tool build with these instructions has actually been tested now, it works (when using Catalina, as opposed to Mojave https://github.com/NXPmicro/mfgtools/issues/218) 🎉

if there is any kind of proof you require I can check whether this can be organised

Changing the very specific location of the OpenSSL dependency to be less version specific does not appear to be feasible at this time. We could symlink it for Travis via the matrix for macOS specifically but this wouldn't help local builds at all.

How do you resolve HID device claim failure problem as 218?

It simply did not happen … I was somewhat confused by that as well but we could reproducible use the uuu tool to flash a device connected via USB when running macOS Catalina.


No way to view dashboard log history

I started embark, and it encountered some problem that prevented it from deploying my contract. Unfortunately, I can't tell what that problem was, because all I can see in the Logs view is the tail end of a large stack trace.
There is a small gray square on the bottom right that makes it look like the view should be scrollable, but of course this is on the command line - can't click anything here.
So, there are two possibilities:
a) there is some way to scroll the output, but it's not listed in the help menu or in the docs, in which case the bug is the missing documentation.
b) there is no way to scroll the output, in which case that ability needs to be added. Ideally it would also include a way to export the output so it can be saved for later review.
The console looks great, but it's no good without some instructions on how to use it.

@joshmbg mouse scrolling should work (even in the console), if it does not can you let me know what is your setup? (e.g macos + iterm2 + tmux + zsh) Alternatively you can always use embark run --nodashboardbut the scrolling  should work in most systems.

Yes, I am able to scroll using a mouse. I didn't think to try it, because I usually never use my mouse - I do all my work from the terminal, programming in vim, so I'm not used to needing it and I forgot you could scroll with the mouse. So, I guess it's not a problem with the functionality, just could use some more details in the docs.

I undestand, and there should be some way to do the scrolling with keyboard shortcuts, I'll see what I can do about that. Also 100% agree it can use more details in the docs, we're working on that, I hope you be happy with the end result. Thank you for the feedback, keep it coming :)


Added function to query SYS_STATUS present/enabled/health flags

Added function to query SYS_STATUS present/enabled/health. This allows applications to look at specific sensor statuses, such as logloader which looks at the MAV_SYS_STATUS_LOGGING flag

Not sure what the check for diff check is doing or why it's failing

Thanks!
I guess the question is whether it should expose an uint32_t or some list of booleans for all (or a subset) of the sensors in MAV_SYS_STATUS_SENSOR.
Does it always make sense to expose all those values, or are some values fundamentally "internal"? I could imagine for instance that if SENSOR_BATTERY=false means "there is no battery", maybe it should go together with the battery update (e.g. an is_present field in https://github.com/mavlink/MAVSDK-Proto/blob/main/protos/telemetry/telemetry.proto#L566-L573?). Same for the GPS, maybe if a GPS sensor is not "present", we should have a FixType saying "NO_GPS_SENSOR" (if there is a difference between "no GPS connected" and "no GPS present").
What do you think?

Not sure what the check for diff check is doing or why it's failing

I think it would be the style check. Try running ./tools/fix_style.sh 👍

I usually don't want to expose bitflags like this but make the API clearer. I know that's a pain but otherwise we might as well expose all over MAVLink directly and we're back to square one.
So generally the idea is to have boolean flags that actually mean something instead and can be queried.
For logloader specifically, could you use passthrough instead?

I did run fix_style.sh, it's only failing on 24.04 🤔

You need to fix the style on 24.04 or use the docker helper.

I could use passthrough but then my code becomes disorderly. Okay if I changed it to a boolean flag for each of those mentioned sensors, what pattern should I follow?
This isn't doing anything more
tools/run-docker-clang-format.sh tools/fix_style.sh .

if there is a difference between "no GPS connected" and "no GPS present"

also part of why I was avoiding the specific flags.. PX4 makes it hard to use the sys_status_sensor flags properly since they're coupled to the HealthAndArmingChecks Report. I can't remember exact details, but when I implemented the loggerCheck I wasn't able to set the present/enabled flags directly, and as a result they toggle true/false together.

Okay if I changed it to a boolean flag for each of those mentioned sensors, what pattern should I follow?

I would think something like the winch status flags? https://github.com/mavlink/MAVSDK-Proto/blob/517fef5a3a673e9b50f65a56dff350c6af515564/protos/winch/winch.proto#L77-L101

I think it will either be a Status struct per component:
message StatusFlags {
   bool present = 1;
   bool enabled = 2;
   bool healthy = 3;
}

Or a flat enum:
enum Status {
    STATUS_NA = 0; // Not present, not enabled, not healthy
    STATUS_PRESENT = 1; // Not enabled, not healthy
    STATUS_ENABLED = 2; // Not present, not healthy
    STATUS_PRESENT_ENABLED = 3; // Not healthy
    // STATUS_HEALTHY = 4; // -> invalid
    STATUS_PRESENT_HEALTHY = 5; // Not enabled
    // STATUS_ENABLED_HEALTHY = 6; -> invalid
    STATUS_PRESENT_ENABLED_HEALTHY = 7; -> All ok!

I think it will either be a Status struct per component:

The StatusFlags struct with 3 booleans is a lot more intuitive to me, I would say :see_no_evil:


Update cover.py

fixed TypeError: unsupported operand type(s) for -: 'int' and 'NoneType' error

Thank you very much

Confirm it'ok now! Thank you!


How to train a custom dataset with custom number of classes

Expected results
I want to train a custom database with 3 classes on the model 'e2e_mask_rcnn_R-50-FPN_1x'. I have set up the database according to the COCO format and I added the necessary codes in dataset_catalog.py and train_net_step.py.
I ran the command python tools/train_net_step.py --dataset customdb --cfg configs/baselines/e2e_mask_rcnn_R-50-FPN_1x.yaml --use_tfboard --bs 1 --nw 4.
I get several runtime warnings in boxes.py saying "invalid value encountered in maximum/minimum" and an error in lib/roi_data/mask_rcnn.py saying "IndexError: index 0 is out of bounds for axis 0 with size 0"
Any help with this would be appreciated.
System information

Operating system: Ubuntu 16.04 LTS
CUDA version: 9
cuDNN version: 7
GPU models (for all devices if they are not all the same): GTX 850M 4GB x1
python version: 3.6
pytorch version: 0.4

Also, I used ImageNet pretrained weights R-50.pkl for ResNets.

@RakhithaRR Have you made any progress? I got stucked at the same problem.

Have you registered the COCO instance? @RakhithaRR @matchumen


Add GLTF and other assets to the SDK's default exclude list

https://hub.jmonkeyengine.org/t/gltf-files-and-assets/41806/3

Not sure why this didn't autoclose with my PR, but we can probably close it.

Probably because it only contained Fixes #190 in the title, not in the actual commit :man_shrugging:


bad things happen when gateway IPs are not whitelisted from limiting/throttling

@prawnsalad reported problems while testing kiwiirc/webircgateway against oragono: eventually the connection limiter would deny new connections from the gateway, despite the old connections having been closed.
Proposed diagnosis:

If the gateway IP is not whitelisted, a connection is recorded from the gateway IP during the initial connection establishment: https://github.com/oragono/oragono/blob/25f8b15232557e82b6d74bc28efdc3e7d617e86d/irc/server.go#L285
Once PROXY / WEBIRC is issued, a connection is recorded from the real IP as well: https://github.com/oragono/oragono/blob/25f8b15232557e82b6d74bc28efdc3e7d617e86d/irc/gateways.go#L71
When the client disconnects, only the second entry is cleaned up: https://github.com/oragono/oragono/blob/25f8b15232557e82b6d74bc28efdc3e7d617e86d/irc/client.go#L664
Eventually, the limit for the gateway IP is reached and further connections are denied

We never hit this in testing because we've always done proxying over whitelisted IPs, specifically loopback.
Possible fixes:

Clean up the gateway's limiter entry during PROXY / WEBIRC processing
Document that that any gateway IPs should be whitelisted
Automatically add any IPs / CIDRs referenced in the proxy or webirc blocks to the whitelists

It's cheap and easy enough to add a RemoveClient(oldIP) call when applying the proxied IP, we should just do that.
However, this is not a substitute for whitelisting the gateway because in the window between initial connection and accepting the proxy line, the gateway's connection limit can fill up, which will result in further connections being rejected.


repinning rust crates

Looks like in addition to the Windows Rust issue, this is affected by https://github.com/bazelbuild/rules_rust/issues/2071


Types should implement the same required fields as ThingInterface

In PR #84 we've made some fields optional. However, the CE-API returns an error when using an interface fragment on a type with conflicting properties.
The conflict (required vs optional):
https://github.com/trompamusic/ce-api/blob/2f110d4b4705c5c3df463329dab1ed233294915f/src/schema/interface/ThingInterface.graphql#L19-L20
https://github.com/trompamusic/ce-api/blob/2f110d4b4705c5c3df463329dab1ed233294915f/src/schema/type/Person.graphql#L51-L52
The query:
fragment person on ThingInterface {
  name
}

query {
  Person {
    name
    ...person
  }
}

The error:
Fields \"name\" conflict because they return conflicting types String! and String. Use different aliases on the fields to fetch both if this was intentional.

@alastair
@musicog

From my comment in the original PR:

I only made name optional in the types that we're using at the moment, because I wasn't sure of the effect of making it optional in some of the other types.

So it looks like it is necessary to make it optional in ThingInterface and in all subclasses of this.
However, because types like ControlAction are also a Thing, this makes name optional here.
@musicog I looked at the definition at https://schema.org/name and https://schema.org/ControlAction and it seems that there is nothing in schema.org that defines that a field is required. Is that right? In this case, I think we should just make name optional everywhere.

@alastair I've found this comment stating that schema.org doesn't dictate fields that are required.
https://github.com/schemaorg/schemaorg/issues/1177#issuecomment-220811543
If schema.org doesn't define which fields are required, I guess we should define the required fields. However, the important part is that if this is a field on ThingInterface, it should be changed in all types implementing that interface as well.

Great, thanks for finding this.
As we have a clear requirement for having names optional, I will make a PR that changes all name fields on types that inherit from ThingInterface to be optional.

In our case, ThingInterface and ActionInterface both have a name field, and types such as Action and ControlAction inherit from both of them.
One option would be to require people to use fragments on ActionInterface when getting data from Action/ControlAction, instead of ThingInterface. This would allow us to keep these items required.
Or for simplicity do you think it'd be easier to just make everything optional?

Sorry, I didn't look carefully enough, ActionInterface doesn't define name.


fix: ip_filter conversion issue

When ip_filter object list is converted into string list, and there is no specific ip_filter entries in the config, it crashes with type conversion interface {} is []string, not []interface {} because convertIPFilter sets []string.
Resolves #1734

tests


VS Code Locks Files

Sometimes, VS Code keeps a lock on files, preventing any process from deleting that file.
In my case, it locked dist/extension/index.js and the webpack dev process immediately crashed (which was hard to debug due to #128416).
Reloading VS Code did not help. I had to exit and start VS Code.
This happens often (especially for node_modules) and is quite annoying, especially as Windows does not show which process holds the lock. Now, whenever some tool cannot delete a file, I have the feeling to kill and reopen all VS Code instances.
I'm on Windows 10.

Unlikely to be our watcher which wouldn't lock inside a folder (possibly only the root folder). I suspect that some extension is installing a custom file watcher (TypeScript? https://github.com/microsoft/TypeScript/issues/32113, https://github.com/microsoft/TypeScript/issues/29407) and that may lock.

Is there a nice way on windows to figure out who/which component causes a lock?

Maybe: https://helpcenter.gsx.com/hc/en-us/articles/115015880627-How-to-Identify-which-Windows-Process-is-Locking-a-File-or-Folder

Yes, I used Process Explorer to find the process that has a lock on a file.

Bump

I'll close this issue and will try to use the process explorer next time I experience it.
I'll reopen when I know more.


Update readme content to match team project

Codecov Report

Merging #25 (165916b) into master (709c774) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #25   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Continue to review full report at Codecov.

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


Update screenshots following ETH / EVM merge

📝 Description
Update screenshots following ETH / EVM merge
❓ Context

Impacted projects: ``
Linked resource(s): ``

✅ Checklist

[ ] Test coverage
[ ] Atomic delivery
[ ] No breaking changes

📸 Demo

🚀 Expectations to reach
Please make sure you follow these Important Steps.
Pull Requests must pass the CI and be internally validated in order to be merged.

/generate-screenshots


How to enable playback while downloading a mp4 file (HTTP FastStart) with mp4parser?

MP4Box (https://gpac.wp.mines-telecom.fr/mp4box/) can do it. does mp4parser can do the same thing?
with MP4Box, to prepare a file for simple progressive HTTP download, the following instruction will interleave file data by chunks of 500 milliseconds in order to enable playback while downloading the file (HTTP FastStart)
MP4Box -inter 500 file.mp4

By default the chunks are interleaved everleaved every two seconds when
being muxed with the DefaultMp4Builder. The 'table of contents' (the moov
box which also contains the codec initialization and so on) is written in
the beginning of the file anyways. So it's very similar to what MP4Box is
doing and HTTP fast start (which is more of a player feature) should work.
2015-07-22 12:24 GMT+02:00 youzai001<EMAIL_ADDRESS>
MP4Box (https://gpac.wp.mines-telecom.fr/mp4box/) can do it. does
mp4parser can do the same thing?
with MP4Box, to prepare a file for simple progressive HTTP download, the
following instruction will interleave file data by chunks of 500
milliseconds in order to enable playback while downloading the file (HTTP
FastStart)
MP4Box -inter 500 file.mp4
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/97.

I have tested it, it works for me. Thank you.


🚀 Feature: implement toggling links to turn them on or off

allow links to be used/shown
Use Case

Proposed Solution

[ ] :wave: I may be able to implement this feature request

This is a :rocket: Feature Request

Closing because switching backend to contentful


Validate users's access to the authenticating application

With the ability to setup a user with access to multiple applications, the auth service does not really check if a user is trying to access an application that he/she is intended to. i.e the auth service just validates the credentials and sends a token. Instead, it should also check if the user actually has access to the application he/she is authenticating. This will also help us to track the application the user is logging in every time.
This might require us to generate some kind of a key for each application and store it at the Auth Service and also the client applications. Every auth request should include this key as well.

Closed by https://github.com/hpcc-systems/Auth-Service/pull/14

Closed by https://github.com/hpcc-systems/Auth-Service/pull/14


Release new version

Hi, it'd be great to get a new version released. I have a lewton update upcoming but it will be on the 0.9 branch and only unreleased rodio uses it. Thanks!

Could you open a PR that bumps the version in Cargo.toml and update the CHANGELOG?
There's an auto-publish system that will publish it once merged.

@tomaka sure, I've filed #186.


Incorrect computation for compounded returns

https://github.com/robertmartin8/PyPortfolioOpt/blob/386d72da52d1ddaeb9eabb49f04e7386078ff7ea/pypfopt/expected_returns.py#L130-L133
Example:
returns contains just two rows for an asset with values 0.1 and -0.1.
Let us assume frequency to be 1 for simplicity.
Using the existing logic, the expected compounded returns would be (1 + returns.mean()) ** frequency - 1   = 0
In reality, the compounded return would be (1+0.1)*(1-0.1) ** 0.5 - 1  ! = 0

Hi @bhutraaditya,
Thanks for pointing this out! I agree with you that this is technically incorrect, as conceptually we should be using the geometric mean (aka CAGR). However, many portfolio optimisation implementations that I've seen do not do this. If you can suggest an implementation that would be robust to different frequencies, I'd consider it!
Cheers,
Robert

@robertmartin8  How about something like this:
(1 + returns).prod() ** (frequency/returns.count()) - 1
Although, there could be inefficiencies if there are long periods of missing return data in the series.


Fix order fulfillment redirect

I want to merge this change because... it fixes error in cache fragment update and consequently fixes not redirecting to order details page after successful fulfilment.

PR intended to be tested with API branch:
Screenshots

Pull Request Checklist

[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Translated strings are extracted.
[ ] Number of API calls is optimized.
[ ] The changes are tested.
[ ] Data-test are added for new elements.
[ ] Type definitions are up to date.
[ ] Changes are mentioned in the changelog.

Test environment config

API_URI=https://master.staging.saleor.rocks/graphql/

Task linked: SALEOR-1267 Redirect to Order details after successful fulfillment


Unassigned Category Does not Expand

Loaded an nmap scan and went to the ops page.  The unassigned category showed 12 hosts, but clicking on the expansion icon resulted in a spinning activity icon, but then nothing.  The category did not expand.

Fixed.


Different namespaces with different webhooks

Hello,
I have seen the possibility to push notifications acvording to certain critreia, and multiple webhooks, but i was looking for an option to combine these.
I have a namespace that is handled by one team, and would need their notifications, and another namespace which is handled by another team with a different discord.
Is there a way to solve this?
Thank you!

Hey there!
Hmm, my thinking is that for you to have this behavior, you would probably need to rename the extension name (in DiscordNotifications.php::wfLoadExtension) and also inside the DiscordNotificationsCore and then load and configure the second extension in your LocalSettings.php file.
Then you can individually configure the allowed namespaces for both extensions and have them submit data into different API endpoints.


Dependency problem actionpack with rails 5

Hi,
I'm trying to update rspec 3.1 to some of the new versions (3.2, 3.3, 3.4) to get the following bug fix on 3.2:
Bug Fixes:

Fix rspec:feature generator to use RSpec namespace preventing errors when monkey-patching is disabled. (Rebecca Skinner, #1231)

I'm using Rails 5 beta and there lies the problem: I can't update rspec to any version newer than 3.1 because of the dependency on actionpack (which can't use the actionpack (= 5.0.0.beta1)):
rspec-rails (>= 3.2) was resolved to 3.2.0, which depends on
      actionpack (<= 4.2, >= 3.0)

----------------------

That said, I can run the tests if I put RSpec.feature by hand on my tests, or if I enable monkey_patching even though that's not the "better way".

Try this in your Gemfile:
  gem 'rspec-rails'       , github: 'rspec/rspec-rails'
  gem 'rspec-core'        , github: 'rspec/rspec-core'
  gem 'rspec-expectations', github: 'rspec/rspec-expectations'
  gem 'rspec-mocks'       , github: 'rspec/rspec-mocks'
  gem 'rspec-support'     , github: 'rspec/rspec-support

As above, you need to use the master version of rspec-rails and friends, but we're working on getting out a version that supports the beta (although this will similarly be a beta for us)


Can't run app on Amazon AWS instance

Hi! We need to run cvat app on Amazon AWS instance.
I've been using instruction - https://github.com/opencv/cvat/blob/develop/cvat/apps/documentation/installation.md
I've checked out master branch, with last commit 42aad8b56bcce454b99a852af290d4a9208d37d8
I've added  docker-compose.override.yml file with the next content:
version: "2.3"

services:
  cvat:
    environment:
      ALLOWED_HOSTS: "*"
    ports:
      - "8888:8080"

8888 - instance's TCP port
So, when I'm going to url: instance_address:8888 it redirects me to http://localhost:9080/login which obviously can't be connected.
Have you any idea, what I'm doing wrong? Locally it works fine.

Hi @provider161
Better to ask the question on our gitter channel next time. Look here https://github.com/opencv/cvat/issues/930#issuecomment-568929776. You have to define extra variables in your docker-compose file.
I will close the issue for now.

@nmanovic thanks, it helped!
By the way, you should add this information to the instruction, or we can do it by ourselves with pull request.

@provider161 ,
It is a great idea. If you can help us improve the documentation (https://github.com/opencv/cvat/blob/develop/cvat/apps/documentation/AWS-Deployment-Guide.md) it will be awesome. Our team loves PRs from community.


Greatly improve the test framework

Also reworked the datatypes used to describe task changes

I took all your comments into account :)

Great, thanks! Merged :)


Cherry-pick #25073 to master

As requested by @blindpirate

@bot-gradle test and merge

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

I've triggered a build for you.


World Marionette

World admins have unlimited authority in to modify the world, including setting arbitrary state, upgrading contracts, etc. This is a useful functionality in the early days of the worlds deployment but can be a liability in certain cases. Currently, it is only possible to have unlimited power or none at all. This issue is to create a proxy contract that would take ownership of a world, enabling progressive decentralization of world administration over time.
The basic idea is to wrap the permissioned endpoints in a proxy contract that will be the world admin. The Marionette contract should support the ability to gate calls to these endpoints based on an exception list.
For example, in the case of set_entity, the owner of the Marionette contract can set model exceptions that will prevent the world admin from writing directly to those models. For example, if the world had a erc20 token deployed to it, it could add the erc20 balance model as an exemption which would prevent the admin from modifying that state. The same should be possible for preventing upgrades of particular contracts by the admin.
This will enable world admins to progressively decentralize the operation of the world by selectively making different resources immutable.
An additional feature that could be useful, is to support timelocks for exceptions, so the admin could be able to upgrade and erc20 contract implementation but could be subject to a t day timelock.
The permissioned endpoints to proxy:
    fn set_entity(
        ref self: T,
        model: felt252,
        keys: Span<felt252>,
        offset: u8,
        values: Span<felt252>,
        layout: Span<u8>
    );
    fn delete_entity(ref self: T, model: felt252, keys: Span<felt252>, layout: Span<u8>);
    fn upgrade_contract(ref self: T, address: ContractAddress, class_hash: ClassHash) -> ClassHash;
    fn set_executor(ref self: T, contract_address: ContractAddress);
    fn upgrade(ref self: T, new_class_hash: ClassHash);
    fn grant_owner(ref self: T, address: ContractAddress, resource: felt252);
    fn revoke_owner(ref self: T, address: ContractAddress, resource: felt252);
    fn grant_writer(ref self: T, model: felt252, contract: ContractAddress);
    fn revoke_writer(ref self: T, model: felt252, contract: ContractAddress);

Addition interfaces:
OwnableTwoStep
https://github.com/OpenZeppelin/cairo-contracts/blob/44b5259ca316c4a7931e8ca77699bb3c00c70a54/src/access/ownable/interface.cairo#L20
#[starknet::interface]
trait IMarionetteFreeze<TState> {
    fn freeze(ref self: TState, resource: felt252, timelock: felt252);
}

In the token example, if the model is erc20_balance and the contract is erc20, to make the contract immutable, the admin would call freeze on the model and contract resources. Then any permissioned endpoints that interact with models / contracts will assert the exemption criteria before proxying the call to the underlying world.

will love to work on this can i be assign this task

@tarrencev Can I work on this?

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hi, my name is Jose Mario. I am a developer with over 15 years of experience. I am currently eager to contribute to open-source projects and Im deeply engaged in web3 and smart contracts development (Rust, Cairo, and Solidity). My most recent role was as a senior backend developer, where I specialized in technologies such as Node.js, JavaScript, TypeScript, among many others.
How I plan on tackling this issue
Here’s an improved version of the text, enhancing clarity and specificity:

Develop a Marionette Proxy Contract:

Create a contract that functions as the Marionette proxy, capable of managing permissioned endpoints.

Implement Proxy Functions:

Develop proxy functions for each permissioned endpoint:

set_entity
delete_entity
upgrade_contract
set_executor
upgrade
grant_owner
revoke_owner
grant_writer
revoke_writer

Manage Exceptions for Models and Contracts:

Implement functionality to add and remove exceptions for specific models and contracts.
Exceptions should prevent the world admin from modifying certain states or upgrading specific contracts.
Consider creating an interface for managing these exceptions effectively.

Develop a Timelock Mechanism for Exceptions:

Implement functionality to set a timelock on modifications or upgrades.
Ensure this mechanism supports managing exceptions.

Integrate Secure Ownership Transfers:

Use the OwnableTwoStep interface to manage ownership transfers securely.

Implement Resource Freezing with Timelocks:

Support freezing resources with a timelock by implementing the IMarionetteFreeze interface.

Create Comprehensive Test Cases:

Develop test cases to validate the functionality of each proxy function, exception list management, and timelock mechanism.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I'm a blockchain developer. i will love to work on this

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a blockchain developer with experience in both Solidity and Cairo. I have worked on smart contract development and upgradeable proxy patterns in Ethereum, and I'm familiar with StarkNet's contract architecture. My experience with implementing access control mechanisms and timelocks in smart contracts will be particularly relevant to this task. I've also contributed to open-source projects in the past, which has honed my ability to write clean, well-documented code that integrates smoothly with existing codebases.
How I plan on tackling this issue
To address this enhancement, I would start by thoroughly reviewing the current World contract implementation and the proposed Marionette proxy contract requirements. My approach would involve the following steps:
First, I would design the Marionette contract architecture, ensuring it can effectively proxy all the specified permissioned endpoints while maintaining the ability to selectively restrict access based on exceptions. I would implement a robust exception management system, allowing for both model-based and contract-based exceptions.
Next, I would develop the core proxy functionality, carefully handling the delegation of calls to the underlying World contract. This would include implementing checks against the exception list before proxying each call. For the timelock feature, I would design a system that can queue proposed changes and execute them after a specified delay, drawing inspiration from established timelock patterns in the Ethereum ecosystem.
I would then implement the IMarionetteFreeze interface, ensuring that the freeze function correctly adds resources to the exception list and respects the specified timelock. This would involve creating a data structure to store frozen resources and their associated timelocks.
Throughout the development process, I would write comprehensive unit tests to verify the correct behavior of each component, including edge cases and potential attack vectors. I would also conduct integration tests to ensure the Marionette contract interacts correctly with a mock World contract.

Is it okay if I tackle this?

I’d love to work on this task. Thanks :)

I’d like to resolve this.   I  am blockchain  developer  expert in solidity and  cairo .

I'd be happy to do this.

Can I tackle this one?

Could I take over this issue?

Let me handle this issue!

Let me handle this issue!

I’d like to work on this.

Can I try solving this issue?

May I try my hand at this?


Preserve inline comments on inline lists

Describe the bug
Inline comments are removed from inline lists.
To Reproduce
const input = 'key1: [value1, value2] # comment';
const parsed = yaml.parseDocument(input);
const result = parsed.toString();

expect(result).toContain("# comment");

Expected behaviour
Comments should be preserved.
Versions:

Environment: Chrome Version 110.0.5481.100 (Official Build) (arm64)
yaml: 2.2.1

Additional context

Thank you for reporting that! Remarkably silly bug; the order of two string arguments was reversed when stringifying flow collections with comments.

Thank you @eemeli for the quick fix!
Any plans for publishing a patch?


Why not built-in DevTools?

Remote DevTools is very slow and laggy, hard to inpsect elements.
Except that it can be used on the latest chromium browser 🤔
Nice cameback 👏

I might also add support for built-in DevTools, it shouldn't be hard to do (I'm just lazy). I just wanted to update my code so I didn't really think about new features yet. :)
Thanks! I saw your league-loader project, it seems promising!


Attach tailscale to app container network

Rather than attaching app containers to the tailscale container's network, attach the tailscale container to the app container network.
Originally, a tailscale container would be created, and app containers would set their network mode to share the tailscale container's network space. This caused an issue where, if there was more than one container requesting the same port, the newer container(s) would fail because the port is already taken.
One option could have been to expect the app container to have a dynamic port, whether it sets that port itself or requests tailscale to set the port for the app. But that gets to be too non-deterministic, and sets a higher expectation for an app to be written to comply with this tailscale plugin.
Alternatively, I learned that the tailscale/docker integration will work by swapping which container connects to which network. In this case, which is what is implemented in this PR, the app container starts, and then the tailscale container starts and sets its network mode to share the app container's network. This allows for there to be multiple app containers using the same port assignments, because they're each running in their own network space. This is a more determinstic, and normal, mode to run in.
The tailscale container operates the same way that it used to without issue with one exception. In the old way, the tailscale container sets its hostname with the --hostname flag to docker run.... The --hostname flag is not accepted by docker when paired with this new network mode for a container. However, we can set the --hostname flag on the app container, and tailscale will set the machine's name on the tailnet to the value set there, which is what we want. Multiple containers can apparently have the same hostname, so scaling is not a concern with this.
One thing of note is that tailscale:up will add the docker-option to set the hostname on the app container, which means if the app had already been deployed prior to running tailscale:up, then the hostname will be the container ID by default. The containers must be re.......started?deployed? in order to take on the new hostname.

need to make sure that we track which apps requested tailscale. Currently, the post-deploy trigger takes effect on every deploy, regardless of whether or not tailscale is desired


vmap - jit - svd

Basic Set-up
Using vmap, I train multiple small networks in parallel. That is I have train_fn (which I jit) that defines the entire training loop. By applying vmap over this function,  I can train multiple networks by passing in different random seeds: vmap(train_fn)(seeds).
The Issue
During the forward pass of my model, I compute the least squares coefficient and this leads to  Resource exhausted: Ran out of memory in memory space hbm
def loss_fn(params, X, Y):
  aug_x = model.apply(params, X)
  a, b, c, d = jnp.linalg.lstsq(aug_x, Y)
  yhat = a*X
  return jnp.mean((Y-yhat)**2)
# return jnp.mean((Y-aug_x)**2)

The issue seems to be specific to  jnp.linalg.lstsq. That is, if I comment out the first return statement and use the second, I have no problems (I believe in this case Jax/XLA is smart enough to not even compute  jnp.linalg.lstsq since its not used by the return statement. But I am not sure why jnp.linalg.lstsq leads to this memory usage.
Error Message
---------------------------------------------------------------------------
UnfilteredStackTrace                      Traceback (most recent call last)
<ipython-input-3-b3e5e80ae59a> in <module>()
     52 seeds = random.permutation(random.PRNGKey(0), jnp.arange(2000))
---> 53 params = vmap(train_fn)(seeds)

18 frames
UnfilteredStackTrace: RuntimeError: Resource exhausted: Ran out of memory in memory space hbm. Used 191.80G of 7.48G hbm. Exceeded hbm capacity by 184.32G.

Total hbm usage >= 192.32G:
    reserved        530.00M
    program         191.80G
    arguments            0B

Output size 0B; shares 0B with arguments.

Program hbm requirement 191.80G:
    global             4.0K
    HLO temp        191.80G (97.6% utilization: Unpadded (187.16G) Padded (191.80G), 0.0% fragmentation (0B))

  Largest program allocations in hbm:

  1. Size: 190.73G
     Operator: op_type="svd" op_name="jit(vmap(train_fn))/scan/while/body/svd[ compute_uv=True\n                                         full_matrices=False ]" source_file="<ipython-input-3-b3e5e80ae59a>" source_line=30
     Shape: f32[2000,5000,5000]{1,0,2:T(8,128)}
     Unpadded size: 186.26G
     Extra memory due to padding: 4.47G (1.0x expansion)
     XLA label: %fusion.9 = f32[2000,5000,5000]{1,0,2:T(8,128)} fusion(f32[2000,5000]{0,1:T(8,128)} %copy.28, f32[2000,5000]{1,0:T(8,128)} %fusion.11, f32[2000]{0:T(1024)} %get-tuple-element.935, f32[5000,5000]{0,1:T(8,128)} %fusion.17), kind=kLoop, calls=%fused_computati...
     Allocation type: HLO temp
     ==========================

  2. Size: 97.66M
     Operator: op_type="convert_element_type" op_name="jit(vmap(train_fn))/convert_element_type[ new_dtype=float32\n                                          weak_type=False ]" source_file="<ipython-input-3-b3e5e80ae59a>" source_line=30
     Shape: f32[5000,5000]{0,1:T(8,128)}
     Unpadded size: 95.37M
     Extra memory due to padding: 2.29M (1.0x expansion)
     XLA label: %fusion.95 = f32[5000,5000]{0,1:T(8,128)} fusion(), kind=kLoop, calls=%fused_computation.95, metadata={op_type="convert_element_type" op_name="jit(vmap(train_fn))/convert_element_type[ new_dtype=float32\n                                          weak_type=...
     Allocation type: HLO temp
     ==========================

  3. Size: 97.66M
     Operator: op_type="svd" op_name="jit(vmap(train_fn))/scan/while/body/svd[ compute_uv=True\n                                         full_matrices=False ]" source_file="<ipython-input-3-b3e5e80ae59a>" source_line=30
     Shape: f32[5000,5000]{0,1:T(8,128)}
     Unpadded size: 95.37M
     Extra memory due to padding: 2.29M (1.0x expansion)
     XLA label: %fusion.17 = f32[5000,5000]{0,1:T(8,128)} fusion(), kind=kLoop, calls=%fused_computation.17, metadata={op_type="svd" op_name="jit(vmap(train_fn))/scan/while/body/svd[ compute_uv=True\n                                         full_matrices=False ]" source_f...
     Allocation type: HLO temp
     ==========================

  4. Size: 78.12M
     Operator: op_type="svd" op_name="jit(vmap(train_fn))/scan/while/body/svd[ compute_uv=True\n                                         full_matrices=False ]" source_file="<ipython-input-3-b3e5e80ae59a>" source_line=30
     Shape: f32[2000,5000,1]{0,2,1:T(2,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 39.98M (2.0x expansion)
     XLA label: %copy.26 = f32[2000,5000,1]{0,2,1:T(2,128)} copy(f32[2000,5000,1]{1,0,2:T(8,128)} %get-tuple-element.844), metadata={op_type="svd" op_name="jit(vmap(train_fn))/scan/while/body/svd[ compute_uv=True\n                                         full_matrices=Fal...
     Allocation type: HLO temp
     ==========================

  5. Size: 78.12M
     Shape: f32[2000,5000,1]{0,2,1:T(2,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 39.98M (2.0x expansion)
     XLA label: %copy.31 = f32[2000,5000,1]{0,2,1:T(2,128)} copy(f32[2000,5000,1]{1,0,2:T(8,128)} %fusion.120)
     Allocation type: HLO temp
     ==========================

  6. Size: 78.12M
     Shape: f32[2000,5000,1]{0,2,1:T(2,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 39.98M (2.0x expansion)
     XLA label: %copy.30 = f32[2000,5000,1]{0,2,1:T(2,128)} copy(f32[2000,5000,1]{1,0,2:T(8,128)} %fusion.123)
     Allocation type: HLO temp
     ==========================

  7. Size: 78.12M
     Operator: op_type="add" op_name="jit(vmap(train_fn))/scan/while/body/add" source_file="/usr/local/lib/python3.7/dist-packages/flax/linen/linear.py" source_line=181
     Shape: f32[2000,5000,1]{0,2,1:T(2,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 39.98M (2.0x expansion)
     XLA label: %fusion.21 = f32[2000,5000,1]{0,2,1:T(2,128)} fusion(f32[2000,5000,1]{0,2,1:T(2,128)} %get-tuple-element.1048, f32[2000]{0:T(1024)} %reduce.124, f32[2000]{0:T(1024)} %reduce.125), kind=kLoop, calls=%fused_computation.21, metadata={op_type="add" op_name="ji...
     Allocation type: HLO temp
     ==========================

  8. Size: 39.06M
     Shape: f32[2000,5000]{1,0:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %fusion.7 = f32[2000,5000]{1,0:T(8,128)} fusion(f32[2000,5000]{1,0:T(8,128)} %get-tuple-element.990, f32[2000,5000]{1,0:T(8,128)} %get-tuple-element.996, f32[5000,5000]{1,0:T(8,128)} %bitcast.7), kind=kLoop, calls=%fused_computation.7
     Allocation type: HLO temp
     ==========================

  9. Size: 39.06M
     Shape: f32[2000,5000]{1,0:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %fusion.33 = (f32[2000]{0:T(1024)}, f32[2000,5000]{1,0:T(8,128)}) fusion(f32[2000,5000,1]{1,0,2:T(8,128)} %copy.24, f32[2000]{0:T(1024)} %get-tuple-element.936, f32[2000]{0:T(1024)} %reduce.124, f32[2000]{0:T(1024)} %reduce.125, pred[2000]{0:T(1024)(128)(4...
     Allocation type: HLO temp
     ==========================

  10. Size: 39.06M
     Shape: f32[2000,5000]{1,0:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %fusion.40 = (f32[2000]{0:T(1024)}, f32[2000,5000]{1,0:T(8,128)}) fusion(f32[2000,5000,1]{1,0,2:T(8,128)} %copy.29.remat2, f32[2000,1]{0,1:T(2,128)} %slice.125, f32[2000,5000,5000]{1,0,2:T(8,128)} %fusion.9), kind=kLoop, calls=%fused_computation.40
     Allocation type: HLO temp
     ==========================

  11. Size: 39.06M
     Shape: f32[2000,5000,1]{1,0,2:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %copy.24.remat2 = f32[2000,5000,1]{1,0,2:T(8,128)} copy(f32[2000,5000,1]{0,2,1:T(2,128)} %get-tuple-element.1048)
     Allocation type: HLO temp
     ==========================

  12. Size: 39.06M
     Shape: f32[2000,5000,1]{1,0,2:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %copy.25 = f32[2000,5000,1]{1,0,2:T(8,128)} copy(f32[2000,5000,1]{0,2,1:T(2,128)} %fusion.20)
     Allocation type: HLO temp
     ==========================

  13. Size: 39.06M
     Operator: op_type="mul" op_name="jit(vmap(train_fn))/jit(vmap(_normal))/jit(vmap(_normal_real))/mul" source_file="<ipython-input-3-b3e5e80ae59a>" source_line=13
     Shape: f32[2000,5000,1]{1,0,2:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %fusion.123 = f32[2000,5000,1]{1,0,2:T(8,128)} fusion(u32[2000,2500]{1,0:T(8,128)} %get-tuple-element.1005, u32[2000,2500]{1,0:T(8,128)} %get-tuple-element.1004), kind=kLoop, calls=%fused_computation.123, metadata={op_type="mul" op_name="jit(vmap(train_fn)...
     Allocation type: HLO temp
     ==========================

  14. Size: 39.06M
     Operator: op_type="svd" op_name="jit(vmap(train_fn))/scan/while/body/svd[ compute_uv=True\n                                         full_matrices=False ]" source_file="<ipython-input-3-b3e5e80ae59a>" source_line=30
     Shape: f32[2000,5000]{0,1:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %copy.28 = f32[2000,5000]{0,1:T(8,128)} copy(f32[2000,5000]{1,0:T(8,128)} %get-tuple-element.995), metadata={op_type="svd" op_name="jit(vmap(train_fn))/scan/while/body/svd[ compute_uv=True\n                                         full_matrices=False ]" so...
     Allocation type: HLO temp
     ==========================

  15. Size: 39.06M
     Shape: f32[2000,5000,1]{1,0,2:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %copy.29.remat2 = f32[2000,5000,1]{1,0,2:T(8,128)} copy(f32[2000,5000,1]{0,2,1:T(2,128)} %get-tuple-element.1051)
     Allocation type: HLO temp
     ==========================

  16. Size: 39.06M
     Shape: f32[2000,5000,1]{1,0,2:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %copy.24 = f32[2000,5000,1]{1,0,2:T(8,128)} copy(f32[2000,5000,1]{0,2,1:T(2,128)} %get-tuple-element.1048)
     Allocation type: HLO temp
     ==========================

  17. Size: 39.06M
     Shape: f32[2000,5000]{1,0:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %fusion.11 = f32[2000,5000]{1,0:T(8,128)} fusion(f32[5000,5000]{0,1:T(8,128)} %fusion.17, f32[2000,5000]{0,1:T(8,128)} %copy.28), kind=kLoop, calls=%fused_computation.11
     Allocation type: HLO temp
     ==========================

  18. Size: 39.06M
     Operator: op_type="div" op_name="jit(vmap(train_fn))/scan/while/body/div" source_file="<ipython-input-3-b3e5e80ae59a>" source_line=30
     Shape: f32[2000,5000]{1,0:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %fusion.49 = (f32[2000,5000]{1,0:T(8,128)}, f32[2000]{0:T(1024)}) fusion(f32[2000,5000,1]{1,0,2:T(8,128)} %copy.29.remat2, f32[2000]{0:T(1024)} %get-tuple-element.986, f32[2000]{0:T(1024)} %fusion.90, f32[2000,5000]{1,0:T(8,128)} %get-tuple-element.990), k...
     Allocation type: HLO temp
     ==========================

  19. Size: 39.06M
     Operator: op_type="mul" op_name="jit(vmap(train_fn))/jit(vmap(_normal))/jit(vmap(_normal_real))/mul" source_file="<ipython-input-3-b3e5e80ae59a>" source_line=14
     Shape: f32[2000,5000,1]{1,0,2:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %fusion.120 = f32[2000,5000,1]{1,0,2:T(8,128)} fusion(u32[2000,2500]{1,0:T(8,128)} %get-tuple-element.1001, u32[2000,2500]{1,0:T(8,128)} %get-tuple-element.1000), kind=kLoop, calls=%fused_computation.120, metadata={op_type="mul" op_name="jit(vmap(train_fn)...
     Allocation type: HLO temp
     ==========================

  20. Size: 39.06M
     Operator: op_type="svd" op_name="jit(vmap(train_fn))/scan/while/body/svd[ compute_uv=True\n                                         full_matrices=False ]" source_file="<ipython-input-3-b3e5e80ae59a>" source_line=30
     Shape: f32[2000,5000]{0,1:T(8,128)}
     Unpadded size: 38.15M
     Extra memory due to padding: 937.5K (1.0x expansion)
     XLA label: %fusion.10 = f32[2000,5000]{0,1:T(8,128)} fusion(f32[2000,5000]{0,1:T(8,128)} %copy.28, f32[2000,5000]{1,0:T(8,128)} %fusion.11, f32[2000]{0:T(1024)} %get-tuple-element.935, f32[5000,5000]{0,1:T(8,128)} %fusion.17), kind=kLoop, calls=%fused_computation.10,...
     Allocation type: HLO temp
     ==========================

Code
### Imports
import jax.tools.colab_tpu
jax.tools.colab_tpu.setup_tpu()
import jax
from jax import jit, partial, random, value_and_grad, grad, vmap, pmap, numpy as jnp
from jax.experimental import loops
from flax import linen as nn
import optax

def get_data(key_num):
  key, subkey1, subkey2 = random.split(random.PRNGKey(key_num), 3)
  X = random.normal(subkey1, (5000, 1))
  Y = random.normal(subkey2, (5000, 1))
  return X, Y

def init_fn(seed):

  # Initialize Model
  rng = random.PRNGKey(seed)
  params = model.init(rng, jnp.ones((1,1)))

  # Initialize Optimizer
  opt_state = optimizer.init(params)

  return params, opt_state

def loss_fn(params, X, Y):
  aug_x = model.apply(params, X)
  a, b, c, d = jnp.linalg.lstsq(aug_x, Y)
  yhat = a*X
  return jnp.mean((Y-yhat)**2)

def train_step_fn(params, opt_state, X, Y):
  grads = grad(loss_fn)(params, X, Y)
  updates, opt_state = optimizer.update(grads, opt_state, params)
  params = optax.apply_updates(params, updates)
  return params, opt_state

@jax.jit
def train_fn(seed):
  X, Y =  get_data(seed)
  with loops.Scope() as s:
    s.params, s.opt_state = init_fn(seed)
    for i in s.range(10000):
      s.params, s.opt_state = train_step_fn(s.params, s.opt_state, X, Y)
  return s.params

model = nn.Dense(features=1)
optimizer = optax.sgd(learning_rate=0.01, momentum=0.9)
seeds = random.permutation(random.PRNGKey(0), jnp.arange(2000))
params = vmap(train_fn)(seeds)

We will need a more self-contained and minimal example. If the behavior is unexpected, can you reproduce it using only jax's vmap, jit, random, and numpy (lstsq, etc.)? Consider generating arrays of the shape that your application produces.

Sorry about that -- here is something more self-contained. The code runs without any issues if train_fn returns coef2 and produces a RuntimeError: Resource exhausted if when it returns coef1
import jax.tools.colab_tpu
jax.tools.colab_tpu.setup_tpu()
import jax
import jax.numpy as jnp

def get_data(key):
  key, subkey1, subkey2 = jax.random.split(key, 3)
  X = jax.random.normal(subkey1, (5000, 1))
  Y = jax.random.normal(subkey2, (5000, 1))
  return X, Y

def lstsq(A, b):
  """https://github.com/google/jax/issues/1737"""
  # "builtin" solve
  b = jnp.dot(A.T, b)
  A = jnp.dot(A.T, A)
  return jnp.linalg.solve(A, b)

@jax.jit
def train_fn(key):
  X, Y = get_data(key)
  coef1 = jnp.linalg.lstsq(X, Y)[0]
  coef2 = lstsq(X, Y)
  return coef1 # coef2

keys = jax.vmap(jax.random.PRNGKey)(jax.numpy.arange(10000))
results = jax.vmap(train_fn)(keys)

Error
UnfilteredStackTrace: RuntimeError: Resource exhausted: Ran out of memory in memory space hbm. Used 943.36G of 7.48G hbm. Exceeded hbm capacity by 935.88G.

Total hbm usage >= 943.88G:
    reserved        530.00M
    program         943.36G
    arguments            0B

Output size 0B; shares 0B with arguments.

Program hbm requirement 943.36G:
    global             4.0K
    HLO temp        943.36G (98.9% utilization: Unpadded (932.91G) Padded (943.36G), 0.0% fragmentation (0B))

  Largest program allocations in hbm:

  1. Size: 941.75G
     Operator: op_type="svd" op_name="jit(vmap(train_fn))/svd[ compute_uv=True\n                         full_matrices=False ]" source_file="<ipython-input-1-0bde5920cb31>" source_line=22
     Shape: f32[10000,5000,5000]{0,1,2:T(8,128)}
     Unpadded size: 931.32G
     Extra memory due to padding: 10.43G (1.0x expansion)
     XLA label: %fusion.5.remat2 = f32[10000,5000,5000]{0,1,2:T(8,128)} fusion(f32[10000,5000]{0,1:T(8,128)} %get-tuple-element.108, f32[10000,5000]{0,1:T(8,128)} %fusion.6, f32[10000]{0:T(1024)} %get-tuple-element.90, f32[5000,5000]{0,1:T(8,128)} %fusion.94), kind=kLoop,...
     Allocation type: HLO temp
     ==========================

Thanks for minimizing. I believe this is working as expected.
The "builtin solve" to compute coef2 in this example calls lstsq with two 1x1 arrays, whereas coef1 calls lstsq with two 5000x1 arrays instead. The lstsq implementation calls svd, which produces a 5000x5000 matrix of left-singular vectors of its operand. When this is all vmapped over 10000 instances, you end up with an intermediate value of shape f32[10000,5000,5000] (see the error). Storing that many floating point values will require roughly 1 TB, as the error indicates.

Thanks for the explanation -- so the high level takeaway is that when thinking about vmap and  memory usage, we should keep in mind the most memory intensive part of the computation and remember that we are adding an extra dimension to this. -- happy to close this now if you want

Sure thing, and yes, that's essentially correct. When combining with jit, compiler optimizations might sometimes improve bottlenecks, but here we see that they aren't able to do much in this example.


MRG: Checks during cropping

Should I make raise_error=True by default? I think in 99%+ of use cases users cropping data to 0 samples is an error.

yes I think we should raise an error all the time.
travis is not happy for some reason...

yes I think we should raise an error all the time.

Done.

travis is not happy for some reason...

It was a test for _time_mask that now raises an error, fixed.

Coverage decreased (-10.5%) to 80.334% when pulling c3f2d44275df91a2233eb471209d782cd5296fbc on Eric89GXL:fix-crop into 98d13c860df1f62841825194fc471fe6ddcd31d2 on mne-tools:master.

travis is still not happy :(

The error is:
======================================================================
FAIL: Test 2-way anova
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/testenv/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/travis/build/mne-tools/mne-python/mne/stats/tests/test_parametric.py", line 77, in test_f_twoway_rm
    assert_true(((0 <= pvals) & (1 >= pvals)).all())
AssertionError: False is not true
    'False is not true' = self._formatMessage('False is not true', "%s is not true" % safe_repr(False))
>>  raise self.failureException('False is not true')

I'm not sure how it could be due to this PR. I'll take a look, though.

Can't reproduce with my self-built scipy but can with what conda now runs. I'll see if I can figure out how their build is messed up.

Coverage decreased (-8.9%) to 81.987% when pulling 27f01d9b9c8f86698bd625c52a067b0254d6f047 on Eric89GXL:fix-crop into 98d13c860df1f62841825194fc471fe6ddcd31d2 on mne-tools:master.

LGTM
Merge if @dengemann is happy

I'm going to go ahead and merge so master builds pass, @dengemann when you get a chance feel free to comment on the fix above and we can iterate quickly if necessary


small adjustment in quantumMeasurementAssignment grammar class

After checking with @zachschoenfeld33, it seems like the quantumMeasurementAssignment grammar class needs to be adjusted a bit. Currently it looks like this:
quantumMeasurementAssignment
    : quantumMeasurement ( ARROW indexIdentifierList)?
    | indexIdentifierList EQUALS quantumMeasurement
    ;

In the first line ARROW indexIdentifierList should not be optional. In the second line, the idea of multi assignments was discarded and indexIdentifierList should be replaced by indexIdentifier. The final result is
quantumMeasurementAssignment
    : quantumMeasurement ARROW indexIdentifierList
    | indexIdentifier EQUALS quantumMeasurement
    ;

This PR adjust the class quantumMeasurementAssignment accordingly and adapt the related test.

@1ucian0 it could be beneficial if you could add a small test to the ANTLR grammar w/ the different measurement types (happy to help w this).

@1ucian0 it could be beneficial if you could add a small test to the ANTLR grammar w/ the different measurement types (happy to help w this).

Sure... I dont fully get the way this is being tested. Maybe in a follow up PR?

@1ucian0 it could be beneficial if you could add a small test to the ANTLR grammar w/ the different measurement types (happy to help w this).

Sure... I dont fully get the way this is being tested. Maybe in a follow up PR?

You can add a line here (https://github.com/Qiskit/openqasm/blob/3cc82855730b512bdab17c3c267a1f4ba3910e6a/source/grammar/tests/outputs/assignment.yaml#L9) that tests the -> assignment measurement. And then verify that the correct ANTLR is produced.

It looks like a few more changes are needed here?

Bump on this @1ucian0?

You can add a line here (
https://github.com/Qiskit/openqasm/blob/3cc82855730b512bdab17c3c267a1f4ba3910e6a/source/grammar/tests/outputs/assignment.yaml#L9
) that tests the -> assignment measurement. And then verify that the correct ANTLR is produced.

done in 7db94a5a82262757391fc426bc38159c10a78586

all change requests addressed.


Add ability to configure logging zap encoder via values

Currently this is hardcoded to console:
https://github.com/kedacore/charts/blob/master/keda/templates/12-keda-deployment.yaml#L56
However this can be set to json per this:
https://github.com/kedacore/keda/blob/main/BUILD.md#miscellaneous

Ok for you @zroubalik?
Are you willing to contribute this @sharkymcdongles?

Ok for you @zroubalik?

Absolutely :)

Ok for you @zroubalik?
Are you willing to contribute this @sharkymcdongles?

Ya I can submit PR shortly.

https://github.com/kedacore/charts/pull/145
@tomkerkhove

Thank you!


Remove "Wrapper" from command class names

The commands should be just named Anisotropy, Connectivity instead of AnisotropyWrapper and ConnectivityWrapper. "Wrapper" is software engineering jargon.

Wrapper maybe jargon, but at least it separates the classes from other plug-ins that might offer similar tools.


Turning off printing of values in Interactive mode

Our system uses FSCS' interactive mode to compile its configuration (a bunch of .fsx scripts) when it starts up or receives configuration changes at a later time.
The objects that get resolved via first an EvalScript command and then an EvalExpression command (to extract the built objects) are very large and deeply nested object hierarchies that aren't really suitable for verbose printing.
Unfortunately though it seems that FSCS is actually printing these out to the output stream and I have a suspicion that this verbose printing is taking the bulk of the compilation time of our .fsx scripts (approx 15-20 seconds, which has always seemed excessive to me, when compared to how fast the code compiles via FSC).
I have tried to disable all of FSCS printing features but it seems to have no affect? Having poked through the FSCS source code I can see no reason for this to be the case though? What am I missing?
            let sbOut = new StringBuilder()
            let sbErr = new StringBuilder()
            use inStream = new StringReader("")
            use outStream = new StringWriter(sbOut)
            use errStream = new StringWriter(sbErr)

            try
                let fsiArgs = [| "--noninteractive"; "--nologo"; "--gui-"; "--define:HOSTED"; "--nowarn:FS0058"; "--simpleresolution" |]
                let fsiConfig = FsiEvaluationSession.GetDefaultConfiguration()
                let fsiConfig =
                    { new FsiEvaluationSessionHostConfig() with
                        member __.FormatProvider = fsiConfig.FormatProvider
                        member __.FloatingPointFormat = fsiConfig.FloatingPointFormat
                        member __.AddedPrinters = []   // disabled all printers ******
                        member __.ShowDeclarationValues = false   // disabled printing ******
                        member __.ShowIEnumerable = false   // disabled printing ******
                        member __.ShowProperties = false   // disabled printing ******
                        member __.PrintSize = fsiConfig.PrintSize
                        member __.PrintDepth = fsiConfig.PrintDepth
                        member __.PrintWidth = fsiConfig.PrintWidth
                        member __.PrintLength = fsiConfig.PrintLength
                        member __.ReportUserCommandLineArgs args = ()
                        member __.EventLoopRun() = fsiConfig.EventLoopRun()
                        member __.EventLoopInvoke(f) = fsiConfig.EventLoopInvoke(f)
                        member __.EventLoopScheduleRestart() = fsiConfig.EventLoopScheduleRestart()
                        member __.UseFsiAuxLib = fsiConfig.UseFsiAuxLib
                        member __.StartServer(fsiServerName) = fsiConfig.StartServer(fsiServerName)
                        member __.GetOptionalConsoleReadLine(probe) = fsiConfig.GetOptionalConsoleReadLine(probe)
                    }
                use fsiSession = FsiEvaluationSession.Create(fsiConfig, fsiArgs, inStream, outStream, errStream, collectible = true)

Nevermind - I found the --quiet mode command line argument.


kodi.packages.netflix: 1.20.2 -> 1.22.3

Description of changes

https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.20.3
https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.20.4
https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.20.5
https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.20.6
https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.20.7
https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.20.8
https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.21.0
https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.22.0
https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.22.1
https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.22.2
https://github.com/CastagnaIT/plugin.video.netflix/releases/tag/v1.22.3

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

any chance you want to maintain this package? i feel bad because i don't have a netflix account anymore so i can't maintain it properly

On Fri, Oct 20, 2023 at 02:24:14PM -0700, Aaron Andersen wrote:

any chance you want to maintain this package? i feel bad because i
don't have a netflix account anymore so i can't maintain it properly

I'm actively using the Netflix addon, so I wouldn't mind. I'm not a
maintainer right now though. Is it just a matter of changing the
metadata of this single package, or do I also have to add myself to the
list of maintainers?

On Sat, Oct 21, 2023 at 03:42:16AM -0700, Patrick Steinhardt wrote:

On Fri, Oct 20, 2023 at 02:24:14PM -0700, Aaron Andersen wrote:

any chance you want to maintain this package? i feel bad because i
don't have a netflix account anymore so i can't maintain it properly

I'm actively using the Netflix addon, so I wouldn't mind. I'm not a
maintainer right now though. Is it just a matter of changing the
metadata of this single package, or do I also have to add myself to the
list of maintainers?

I've created https://github.com/NixOS/nixpkgs/pull/262510 to do so. For
now I've simply appended myself to the list of the Kodi team for this
addon. Let me know whether this is in the spirit of what you had in mind
here.