chore: update exam board copy CUR-297

Description

[ ]  Text “All sequences are identical at KS3” is shown in subject phase picker where there are exam-board choices available
[ ]  The text is not shown where it is not

Issue(s)
Fixes #
How to test

Go to https://deploy-preview-1983--oak-web-application.netlify.thenational.academy/teachers/curriculum/english-primary/overview
Click on _______
You should see _______

Checklist

[ ] Added or updated tests where appropriate
[ ] Manually tested across browsers / devices
[ ] Considered impact on accessibility
[ ] Design sign-off
[ ] Approved by product owner

Looks good to me! (note that Maths does not have exam boards, so does not display this notice)

:tada: This PR is included in version 1.273.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Implement Start-Container -Attach

Refactors Start-Container to allow -Attach for stdout stderr and reuses
that same logic for Invoke-ContainerImage where attach makes sense.

@swernli - How do I restart appveyor? This appears to not be a real error?

@jterry75 This actually looks like it could be a real failure... we failed to import the module from the nugget pkg.  Let's see if we can repro this locally.  As for re-running the appveyor, you can trigger that just by force pushing the branch for the PR.

I do not repro this locally. The module imports and works just fine. Rerunning AppVeyor to check.

Weird that it's still failing... perhaps something in the appveyor base image changed?  I'll try a test PR to see if the problem repros on other changes.  If it does, you should check in and we can try to resolve this separately.

Now that my appveyor fix in #143 is merged, this should work.  Rebase on top of the latest master and push and we should get clean results for a merge.

LGTM.


Extending generated OpenAPI docs

This is WIP for now, but I'd like to eventually get the generated docs into a state where a frontend dev working with an API that uses fastapi-users wouldn't need to check our documentation. The goal is to have responses included in swagger along with basic descriptions of error codes.

Added response examples so that errors are documented in OpenAPI, the output in redoc looks like this:

and updated the markdown documentation - some of the responses were outdated.
And I added some basic tests that should (hopefully) prevent inconsistency in the future.
// The python3.7 check for this commit failed due to a network error, could you restart it, please? I think I don't have the required permissions.

What do you think about this @frankie567 ?

That's once again a super interesting addition, @matyasrichter! Thank you 🙏
May I suggest that get_login_responses_success and get_logout_responses_success methods on authentication classes be called get_openapi_login_responses_success and get_openapi_logout_responses_success so that we don't take them for actual API logic?
I see that the codestyle check is failing, maybe just run a make format to solve this.
Cheers!

@frankie567 fixed :rocket:

Hi, sorry to bump this merged PR, but is there an estimate for when it could be released? We'd like to have this ready for our project. @frankie567

Yes, sorry, I'll prepare it!


turn warnings on in flow

This turns on flow lint warnings and shows those on the CLI by default now. I turned off the sketchy-null-* ones as they want you to be much stricter and not use truthy/falsey values. I don't think this would make our code simpler or safer in practice so i'm just disabling them. In practice we disallow 0 number (usually) and we'll likely make mistakes if we're doing more typeof checks

@keybase/react-hackers


Is export default  HOC pattern should be flagged?

We get this type of pattern flagged by the rule:
  const MainPageHeader = () => <HeaderWrapper/>
  export default withRouter(MainPageHeader);

error:
AssertionError [ERR_ASSERTION]: Should have no errors but had 1: [
  {
    ruleId: 'only-export-components',
    severity: 1,
    message: 'Fast refresh only works when a file only export components. Move your component(s) to a separate file.',
    line: 2,
    column: 15,
    nodeType: 'Identifier',
    messageId: 'localComponents',
    endLine: 2,
    endColumn: 29
  }
]

while this one is valid from a react-refresh perspective:
      const MainPageHeader = () => <HeaderWrapper/>
      export const SubScreen =  withRouter(MainPageHeader);

yes, I agree with all of the above.
I am still trying to figure out whether by react-refresh spec it triggers a whole tree reload:
https://github.com/pmmmwh/react-refresh-webpack-plugin/issues/99#issuecomment-634143932
https://github.com/facebook/react/issues/17142#issuecomment-543996489

Yes absolutely you can send a PR!

Default HOC exports are actually flagged correctly with the current version of the plugin and the error message is descriptive enough. Apologies for the confusion.
One pattern that we still use in our codebase and that wasn't flagged is a default CallExpression export:
compose()(MainComponent)
Here is a PR to address that: https://github.com/ArnaudBarre/eslint-plugin-react-refresh/pull/7


Added Oral Cancer Prediction Model

Closes: #[48]
The following Machine Learning Models uses different algorithms to predict whether a person has an oral cancer or not.
The algorithms implemented are:
- Decision Tree
- RandomForest
- Support Vector Machines
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.

Screenshot

@shubhigupta991 Sure. So I will have to close this PR and create another PR with the file pushed in the dev branch, right?

@shubhigupta991 Sure. So I will have to close this PR and create another PR with the file pushed in the dev branch, right?

Yeah right? Can you do that?

@shubhigupta991 Yes sure I will do it


Fixes values spiking due to bad sample memory accesses

This fixes the clicks and staticy noises in the modules in #1. That is, the ones that make these messages:
xm_sample(): final sample value is<PHONE_NUMBER>78638606450688.000000, this is a bug
xm_sample(): final sample value is<PHONE_NUMBER>60244306673664.000000, this is a bug
xm_sample(): final sample value is<PHONE_NUMBER>48683478564864.000000, this is a bug

There are two things that cause this problem in the xm_next_of_sample(xm_channel_context_t* ch) function – either the sample length is 0, and when it grabs u = ch->sample->data[a]; it reads into memory that does not belong to it, so we have that if at the start to check the sample length is more than zero.
What can also happen is that the 'loop end point' extends past the actual end of the sample. Just by one tick, so ch->sample_position was getting set to 132 at the end of a sample that was only 132 long, resulting in the same sort of read into memory that does not belong to it.
Anyways, this fixes both of those issues and the clipping. I'm fairly sure Milkytracker handles this in the same way, clamping the loop end to the sample length.
edit: I'm not sure whether this sort of fix should also be applied to the other loop types. I had to quickly type this up a few minutes before running to work, but otherwise I'll look into it when I get home.

Thanks. I confirm this fixes the clipping issues in zalza-tequila_groove.xm, but not the others.
You should also add your name and the current year in the header for proper copyright assignment.

Ah, I was doing the checking a bit strangely. I've got that fixed now, will push once I confirm the copyright message.
Just to confirm, something like this in the header just under your Author: line, or did you have something else in mind? (And just in play.c, or across all the files?)
/* Patches: Daniel Oaks<EMAIL_ADDRESS>*/

Yes, add /* Contributor: name <email> */ in any file where you make non-trivial changes.

Alright, that should be right to go.
Doesn't fix those static sounds in jt_strng.xm near the start, but that's not caused by this bug so I'll need to take a look and see why that's happening, this does fix the clipping in binary_world.xm and zalza-tequila_groove.xm though.


Multiple Clients for Horizontal Scaling

The current model works well for single clients and server models, however, a lot of systems, particularly those with high traffic volumes would want to scale out horizontally if traffic loads get high. Can Exposr support either the server or the clients scaling out when under load or would those all need to be unique clients with unique tunnel names?

The server has already horizontally scalable to support multiple (different) clients.
With version 0.8.1, each client will establish multiple (default 2) connections to the server,
traffic is load balanced round-robin over established connections. (Requires version 0.8.0 of the client).
The max number of connections per client (tunnel) can be set with starting the server.


Enhancements and Corrections for XC3 Video

Related Issue https://github.com/XgridInc/xc3/issues/124

Slides link
Transcript link
Video link

New Feedback:
Add some into of XC3.
Then explain Updates in XC3.
Use Words like automation etc instead of Code-pipeline and mention the developer as it will help developer not user.
Then explain which updated features benefits end users and explain by demo.
Make video understandable for large audience not only who know what is XC3.

Video


Add Github action to run QGIS tests.

Fixes #231.
Relates to #320.
Description
Use Docker Compose to setup a QGIS environment in which we can test our QGIS plugin.
Running this locally requires:
docker compose -f .docker/compose.yml up -d
docker exec -t qgis sh -c "qgis_setup.sh ribasim_qgis"
docker exec -t qgis sh -c "cd /tests_directory && qgis_testrunner.sh ribasim_qgis.tests.test_io"

Note that with the above, you can make changes to the test files, your local files are synced into the QGIS plugin directory in the image.

Not sure what's happening with the codecov decreasing each time I make a PR.

Running test ribasim_qgis.tests.test_io ...
Warning: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
ERROR: Status 2: File /tests_directory/ribasim_qgis.tests.test_io could not be found
QGIS Test Runner Inside - starting the tests ...
QGIS Test Runner - Trying to import ribasim_qgis.tests.test_io
QGIS Test Runner Inside - executing function <function run_all at 0x7feaf52a7640>
test_open_geopackage (ribasim_qgis.tests.test_io.TestIO) ... ok
test_passes (ribasim_qgis.tests.test_io.TestIO) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.001s

OK
Finished running test ribasim_qgis.tests.test_io (codes: IS_DEAD=1 IS_FAILED=1 IS_PASSED=0).

@JoerivanEngelen FYI


steamid-connected log event no longer fires after 3.4 Squad update.

Description of Issue
Squad 3.4 Update as of today has updated Easy Anti Cheat.
Any log events that are related to "LogEasyAntiCheatServer" will no longer fire, as these log lines have changed and are no longer visible
Steamid-connected is the primary issue here, though here may be others.
Errors or Screenshots of Issue
Squad Information

SquadJS Version: Current
Squad Version: 3.4

Possible fix within my Sync Log Parser branch, but requires making logparser more stateful and merging over a very messy commit.

This also impacts player disconnected


Adding plugin for Ratpack (https://ratpack.io).

Plugin currently instruments the HTTP request as a Transaction (see #691).
This is not feature complete at the moment and doesn't compile to Java 7, but I would appreciate a review as this is my first plugin.
Ratpack is based on Netty, and consequently highly asynchronous in processing. I had to take guidance from how The Async HTTP Client and the Async Servlet.

Checklist

[x] Implement code
[x] Add tests
[ ] Update documentation
[ ] Update CHANGELOG.md
[ ] Update supported-technologies.asciidoc

@felixbarny Thank you for the review. I was able to apply all the feedback. Please confirm. In addition to  getting the build working. The next steps I have.

Be able to build using Maven (resolve uses of Java 8 classes).
Run a snapshot locally to validate performance and functionality.
[Enhancement] Recognize excluded URLs
[Enhancement] Allow for capturing of request body.
[Enhancement] Create spans for each Ratpack Handler.

I believe the last item would be a useful abstraction to instrument, but likely not required. Handlers are a key building block in Ratpack. Kind of a "unit of work" while handling a Request. But I also understand that creating additional Spans can hurt performance. Is there a guiding philosophy here?

Be able to build using Maven (resolve uses of Java 8 classes).

I would propose to use distinct classes for the advices. For an example of this, see https://github.com/elastic/apm-agent-java/blob/9498bee6d90f429fdae8c0408ed6963134d68daf/apm-agent-plugins/apm-servlet-plugin/src/main/java/co/elastic/apm/agent/servlet/ServletInstrumentation.java#L81-L83
You can then annotate these classes with @IgnoreJRERequirement to make animal sniffer ignore those classes.

Ok. I broke them apart into distinct classes, and moved the @IgnoreJRERequirement annotation from the method level to the class level on the Advice.

@felixbarny I have a question about "sampling" and capturing the request body? When I look at the servlet plugin it looks like a lot of the request and response details (query params, cookies, etc) are only captured when the transaction is supposed to be sampled. However, the body appears to be always captured, but redacted under certain EventTypes. Is that correct?

However, the body appears to be always captured, but redacted under certain EventTypes. Is that correct?

That's an oversight. The transaction context is cleared for non-sampled transactions so capturing the body and then discarding it is obviously wasteful. We'll happily accept a PR which fixes that in the servlet implementation.

Thanks. An additional question. In the servlet plugin, it appears that query parameters are only captured when the content-type is application/x-www-form-urlencoded. I don't understand the rational for that, and am unsure if I should mirror that functionality.

Jenkins run the tests please

Which features are still missing from your perspective?
As Ratpack is based on Netty, have you thought about instrumenting Netty itself? That might be a more generic approach. WDYT?

@felixbarny I don't think there are any features left. I've been running it in production, and getting good results. My only remaining concern is tracking down what might be a concurrency bug that is showing up in a handful of requests. I'm busy doing that right now.
I did start down the Netty route initially, and I like that idea. However, it was easier for me to get started following the abstraction that Ratpack provides.

What’s the symptom of that potential concurrency bug?
We'll probably want to add Netty support down the line anyway as it’s the base of more frameworks.
I’m also wondering if the instrumentation could be made with fewer allocations when instrumenting Netty directly. Instrumenting Ratpack requires to allocate quite a few object allocations for anonymous inner classes and optionals.
With the other instrumentations we’re normally trying to minimize or even cause no allocations at all, if possible.

@felixbarny We use Elastic's HLRC in our application, so the symptom that I'm seeing in the APM dashboard is a sample that has an Elasticsearch query span that is unrelated to the request recorded by the transaction. My hunch is there's something around how I'm interacting with the ExecutorService managed by Ratpack in combination with the existing instrumentation that the agent has for Executors, but need to dig in further.
As for Netty, would it be sufficient to just focus on Netty's support for HTTP? One of my hesitations at the beginning was that a transaction seems highly dependent on your choice of application layer protocol, and Netty supports many or lets you just operate at the transport layer.
Also, trying to think outside the box on allocations, if I targeted the anonymous classes directly instead of the services that produce and consume them, would that be better? I'm not sure if I can make it work, but would reducing the number of allocations at the cost of instrumentation matching many more instances of classes be a good trade-off?

Marking as blocked for now, maybe go back to this once we do Netty and see if can leverage that.


Added a new logo to docs

This adds a logo to the sidebar and home page of the documentation, as well as to the README (so hopefully this brightens up the docs).
An initial discussion happened in #162 ; this is an actually tested pull request with the files in the correct places.
(The use of Slonik has been approved by the PostgreSQL community association; I have the agreed license, and can share in the appropriate place.)
Cheers.

Just wondering if there are any further thoughts or comments on this PR. Cheers.

@iamed2 can we get a review on this?


Normalize crossnobis distance by number of channels and fold-iterations

To match the documentation,

the crossnobis sum should be divided by the number of channels P and the number of iterations M-choose-2.
Note: _calc_crossnobis_single, which is used if a list of noises is provided, does already normalize by the number of channels: https://github.com/rsagroup/pyrsa/blob/master/pyrsa/rdm/calc.py#L443

fyi @HeikoSchuett @ilogue

fyi @HeikoSchuett @ilogue

Thanks for tackling this consistency!

Thanks for tackling this consistency!

Going to try rebasing and seeing if this fixes the codacy error

Thanks! Would someone else be able to give me a 2nd review? Maybe @Benjamin-Peters or @ilogue ?


Like a Challenge

This is a new feature for any logged-in user to "like" a challenge. This would be represented by a "thumbs up" icon like this one . Color, yellow.
The like icon would appear on the Challenge browse page to the left of the flag icon (#1868)
UI Flow

User clicks the "like" button
A cute animation confirms the like action
The like counter increments and the icon changes to a filled thumbs-up icon.
If the user already liked the challenge, clicking the icon will remove the like and the counter decrements instead, and the icon reverts to its outline state.

Conditions

Number of likes is displayed next to the
Challenge owners can not like their own challenges
A user must have completed at least one task of the Challenge to be able to Like it
Challenges that are liked more will be sorted higher in the default sort in Find Challenges
There will be a new sort option to sort by number of likes.

@mcliquid agreed that completion of a challenge you created is the biggest compliment and reward!
Favoriting is just for yourself. If many people Like a challenge, it could for example pop up higher in the list of challenges. It would also inform us as to which types of challenges people particularly enjoy, and it would give the challenge author more granular positive feedback.

@mcliquid thanks for the additional thoughts on this.
You are correct -- we have the Favorite function already today. We did however make a contract with the user that this would be a private-to-them flag, and I don't want to break that contract.
I very much like the idea of exposing the number of participants in a challenge. We currently have "popularity" which is based on recent task activity, but this may be an interesting metric to make public.

After discussion there and elsewhere, I am now leaning towards "Report" as well.


snap installation fails

Installation of snap fails with the following message:
==> Installing homebrew/science/maker dependency: snap
==> Downloading http://korflab.ucdavis.edu/Software/snap-.tar.gz
curl: (22) The requested URL returned error: 404 Not Found
Error: Failed to download resource "snap"
Download failed: http://korflab.ucdavis.edu/Software/snap-.tar.gz
Installation works fine if the brew script is edited with brew edit snap and inserting:
http://korflab.ucdavis.edu/Software/snap-2013-11-29.tar.gz

This issue was moved to Homebrew/homebrew-science#3179


Auto Login after signup

Hi, I have made the updates so that the user automatically gets logged in after he signs up. It will improve the user experience.
Also, I noticed that confidential data where present in the .env file such as mongo_uri so I removed the .env files and updated the README.md to help contributors create those file.
Hope you will like the changes.
Before
https://github.com/TechNodes2-0/ElectiveHub/assets/123248648/9483cad6-a16b-4be0-b5be-1fc2f1307712
After
https://github.com/TechNodes2-0/ElectiveHub/assets/123248648/65771115-d273-4fbd-8504-b12a5dd0e8d6

Congratulations 🎉 @JayeshYadav99, on your first contribution in memories

Make sure to star this project, if you liked contributing to it. 🌟🌟🌟
You can raise another new issue, if you find something is worth enhancement or needs a fix.
You can see my other projects too, which you might feel appealing.
You also follow me for making more future contributions in open-source projects.

Congratulations 🎉 @nitishkumar333 , on your first contribution in memories

Make sure to star this project, if you liked contributing to it. 🌟🌟🌟
You can raise another new issue, if you find something is worth enhancement or needs a fix.
You can see my other projects too, which you might feel appealing.
You also follow me for making more future contributions in open-source projects.

give @nitishkumar333  150 points


HttpException('Invalid HTTP request form (expected: authority or absolute, got: relative)',) and missing options.

As with my previous issue, I have the following setup:
I have a dns proxy server and mitmproxy sitting on one machine. The device(whose traffic is to be captured)'s DNS server is set to my own DNS server. There I spoof all domains I would like to point to the machine I have setup.
However, I get the following error `HttpException('Invalid HTTP request form (expected: authority or absolute, got: relative)',).
If I use the -R command line options, which sets up a reverse proxy, e.g proxying to an upstream server, everything works, but this doesn't work for multiple domains.
I am using the dns spoofing script, but it seems like it still doesn't work, I have noticed that modern browsers send the Host header with the domain name(or at least Chrome does), so mitmproxy can absolutely use the Host header to construct the proper requested resource, but it doesn't.
And the --keep-host-header argument as described in https://github.com/mitmproxy/mitmproxy/blob/master/examples/complex/dns_spoofing.py is completely non-existant.
I am using the latest code, version 3.0.0 according to mitmproxy --version.
Any idea what can be done here?

And the --keep-host-header argument as described in https://github.com/mitmproxy/mitmproxy/blob/master/examples/complex/dns_spoofing.py is completely non-existant.

I think that is not true for the latest 2.0.x public release 😉 We're changing how options work on master right now, other than that things should work. --set keep_host_header should do it on master.

I'm using 2.0.2 (release version), and getting the following:
$mitmproxy --set keep_host_header -s settings.py
mitmproxy: Invalid replacement specifier: keep_host_header
Can't see the internal Flask app, so my mobile app can't adjust any settings.


TextField improvements

Added TextField outline
Added outerStyle to style the outer element
(Fixed prettier dependency)

Haven't reviewed the PR so far, but you are missing the update to .d.ts file

Sorry idea didn't show prettier errors in .d.ts files

Is it intended that prettier checks package-lock.json, which is automatically generated?

no it is not.. just by accident

I think the prettier config should be
{,!(build|dist|out|package-lock.json)/**/}*.{js,_js,bones,es,es6,frag,gs,jake,jsb,jscad,jsfl,jsm,jss,mjs,njs,pac,sjs,ssjs,xsjs,xsjslib,jsx,ts,tsx,json,geojson,JSON-tmLanguage,topojson,json5,css,pcss,postcss,less,scss,graphql,gql,md,markdown,mdown,mdwn,mkd,mkdn,mkdown,ron,workbook,vue}

actually just jsx, js should be file

just added |package-lock.json to your current config

It would be good, if you add this then all checks should be passed

Another question: Is there a strong reasong for outerStyles and not being able to do it with css and className?

Failed pictures (1): failed-pictures.zip

:postbox: Posted by artipost.io, through Travis build 399676472, for commit cc47646.

style
results in:

    <input style="[...]">

because it is proxied
outerStyles
results in:

    <input>

because is not proxied
className could work, but only with css classes in a


rename airflow.config secret (remove empty strings from stringData)

For users who installed the chart previous to PR https://github.com/airflow-helm/charts/pull/356, they will likely have empty strings for any airflow.config they have removed over time, this WILL cause problems for AIRFLOW__XXXX configs, as empty strings are often not valid values for airflow configs. (See issue: https://github.com/helm/helm/issues/10010)
We should do these things:

Migrate remaining stringData keys in config/secret-config.yaml to data
Migrate all other Secrets using stringData to data
Rename the secret to {{ include "airflow.fullname" . }}-config-envs, so any existing users will get a "fresh" Secret (with no empty-string keys)

Heads up that the change of renaming the secret is not a part of the Changelog where this change made it into a release: https://github.com/airflow-helm/charts/blob/main/charts/airflow/CHANGELOG.md#fixed-8. That could stand to be there so that if the secret is referenced anywhere it gets updated. Like a podtemplate, which is how I found out this issue.


[BUG] AutoETS fails to fit some time series accurately

Describe the bug
Inspired by this issue, we ran some experiments using the AutoETS model. We found that for some unstable series (with outliers, mainly), the forecast performance of this model degrades by many orders of magnitude compared with other implementations (R and StatsForecast). I believe the problem is related to the statsmodels implementation (https://github.com/statsmodels/statsmodels/issues/8344) (see, for example, the following table using the M4 dataset).

As additional preprocessing must be done for this type of unstable series, I think it would be very positive for the users if a warning about the use of the model was included in the documentation, particularly for fitting multiple time series.
Our results suggest that our version is more robust than current alternatives. If you are interested, I could work on including this version in sktime.

Sure, interfacing would be appreciated!
I think currently we are probably going to move towards a stance of allowing multiple implementations of the same "modelling idea".
A decision has not been taken yet, if you want to see the discussion and/or weigh in, see here:
https://github.com/alan-turing-institute/sktime/pull/3155
statsforecast and your recent addition of ARIMA is one of the more prominent instances related discussion, so would be interested to hear your opinion!
Under the proposed change, any number of ARIMA or AutoETS are ok to live in sktime (per interface, or natively), and which one of them is presented the "default" ARIMA would depend on popularity as well as scientific study results (e.g., the above, reproducible study).
I.e., under the proposed change, sktime core devs would not gatekeep the presence of algorithms anymore as strongly as it is currently the case, which follows more the scikit-learn model of a curated selection.

@FedericoGarza I think the data you used  has an extreme outlier as first data point. Could you show the results without that outlier?

@fkiraly: Thanks for the answer. We will start working on the implementation. Congrats on this new direction. We are honored to be able to provide more options for the community. :D

@aiwalter: You are right. This benchmark dataset proves that the current StatsModels' ETS implementation is not robust, challenging its purpose as a baseline model. R's and StatsForecast 's implementation can fit these series without problems. We believe the root cause is that the current implementation uses an unstable quadratic optimization instead of the Nelder-Mead optimization. We argue that series with outliers are highly present in real-world scenarios and that their robustness is a critical characteristic of baseline models. It would be helpful for Python's forecasting community to know that previous ETS alternatives struggled with these characteristics.

It would be helpful for Python's forecasting community to know that previous ETS alternatives struggled with these characteristics.

I hope you are writing a paper where this is being explained? This sounds like a high impact finding.

Awesome decision @fkiraly 👏


[Workers] Updated KV section to address reading a deleted key

Customers are unclear as to what occurs when reading a key from Workers KV that has been deleted. This clarifies that.

I don't think this change is accurate
https://developers.cloudflare.com/workers/runtime-apis/kv/#reading-key-value-pairs
" If the key is not found, the promise will resolve with the literal value null."

@deadlypants1973 , @koeninger is actually right here. I discussed with the team and we were operating on some older knowledge.
I'm going to rework this and submit a new PR.
@Maddy-Cloudflare FYI


sso binding property doesnt work

saml.sso.metadata-generator.bindings-sso=paos
adding this to application properties  wouldn't enable paos endpoint.
always keeps exposing default post,artifact endpoints.

There are 2 properties in spring saml for PAOS:
saml.sso.metadata-generator.bindings-SSO=paos,artifact,post will enable those bindings in the generated metadata. (The property needs to have this exact casing)
And
saml.sso.saml-processor.paos=true will enable PAOS bindings at the Processor level, which basically affects the /saml/SSO endpoint. This last property is enabled by default.


Added simplistic installation instructions.

This is perhaps too simplistic, I am sure something better could be done.

Thanks for the PR :)
I’ll merge, and then I’ll clean up the README as a whole.


TypeError: Cannot read properties of undefined (reading 'split')

Description
I'm getting the following error when running the latest solidity-docgen (the 0.6.0-beta.7 version) in a Hardhat project that uses multiple Solidity compilers:
An unexpected error occurred:

TypeError: Cannot read properties of undefined (reading 'split')
    at decodeSrc (/Users/paulrberg/workspace/hifi/monorepo/node_modules/solidity-docgen/src/utils/read-item-docs.ts:12:41)
    at readItemDocs (/Users/paulrberg/workspace/hifi/monorepo/node_modules/solidity-docgen/src/utils/read-item-docs.ts:6:39)
    at parseNatspec (/Users/paulrberg/workspace/hifi/monorepo/node_modules/solidity-docgen/src/utils/natspec.ts:32:33)
    at natspec (/Users/paulrberg/workspace/hifi/monorepo/node_modules/solidity-docgen/src/accessors.ts:48:24)
    at /Users/paulrberg/workspace/hifi/monorepo/node_modules/solidity-docgen/src/accessors.ts:18:35
    at mapValues (/Users/paulrberg/workspace/hifi/monorepo/node_modules/solidity-docgen/src/utils/map-values.ts:4:14)
    at wrapWithAccessors (/Users/paulrberg/workspace/hifi/monorepo/node_modules/solidity-docgen/src/accessors.ts:18:17)
    at itemPartial (/Users/paulrberg/workspace/hifi/monorepo/node_modules/solidity-docgen/src/render.ts:44:35)
    at Object.invokePartial (/Users/paulrberg/workspace/hifi/monorepo/node_modules/handlebars/lib/handlebars/runtime.js:405:12)
    at Object.invokePartialWrapper [as invokePartial] (/Users/paulrberg/workspace/hifi/monorepo/node_modules/handlebars/lib/handlebars/runtime.js:82:39)

Now, to be fair, I'm not 100% sure that it's the multiple compilers that triggers this error, this is just an educated guess. I'm running this in a package in a monorepo, a monorepo in which there are other packages with no multiple compilers in which solidity-docgen works just fine.
How to Reproduce
Fork the hifi-finance/hifi repo, switch to the docs/flash-swap branch, install dependencies with yarn, cd into the packages/flash-swap directory, run yarn generate:docs.
Environment

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

I have trouble reproducing because it needs the various environment variables (e.g. INFURA_API_KEY). I can edit the config to remove that but do you have another way to handle that?

Well removing the environment variables might trigger some unintended side effects, it'd be best to just add a .env file with the values required there.
Here are some dummy values that you could use:
ETHERSCAN_API_KEY="EI4VPBI74B3N2PJVT9WQ9RIW4YJCSP5ZAC"
INFURA_API_KEY="defba93b47f748f09fcead8282b9e58e"
MNEMONIC="soul business photo bean pigeon impose defy team fire matter retire gap"
POLYGONSCAN_API_KEY="VBY7ZD2G2ZU3QFD7HEHVPNKI9PSVWYNT2Y"

The issue was due to contracts using Solidity 0.5, which has a different AST structure around documentation. The AST types at solidity-ast only support 0.6 onwards. But anyway it's fixed in the last release.

Can confirm that it works now. Thanks!


AMBARI-24499 blueprint support for multiple TIMELINE_READER components (benyoka)

What changes were proposed in this pull request?
Enable the MultipleTopologyHostUpdaters in BlueprintConfigurationProcessor for these properties:

yarn.timeline-service.reader.webapp.address
yarn.timeline-service.reader.webapp.https.address

How was this patch tested?

Tested manually (blueprint deployment with 2 TIMELINE_READER components), properties were replaced in order
Run the unit tests for BlueprintConfigurationProcessor.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/3688/
Test PASSed.


Check stability refactoring

Refactor setting and checking of blocking pair in check stability method

Delay this item until the verification and testing of the related algorithms is finished.


Notification group for notification drawer

Enhancement or variation of the alert group for use in the notification drawer #35

Closing this issue as it will be covered in #1787


Reproducibility through config dictionaries

The current __init__ function for torch_dreams.dreamer is very basic, it would be better if all the octave sizes and random roll/rotate values are generated before the algorithm starts. These variables should also be accessible with something like:
self.config = {
    "octave_scale": 1.3,
    "num_octaves": 7,
    "iterations": 20,
    "lr": 0.03,
    "gradient_smoothing_coeff": 1.5,
    "gradient_smoothing_kernel_size": 9,
    "rotations": np.array([
                            [0.1,0.3,..],  ## shape would be (num_octaves, iterations)
                            .
                            [0.2,0.1...]
                        ]),

    "rolls":np.array([
                    [0.1,0.3,..],  ## shape would be (num_octaves, iterations)
                    .
                    [0.2,0.1...]
                ])

}

Then the results could be reproduced by:
out = dreamer.deep_dream_on_config(config)

Update as of  commit ee2ff502a3675974b65b7f56d2e3cbf73726da34:
Config dictionaries are now the default form for passing args into the core deep_dream functions.


admin api get app

While digging through the userbase code I discovered this undocumented api and thought others might be interested in it as well.

Document Get App api

I discovered the Get App api, when trying to figure out how I can list users without logging into the web ui. Since trying out seemed to work just fine, I thought I would help out by sending over a pr.
I'm not sure how you want to handle the sub objects eg users.username.
But i'm sure this will help others. I tried to follow existing style and I'm happy to iterate.

Thank you for this!! Cool to see someone digging through the codebase and submit a PR like this.
We haven't officially released this feature yet since we have a couple more tweaks in the works (it's the thing we're working on currently). The documentation may change slightly as a result, but appreciate this starting point!

Thank you for this!! Cool to see someone digging through the codebase and submit a PR like this.
We haven't officially released this feature yet since we have a couple more tweaks in the works (it's the thing we're working on currently). The documentation may change slightly as a result, but appreciate this starting point!
Edit: more clearly, let's leave this open for now until we get the feature done, then decide on how best to move forward.

Sounds Great, I imagine pagination needs to fit in there somewhere.
In exploring userbase my main issue was that I there was no api access to users, which is why I started digging. I'm afraid I have to park using userbase for now in my project because of this. I understand it's still early days, and I'm looking forward to seeing how it evolves.

Will get the changes shipped asap.
Until then, in case this is helpful, you could use the beta version of the Admin API, which is up and running. You'll first need to generate an access token in the Userbase admin panel as shown here. There are 3 total endpoints you could currently use following the specs described in these PR's:
UpdateUser & GetUser
GetApp
The only change we're working on is that GetApp will actually just paginate users server-side, no need to worry about the pagination token.
We're also adding a new endpoint VerifyAuthToken. You'll be able to call that endpoint to verify that a user is presenting you a valid auth token. For example, a user logs into your web app, then calls a cloud function from within the app, and you want to ensure the user is logged into the web app from your cloud function.
The plan is to release all 4 endpoints as part of a larger release with complete documentation explaining the access token and each endpoint individually.

@Setheck only a little late, but documentation is now updated with all relevant information as of #14 . We got distracted working on another feature, sorry for the delay :/


VSCode Right-Click Menu Issue

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

The Problem
In Visual Studio Code (VSCode) on Windows, the right-click context menu exhibits unusual behavior where it immediately disappears when the right mouse button is released. This forces users to perform an awkward "drag-and-click" motion to access context menu options, making simple tasks like copy-paste operations unnecessarily complicated.
Symptoms

Context menu appears but instantly vanishes upon releasing the right mouse button
Users must hold the right mouse button and drag slightly to keep the menu open
The issue occurs specifically in VSCode while other applications work normally
The problem affects both the editor area and other UI elements in VSCode

Impact on Workflow

Reduced Productivity

Simple operations become time-consuming
Copy-paste operations require extra steps
Context menu features are harder to access

User Experience Issues

Unintuitive interaction model
Increased chance of accidental selections
Frustrating for users used to standard Windows behavior

Accessibility Concerns

May be particularly challenging for users with motor control issues
Makes precise mouse operations more difficult
Can cause hand strain during extended use

Technical Background
The issue typically arises from:

VSCode's custom electron-based context menu implementation
Conflicts between native Windows context menu handling and VSCode's UI
Cached VSCode settings or state files
Graphics rendering settings in VSCode

Environment

Operating System: Windows_NT x64 10.0.19045
VS Code Version:: Version: 1.95.3 (user setup)
Context: Editor and UI elements
Occurrence: Consistent across fresh installations

Why It Matters
This issue, while seemingly minor, significantly impacts the daily workflow of developers and writers who rely on context menus for efficient text editing and code manipulation. The natural expectation of right-click behavior in Windows is broken, forcing users to adapt to an unintuitive workaround.

Is this a recent regression you are seeing ? Can you clarify, that the issue you are facing is only with custom menus and not with native context menus, or you see in both ?
It would also be helpful to know if this was a recent regression. We maintain a node.js based CLI tool  vscode-bisect that automatically downloads and runs previous VS Code insiders and asks for each build if the issue reproduces. It takes up to 8 steps to find exactly the build that caused the regression.
Steps:

install node.js (if not yet done)
npx --yes @vscode/vscode-bisect@latest
follow the instructions until you found the offending build (its fine to leave the commit empty)
report back the commit range in this issue

Thanks!


[tcib]Use inner ansible vars to expose dlrn md5 hash

Currently we use to slurp the content of dlrn.md5 file via run playbook running from zuul executor. Most of the time, It does not exposes the correct dlrn md5 file hash. In order to fix that,
We are moving log collection from zuul post run to tcib playbook to create the ansible var file and use the same to read the dlrn md5 hash file.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

In the existing jobs running against tcib, from this buildset https://review.rdoproject.org/zuul/buildset/c9dc8ac1fbae4184802748ea2f60d4b3,
Taking https://review.rdoproject.org/zuul/build/3c51780008014895bbc16892baba0541 - tcib-crc-podified-edpm-baremetal job zuul inventory
https://logserver.rdoproject.org/77/177/baf3d9a9715a7fac1930c0682ade396dfed71ce3/github-check/tcib-crc-podified-edpm-baremetal/3c51780/zuul-info/inventory.yaml returns
content_provider_dlrn_md5_hash: ''
content_provider_registry_ip: <IP_ADDRESS>

Since we are not able to read the dlrn md5 value on the zuul controller, In order to fix that. Let's use the ansible-var file generated by artifacts role.
https://github.com/openstack-k8s-operators/ci-framework/pull/1885
We tested the above pr here: https://github.com/openstack-k8s-operators/tcib/pull/178 and buildset :
https://review.rdoproject.org/zuul/buildset/99c124a493804ba99a14a3b1ba316706
tcib-crc-podified-edpm-baremetal  - https://review.rdoproject.org/zuul/build/f92fd33efc99464e8ebec46d2faaf201 zuul inventory
https://logserver.rdoproject.org/78/178/55382c9287c6d47eff9ee047fcea75f8b234b687/github-check/tcib-crc-podified-edpm-baremetal/f92fd33/zuul-info/inventory.yaml
content_provider_dlrn_md5_hash: e72f31c85d92e63dff1ddc22b6d29110
content_provider_registry_ip: <IP_ADDRESS>

/approve

/lgtm


Stop packaging test files with the gem

It reduces the size of the gem by half, from 645K to 294K. The default for new gems (created by bundler) is not to include test files. See bundler/bundler#3207

Thank you @dimko, we will be pulling this into our 4.2.0 release. Stay tuned!

This has been released in version 4.2.0! Thanks, @dimko!


Project Acoustics UE5 troubles (python).

I'm having a few issues with Project Acoustics for UE5
1. The plugin will say upon each and every load into the same project that "Project Acoustics is performing first run setup for the required python dependencies. This may take a minute."
I'm not sure if this intended behavior, but it doesn't seem like it considering it says "first run."
2. When in the Bake Acoustics mode and on the Probes tab, it says "Python is required for Project Acoustics baking. Please enable the Python plugin."
I can verify that the Python plugin was already enabled and functioning normally. This message appears in place of any content that would have been in the Probes tab.
The only errors in the Output Log were the ones shown below:
LogPluginManager: Mounting Engine plugin PythonFoundationPackages
LogPluginManager: Mounting Engine plugin PythonScriptPlugin
LogPluginManager: Mounting Engine plugin PythonAutomationTest
LogPackageName: Display: FPackageName: Mount point added: '../../Plugins/Experimental/PythonFoundationPackages/Content/' mounted to '/PythonFoundationPackages/'
LogPackageName: Display: FPackageName: Mount point added: '../../Plugins/Experimental/PythonScriptPlugin/Content/' mounted to '/PythonScriptPlugin/'
LogPackageName: Display: FPackageName: Mount point added: '../../Plugins/Tests/PythonAutomationTest/Content/' mounted to '/PythonAutomationTest/'
LogPython: Using Python 3.9.7

LogPython: Error: Traceback (most recent call last):
LogPython: Error:   File "G:\UE_5.0/Engine/Plugins/Marketplace/ProjectAcousticsNative/Content/Python\init_project_acoustics.py", line 26, in <module>
LogPython: Error:     import clr
LogPython: Error: ModuleNotFoundError: No module named 'clr'
LogPython: Error: During handling of the above exception, another exception occurred:
LogPython: Error: Traceback (most recent call last):
LogPython: Error:   File "G:/UE_5.0/Engine/Plugins/Marketplace/ProjectAcousticsNative/Content/Python/init_unreal.py", line 3, in <module>
LogPython: Error:     import init_project_acoustics
LogPython: Error:   File "G:\UE_5.0/Engine/Plugins/Marketplace/ProjectAcousticsNative/Content/Python\init_project_acoustics.py", line 43, in <module>
LogPython: Error:     import clr
LogPython: Error: ModuleNotFoundError: No module named 'clr'

LogPython: Display: Generating Python API stub file...
LogPython: Display:   ...generating Python API: glue code
LogPython: Display:   ...generating Python API: additional code
LogPython: Display:   ...generated: R:/Downloads/UnrealDemos/AcousticsGameUE5/Intermediate/PythonStub/unreal.py

3. Clicking on the Bake tab will crash the project immediately.
Assertion failed: IsValid() [File:D:\RocketSync\5.0.0-19505902+++UE5+Release-5.0\Working\Engine\Source\Runtime\Core\Public\Templates\SharedPointer.h] [Line: 1074]

UnrealEditor_ProjectAcousticsBakeUI!SAcousticsBakeTab::Refresh() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\ProjectAcoustics\Source\ProjectAcousticsBakeUI\Private\AcousticsBakeTab.cpp:217]
UnrealEditor_ProjectAcousticsBakeUI!FAcousticsEdMode::OnClickBakeTab() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\ProjectAcoustics\Source\ProjectAcousticsBakeUI\Public\AcousticsEdMode.h:110]
UnrealEditor_ProjectAcousticsBakeUI!SAcousticsEdit::OnActiveTabChanged() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\ProjectAcoustics\Source\ProjectAcousticsBakeUI\Public\SAcousticsEdit.h:90]
UnrealEditor_ProjectAcousticsBakeUI!TBaseSPMethodDelegateInstance<0,SAcousticsEdit,1,void __cdecl(enum AcousticsActiveTab),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\RocketSync\5.0.0-19505902+++UE5+Release-5.0\Working\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:309]
UnrealEditor_ProjectAcousticsBakeUI!SSegmentedControl<enum AcousticsActiveTab>::CommitValue() [D:\RocketSync\5.0.0-19505902+++UE5+Release-5.0\Working\Engine\Source\Runtime\Slate\Public\Widgets\Input\SSegmentedControl.h:540]
UnrealEditor_ProjectAcousticsBakeUI!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int,0>,enum AcousticsActiveTab>::ApplyAfter<void (__cdecl SSegmentedControl<enum AcousticsActiveTab>::*const &)(enum ECheckBoxState,enum AcousticsActiveTab),SS() [D:\RocketSync\5.0.0-19505902+++UE5+Release-5.0\Working\Engine\Source\Runtime\Core\Public\Templates\Tuple.h:324]
UnrealEditor_ProjectAcousticsBakeUI!TBaseSPMethodDelegateInstance<0,SSegmentedControl<enum AcousticsActiveTab>,1,void __cdecl(enum ECheckBoxState),FDefaultDelegateUserPolicy,enum AcousticsActiveTab>::ExecuteIfSafe() [D:\RocketSync\5.0.0-19505902+++UE5+Release-5.0\Working\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:309]

These issues were replicated on an unmodified Project Acoustics "AcousticsGameUE5" sample project as well as the LyraStarterGame project.
Any help would be appreciated.
Thank you,

Hi @itmewuf. Thanks for trying out Project Acoustics. I think I know what the problem is. One of the installations during that first run setup is failing. That is why you see the setup each time, and why the plugin is crashing.
One of the installations in that first run setup requires Visual Studio 2019 installed, along with .NET Framework Targeting pack v4.0 installed. And VS 2022 won't work. VS 2019 is required. This is an unfortunate requirement we're working to improve.
So please try installing VS 2019, along with .NET framework 4 targeting pack, which you can find in VS Installer... Modify... Individual Components.

If you don't want to or are unable to install VS2019, there is another workaround I could offer.

Thank you kindly for the reply.
Unfortunately, installing the .net framework 4 targeting pack within VS2019 (as well as restarting the machine for good measure) didn't resolve the issue. I'd be willing to try that other workaround then, I suppose.

@itmewuf I'd like to understand your problem a bit better. Could you please go to the following location in a command prompt in your UE5 installation, and try to install this one Python package. I'd like to see the output from it. This would help us a lot.
cd c:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64
python.exe -m pip install --upgrade pythonnet

For instance mine looked like this:

Whoa, loads of errors, looks promising.
The log was too big to paste here, so here's an external link: pastebin
Does this mean there's possibly something wrong with my VS2019 install?

Yup, great data! Haven't seen these errors before. Looking...

Ya, I'm a little stumped on your errors. Could be a problem with your VS. The only solutions I've seen online for those errors are: install the Windows SDK in VS or reinstall VS2019. Up to you if you want to try those.
The workaround I proposed before is to download a pre-built package for PythonNet and install that directly in Python. The steps for that would be:

Download pythonnet‑2.5.2‑cp39‑cp39‑win_amd64.whl from https://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonnet
Within c:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64, run: python.exe -m pip install <downloaded whl>
That should install PythonNet for your UE5, and the Project Acoustics plugin should be satisfied.

Kinda good news though. I was able to reproduce your error on my own system. So I'm getting closer to finding the minimum set of requirements.

Ok @itmewuf . I was able to get past your error by installing ".NET Desktop development" package in VS installer. If you haven't done the workaround yet, could you try installing ".NET Desktop development" and seeing if PythonNet will install for you. So the minimum set of packages I have installed that made it work for me are:

.NET Framework 4 targeting pack (Individual component)
.NET desktop environment (Big package in workloads)

I did the workaround and it worked perfectly -- thank you very much, Kyle!
I wish I could test the second solution to verify, but it sounds like it at least worked on your end when trying to fix the issue. I can at least say that I checked and I did not have .NET Desktop development installed, so that was likely it!
Thank you again, I appreciate it greatly.

Thank you both for working through this. I had the same exact errors. I had a go at the second solution (ie install NET Framework 4 targeting pack, and .NET desktop development) and can confirm that is worked for me

The workaround I proposed before is to download a pre-built package for PythonNet and install that directly in Python. The steps for that would be:

Download pythonnet‑2.5.2‑cp39‑cp39‑win_amd64.whl from https://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonnet
Within c:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64, run: python.exe -m pip install <downloaded whl>
That should install PythonNet for your UE5, and the Project Acoustics plugin should be satisfied.

This one worked for me. I have VS2022 and didn't want to install 2019 so this worked fine to solve the issue.

I am still running into this issue with VS2022 (.NET Framework 4 targeting pack and .NET desktop environment installed).
Pastebin

I can't figure out why it doesn't recognize pycparser. I believe I've installed that. @KyleStorck any recommendations?

PythonNet 2.5.2 is an old version. PythonNet 3 is out now and our latest plugin offering should set it up correctly for you.
First, might be best to ensure you're starting fresh. Clean up your current UE python packages by doing the purge routine below, and then try starting a project with the latest version of our plugin from the marketplace.
python.exe -m pip uninstall pythonnet
python.exe -m pip cache purge


Connect socket mobile s700 barcode scanner.

Prerequisites

[X] I checked the documentation and FAQ without finding a solution
[X] I checked to make sure that this issue has not already been filed
[X] I'm sure that question is related to the library itself and not Bluetooth Low Energy or Classic in general. If that so, please post your question on StackOverflow.
[X] I'm running the latest version

Question
Can we connect socket mobile s700 barcode scanner and scan barcode from this device and get barcode detail?

There is an SDK from socketmobile you can use with react native - so you don't need to use this module to write your own.
https://docs.socketmobile.com/react-native-capture/en/latest/

There is an SDK from socketmobile you can use with react native - so you don't need to use this module to write your own.
https://docs.socketmobile.com/react-native-capture/en/latest/

Ya but i don't want to use this SDK. any other way or example?

Here are the docs: https://docs.socketmobile.com/main/en/ if it works with another lib / module it will work with this one. But this is not an issue and should be closed.

Hi @krunalshoppiko
I'm sorry, but we are not able to check every specific device and prepare an example for it (especially when we are talking about such a specific device as this one). If the device supports BLE, you should be able to connect your device using this package, but in the package mentioned by @cixio we can read that bluetooth classic is used to read the barcode.

If the support on the device side was implemented with Bluetooth classic, you will have to use a different package.
If you encounter more specific bugs in the package during implementation, feel free to report them.

Hi @krunalshoppiko
I'm sorry, but we are not able to check every specific device and prepare an example for it (especially when we are talking about such a specific device as this one). If the device supports BLE, you should be able to connect your device using this package, but in the package mentioned by @cixio we can read that bluetooth classic is used to read the barcode.

If the support on the device side was implemented with Bluetooth classic, you will have to use a different package.
If you encounter more specific bugs in the package during implementation, feel free to report them.

Thanks.. @dominik-czupryna-withintent


GraphVisitor.usesResByRes is extremely slow. (Stuck in computeActualUsageDebug for many minutes)

Build scan link

Plugin version
1.31.0
Gradle version
8.6
JDK version
21.0.2 (BellSoft 21.0.2+14-LTS)
(Optional) Kotlin and Kotlin Gradle Plugin (KGP) version
1.9.23
(Optional) Android Gradle Plugin (AGP) version
8.3.2
Describe the bug
The task computeActualUsageDebug gets stuck for a long time.
This module contains only android resources(images, vector drawables, translations and theme definitions), no code, so I don't understand why it takes so long. It has around 250 files on it and it takes around 5-10 min to run in a M1 machine doing no other heavy compilation.
The same task in other big modules with lots of code and dependencies takes way less time. I checked the memory usage in the gradle daemon and it seemed fine (not a lot of GCs happening).
Is there any debug flag I could pass to the build that could give me infos about what is happening?
Expected behavior
To run the analysis faster?
Additional context
My gradle.properties has, if I remove this flag, computeActualUsageRelease also gets stuck.
dependency.analysis.android.ignored.variants=release

Thanks for the issue. My first thought was memory, and it still might be the case. Do you have a build scan you can share?
You could use gradle-profiler to profile the build for CPU and memory usage and see what seems to be taking so long. I would run just the task in question to keep the profile useful. I'm happy to take a look if you're willing to share the reports. I have done so in the past.

hey @autonomousapps , I sent you some data by email a few days ago using your email listed on your profile. Did you check that? I will try to find time for a better analyses if it is not enough.

hey @autonomousapps , I sent you some data by email a few days ago using your email listed on your profile. Did you check that? I will try to find time for a better analyses if it is not enough.

I did see the email, thanks!

👋 @autonomousapps !
To follow-up on this, today I was trying older versions on the plugin and the problem persisted till version 1.30.0.
Now, that doesn't mean that version 1.29.0 worked, actually this version produced a could not determine the dependencies of task kind of failure (see dependency-analysis-failure-v1.29.0.txt).
But then, version 1.28.0 worked as expected, with the buildHealth task no longer being stuck in computeActualUsage phase for minutes. 🤔

I hope the above will help you somehow and many thanks for all the work with this plugin! 🥇

--profile buildscan isn't super userful for investigating this, unfortunately. I need to know what's happening in the CPU -- the build scan is too coarse grained. Can someone run gradle-profiler --profile async-profiler on their project?

👋 @autonomousapps and apologies for the wait, you'll find a .zip file with the profile-out when using gradle-profiler --profile async-profiler on WCAndroid. 🍀
profile-out.zip
Let me know if you need anything else. 🙏

@ParaskP7 thanks! Could you do that again, but this time only target the computeActualUsageDebug task (or whichever variant of it you're having trouble with)?
Looking at the data you sent, the CPU flamegraph is dominated by Gradle infrastructure. I think if we focus on just the specific task, then it might be easier to see where the issue is.

👋 @autonomousapps sure thing, you'll find another .zip file with the profile-out when using gradle-profiler --profile async-profiler on WCAndroid. 🍀
profile-out.zip
Let me know if you need anything else. 🙏
FYI: I used the computeActualUsageJalapenoDebug.
PS: Below all the candidates when you configure the project to ignore (*) everything else but the debug build type and the jalapenoDebug product flavor:

computeActualUsageDebug (this candidate is actually fast) ✅
computeActualUsageDebugTest (test candidate, ignored) ✔
computeActualUsageDebugandroidTest (test candidate, ignored) ✔
computeActualUsageJalapenoDebug (this one is the slow one) ❌
computeActualUsageJalapenoDebugTest (test candidate, ignored) ✔
computeActualUsageJalapenoDebugandroidTest (test candidate, ignored) ✔

(*) dependency.analysis.android.ignored.variants=release,vanillaDebug,vanillaRelease,wasabiDebug,wasabiRelease,jalapenoRelease

@ParaskP7 I'd like to make (hopefully just) one more request 😅
When I look at the log included in your zip, I see this
> Task :WooCommerce-Wear:computeActualUsageJalapenoDebug UP-TO-DATE

And that corroborates what I'm seeing in the flamechart, which is mostly Gradle infrastructure. Could you run this profiler one more time, either with ./gradlew :WooCommerce-Wear:computeActualUsageJalapenoDebug --rerun or ./gradlew :WooCommerce-Wear:clean :WooCommerce-Wear:computeActualUsageJalapenoDebug --no-build-cache. We need the clean --no-build-cache (or --rerun) to ensure the task actually runs.

👋 @autonomousapps and apologies for the delay, you'll now find a couple of .zip files with the profile-out when using gradle-profiler --profile async-profiler on WCAndroid. 🍀
scenario.1
compute_actual_usage {
    tasks = [":WooCommerce-Wear:computeActualUsageJalapenoDebug"]
    gradle-args = ["--rerun-tasks"]
}

profile-out.zip
PS: As expected the above run was quite fast, it targeting the wear module and all. As such, I run the below as well. Hope it helps. 🤞
scenario.2
compute_actual_usage {
    tasks = ["computeActualUsageJalapenoDebug"]
    gradle-args = ["--rerun-tasks"]
}

profile-out.zip
Let me know if you need anything else. 🙏

This is perfect -- a smoking gun. Take a look at the slow version:

Clearly dominated by GraphVisitor.usesResByRes. By contrast, here's the fast version:

The little bit highlighted in purple near the middle is GraphVisitor.usesResByRes. Big difference!
I never would have been able to just figure this out based on first principles. Having the actual profile from a real project is critically important. Thank you!

For the record, the code in question has been around for 2 years :)

I just merged a change that should improve the performance of that algorithm. Could someone test the latest snapshot and verify? Please wait a few hours from this message posting.

This is awesome @autonomousapps , you rock, thanks for all this work, will test the latest snapshot asap and report back here! 🙇 ❤ 🚀

👋 @autonomousapps !
I did test with the latest snapshot (1.32.1-SNAPSHOT) via https://oss.sonatype.org/content/repositories/snapshots/, but, unfortunately, I am still seeing the same delay... 🤔 Maybe I am using the wrong snapshot? 🤷
Here the .zip files with the profile-out when using gradle-profiler --profile async-profiler on WCAndroid using this latest snapshot.
profile-out.zip
Let me know if I am using the wrong snapshot or doing something wrong. 🙏

It's possible my change just wasn't sufficient. The algorithm is inherently very complex and I tried a shortcut to make it faster without attempting a fundamental rethink. I think it's roughly O(N^3), where N is the number of resource symbols in a project. So... that's a lot.
Unfortunately, I have limited time available for this kind of work. It's non-trivial (I won't say "impossible"), and also non-essential (for some value of that term). I may be open to further work on a sponsored basis.
Re-opening for now.

Thanks for all your work on that Tony, and for all the details you shared, yea, this problem doesn't look to be trivial, I very much appreciated all the effort here, thanks for re-opening, FYI, I am a big fan of this tool you created! 🙏 ❤ 🙇


Error with lambda invoke

running lamdba invoke throws this error:
YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.

Steps to replicate:

create pipenv
pipenv install python-lambda
create event.json
edit yaml file
create python service.py
run lambda invoke -v

It's not fatal, the service runs fine.

This is fixed in Pull Request #140 but it's been sitting there since early may without a merge or a release.

I have the same problem please pull!

+1

#140 is now merged and the latest code is released to PyPI. Closing the issue.


Add Generation for Documentation Download

Summary

It adds the ability to download the documentation for offline use.
Checklist

~-  If code changes were made, then they have been tested~
~-  I have updated the documentation to reflect the changes~
~-  I have formatted the code properly by running task lint~
~-  I have type-checked the code by running task pyright~
~-  This PR fixes an issue~
~-  This PR adds something new (e.g. new method or parameters)~
~-  This PR is a breaking change (e.g. methods or parameters removed/renamed)~

[x] This PR is not a code change (e.g. documentation, README, ...)

Going to fix the error with readthedocs

And I am now awaiting approval from an admin.

PDF builds are unfortunately broken in a couple ways due to the custom builders being used, not to mention building PDFs is rather slow, and I don't really see the benefit of epub builds since the formatting doesn't quite work there.
Building htmlzip would be an option, though it adds about 40% extra build time (html vs html+htmlzip) - really not sure if that's worth it, so I'll wait for the opinions of others on that.

@shiftinv as you can see I removed pdf and epub. What would you reccomend as the htmlzip. Should it just be html?

@shiftinv as you can see I removed pdf and epub. What would you reccomend as the htmlzip. Should it just be html? Also what Is up with the precommit fail?

@shiftinv as you can see I removed pdf and epub. What would you reccomend as the htmlzip. Should it just be html?

htmlzip seems fine

Also what Is up with the precommit check failing?

Looks like it's just extra whitespace, it's a bit difficult to tell in the logs:

I have removed extra whitespace and ensured that all updates are compatible with ReadtheDocs
Code check badge:


Adds new ReportUtils for Violations

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/31095
PROPOSAL:
This PR is the next installment to implement the Violations project in New Expensify. This PR adds logic that will display a Red Brick Indicator in the LHN for the parent of a report in violation. It also will add a Red Brick Indicator to the Report Preview of the report in violation.
Tests

General Tests

[ ] Verify that no errors appear in the JS console

Test Cases for ReportUtils and SidebarUtils Updates
Report No Error Check (reportHasViolations)

[ ] Navigate into a policy workspace and then navigate into an IOU report
[ ] Verify that the Red Brick Indicator is not displayed on the Report Card for this report.

Report Error Check (reportHasViolations = true)

[ ] Manually set ReportUtils.reportHasViolations to return true.
[ ] Navigate into a policy workspace and then navigate into an IOU report
[ ] Verify that the Red Brick Indicator is displayed on the Report Card.

Transaction No Error Check

[ ] Configure ReportUtils.transactionThreadHasViolations to return false.
[ ] Check in the LHN to confirm that reports with ParentActions of type IOU do not display the Red Brick Indicator.

Transaction Error Check (transactionHasViolations = true)

[ ] Manually set ReportUtils.transactionThreadHasViolations to return true for a transaction.
[ ] Verify in the LHN that reports with ParentActions of type IOU display the Red Brick Indicator.
[ ] Verify in the LHN that reports with ParentActions of type IOU that you are not the submitter, should not display a Red Brick Indicator
[ ] Verify in the LHN that reports with ParentActions of type IOU that are not of the state OPEN or PROCESSING, should not display a Red Brick Indicator

Offline tests

Same as Tests
QA Steps

Unable to currently test
The required back end changes are not yet finished to properly test this in the QA environment. However, once those are finished you should be able to use the same tests after completing the steps here: follow the instructions here, then create an report that violates one of those policies.
PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@cead22 I've had some issues testing out the functionality of this PR. Even with setting a policy up that has violations for amount, tags, and categories, and then creating requests that violate those policies, I've not had any violations be provided through the Onyx connection. Is there something I'm missing? Once I get that tested I can finish the testing instructions and this PR should be good to go!

What's missing is that we haven't yet added the backend code to send the violations data down to onyx. Can you set it manually to test?

@cead22 I'll look into it! I can set the function to return true (that's how I generated the screenshots) but I'll see if I can set the onyx state locally for testing

Looks like this needs to be reworked with the ReportUtils conversion to TS. Will work on getting that up.

@cead22 Got the TS conversion working and fixed that test bug! Retesting on all the platforms but this should be up today.

Should I specify how to manually set the violations functions as being true for review and then worry about QA later?

Yes

@situchan I assigned you

Looking into the typescript check failure

@situchan please review and complete the reviewer checklist when you get a chance

Hey @cead22 -- Dan headed to the hospital this morning for the arrival of his newest family member 👨🍼🍼🐣 !
He'll be gone for a few weeks on paternity leave, so I'm going to pick up his tickets. I'll try and get these comments turned around ASAP -- I think I have most of the context, but will reach out on slack if I have any questions.

Awesome, I'll be around! I think these last comments are pretty straightforward

Requested changes are in!

@cead22 -- there was a minor conflict that I resolved.

please fix conflict when you get a chance

Conflicts again. I will complete review as soon as fixed

There's another conflict after #32594 is merged

I see doesTransactionThreadHaveViolations and hasViolation accept undefined as the value of their last param. Can we check this value before calling these functions, and remove undefined as a valid type to pass to these?

There are lint and ts errors

Changes are up.

Updated.

@situchan please re-review when you get a chance

Conflicts resolved

review is in progress

BUG: app crashes on FAB > Start chat

BUG: app crashes on FAB > Start chat

Fixed -- I restored the guard removed here: https://github.com/Expensify/App/pull/31448#discussion_r1446703196

Reviewer Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Resolved conflicts

hrm will look into that type error.

@cead22 or @situchan  Maybe you can advise...
The error is from doesTransactionThreadHaveViolations:
if (
      report.stateNum !== CONST.REPORT.STATE_NUM.OPEN  && report.stateNum !== CONST.REPORT.STATE_NUM.PROCESSING
       ) {
        return false;
    }

but it looks like the PROCESSING state has been removed in this commit: https://github.com/Expensify/App/commit/a5d07180966c77bdd0d2e5d3e358d8a6911161c0
The states now are: OPEN, SUBMITTED, APPROVED, BILLING.
There is a related commit:
https://github.com/Expensify/App/commit/54e7f76d9f5ede5acb255813a67e1c3f3f857fde
where it seems that PROCESSING has been replaced with SUBMITTED so I'll just make that change, but please let me know if that fundamentally changes something.
Since these are sequentially numbered we could also do:
if (
      report.stateNum > CONST.REPORT.STATE_NUM.SUBMITTED
       ) {
        return false;
    }

Ok fix is up. (replaced PROCESSING with SUBMITTED)

Please update Tests steps correctly.

Manually set ReportUtils.reportHasViolations to return true.

i.e. this is deprecated

Report Error Check

Navigate into the policy workspace you created and then navigate to the money request for more than $100
Verify that the Red Brick Indicator is displayed on the Report Card.

This doesn't work because of no transactionViolations_ data in Onyx.
Does this require my accounts to have violations beta permission?

Yeah, step one in the instructions is:

Turn on the Violations beta (or set canUseViolations to true)

Yeah, step one in the instructions is:

Turn on the Violations beta (or set canUseViolations to true)

I already did this on frontend.

ReportPreview
RBR doesn't show in LHN, expected?

MoneyRequestPreview
No RBR on both LHN and preview, expected?

MoneyRequestView
Looks good except Receipt required over error which already happening on main

Revised Testing Steps:
Setup

Turn on the Violations beta (or set canUseViolations to true)
Go to OldDot and open or create a Control policy
Enable violations for the workspace in Settings > [Workspace] > Expenses

Expense Violations: true
Max expense amount: $100

Enable the policy’s expense chat (reference link):

Go to the policy page

In the JS console with the policy open do:
p = Policy.getCurrent();
p.policy.isPolicyExpenseChatEnabled = "true";
p.save();

Invite a new user to the policy

Sign into that new user account in New Dot

Go through the money request flow, choosing the policy you just created and create the following money requests:

One for LESS than $100 (will show no violations)
One for MORE than $100 (should have a violation)

AS THE WORKSPACE USER:

Open the policy workspace chat for the workspace you created, and verify that:

the RBR is not showing on the workspace chat in the LHN
the RBR is showing on the Report card

Navigate to the transaction thread for the request that has a violation and verify that:

Violations are showing on the fields in the money request
the RBR is showing on the Transaction Thread in the LHN
the RBR is not showing on the parent policy chat

AS THE WORKSPACE ADMIN:

Open the policy workspace chat for the workspace you created, and verify that:

the RBR is not showing on the workspace chat in the LHN
the RBR is showing on the Report card in the workspace chat

Navigate to the transaction thread for the request that has a violation and verify that:

Violations are showing on the fields in the money request
the RBR is not showing on the Transaction Thread in the LHN
the RBR is not showing on the parent policy chat

Report No Error Check

Navigate into the policy workspace you created and then navigate to the money request for less than $100
Verify that the Red Brick Indicator is not displayed on the Report Card for this report.

Report Error Check

Navigate into the policy workspace you created and then navigate to the money request for more than $100
Verify that the Red Brick Indicator is displayed on the Report Card.

Transaction No Error Check

Check in the LHN to confirm that:

Edit the 'more than $100' money request so that the amount is less than $100
Verify that the red brick indicator is no longer displayed on the money request

This is failing:

Admin:

Employee:

I think this is expected but just to confirm:
After fixing violation, error is removed only when online (offline is not supported)
https://github.com/Expensify/App/assets/108292595/fe428a59-3e4e-4d12-b3b2-e6a94eb10cae

The violations will only appear after the request is submitted, I've updated the instructions below:
Revised Testing Instructions
Setup

Enable Violations Beta:

Turn on the Violations beta or set canUseViolations to true.

Configure Control Policy in OldDot:

Open or create a Control policy.
Enable violations for the workspace in Settings > [Workspace] > Expenses with:

Expense Violations: true
Max expense amount: $100

Enable Policy’s Expense Chat:

Go to the policy page.
Use JS Console with the policy open:p = Policy.getCurrent();
p.policy.isPolicyExpenseChatEnabled = “true”;
p.save();

Invite a new user to the policy.
Sign into the new user account in New Dot.

Create Money Requests:

Make a request for less than $100 (no violations expected).
Make a request for more than $100 (violations expected).

Testing Steps for Workspace User and Admin

Access Policy Workspace Chat:

Verify the RBR is not shown on workspace chat in LHN.
Verify the RBR is shown on the Report card.

Navigate to Transaction Thread - Request with Violation:

Violations should be visible on the money request fields for the Admin, only after submission.
For the Workspace User, verify violations are shown on the fields.
Ensure the RBR is showing on the Transaction Thread in LHN for the Workspace User.
Confirm the RBR is not shown on the parent policy chat.

Navigate to Transaction Thread - Request without Violation:

Confirm no violations are shown on the money request fields for both User and Admin.
Ensure the RBR is not showing on the Transaction Thread in LHN.
Confirm the RBR is not showing on the parent policy chat.

After fixing violation, error is removed only when online (offline is not supported)

@situchan Yup, optimistic edits for client-side violations (not all violations are calculated client-side) is being added in https://github.com/Expensify/App/pull/34402

Hi!  It's been determined that this PR is blocking https://github.com/Expensify/App/issues/33029, which is a pretty important one.  Can you give an ETA for when this will be finished?  Thanks!

Almost close. Hopefully merged tomorrow

@trevor-coleman please fix last conflict

Conflicts resolved!

Resolved new merge conflict

Checklist complete

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

🚀 Deployed to staging by https://github.com/cead22 in version: 1.4.28-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.28-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Multiple permissions

This PR contains the possibility to ask for multiple permissions at once. It is meant to be merged into the perma-denied branch to release both features as a pack in the version 2.0.0
It also adds some unit tests and the refactor needed to implement them.

Don't you have to update the README.md screenshot?

:+1: Thanks @Serchinastico

:+1:

@Serchinastico is this the last branch we are going to merge before the next release?

It is, this should close 2.0.0


fix: broken text size

hotfix for the latest release

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-next.1 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Temperature Scale Changer #1997

Temperature Scale Changer #1997
Close #<1997>
Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have created a helpful and easy to understand README.md

Please approve my contribution. I have made this code successfully.

@MohitGupta121 please do not merge this PR, the issue was opened by me and assigned to me too, but he has created the PR for the same issue and even mentioned my issue in his PR template.

@SoarinSkySagar Thanks man for updating, so this PR is consider to be spam.


Add support for max pod number hard requirement

User story:
If node A can only run 10 Pods and already has 10 Pods running on it. Then, any Pod can't be scheduled to node A until the number of Pods running on node A decreases to less than 10.
NOTE: can we resolve it via CPU most model?

/cc @deepak-vij @shivramsrivastava

@m1093782566 Where do you want to specify this limit on a node?
Via a node lable?

You can limit the number of pods running in a node by setting the below flag on the firmament side.
--max_multi_arcs_for_cpu=10
But this will have a global effect, means firmament will not allow more than '10' task on any node in the cluster.
Currently, we don't have any capability to enable this on per node basis.
If you can further clarify your requirements it will be helpful.

@shivramsrivastava
There is a predicate in the default scheduler - PodFitsResource, xref: https://github.com/kubernetes/kubernetes/blob/master/pkg/scheduler/algorithm/predicates/predicates.go#L695-L698

Meanwhile, there is an e2e test case in the default scheduler, xref: https://github.com/kubernetes/kubernetes/blob/master/test/e2e/scheduling/predicates.go#L120

/assign @islinwb

/assign

@bentheelder
@islinwb is a kubernetes org member, why we can't assign issue to him? It's a bug?

@m1093782566 for kubernetes-sigs it has to be that org instead (or a repo collaborator).

Oh, I got it. Thanks @BenTheElder !

NP, as far as I know this is a GitHub limitation. I think soon we will get around this by having a tool automatically invite users from the kubernetes org to this one.

That would be great! @BenTheElder

Here is the link to the Design Document for the ongoing “Max Pods Allowed per Node” effort.
https://docs.google.com/document/d/193mSheIQomIWQQVG0jFQe76Vp9QVbu5K8EOI_20Jilc/edit#


subset lb: avoid partitioning host lists on worker threads

This changes the subset LB to not read host.health() on the worker
thread, instead relying on the partitioning made on the main thread.
This ensures consistency as host.health() might change due to health
checks, config updates, etc.
Also ensures consistent handling of metadata reads by caching the result
of the predicate. This is likely to come with a perf improvement, as
we're now making fewer metadata reads.
Fixes #6301
Signed-off-by: Snow Pettersen<EMAIL_ADDRESS>Risk Level: Medium, changes the algorithm for processing subset host updates.
Testing: Existing unit test coverage, there should be no change in behavior.
Docs Changes: n/a
Release Notes: n/a

Didn't add any tests since there were no behavior changes, but it might make sense to add a regression test that verifies that health() is not called during the update

/retest (error was no space left on device)

The regression I was thinking about is the fact that calling health() multiple times for the same host. Since the value might change between calls, it would give rise to subtle bugs. Not sure if it's worth a test, wdyt? Maybe a comment is good enough?

/retest
(timeout in mysql test)

I see. Seems worth it if it's not too complicated to write. You might be able to piggy back on an existing subset lb test where the same host appears in multiple sets and just change a mock to error on multiple calls.

@zuercher I added the regression test finally, PTAL


Utilize Inlay Type Hints for type inference (especially return types)

TS provides functions to get Inlay Hints.
Those hints include:

FunctionParameterTypeHints
includeInlayVariableTypeHints
includeInlayPropertyDeclarationTypeHints
includeInlayFunctionLikeReturnTypeHints
includeInlayEnumMemberValueHints

We can utilize them to add types where TS didn't provide CodeFixes.
For example, the next code doesn't trigger suggestions for many places where inline has types:

Ref:

LanguageService.provideInlayHints()

Sister to: https://github.com/rehearsal-js/rehearsal-js/issues/526

This is excellent! especially for return types.

Found that this would benefit the migrate case from our internal testing with urn-utils.
Related to #696
Prioritizing Object from a JSDoc blocks the inferred return type.
@egorio and I validated that this inlay hints has the same output as when you use Refactor from the right click menu in the editor.


TypeError: Failed to fetch Error

Hello, I tried your code in my hosting but its not working. I am getting error "TypeError: Failed to fetch" when I press the Submit button. Please help

Hello, I tried your code in my hosting but its not working. I am getting error "TypeError: Failed to fetch" when I press the Submit button. Please help


Pruned TFLite model has invalid model identifier after post training quantisation

1. System information

Linux Ubuntu 20.04
Pip TensorFlow package version 2.6.0

2. Code
Reproducable code in this gist
3. Description
After pruning a keras model according to tf colab, the post training quantized tflite can't be invoked (the quantisation works for the un-pruned model).
interpreter = tf.lite.Interpreter(model_path=MODEL_TF_PRUNE)`
Leads to the error:
ValueError                                Traceback (most recent call last)

<ipython-input-56-edee2625144a> in <module>()
----> 1 interpreter = tf.lite.Interpreter(model_path=MODEL_TF_PRUNE)

/usr/local/lib/python3.7/dist-packages/tensorflow/lite/python/interpreter.py in __init__(self, model_path, model_content, experimental_delegates, num_threads, experimental_op_resolver_type, experimental_preserve_all_tensors)
    365           _interpreter_wrapper.CreateWrapperFromFile(
    366               model_path, op_resolver_id, custom_op_registerers_by_name,
--> 367               custom_op_registerers_by_func, experimental_preserve_all_tensors))
    368       if not self._interpreter:
    369         raise ValueError('Failed to open {}'.format(model_path))

ValueError: Model provided has model identifier '

', should be 'TFL3'

@niciBume
Please refer to these solutions and let us know: link,link1

Oh wow guys... I found the error.
Problem was on this line I was feeding the interpreter a .h5 model and not the actual pruned TFlite file.
Sorry for wasting your time!
TLDR: Quantizing pruned networks works if you feed the interpreter the correct model...


Updated the usage notebook to reflect latest functions

Incorporate/replaced functions to leverage latlng_to_cell, cells_to_polygons, grid_ring, cells_to_polygons, and Polygon.outer in the simple usage.ipynb notebook.

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

Thanks for putting together a PR! I'm getting an error running your updated notebook, since the updates requires at least the 4.0.0 release of h3-py. Bumping the h3 version in requirements.txt to h3>=4.0.0b2 fixed the issue if you'd like to update the PR.


Investigate running locally using LocalAI

https://github.com/go-skynet/LocalAI
Add option to UI or environment variable for setting API url: https://github.com/wieslawsoltes/ChatGPT#overriding-openai-api-url

Does the app have a short timeout or something?
It doesn't seem to wait for the reply (it takes 15 seconds to reply in my computer vía API). I just receive empty replies.
If I ever try replacing URL parameters, it seems that the API reply is received properly (in this case with an error in parsing the content as it was a wrong endpoint) but not for the rest.

In addition, if the URL is replaced, maybe the API key should be optional too since LocalAI doesn't provide support for it and in the case someone uses a reverse proxy server over OpenAI, the own API reply should be easily parsed to provide an accurate reply as missing the API Key.


django-admin: edit page for register case

When using register=register, admin edit page will use a text-input rather than a select dropdown.

Note to self: This is likely just a question of handling the case where there are no choices in formfields


Cursor movement by holding arrow key feels unnatural

I use only setttings to map left ctrl to esc when tapped. My cursor movement by holding arrow key become weird when Karabiner is activated. Eq. I hold up, the cursor skipped some line (using vim). I'm not having this when Karabiner is off. How to fix this?
System: OSX 10.11.4

I guess you have set too small key repeat rate value in Karabiner.
Please confirm the key repeat setting.
https://pqrs.org/osx/karabiner/document.html.en#keyrepeat

Thanks, changing key repeat to 33 ms fixed this.. :)


Bump version to v0.8.2

Incrementing the version number so that we can release 0.8.2.
Also, included a link to our arxiv paper in the readme.

We should have the RSI article (with better figures than in arXiv) out next week. Do you want to include it later, or this can wait a little bit to have both references?

Thanks guys! Let's update the readme later to include both reference. I'm merging now so that I can release the new version.